Lines Matching +full:0 +full:xe450

3  * Rockchip USB2.0 PHY with Innosilicon IP block driver
43 PHY_STATE_HS_ONLINE = 0,
62 USB_CHG_STATE_UNDEFINED = 0,
228 * struct rockchip_usb2phy - usb2.0 phy driver data.
312 return 0; in rockchip_usb2phy_reset()
339 return 0; in rockchip_usb2phy_clk480m_prepare()
391 int ret = 0; in rockchip_usb2phy_clk480m_register()
393 init.flags = 0; in rockchip_usb2phy_clk480m_register()
400 for (i = 0; i < rphy->num_clks; i++) { in rockchip_usb2phy_clk480m_register()
413 init.num_parents = 0; in rockchip_usb2phy_clk480m_register()
426 if (ret < 0) in rockchip_usb2phy_clk480m_register()
444 edev = extcon_get_edev_by_phandle(rphy->dev, 0); in rockchip_usb2phy_extcon_register()
465 return 0; in rockchip_usb2phy_extcon_register()
493 int ret = 0; in rockchip_usb2phy_init()
583 return 0; in rockchip_usb2phy_power_on()
611 return 0; in rockchip_usb2phy_power_on()
624 return 0; in rockchip_usb2phy_power_off()
633 return 0; in rockchip_usb2phy_power_off()
648 return 0; in rockchip_usb2phy_exit()
685 if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) > 0) { in rockchip_usb2phy_otg_sm_work()
694 schedule_delayed_work(&rport->chg_work, 0); in rockchip_usb2phy_otg_sm_work()
753 delay = 0; in rockchip_usb2phy_otg_sm_work()
759 if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) == 0) { in rockchip_usb2phy_otg_sm_work()
838 rphy->dcd_retries = 0; in rockchip_chg_detect_work()
874 delay = 0; in rockchip_chg_detect_work()
878 delay = 0; in rockchip_chg_detect_work()
934 if (ret < 0) in rockchip_usb2phy_sm_work()
942 if (ret < 0) in rockchip_usb2phy_sm_work()
1126 for (index = 0; index < rphy->phy_cfg->num_ports; index++) { in rockchip_usb2phy_irq()
1160 if (rphy->irq > 0) in rockchip_usb2phy_port_irq_init()
1161 return 0; in rockchip_usb2phy_port_irq_init()
1166 if (rport->ls_irq < 0) { in rockchip_usb2phy_port_irq_init()
1187 if (rport->otg_mux_irq > 0) { in rockchip_usb2phy_port_irq_init()
1201 if (rport->bvalid_irq < 0) { in rockchip_usb2phy_port_irq_init()
1220 if (rport->id_irq < 0) { in rockchip_usb2phy_port_irq_init()
1243 return 0; in rockchip_usb2phy_port_irq_init()
1265 return 0; in rockchip_usb2phy_host_port_init()
1303 ret = 0; in rockchip_usb2phy_otg_port_init()
1346 int index = 0, ret; in rockchip_usb2phy_probe()
1374 if (of_property_read_u32_index(np, "reg", 0, &reg)) { in rockchip_usb2phy_probe()
1380 if (of_property_count_u32_elems(np, "reg") > 2 && reg == 0) { in rockchip_usb2phy_probe()
1391 rphy->irq = platform_get_irq_optional(pdev, 0); in rockchip_usb2phy_probe()
1412 dev_err(dev, "could not find phy config for reg=0x%08x\n", reg); in rockchip_usb2phy_probe()
1426 rphy->num_clks = ret < 0 ? 0 : ret; in rockchip_usb2phy_probe()
1446 index = 0; in rockchip_usb2phy_probe()
1486 if (rphy->irq > 0) { in rockchip_usb2phy_probe()
1508 return regmap_write_bits(rphy->grf, 0x298, in rk3128_usb2phy_tuning()
1510 BIT(2) << BIT_WRITEABLE_SHIFT | 0); in rk3128_usb2phy_tuning()
1519 ret = regmap_write(rphy->grf, reg + 0x0010, GENMASK(29, 29) | 0x0000); in rk3576_usb2phy_tuning()
1529 ret |= regmap_write(rphy->grf, reg + 0x000c, GENMASK(27, 24) | 0x0900); in rk3576_usb2phy_tuning()
1532 ret |= regmap_write(rphy->grf, reg + 0x0010, GENMASK(20, 19) | 0x0010); in rk3576_usb2phy_tuning()
1545 int suspend_cfg = 0x14; in rk3588_usb2phy_tuning()
1547 if (rphy->phy_cfg->reg == 0x0000 || rphy->phy_cfg->reg == 0x4000) { in rk3588_usb2phy_tuning()
1549 suspend_cfg |= 0x01; /* utmi_opmode = 2'b01 (no-driving) */ in rk3588_usb2phy_tuning()
1551 } else if (rphy->phy_cfg->reg == 0x8000 || rphy->phy_cfg->reg == 0xc000) { in rk3588_usb2phy_tuning()
1553 suspend_cfg |= 0x00; /* utmi_opmode = 2'b00 (normal) */ in rk3588_usb2phy_tuning()
1559 ret = regmap_write(rphy->grf, 0x0008, GENMASK(29, 29) | 0x0000); in rk3588_usb2phy_tuning()
1569 ret |= regmap_write(rphy->grf, 0x000c, GENMASK(20, 16) | suspend_cfg); in rk3588_usb2phy_tuning()
1572 ret |= regmap_write(rphy->grf, 0x0004, GENMASK(27, 24) | 0x0900); in rk3588_usb2phy_tuning()
1575 ret |= regmap_write(rphy->grf, 0x0008, GENMASK(20, 19) | 0x0010); in rk3588_usb2phy_tuning()
1581 ret |= regmap_write(rphy->grf, 0x0010, GENMASK(17, 16) | 0x0003); in rk3588_usb2phy_tuning()
1588 .reg = 0x17c,
1591 .clkout_ctl = { 0x0190, 15, 15, 1, 0 },
1594 .phy_sus = { 0x017c, 8, 0, 0, 0x1d1 },
1595 .bvalid_det_en = { 0x017c, 14, 14, 0, 1 },
1596 .bvalid_det_st = { 0x017c, 15, 15, 0, 1 },
1597 .bvalid_det_clr = { 0x017c, 15, 15, 0, 1 },
1598 .idfall_det_en = { 0x01a0, 2, 2, 0, 1 },
1599 .idfall_det_st = { 0x01a0, 3, 3, 0, 1 },
1600 .idfall_det_clr = { 0x01a0, 3, 3, 0, 1 },
1601 .idrise_det_en = { 0x01a0, 0, 0, 0, 1 },
1602 .idrise_det_st = { 0x01a0, 1, 1, 0, 1 },
1603 .idrise_det_clr = { 0x01a0, 1, 1, 0, 1 },
1604 .ls_det_en = { 0x017c, 12, 12, 0, 1 },
1605 .ls_det_st = { 0x017c, 13, 13, 0, 1 },
1606 .ls_det_clr = { 0x017c, 13, 13, 0, 1 },
1607 .utmi_bvalid = { 0x014c, 5, 5, 0, 1 },
1608 .utmi_id = { 0x014c, 8, 8, 0, 1 },
1609 .utmi_ls = { 0x014c, 7, 6, 0, 1 },
1612 .phy_sus = { 0x0194, 8, 0, 0, 0x1d1 },
1613 .ls_det_en = { 0x0194, 14, 14, 0, 1 },
1614 .ls_det_st = { 0x0194, 15, 15, 0, 1 },
1615 .ls_det_clr = { 0x0194, 15, 15, 0, 1 }
1619 .opmode = { 0x017c, 3, 0, 5, 1 },
1620 .cp_det = { 0x02c0, 6, 6, 0, 1 },
1621 .dcp_det = { 0x02c0, 5, 5, 0, 1 },
1622 .dp_det = { 0x02c0, 7, 7, 0, 1 },
1623 .idm_sink_en = { 0x0184, 8, 8, 0, 1 },
1624 .idp_sink_en = { 0x0184, 7, 7, 0, 1 },
1625 .idp_src_en = { 0x0184, 9, 9, 0, 1 },
1626 .rdm_pdwn_en = { 0x0184, 10, 10, 0, 1 },
1627 .vdm_src_en = { 0x0184, 12, 12, 0, 1 },
1628 .vdp_src_en = { 0x0184, 11, 11, 0, 1 },
1636 .reg = 0x760,
1638 .clkout_ctl = { 0x0768, 4, 4, 1, 0 },
1641 .phy_sus = { 0x0760, 15, 0, 0, 0x1d1 },
1642 .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
1643 .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
1644 .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
1645 .idfall_det_en = { 0x0680, 6, 6, 0, 1 },
1646 .idfall_det_st = { 0x0690, 6, 6, 0, 1 },
1647 .idfall_det_clr = { 0x06a0, 6, 6, 0, 1 },
1648 .idrise_det_en = { 0x0680, 5, 5, 0, 1 },
1649 .idrise_det_st = { 0x0690, 5, 5, 0, 1 },
1650 .idrise_det_clr = { 0x06a0, 5, 5, 0, 1 },
1651 .ls_det_en = { 0x0680, 2, 2, 0, 1 },
1652 .ls_det_st = { 0x0690, 2, 2, 0, 1 },
1653 .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
1654 .utmi_bvalid = { 0x0480, 4, 4, 0, 1 },
1655 .utmi_id = { 0x0480, 1, 1, 0, 1 },
1656 .utmi_ls = { 0x0480, 3, 2, 0, 1 },
1659 .phy_sus = { 0x0764, 15, 0, 0, 0x1d1 },
1660 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
1661 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
1662 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 }
1666 .opmode = { 0x0760, 3, 0, 5, 1 },
1667 .cp_det = { 0x0884, 4, 4, 0, 1 },
1668 .dcp_det = { 0x0884, 3, 3, 0, 1 },
1669 .dp_det = { 0x0884, 5, 5, 0, 1 },
1670 .idm_sink_en = { 0x0768, 8, 8, 0, 1 },
1671 .idp_sink_en = { 0x0768, 7, 7, 0, 1 },
1672 .idp_src_en = { 0x0768, 9, 9, 0, 1 },
1673 .rdm_pdwn_en = { 0x0768, 10, 10, 0, 1 },
1674 .vdm_src_en = { 0x0768, 12, 12, 0, 1 },
1675 .vdp_src_en = { 0x0768, 11, 11, 0, 1 },
1679 .reg = 0x800,
1681 .clkout_ctl = { 0x0808, 4, 4, 1, 0 },
1684 .phy_sus = { 0x800, 15, 0, 0, 0x1d1 },
1685 .ls_det_en = { 0x0684, 0, 0, 0, 1 },
1686 .ls_det_st = { 0x0694, 0, 0, 0, 1 },
1687 .ls_det_clr = { 0x06a4, 0, 0, 0, 1 }
1690 .phy_sus = { 0x804, 15, 0, 0, 0x1d1 },
1691 .ls_det_en = { 0x0684, 1, 1, 0, 1 },
1692 .ls_det_st = { 0x0694, 1, 1, 0, 1 },
1693 .ls_det_clr = { 0x06a4, 1, 1, 0, 1 }
1702 .reg = 0x100,
1704 .clkout_ctl = { 0x108, 4, 4, 1, 0 },
1707 .phy_sus = { 0x0100, 8, 0, 0, 0x1d1 },
1708 .bvalid_det_en = { 0x3020, 3, 2, 0, 3 },
1709 .bvalid_det_st = { 0x3024, 3, 2, 0, 3 },
1710 .bvalid_det_clr = { 0x3028, 3, 2, 0, 3 },
1711 .idfall_det_en = { 0x3020, 5, 5, 0, 1 },
1712 .idfall_det_st = { 0x3024, 5, 5, 0, 1 },
1713 .idfall_det_clr = { 0x3028, 5, 5, 0, 1 },
1714 .idrise_det_en = { 0x3020, 4, 4, 0, 1 },
1715 .idrise_det_st = { 0x3024, 4, 4, 0, 1 },
1716 .idrise_det_clr = { 0x3028, 4, 4, 0, 1 },
1717 .ls_det_en = { 0x3020, 0, 0, 0, 1 },
1718 .ls_det_st = { 0x3024, 0, 0, 0, 1 },
1719 .ls_det_clr = { 0x3028, 0, 0, 0, 1 },
1720 .utmi_avalid = { 0x0120, 10, 10, 0, 1 },
1721 .utmi_bvalid = { 0x0120, 9, 9, 0, 1 },
1722 .utmi_id = { 0x0120, 6, 6, 0, 1 },
1723 .utmi_ls = { 0x0120, 5, 4, 0, 1 },
1726 .phy_sus = { 0x0104, 8, 0, 0, 0x1d1 },
1727 .ls_det_en = { 0x3020, 1, 1, 0, 1 },
1728 .ls_det_st = { 0x3024, 1, 1, 0, 1 },
1729 .ls_det_clr = { 0x3028, 1, 1, 0, 1 },
1730 .utmi_ls = { 0x0120, 17, 16, 0, 1 },
1731 .utmi_hstdet = { 0x0120, 19, 19, 0, 1 }
1735 .opmode = { 0x0100, 3, 0, 5, 1 },
1736 .cp_det = { 0x0120, 24, 24, 0, 1 },
1737 .dcp_det = { 0x0120, 23, 23, 0, 1 },
1738 .dp_det = { 0x0120, 25, 25, 0, 1 },
1739 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
1740 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
1741 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
1742 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
1743 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
1744 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
1752 .reg = 0x100,
1754 .clkout_ctl = { 0x108, 4, 4, 1, 0 },
1757 .phy_sus = { 0x0100, 15, 0, 0, 0x1d1 },
1758 .bvalid_det_en = { 0x0110, 3, 2, 0, 3 },
1759 .bvalid_det_st = { 0x0114, 3, 2, 0, 3 },
1760 .bvalid_det_clr = { 0x0118, 3, 2, 0, 3 },
1761 .idfall_det_en = { 0x0110, 5, 5, 0, 1 },
1762 .idfall_det_st = { 0x0114, 5, 5, 0, 1 },
1763 .idfall_det_clr = { 0x0118, 5, 5, 0, 1 },
1764 .idrise_det_en = { 0x0110, 4, 4, 0, 1 },
1765 .idrise_det_st = { 0x0114, 4, 4, 0, 1 },
1766 .idrise_det_clr = { 0x0118, 4, 4, 0, 1 },
1767 .ls_det_en = { 0x0110, 0, 0, 0, 1 },
1768 .ls_det_st = { 0x0114, 0, 0, 0, 1 },
1769 .ls_det_clr = { 0x0118, 0, 0, 0, 1 },
1770 .utmi_avalid = { 0x0120, 10, 10, 0, 1 },
1771 .utmi_bvalid = { 0x0120, 9, 9, 0, 1 },
1772 .utmi_id = { 0x0120, 6, 6, 0, 1 },
1773 .utmi_ls = { 0x0120, 5, 4, 0, 1 },
1776 .phy_sus = { 0x104, 15, 0, 0, 0x1d1 },
1777 .ls_det_en = { 0x110, 1, 1, 0, 1 },
1778 .ls_det_st = { 0x114, 1, 1, 0, 1 },
1779 .ls_det_clr = { 0x118, 1, 1, 0, 1 },
1780 .utmi_ls = { 0x120, 17, 16, 0, 1 },
1781 .utmi_hstdet = { 0x120, 19, 19, 0, 1 }
1785 .opmode = { 0x0100, 3, 0, 5, 1 },
1786 .cp_det = { 0x0120, 24, 24, 0, 1 },
1787 .dcp_det = { 0x0120, 23, 23, 0, 1 },
1788 .dp_det = { 0x0120, 25, 25, 0, 1 },
1789 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
1790 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
1791 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
1792 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
1793 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
1794 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
1802 .reg = 0x700,
1804 .clkout_ctl = { 0x0724, 15, 15, 1, 0 },
1807 .phy_sus = { 0x0728, 15, 0, 0, 0x1d1 },
1808 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
1809 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
1810 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 },
1811 .utmi_ls = { 0x049c, 14, 13, 0, 1 },
1812 .utmi_hstdet = { 0x049c, 12, 12, 0, 1 }
1821 .reg = 0xe450,
1823 .clkout_ctl = { 0xe450, 4, 4, 1, 0 },
1826 .phy_sus = { 0xe454, 1, 0, 2, 1 },
1827 .bvalid_det_en = { 0xe3c0, 3, 3, 0, 1 },
1828 .bvalid_det_st = { 0xe3e0, 3, 3, 0, 1 },
1829 .bvalid_det_clr = { 0xe3d0, 3, 3, 0, 1 },
1830 .idfall_det_en = { 0xe3c0, 5, 5, 0, 1 },
1831 .idfall_det_st = { 0xe3e0, 5, 5, 0, 1 },
1832 .idfall_det_clr = { 0xe3d0, 5, 5, 0, 1 },
1833 .idrise_det_en = { 0xe3c0, 4, 4, 0, 1 },
1834 .idrise_det_st = { 0xe3e0, 4, 4, 0, 1 },
1835 .idrise_det_clr = { 0xe3d0, 4, 4, 0, 1 },
1836 .utmi_avalid = { 0xe2ac, 7, 7, 0, 1 },
1837 .utmi_bvalid = { 0xe2ac, 12, 12, 0, 1 },
1838 .utmi_id = { 0xe2ac, 8, 8, 0, 1 },
1841 .phy_sus = { 0xe458, 1, 0, 0x2, 0x1 },
1842 .ls_det_en = { 0xe3c0, 6, 6, 0, 1 },
1843 .ls_det_st = { 0xe3e0, 6, 6, 0, 1 },
1844 .ls_det_clr = { 0xe3d0, 6, 6, 0, 1 },
1845 .utmi_ls = { 0xe2ac, 22, 21, 0, 1 },
1846 .utmi_hstdet = { 0xe2ac, 23, 23, 0, 1 }
1850 .opmode = { 0xe454, 3, 0, 5, 1 },
1851 .cp_det = { 0xe2ac, 2, 2, 0, 1 },
1852 .dcp_det = { 0xe2ac, 1, 1, 0, 1 },
1853 .dp_det = { 0xe2ac, 0, 0, 0, 1 },
1854 .idm_sink_en = { 0xe450, 8, 8, 0, 1 },
1855 .idp_sink_en = { 0xe450, 7, 7, 0, 1 },
1856 .idp_src_en = { 0xe450, 9, 9, 0, 1 },
1857 .rdm_pdwn_en = { 0xe450, 10, 10, 0, 1 },
1858 .vdm_src_en = { 0xe450, 12, 12, 0, 1 },
1859 .vdp_src_en = { 0xe450, 11, 11, 0, 1 },
1863 .reg = 0xe460,
1865 .clkout_ctl = { 0xe460, 4, 4, 1, 0 },
1868 .phy_sus = { 0xe464, 1, 0, 2, 1 },
1869 .bvalid_det_en = { 0xe3c0, 8, 8, 0, 1 },
1870 .bvalid_det_st = { 0xe3e0, 8, 8, 0, 1 },
1871 .bvalid_det_clr = { 0xe3d0, 8, 8, 0, 1 },
1872 .idfall_det_en = { 0xe3c0, 10, 10, 0, 1 },
1873 .idfall_det_st = { 0xe3e0, 10, 10, 0, 1 },
1874 .idfall_det_clr = { 0xe3d0, 10, 10, 0, 1 },
1875 .idrise_det_en = { 0xe3c0, 9, 9, 0, 1 },
1876 .idrise_det_st = { 0xe3e0, 9, 9, 0, 1 },
1877 .idrise_det_clr = { 0xe3d0, 9, 9, 0, 1 },
1878 .utmi_avalid = { 0xe2ac, 10, 10, 0, 1 },
1879 .utmi_bvalid = { 0xe2ac, 16, 16, 0, 1 },
1880 .utmi_id = { 0xe2ac, 11, 11, 0, 1 },
1883 .phy_sus = { 0xe468, 1, 0, 0x2, 0x1 },
1884 .ls_det_en = { 0xe3c0, 11, 11, 0, 1 },
1885 .ls_det_st = { 0xe3e0, 11, 11, 0, 1 },
1886 .ls_det_clr = { 0xe3d0, 11, 11, 0, 1 },
1887 .utmi_ls = { 0xe2ac, 26, 25, 0, 1 },
1888 .utmi_hstdet = { 0xe2ac, 27, 27, 0, 1 }
1897 .reg = 0xfe8a0000,
1899 .clkout_ctl = { 0x0008, 4, 4, 1, 0 },
1902 .phy_sus = { 0x0000, 8, 0, 0, 0x1d1 },
1903 .bvalid_det_en = { 0x0080, 3, 2, 0, 3 },
1904 .bvalid_det_st = { 0x0084, 3, 2, 0, 3 },
1905 .bvalid_det_clr = { 0x0088, 3, 2, 0, 3 },
1906 .idfall_det_en = { 0x0080, 5, 5, 0, 1 },
1907 .idfall_det_st = { 0x0084, 5, 5, 0, 1 },
1908 .idfall_det_clr = { 0x0088, 5, 5, 0, 1 },
1909 .idrise_det_en = { 0x0080, 4, 4, 0, 1 },
1910 .idrise_det_st = { 0x0084, 4, 4, 0, 1 },
1911 .idrise_det_clr = { 0x0088, 4, 4, 0, 1 },
1912 .utmi_avalid = { 0x00c0, 10, 10, 0, 1 },
1913 .utmi_bvalid = { 0x00c0, 9, 9, 0, 1 },
1914 .utmi_id = { 0x00c0, 6, 6, 0, 1 },
1918 .phy_sus = { 0x0004, 8, 0, 0x1d2, 0x1d2 },
1919 .ls_det_en = { 0x0080, 1, 1, 0, 1 },
1920 .ls_det_st = { 0x0084, 1, 1, 0, 1 },
1921 .ls_det_clr = { 0x0088, 1, 1, 0, 1 },
1922 .utmi_ls = { 0x00c0, 17, 16, 0, 1 },
1923 .utmi_hstdet = { 0x00c0, 19, 19, 0, 1 }
1927 .opmode = { 0x0000, 3, 0, 5, 1 },
1928 .cp_det = { 0x00c0, 24, 24, 0, 1 },
1929 .dcp_det = { 0x00c0, 23, 23, 0, 1 },
1930 .dp_det = { 0x00c0, 25, 25, 0, 1 },
1931 .idm_sink_en = { 0x0008, 8, 8, 0, 1 },
1932 .idp_sink_en = { 0x0008, 7, 7, 0, 1 },
1933 .idp_src_en = { 0x0008, 9, 9, 0, 1 },
1934 .rdm_pdwn_en = { 0x0008, 10, 10, 0, 1 },
1935 .vdm_src_en = { 0x0008, 12, 12, 0, 1 },
1936 .vdp_src_en = { 0x0008, 11, 11, 0, 1 },
1940 .reg = 0xfe8b0000,
1942 .clkout_ctl = { 0x0008, 4, 4, 1, 0 },
1945 .phy_sus = { 0x0000, 8, 0, 0x1d2, 0x1d1 },
1946 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
1947 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
1948 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
1949 .utmi_ls = { 0x00c0, 5, 4, 0, 1 },
1950 .utmi_hstdet = { 0x00c0, 7, 7, 0, 1 }
1953 .phy_sus = { 0x0004, 8, 0, 0x1d2, 0x1d1 },
1954 .ls_det_en = { 0x0080, 1, 1, 0, 1 },
1955 .ls_det_st = { 0x0084, 1, 1, 0, 1 },
1956 .ls_det_clr = { 0x0088, 1, 1, 0, 1 },
1957 .utmi_ls = { 0x00c0, 17, 16, 0, 1 },
1958 .utmi_hstdet = { 0x00c0, 19, 19, 0, 1 }
1967 .reg = 0x0,
1970 .clkout_ctl = { 0x0008, 0, 0, 1, 0 },
1973 .phy_sus = { 0x0000, 8, 0, 0, 0x1d1 },
1974 .bvalid_det_en = { 0x00c0, 1, 1, 0, 1 },
1975 .bvalid_det_st = { 0x00c4, 1, 1, 0, 1 },
1976 .bvalid_det_clr = { 0x00c8, 1, 1, 0, 1 },
1977 .ls_det_en = { 0x00c0, 0, 0, 0, 1 },
1978 .ls_det_st = { 0x00c4, 0, 0, 0, 1 },
1979 .ls_det_clr = { 0x00c8, 0, 0, 0, 1 },
1980 .disfall_en = { 0x00c0, 6, 6, 0, 1 },
1981 .disfall_st = { 0x00c4, 6, 6, 0, 1 },
1982 .disfall_clr = { 0x00c8, 6, 6, 0, 1 },
1983 .disrise_en = { 0x00c0, 5, 5, 0, 1 },
1984 .disrise_st = { 0x00c4, 5, 5, 0, 1 },
1985 .disrise_clr = { 0x00c8, 5, 5, 0, 1 },
1986 .utmi_avalid = { 0x0080, 1, 1, 0, 1 },
1987 .utmi_bvalid = { 0x0080, 0, 0, 0, 1 },
1988 .utmi_ls = { 0x0080, 5, 4, 0, 1 },
1992 .cp_det = { 0x0080, 8, 8, 0, 1 },
1993 .dcp_det = { 0x0080, 8, 8, 0, 1 },
1994 .dp_det = { 0x0080, 9, 9, 1, 0 },
1995 .idm_sink_en = { 0x0010, 5, 5, 1, 0 },
1996 .idp_sink_en = { 0x0010, 5, 5, 0, 1 },
1997 .idp_src_en = { 0x0010, 14, 14, 0, 1 },
1998 .rdm_pdwn_en = { 0x0010, 14, 14, 0, 1 },
1999 .vdm_src_en = { 0x0010, 7, 6, 0, 3 },
2000 .vdp_src_en = { 0x0010, 7, 6, 0, 3 },
2004 .reg = 0x2000,
2007 .clkout_ctl = { 0x2008, 0, 0, 1, 0 },
2010 .phy_sus = { 0x2000, 8, 0, 0, 0x1d1 },
2011 .bvalid_det_en = { 0x20c0, 1, 1, 0, 1 },
2012 .bvalid_det_st = { 0x20c4, 1, 1, 0, 1 },
2013 .bvalid_det_clr = { 0x20c8, 1, 1, 0, 1 },
2014 .ls_det_en = { 0x20c0, 0, 0, 0, 1 },
2015 .ls_det_st = { 0x20c4, 0, 0, 0, 1 },
2016 .ls_det_clr = { 0x20c8, 0, 0, 0, 1 },
2017 .disfall_en = { 0x20c0, 6, 6, 0, 1 },
2018 .disfall_st = { 0x20c4, 6, 6, 0, 1 },
2019 .disfall_clr = { 0x20c8, 6, 6, 0, 1 },
2020 .disrise_en = { 0x20c0, 5, 5, 0, 1 },
2021 .disrise_st = { 0x20c4, 5, 5, 0, 1 },
2022 .disrise_clr = { 0x20c8, 5, 5, 0, 1 },
2023 .utmi_avalid = { 0x2080, 1, 1, 0, 1 },
2024 .utmi_bvalid = { 0x2080, 0, 0, 0, 1 },
2025 .utmi_ls = { 0x2080, 5, 4, 0, 1 },
2029 .cp_det = { 0x2080, 8, 8, 0, 1 },
2030 .dcp_det = { 0x2080, 8, 8, 0, 1 },
2031 .dp_det = { 0x2080, 9, 9, 1, 0 },
2032 .idm_sink_en = { 0x2010, 5, 5, 1, 0 },
2033 .idp_sink_en = { 0x2010, 5, 5, 0, 1 },
2034 .idp_src_en = { 0x2010, 14, 14, 0, 1 },
2035 .rdm_pdwn_en = { 0x2010, 14, 14, 0, 1 },
2036 .vdm_src_en = { 0x2010, 7, 6, 0, 3 },
2037 .vdp_src_en = { 0x2010, 7, 6, 0, 3 },
2045 .reg = 0x0000,
2048 .clkout_ctl = { 0x0000, 0, 0, 1, 0 },
2051 .phy_sus = { 0x000c, 11, 11, 0, 1 },
2052 .bvalid_det_en = { 0x0080, 1, 1, 0, 1 },
2053 .bvalid_det_st = { 0x0084, 1, 1, 0, 1 },
2054 .bvalid_det_clr = { 0x0088, 1, 1, 0, 1 },
2055 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
2056 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
2057 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
2058 .disfall_en = { 0x0080, 6, 6, 0, 1 },
2059 .disfall_st = { 0x0084, 6, 6, 0, 1 },
2060 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
2061 .disrise_en = { 0x0080, 5, 5, 0, 1 },
2062 .disrise_st = { 0x0084, 5, 5, 0, 1 },
2063 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
2064 .utmi_avalid = { 0x00c0, 7, 7, 0, 1 },
2065 .utmi_bvalid = { 0x00c0, 6, 6, 0, 1 },
2066 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
2070 .cp_det = { 0x00c0, 0, 0, 0, 1 },
2071 .dcp_det = { 0x00c0, 0, 0, 0, 1 },
2072 .dp_det = { 0x00c0, 1, 1, 1, 0 },
2073 .idm_sink_en = { 0x0008, 5, 5, 1, 0 },
2074 .idp_sink_en = { 0x0008, 5, 5, 0, 1 },
2075 .idp_src_en = { 0x0008, 14, 14, 0, 1 },
2076 .rdm_pdwn_en = { 0x0008, 14, 14, 0, 1 },
2077 .vdm_src_en = { 0x0008, 7, 6, 0, 3 },
2078 .vdp_src_en = { 0x0008, 7, 6, 0, 3 },
2082 .reg = 0x4000,
2085 .clkout_ctl = { 0x0000, 0, 0, 1, 0 },
2088 .phy_sus = { 0x000c, 11, 11, 0, 1 },
2089 .bvalid_det_en = { 0x0080, 1, 1, 0, 1 },
2090 .bvalid_det_st = { 0x0084, 1, 1, 0, 1 },
2091 .bvalid_det_clr = { 0x0088, 1, 1, 0, 1 },
2092 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
2093 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
2094 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
2095 .disfall_en = { 0x0080, 6, 6, 0, 1 },
2096 .disfall_st = { 0x0084, 6, 6, 0, 1 },
2097 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
2098 .disrise_en = { 0x0080, 5, 5, 0, 1 },
2099 .disrise_st = { 0x0084, 5, 5, 0, 1 },
2100 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
2101 .utmi_avalid = { 0x00c0, 7, 7, 0, 1 },
2102 .utmi_bvalid = { 0x00c0, 6, 6, 0, 1 },
2103 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
2107 .cp_det = { 0x00c0, 0, 0, 0, 1 },
2108 .dcp_det = { 0x00c0, 0, 0, 0, 1 },
2109 .dp_det = { 0x00c0, 1, 1, 1, 0 },
2110 .idm_sink_en = { 0x0008, 5, 5, 1, 0 },
2111 .idp_sink_en = { 0x0008, 5, 5, 0, 1 },
2112 .idp_src_en = { 0x0008, 14, 14, 0, 1 },
2113 .rdm_pdwn_en = { 0x0008, 14, 14, 0, 1 },
2114 .vdm_src_en = { 0x0008, 7, 6, 0, 3 },
2115 .vdp_src_en = { 0x0008, 7, 6, 0, 3 },
2119 .reg = 0x8000,
2122 .clkout_ctl = { 0x0000, 0, 0, 1, 0 },
2125 .phy_sus = { 0x0008, 2, 2, 0, 1 },
2126 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
2127 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
2128 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
2129 .disfall_en = { 0x0080, 6, 6, 0, 1 },
2130 .disfall_st = { 0x0084, 6, 6, 0, 1 },
2131 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
2132 .disrise_en = { 0x0080, 5, 5, 0, 1 },
2133 .disrise_st = { 0x0084, 5, 5, 0, 1 },
2134 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
2135 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
2140 .reg = 0xc000,
2143 .clkout_ctl = { 0x0000, 0, 0, 1, 0 },
2146 .phy_sus = { 0x0008, 2, 2, 0, 1 },
2147 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
2148 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
2149 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
2150 .disfall_en = { 0x0080, 6, 6, 0, 1 },
2151 .disfall_st = { 0x0084, 6, 6, 0, 1 },
2152 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
2153 .disrise_en = { 0x0080, 5, 5, 0, 1 },
2154 .disrise_st = { 0x0084, 5, 5, 0, 1 },
2155 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
2156 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
2165 .reg = 0x100,
2167 .clkout_ctl = { 0x108, 4, 4, 1, 0 },
2170 .phy_sus = { 0x0100, 15, 0, 0, 0x1d1 },
2171 .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
2172 .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
2173 .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
2174 .ls_det_en = { 0x0680, 2, 2, 0, 1 },
2175 .ls_det_st = { 0x0690, 2, 2, 0, 1 },
2176 .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
2177 .utmi_bvalid = { 0x0804, 10, 10, 0, 1 },
2178 .utmi_ls = { 0x0804, 13, 12, 0, 1 },
2181 .phy_sus = { 0x0104, 15, 0, 0, 0x1d1 },
2182 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
2183 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
2184 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 },
2185 .utmi_ls = { 0x0804, 9, 8, 0, 1 },
2186 .utmi_hstdet = { 0x0804, 7, 7, 0, 1 }
2190 .opmode = { 0x0100, 3, 0, 5, 1 },
2191 .cp_det = { 0x0804, 1, 1, 0, 1 },
2192 .dcp_det = { 0x0804, 0, 0, 0, 1 },
2193 .dp_det = { 0x0804, 2, 2, 0, 1 },
2194 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
2195 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
2196 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
2197 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
2198 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
2199 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
2231 MODULE_DESCRIPTION("Rockchip USB2.0 PHY driver");