Lines Matching +full:0 +full:xe450

3  * Rockchip USB2.0 PHY with Innosilicon IP block driver
41 #define FILTER_COUNTER 0xF4240
52 PHY_STATE_HS_ONLINE = 0,
72 USB_CHG_STATE_UNDEFINED = 0,
152 * 0: from phy; 1: from grf
307 * struct rockchip_usb2phy - usb2.0 phy driver data.
440 return 0; in rockchip_usb2phy_reset()
454 return 0; in rockchip_usb2phy_reset()
481 return 0; in rockchip_usb2phy_clk480m_prepare()
540 init.flags = 0; in rockchip_usb2phy_clk480m_register()
553 init.num_parents = 0; in rockchip_usb2phy_clk480m_register()
566 if (ret < 0) in rockchip_usb2phy_clk480m_register()
571 if (ret < 0) in rockchip_usb2phy_clk480m_register()
574 return 0; in rockchip_usb2phy_clk480m_register()
591 edev = extcon_get_edev_by_phandle(rphy->dev, 0); in rockchip_usb2phy_extcon_register()
616 return 0; in rockchip_usb2phy_extcon_register()
703 int ret = 0; in rockchip_usb_bypass_uart()
794 int ret = 0; in rockchip_usb2phy_init()
807 if (rport->id_irq > 0 || rport->otg_mux_irq > 0 || in rockchip_usb2phy_init()
808 rphy->irq > 0) { in rockchip_usb2phy_init()
819 if ((rport->bvalid_irq > 0 || rport->otg_mux_irq > 0 || in rockchip_usb2phy_init()
820 rphy->irq > 0) && !rport->vbus_always_on) { in rockchip_usb2phy_init()
829 rport->typec_vbus_det ? 0 : OTG_SCHEDULE_DELAY); in rockchip_usb2phy_init()
834 if (ret < 0) in rockchip_usb2phy_init()
838 rport->host_disconnect = (ul & ul_mask) == 0 ? true : false; in rockchip_usb2phy_init()
882 ret = 0; in rockchip_usb2phy_power_on()
919 schedule_delayed_work(&rport->bypass_uart_work, 0); in rockchip_usb2phy_power_on()
937 ret = 0; in rockchip_usb2phy_power_off()
953 schedule_delayed_work(&rport->bypass_uart_work, 0); in rockchip_usb2phy_power_off()
968 return 0; in rockchip_usb2phy_exit()
974 int ret = 0; in rockchip_set_vbus_power()
977 return 0; in rockchip_set_vbus_power()
988 if (ret == 0) in rockchip_set_vbus_power()
1000 int ret = 0; in rockchip_usb2phy_set_mode()
1085 for (index = 0; index < rphy->phy_cfg->num_ports; index++) { in otg_mode_show()
1124 for (index = 0; index < rphy->phy_cfg->num_ports; index++) { in otg_mode_store()
1143 if (!strncmp(buf, "0", 1) || !strncmp(buf, "otg", 3)) { in otg_mode_store()
1164 rockchip_usb2phy_set_mode(rport->phy, PHY_MODE_USB_HOST, 0); in otg_mode_store()
1169 rockchip_usb2phy_set_mode(rport->phy, PHY_MODE_USB_DEVICE, 0); in otg_mode_store()
1174 rockchip_usb2phy_set_mode(rport->phy, PHY_MODE_USB_OTG, 0); in otg_mode_store()
1240 if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) > 0 || in rockchip_usb2phy_otg_sm_work()
1241 extcon_get_state(rphy->edev, EXTCON_USB_VBUS_EN) > 0) { in rockchip_usb2phy_otg_sm_work()
1254 schedule_delayed_work(&rport->chg_work, 0); in rockchip_usb2phy_otg_sm_work()
1305 if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) > 0 || in rockchip_usb2phy_otg_sm_work()
1307 EXTCON_USB_VBUS_EN) > 0) { in rockchip_usb2phy_otg_sm_work()
1326 if (extcon_get_state(rphy->edev, EXTCON_USB_HOST) == 0) { in rockchip_usb2phy_otg_sm_work()
1449 "Fail to read phy_sus reg offset 0x%x, ret %d\n", in rockchip_chg_detect_work()
1460 rphy->dcd_retries = 0; in rockchip_chg_detect_work()
1461 rphy->primary_retries = 0; in rockchip_chg_detect_work()
1497 delay = 0; in rockchip_chg_detect_work()
1514 delay = 0; in rockchip_chg_detect_work()
1543 "Fail to set phy_sus reg offset 0x%x, ret %d\n", in rockchip_chg_detect_work()
1595 if (ret < 0) in rockchip_usb2phy_sm_work()
1603 if (ret < 0) in rockchip_usb2phy_sm_work()
1838 for (index = 0; index < rphy->phy_cfg->num_ports; index++) { in rockchip_usb2phy_irq()
1895 if (rphy->irq > 0) in rockchip_usb2phy_port_irq_init()
1896 return 0; in rockchip_usb2phy_port_irq_init()
1904 if (rport->otg_mux_irq > 0) { in rockchip_usb2phy_port_irq_init()
1920 if (rport->ls_irq <= 0) { in rockchip_usb2phy_port_irq_init()
1948 if (rport->bvalid_irq <= 0) { in rockchip_usb2phy_port_irq_init()
1970 if (rport->id_irq <= 0) { in rockchip_usb2phy_port_irq_init()
2015 return 0; in rockchip_usb2phy_orien_sw_set()
2036 return 0; in rockchip_usb2phy_setup_orien_switch()
2079 return 0; in rockchip_usb2phy_host_port_init()
2201 if (rport->port_cfg->bvalid_grf_sel.enable != 0) { in rockchip_usb2phy_otg_port_init()
2248 return 0; in rockchip_usb2phy_otg_port_init()
2276 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in rockchip_usb2phy_probe()
2319 rphy->irq = platform_get_irq(pdev, 0); in rockchip_usb2phy_probe()
2327 index = 0; in rockchip_usb2phy_probe()
2357 if (ret < 0) in rockchip_usb2phy_probe()
2358 rphy->num_clks = 0; in rockchip_usb2phy_probe()
2372 index = 0; in rockchip_usb2phy_probe()
2431 if (rphy->irq > 0) { in rockchip_usb2phy_probe()
2449 return 0; in rockchip_usb2phy_probe()
2465 int ret = 0; in rockchip_usb2phy_low_power_enable()
2501 ret = regmap_write(rphy->grf, 0x298, 0x00040000); in rk312x_usb2phy_tuning()
2505 return 0; in rk312x_usb2phy_tuning()
2510 int ret = 0; in rk3228_usb2phy_tuning()
2513 if (rphy->phy_cfg->reg == 0x760) in rk3228_usb2phy_tuning()
2514 ret = regmap_write(rphy->grf, 0x76c, 0x00070004); in rk3228_usb2phy_tuning()
2525 ret = regmap_update_bits(rphy->grf, 0x30, BIT(2), 0); in rk3308_usb2phy_tuning()
2530 ret = regmap_update_bits(rphy->grf, 0, GENMASK(2, 0), BIT(2)); in rk3308_usb2phy_tuning()
2535 ret = regmap_update_bits(rphy->grf, 0x004, GENMASK(7, 5), 0x40); in rk3308_usb2phy_tuning()
2539 ret = regmap_update_bits(rphy->grf, 0x008, BIT(0), 0x1); in rk3308_usb2phy_tuning()
2544 ret = regmap_update_bits(rphy->grf, 0x400, GENMASK(2, 0), BIT(2)); in rk3308_usb2phy_tuning()
2549 ret = regmap_update_bits(rphy->grf, 0x404, GENMASK(7, 5), 0x40); in rk3308_usb2phy_tuning()
2553 ret = regmap_update_bits(rphy->grf, 0x408, BIT(0), 0x1); in rk3308_usb2phy_tuning()
2558 ret = regmap_write(rphy->grf, 0x0, 0x00070004); in rk3308_usb2phy_tuning()
2563 ret = regmap_write(rphy->grf, 0x30, 0x00070004); in rk3308_usb2phy_tuning()
2568 ret = regmap_write(rphy->grf, 0x18, 0x00040000); in rk3308_usb2phy_tuning()
2573 return 0; in rk3308_usb2phy_tuning()
2582 ret = regmap_update_bits(rphy->grf, 0x8000, GENMASK(2, 0), BIT(2)); in rk3328_usb2phy_tuning()
2587 ret = regmap_update_bits(rphy->grf, 0x8004, GENMASK(7, 5), 0x40); in rk3328_usb2phy_tuning()
2591 ret = regmap_update_bits(rphy->grf, 0x8008, BIT(0), 0x1); in rk3328_usb2phy_tuning()
2596 ret = regmap_update_bits(rphy->grf, 0x8030, BIT(2), 0); in rk3328_usb2phy_tuning()
2601 ret = regmap_update_bits(rphy->grf, 0x8400, GENMASK(2, 0), BIT(2)); in rk3328_usb2phy_tuning()
2606 ret = regmap_update_bits(rphy->grf, 0x8404, GENMASK(7, 5), 0x40); in rk3328_usb2phy_tuning()
2610 ret = regmap_update_bits(rphy->grf, 0x8408, BIT(0), 0x1); in rk3328_usb2phy_tuning()
2615 ret = regmap_update_bits(rphy->grf, 0x8430, BIT(2), 0); in rk3328_usb2phy_tuning()
2620 ret = regmap_write(rphy->grf, 0x2c, 0xffff0400); in rk3328_usb2phy_tuning()
2625 ret = regmap_write(rphy->grf, 0x0, 0x00070004); in rk3328_usb2phy_tuning()
2630 ret = regmap_write(rphy->grf, 0x30, 0x00070004); in rk3328_usb2phy_tuning()
2635 ret = regmap_write(rphy->grf, 0x18, 0x00040000); in rk3328_usb2phy_tuning()
2639 return 0; in rk3328_usb2phy_tuning()
2644 unsigned int open_pre_emphasize = 0xffff851f; in rk3366_usb2phy_tuning()
2645 unsigned int eye_height_tuning = 0xffff68c8; in rk3366_usb2phy_tuning()
2646 unsigned int compensation_tuning = 0xffff026e; in rk3366_usb2phy_tuning()
2647 int ret = 0; in rk3366_usb2phy_tuning()
2650 ret |= regmap_write(rphy->grf, 0x0780, open_pre_emphasize); in rk3366_usb2phy_tuning()
2651 ret |= regmap_write(rphy->grf, 0x079c, eye_height_tuning); in rk3366_usb2phy_tuning()
2652 ret |= regmap_write(rphy->grf, 0x07b0, open_pre_emphasize); in rk3366_usb2phy_tuning()
2653 ret |= regmap_write(rphy->grf, 0x07cc, eye_height_tuning); in rk3366_usb2phy_tuning()
2656 ret |= regmap_write(rphy->grf, 0x078c, compensation_tuning); in rk3366_usb2phy_tuning()
2664 int ret = 0; in rk3399_usb2phy_tuning()
2666 if (rphy->phy_cfg->reg == 0xe450) { in rk3399_usb2phy_tuning()
2673 ret |= regmap_write(rphy->grf, 0x4480, in rk3399_usb2phy_tuning()
2674 GENMASK(17, 16) | 0x0); in rk3399_usb2phy_tuning()
2675 ret |= regmap_write(rphy->grf, 0x44b4, in rk3399_usb2phy_tuning()
2676 GENMASK(17, 16) | 0x0); in rk3399_usb2phy_tuning()
2684 ret |= regmap_write(rphy->grf, 0x4500, in rk3399_usb2phy_tuning()
2685 GENMASK(17, 16) | 0x0); in rk3399_usb2phy_tuning()
2686 ret |= regmap_write(rphy->grf, 0x4534, in rk3399_usb2phy_tuning()
2687 GENMASK(17, 16) | 0x0); in rk3399_usb2phy_tuning()
2693 if (rphy->phy_cfg->reg == 0xe450) { in rk3399_usb2phy_tuning()
2698 ret |= regmap_write(rphy->grf, 0x448c, in rk3399_usb2phy_tuning()
2699 GENMASK(23, 16) | 0xe3); in rk3399_usb2phy_tuning()
2702 ret |= regmap_write(rphy->grf, 0x44b0, in rk3399_usb2phy_tuning()
2703 GENMASK(18, 16) | 0x07); in rk3399_usb2phy_tuning()
2708 ret |= regmap_write(rphy->grf, 0x4480, in rk3399_usb2phy_tuning()
2709 GENMASK(30, 30) | 0x4000); in rk3399_usb2phy_tuning()
2715 ret |= regmap_write(rphy->grf, 0x450c, in rk3399_usb2phy_tuning()
2716 GENMASK(23, 16) | 0xe3); in rk3399_usb2phy_tuning()
2719 ret |= regmap_write(rphy->grf, 0x4530, in rk3399_usb2phy_tuning()
2720 GENMASK(18, 16) | 0x07); in rk3399_usb2phy_tuning()
2725 ret |= regmap_write(rphy->grf, 0x4500, in rk3399_usb2phy_tuning()
2726 GENMASK(30, 30) | 0x4000); in rk3399_usb2phy_tuning()
2734 int ret = 0; in rk3528_usb2phy_tuning()
2737 phy_clear_bits(rphy->phy_base + 0x30, BIT(2)); in rk3528_usb2phy_tuning()
2740 phy_clear_bits(rphy->phy_base + 0x430, BIT(2)); in rk3528_usb2phy_tuning()
2743 phy_update_bits(rphy->phy_base + 0x30, GENMASK(6, 4), (0x00 << 4)); in rk3528_usb2phy_tuning()
2746 phy_update_bits(rphy->phy_base + 0x430, GENMASK(6, 4), (0x00 << 4)); in rk3528_usb2phy_tuning()
2749 phy_update_bits(rphy->phy_base + 0x94, GENMASK(6, 3), (0x03 << 3)); in rk3528_usb2phy_tuning()
2752 ret |= regmap_write(rphy->grf, 0x80004, 0x00030003); in rk3528_usb2phy_tuning()
2759 int ret = 0; in rk3562_usb2phy_tuning()
2762 phy_clear_bits(rphy->phy_base + 0x0030, BIT(2)); in rk3562_usb2phy_tuning()
2763 phy_clear_bits(rphy->phy_base + 0x0430, BIT(2)); in rk3562_usb2phy_tuning()
2766 phy_update_bits(rphy->phy_base, GENMASK(2, 0), 0x04); in rk3562_usb2phy_tuning()
2767 phy_update_bits(rphy->phy_base + 0x0400, GENMASK(2, 0), 0x04); in rk3562_usb2phy_tuning()
2770 phy_update_bits(rphy->phy_base + 0x0030, GENMASK(6, 4), (0x05 << 4)); in rk3562_usb2phy_tuning()
2771 phy_update_bits(rphy->phy_base + 0x0430, GENMASK(6, 4), (0x05 << 4)); in rk3562_usb2phy_tuning()
2774 ret |= regmap_write(rphy->grf, 0x0138, FILTER_COUNTER); in rk3562_usb2phy_tuning()
2777 ret |= regmap_write(rphy->grf, 0x013c, FILTER_COUNTER); in rk3562_usb2phy_tuning()
2780 ret |= regmap_write(rphy->grf, 0x010c, 0x80008000); in rk3562_usb2phy_tuning()
2787 int ret = 0; in rk3568_usb2phy_tuning()
2790 phy_clear_bits(rphy->phy_base + 0x30, BIT(2)); in rk3568_usb2phy_tuning()
2793 phy_update_bits(rphy->phy_base, GENMASK(2, 0), 0x04); in rk3568_usb2phy_tuning()
2796 phy_update_bits(rphy->phy_base + 0x0400, GENMASK(2, 0), 0x04); in rk3568_usb2phy_tuning()
2798 if (rphy->phy_cfg->reg == 0xfe8a0000) { in rk3568_usb2phy_tuning()
2800 phy_update_bits(rphy->phy_base + 0x30, GENMASK(6, 4), (0x06 << 4)); in rk3568_usb2phy_tuning()
2806 ret |= regmap_write(rphy->grf, 0x0048, FILTER_COUNTER); in rk3568_usb2phy_tuning()
2812 ret |= regmap_write(rphy->grf, 0x004c, FILTER_COUNTER); in rk3568_usb2phy_tuning()
2816 ret |= regmap_write(rphy->grf, 0x000c, 0x80008000); in rk3568_usb2phy_tuning()
2824 phy_update_bits(rphy->phy_base + 0x30, GENMASK(2, 0), 0x07); in rv1106_usb2phy_tuning()
2828 phy_update_bits(rphy->phy_base + 0x40, GENMASK(5, 3), (0x01 << 3)); in rv1106_usb2phy_tuning()
2831 phy_update_bits(rphy->phy_base + 0x40, GENMASK(5, 3), (0x03 << 3)); in rv1106_usb2phy_tuning()
2835 phy_update_bits(rphy->phy_base + 0x64, GENMASK(6, 3), (0x00 << 3)); in rv1106_usb2phy_tuning()
2838 phy_clear_bits(rphy->phy_base + 0x100, BIT(6)); in rv1106_usb2phy_tuning()
2841 phy_update_bits(rphy->phy_base + 0x11c, GENMASK(4, 0), 0x17); in rv1106_usb2phy_tuning()
2844 phy_update_bits(rphy->phy_base + 0x124, GENMASK(4, 2), (0x03 << 2)); in rv1106_usb2phy_tuning()
2847 phy_update_bits(rphy->phy_base + 0x1a4, GENMASK(7, 4), (0x01 << 4)); in rv1106_usb2phy_tuning()
2848 phy_update_bits(rphy->phy_base + 0x1b4, GENMASK(7, 4), (0x01 << 4)); in rv1106_usb2phy_tuning()
2851 phy_set_bits(rphy->phy_base + 0x70, BIT(2)); in rv1106_usb2phy_tuning()
2853 return 0; in rv1106_usb2phy_tuning()
2868 return 0; in rockchip_usb2phy_vbus_det_control()
2874 int ret = 0; in rk3588_usb2phy_tuning()
2877 ret = regmap_read(rphy->grf, 0x0008, &reg); in rk3588_usb2phy_tuning()
2883 ret = regmap_write(rphy->grf, 0x0008, in rk3588_usb2phy_tuning()
2884 GENMASK(29, 29) | 0x0000); in rk3588_usb2phy_tuning()
2894 if (rphy->phy_cfg->reg == 0x0000) { in rk3588_usb2phy_tuning()
2901 ret |= regmap_write(rphy->grf, 0x000c, in rk3588_usb2phy_tuning()
2902 GENMASK(20, 16) | 0x0015); in rk3588_usb2phy_tuning()
2905 ret |= regmap_write(rphy->grf, 0x0004, in rk3588_usb2phy_tuning()
2906 GENMASK(27, 24) | 0x0900); in rk3588_usb2phy_tuning()
2909 ret |= regmap_write(rphy->grf, 0x0008, in rk3588_usb2phy_tuning()
2910 GENMASK(20, 19) | 0x0010); in rk3588_usb2phy_tuning()
2913 ret |= regmap_write(rphy->grf, 0x0010, in rk3588_usb2phy_tuning()
2914 GENMASK(17, 16) | 0x0003); in rk3588_usb2phy_tuning()
2915 } else if (rphy->phy_cfg->reg == 0x4000) { in rk3588_usb2phy_tuning()
2922 ret |= regmap_write(rphy->grf, 0x000c, in rk3588_usb2phy_tuning()
2923 GENMASK(20, 16) | 0x0015); in rk3588_usb2phy_tuning()
2926 ret |= regmap_write(rphy->grf, 0x0004, in rk3588_usb2phy_tuning()
2927 GENMASK(27, 24) | 0x0900); in rk3588_usb2phy_tuning()
2930 ret |= regmap_write(rphy->grf, 0x0008, in rk3588_usb2phy_tuning()
2931 GENMASK(20, 19) | 0x0010); in rk3588_usb2phy_tuning()
2934 ret |= regmap_write(rphy->grf, 0x0010, in rk3588_usb2phy_tuning()
2935 GENMASK(17, 16) | 0x0003); in rk3588_usb2phy_tuning()
2936 } else if (rphy->phy_cfg->reg == 0x8000) { in rk3588_usb2phy_tuning()
2943 ret |= regmap_write(rphy->grf, 0x000c, in rk3588_usb2phy_tuning()
2944 GENMASK(20, 16) | 0x0014); in rk3588_usb2phy_tuning()
2947 ret |= regmap_write(rphy->grf, 0x0004, in rk3588_usb2phy_tuning()
2948 GENMASK(27, 24) | 0x0900); in rk3588_usb2phy_tuning()
2951 ret |= regmap_write(rphy->grf, 0x0008, in rk3588_usb2phy_tuning()
2952 GENMASK(20, 19) | 0x0010); in rk3588_usb2phy_tuning()
2953 } else if (rphy->phy_cfg->reg == 0xc000) { in rk3588_usb2phy_tuning()
2960 ret |= regmap_write(rphy->grf, 0x000c, in rk3588_usb2phy_tuning()
2961 GENMASK(20, 16) | 0x0014); in rk3588_usb2phy_tuning()
2964 ret |= regmap_write(rphy->grf, 0x0004, in rk3588_usb2phy_tuning()
2965 GENMASK(27, 24) | 0x0900); in rk3588_usb2phy_tuning()
2968 ret |= regmap_write(rphy->grf, 0x0008, in rk3588_usb2phy_tuning()
2969 GENMASK(20, 19) | 0x0010); in rk3588_usb2phy_tuning()
2982 int ret = 0; in rockchip_usb2phy_pm_suspend()
2999 for (index = 0; index < phy_cfg->num_ports; index++) { in rockchip_usb2phy_pm_suspend()
3013 (rport->id_irq > 0 || rphy->irq > 0)) { in rockchip_usb2phy_pm_suspend()
3028 rport->bvalid_irq > 0) in rockchip_usb2phy_pm_suspend()
3040 if (wakeup_enable && rport->ls_irq > 0) in rockchip_usb2phy_pm_suspend()
3047 if (wakeup_enable && rphy->irq > 0) in rockchip_usb2phy_pm_suspend()
3060 int ret = 0; in rockchip_usb2phy_pm_resume()
3083 for (index = 0; index < phy_cfg->num_ports; index++) { in rockchip_usb2phy_pm_resume()
3097 (rport->id_irq > 0 || rphy->irq > 0)) { in rockchip_usb2phy_pm_resume()
3130 (rport->bvalid_irq > 0 || rport->otg_mux_irq > 0 || rphy->irq > 0) && in rockchip_usb2phy_pm_resume()
3147 rport->bvalid_irq > 0) in rockchip_usb2phy_pm_resume()
3150 if (wakeup_enable && rport->ls_irq > 0) in rockchip_usb2phy_pm_resume()
3157 if (wakeup_enable && rphy->irq > 0) in rockchip_usb2phy_pm_resume()
3175 .reg = 0x100,
3177 .clkout_ctl = { 0x108, 4, 4, 1, 0 },
3180 .phy_sus = { 0x0100, 8, 0, 0, 0x1d1 },
3181 .bvalid_det_en = { 0x0110, 2, 2, 0, 1 },
3182 .bvalid_det_st = { 0x0114, 2, 2, 0, 1 },
3183 .bvalid_det_clr = { 0x0118, 2, 2, 0, 1 },
3184 .bypass_dm_en = { 0x0108, 2, 2, 0, 1},
3185 .bypass_sel = { 0x0108, 3, 3, 0, 1},
3186 .iddig_output = { 0x0100, 10, 10, 0, 1 },
3187 .iddig_en = { 0x0100, 9, 9, 0, 1 },
3188 .idfall_det_en = { 0x0110, 5, 5, 0, 1 },
3189 .idfall_det_st = { 0x0114, 5, 5, 0, 1 },
3190 .idfall_det_clr = { 0x0118, 5, 5, 0, 1 },
3191 .idrise_det_en = { 0x0110, 4, 4, 0, 1 },
3192 .idrise_det_st = { 0x0114, 4, 4, 0, 1 },
3193 .idrise_det_clr = { 0x0118, 4, 4, 0, 1 },
3194 .ls_det_en = { 0x0110, 0, 0, 0, 1 },
3195 .ls_det_st = { 0x0114, 0, 0, 0, 1 },
3196 .ls_det_clr = { 0x0118, 0, 0, 0, 1 },
3197 .utmi_avalid = { 0x0120, 10, 10, 0, 1 },
3198 .utmi_bvalid = { 0x0120, 9, 9, 0, 1 },
3199 .utmi_iddig = { 0x0120, 6, 6, 0, 1 },
3200 .utmi_ls = { 0x0120, 5, 4, 0, 1 },
3201 .vbus_det_en = { 0x001c, 15, 15, 1, 0 },
3204 .phy_sus = { 0x104, 8, 0, 0, 0x1d1 },
3205 .ls_det_en = { 0x110, 1, 1, 0, 1 },
3206 .ls_det_st = { 0x114, 1, 1, 0, 1 },
3207 .ls_det_clr = { 0x118, 1, 1, 0, 1 },
3208 .utmi_ls = { 0x120, 17, 16, 0, 1 },
3209 .utmi_hstdet = { 0x120, 19, 19, 0, 1 }
3213 .chg_mode = { 0x0100, 8, 0, 0, 0x1d7 },
3214 .cp_det = { 0x0120, 24, 24, 0, 1 },
3215 .dcp_det = { 0x0120, 23, 23, 0, 1 },
3216 .dp_det = { 0x0120, 25, 25, 0, 1 },
3217 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
3218 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
3219 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
3220 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
3221 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
3222 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
3230 .reg = 0x17c,
3233 .clkout_ctl = { 0x0190, 15, 15, 1, 0 },
3236 .phy_sus = { 0x017c, 8, 0, 0, 0x1d1 },
3237 .bvalid_det_en = { 0x017c, 14, 14, 0, 1 },
3238 .bvalid_det_st = { 0x017c, 15, 15, 0, 1 },
3239 .bvalid_det_clr = { 0x017c, 15, 15, 0, 1 },
3240 .bypass_dm_en = { 0x0190, 12, 12, 0, 1},
3241 .bypass_sel = { 0x0190, 13, 13, 0, 1},
3242 .iddig_output = { 0x017c, 10, 10, 0, 1 },
3243 .iddig_en = { 0x017c, 9, 9, 0, 1 },
3244 .idfall_det_en = { 0x01a0, 2, 2, 0, 1 },
3245 .idfall_det_st = { 0x01a0, 3, 3, 0, 1 },
3246 .idfall_det_clr = { 0x01a0, 3, 3, 0, 1 },
3247 .idrise_det_en = { 0x01a0, 0, 0, 0, 1 },
3248 .idrise_det_st = { 0x01a0, 1, 1, 0, 1 },
3249 .idrise_det_clr = { 0x01a0, 1, 1, 0, 1 },
3250 .ls_det_en = { 0x017c, 12, 12, 0, 1 },
3251 .ls_det_st = { 0x017c, 13, 13, 0, 1 },
3252 .ls_det_clr = { 0x017c, 13, 13, 0, 1 },
3253 .utmi_bvalid = { 0x014c, 5, 5, 0, 1 },
3254 .utmi_iddig = { 0x014c, 8, 8, 0, 1 },
3255 .utmi_ls = { 0x014c, 7, 6, 0, 1 },
3258 .phy_sus = { 0x0194, 8, 0, 0, 0x1d1 },
3259 .ls_det_en = { 0x0194, 14, 14, 0, 1 },
3260 .ls_det_st = { 0x0194, 15, 15, 0, 1 },
3261 .ls_det_clr = { 0x0194, 15, 15, 0, 1 }
3265 .chg_mode = { 0x017c, 8, 0, 0, 0x1d7 },
3266 .cp_det = { 0x02c0, 6, 6, 0, 1 },
3267 .dcp_det = { 0x02c0, 5, 5, 0, 1 },
3268 .dp_det = { 0x02c0, 7, 7, 0, 1 },
3269 .idm_sink_en = { 0x0184, 8, 8, 0, 1 },
3270 .idp_sink_en = { 0x0184, 7, 7, 0, 1 },
3271 .idp_src_en = { 0x0184, 9, 9, 0, 1 },
3272 .rdm_pdwn_en = { 0x0184, 10, 10, 0, 1 },
3273 .vdm_src_en = { 0x0184, 12, 12, 0, 1 },
3274 .vdp_src_en = { 0x0184, 11, 11, 0, 1 },
3282 .reg = 0x760,
3285 .clkout_ctl = { 0x0768, 4, 4, 1, 0 },
3288 .phy_sus = { 0x0760, 8, 0, 0, 0x1d1 },
3289 .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
3290 .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
3291 .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
3292 .iddig_output = { 0x0760, 10, 10, 0, 1 },
3293 .iddig_en = { 0x0760, 9, 9, 0, 1 },
3294 .idfall_det_en = { 0x0680, 6, 6, 0, 1 },
3295 .idfall_det_st = { 0x0690, 6, 6, 0, 1 },
3296 .idfall_det_clr = { 0x06a0, 6, 6, 0, 1 },
3297 .idrise_det_en = { 0x0680, 5, 5, 0, 1 },
3298 .idrise_det_st = { 0x0690, 5, 5, 0, 1 },
3299 .idrise_det_clr = { 0x06a0, 5, 5, 0, 1 },
3300 .ls_det_en = { 0x0680, 2, 2, 0, 1 },
3301 .ls_det_st = { 0x0690, 2, 2, 0, 1 },
3302 .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
3303 .utmi_bvalid = { 0x0480, 4, 4, 0, 1 },
3304 .utmi_iddig = { 0x0480, 1, 1, 0, 1 },
3305 .utmi_ls = { 0x0480, 3, 2, 0, 1 },
3306 .vbus_det_en = { 0x0788, 15, 15, 1, 0 },
3309 .phy_sus = { 0x0764, 8, 0, 0, 0x1d1 },
3310 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
3311 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
3312 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 }
3316 .chg_mode = { 0x0760, 8, 0, 0, 0x1d7 },
3317 .cp_det = { 0x0884, 4, 4, 0, 1 },
3318 .dcp_det = { 0x0884, 3, 3, 0, 1 },
3319 .dp_det = { 0x0884, 5, 5, 0, 1 },
3320 .idm_sink_en = { 0x0768, 8, 8, 0, 1 },
3321 .idp_sink_en = { 0x0768, 7, 7, 0, 1 },
3322 .idp_src_en = { 0x0768, 9, 9, 0, 1 },
3323 .rdm_pdwn_en = { 0x0768, 10, 10, 0, 1 },
3324 .vdm_src_en = { 0x0768, 12, 12, 0, 1 },
3325 .vdp_src_en = { 0x0768, 11, 11, 0, 1 },
3329 .reg = 0x800,
3331 .clkout_ctl = { 0x0808, 4, 4, 1, 0 },
3334 .phy_sus = { 0x804, 8, 0, 0, 0x1d1 },
3335 .ls_det_en = { 0x0684, 1, 1, 0, 1 },
3336 .ls_det_st = { 0x0694, 1, 1, 0, 1 },
3337 .ls_det_clr = { 0x06a4, 1, 1, 0, 1 }
3340 .phy_sus = { 0x800, 8, 0, 0, 0x1d1 },
3341 .ls_det_en = { 0x0684, 0, 0, 0, 1 },
3342 .ls_det_st = { 0x0694, 0, 0, 0, 1 },
3343 .ls_det_clr = { 0x06a4, 0, 0, 0, 1 }
3352 .reg = 0x100,
3355 .clkout_ctl = { 0x0108, 4, 4, 1, 0 },
3358 .phy_sus = { 0x0100, 8, 0, 0, 0x1d1 },
3359 .bvalid_det_en = { 0x3020, 2, 2, 0, 1 },
3360 .bvalid_det_st = { 0x3024, 2, 2, 0, 1 },
3361 .bvalid_det_clr = { 0x3028, 2, 2, 0, 1 },
3362 .iddig_output = { 0x0100, 10, 10, 0, 1 },
3363 .iddig_en = { 0x0100, 9, 9, 0, 1 },
3364 .idfall_det_en = { 0x3020, 5, 5, 0, 1 },
3365 .idfall_det_st = { 0x3024, 5, 5, 0, 1 },
3366 .idfall_det_clr = { 0x3028, 5, 5, 0, 1 },
3367 .idrise_det_en = { 0x3020, 4, 4, 0, 1 },
3368 .idrise_det_st = { 0x3024, 4, 4, 0, 1 },
3369 .idrise_det_clr = { 0x3028, 4, 4, 0, 1 },
3370 .ls_det_en = { 0x3020, 0, 0, 0, 1 },
3371 .ls_det_st = { 0x3024, 0, 0, 0, 1 },
3372 .ls_det_clr = { 0x3028, 0, 0, 0, 1 },
3373 .utmi_avalid = { 0x0120, 10, 10, 0, 1 },
3374 .utmi_bvalid = { 0x0120, 9, 9, 0, 1 },
3375 .utmi_iddig = { 0x0120, 6, 6, 0, 1 },
3376 .utmi_ls = { 0x0120, 5, 4, 0, 1 },
3377 .vbus_det_en = { 0x001c, 15, 15, 1, 0 },
3380 .phy_sus = { 0x0104, 8, 0, 0, 0x1d1 },
3381 .ls_det_en = { 0x3020, 1, 1, 0, 1 },
3382 .ls_det_st = { 0x3024, 1, 1, 0, 1 },
3383 .ls_det_clr = { 0x3028, 1, 1, 0, 1 },
3384 .utmi_ls = { 0x120, 17, 16, 0, 1 },
3385 .utmi_hstdet = { 0x120, 19, 19, 0, 1 }
3389 .chg_mode = { 0x0100, 8, 0, 0, 0x1d7 },
3390 .cp_det = { 0x0120, 24, 24, 0, 1 },
3391 .dcp_det = { 0x0120, 23, 23, 0, 1 },
3392 .dp_det = { 0x0120, 25, 25, 0, 1 },
3393 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
3394 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
3395 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
3396 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
3397 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
3398 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
3406 .reg = 0x100,
3409 .clkout_ctl = { 0x108, 4, 4, 1, 0 },
3412 .phy_sus = { 0x0100, 8, 0, 0, 0x1d1 },
3413 .bvalid_det_en = { 0x0110, 2, 2, 0, 1 },
3414 .bvalid_det_st = { 0x0114, 2, 2, 0, 1 },
3415 .bvalid_det_clr = { 0x0118, 2, 2, 0, 1 },
3416 .bypass_bc = { 0x0008, 14, 14, 0, 1 },
3417 .bypass_otg = { 0x0018, 15, 15, 1, 0 },
3418 .iddig_output = { 0x0100, 10, 10, 0, 1 },
3419 .iddig_en = { 0x0100, 9, 9, 0, 1 },
3420 .idfall_det_en = { 0x0110, 5, 5, 0, 1 },
3421 .idfall_det_st = { 0x0114, 5, 5, 0, 1 },
3422 .idfall_det_clr = { 0x0118, 5, 5, 0, 1 },
3423 .idrise_det_en = { 0x0110, 4, 4, 0, 1 },
3424 .idrise_det_st = { 0x0114, 4, 4, 0, 1 },
3425 .idrise_det_clr = { 0x0118, 4, 4, 0, 1 },
3426 .ls_det_en = { 0x0110, 0, 0, 0, 1 },
3427 .ls_det_st = { 0x0114, 0, 0, 0, 1 },
3428 .ls_det_clr = { 0x0118, 0, 0, 0, 1 },
3429 .utmi_avalid = { 0x0120, 10, 10, 0, 1 },
3430 .utmi_bvalid = { 0x0120, 9, 9, 0, 1 },
3431 .utmi_iddig = { 0x0120, 6, 6, 0, 1 },
3432 .utmi_ls = { 0x0120, 5, 4, 0, 1 },
3433 .vbus_det_en = { 0x001c, 15, 15, 1, 0 },
3436 .phy_sus = { 0x104, 8, 0, 0, 0x1d1 },
3437 .bypass_host = { 0x048, 15, 15, 1, 0 },
3438 .ls_det_en = { 0x110, 1, 1, 0, 1 },
3439 .ls_det_st = { 0x114, 1, 1, 0, 1 },
3440 .ls_det_clr = { 0x118, 1, 1, 0, 1 },
3441 .utmi_ls = { 0x120, 17, 16, 0, 1 },
3442 .utmi_hstdet = { 0x120, 19, 19, 0, 1 }
3446 .chg_mode = { 0x0100, 8, 0, 0, 0x1d7 },
3447 .cp_det = { 0x0120, 24, 24, 0, 1 },
3448 .dcp_det = { 0x0120, 23, 23, 0, 1 },
3449 .dp_det = { 0x0120, 25, 25, 0, 1 },
3450 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
3451 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
3452 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
3453 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
3454 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
3455 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
3463 .reg = 0x700,
3466 .clkout_ctl = { 0x0724, 15, 15, 1, 0 },
3469 .phy_sus = { 0x0728, 8, 0, 0, 0x1d1 },
3470 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
3471 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
3472 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 },
3473 .utmi_ls = { 0x049c, 14, 13, 0, 1 },
3474 .utmi_hstdet = { 0x049c, 12, 12, 0, 1 }
3483 .reg = 0x700,
3485 .clkout_ctl = { 0x0724, 15, 15, 1, 0 },
3488 .phy_sus = { 0x0700, 8, 0, 0, 0x1d1 },
3489 .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
3490 .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
3491 .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
3492 .iddig_output = { 0x0700, 10, 10, 0, 1 },
3493 .iddig_en = { 0x0700, 9, 9, 0, 1 },
3494 .idfall_det_en = { 0x0680, 6, 6, 0, 1 },
3495 .idfall_det_st = { 0x0690, 6, 6, 0, 1 },
3496 .idfall_det_clr = { 0x06a0, 6, 6, 0, 1 },
3497 .idrise_det_en = { 0x0680, 5, 5, 0, 1 },
3498 .idrise_det_st = { 0x0690, 5, 5, 0, 1 },
3499 .idrise_det_clr = { 0x06a0, 5, 5, 0, 1 },
3500 .ls_det_en = { 0x0680, 2, 2, 0, 1 },
3501 .ls_det_st = { 0x0690, 2, 2, 0, 1 },
3502 .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
3503 .utmi_bvalid = { 0x04bc, 23, 23, 0, 1 },
3504 .utmi_iddig = { 0x04bc, 26, 26, 0, 1 },
3505 .utmi_ls = { 0x04bc, 25, 24, 0, 1 },
3506 .vbus_det_en = { 0x079c, 15, 15, 1, 0 },
3509 .phy_sus = { 0x0728, 15, 0, 0, 0x1d1 },
3510 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
3511 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
3512 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 }
3516 .chg_mode = { 0x0700, 8, 0, 0, 0x1d7 },
3517 .cp_det = { 0x04b8, 30, 30, 0, 1 },
3518 .dcp_det = { 0x04b8, 29, 29, 0, 1 },
3519 .dp_det = { 0x04b8, 31, 31, 0, 1 },
3520 .idm_sink_en = { 0x0718, 8, 8, 0, 1 },
3521 .idp_sink_en = { 0x0718, 7, 7, 0, 1 },
3522 .idp_src_en = { 0x0718, 9, 9, 0, 1 },
3523 .rdm_pdwn_en = { 0x0718, 10, 10, 0, 1 },
3524 .vdm_src_en = { 0x0718, 12, 12, 0, 1 },
3525 .vdp_src_en = { 0x0718, 11, 11, 0, 1 },
3533 .reg = 0xe450,
3536 .clkout_ctl = { 0xe450, 4, 4, 1, 0 },
3539 .phy_sus = { 0xe454, 8, 0, 0x052, 0x1d1 },
3540 .bvalid_det_en = { 0xe3c0, 3, 3, 0, 1 },
3541 .bvalid_det_st = { 0xe3e0, 3, 3, 0, 1 },
3542 .bvalid_det_clr = { 0xe3d0, 3, 3, 0, 1 },
3543 .bypass_dm_en = { 0xe450, 2, 2, 0, 1 },
3544 .bypass_sel = { 0xe450, 3, 3, 0, 1 },
3545 .iddig_output = { 0xe454, 10, 10, 0, 1 },
3546 .iddig_en = { 0xe454, 9, 9, 0, 1 },
3547 .idfall_det_en = { 0xe3c0, 5, 5, 0, 1 },
3548 .idfall_det_st = { 0xe3e0, 5, 5, 0, 1 },
3549 .idfall_det_clr = { 0xe3d0, 5, 5, 0, 1 },
3550 .idrise_det_en = { 0xe3c0, 4, 4, 0, 1 },
3551 .idrise_det_st = { 0xe3e0, 4, 4, 0, 1 },
3552 .idrise_det_clr = { 0xe3d0, 4, 4, 0, 1 },
3553 .ls_det_en = { 0xe3c0, 2, 2, 0, 1 },
3554 .ls_det_st = { 0xe3e0, 2, 2, 0, 1 },
3555 .ls_det_clr = { 0xe3d0, 2, 2, 0, 1 },
3556 .utmi_avalid = { 0xe2ac, 7, 7, 0, 1 },
3557 .utmi_bvalid = { 0xe2ac, 12, 12, 0, 1 },
3558 .utmi_iddig = { 0xe2ac, 8, 8, 0, 1 },
3559 .utmi_ls = { 0xe2ac, 14, 13, 0, 1 },
3560 .vbus_det_en = { 0x449c, 15, 15, 1, 0 },
3563 .phy_sus = { 0xe458, 1, 0, 0x2, 0x1 },
3564 .ls_det_en = { 0xe3c0, 6, 6, 0, 1 },
3565 .ls_det_st = { 0xe3e0, 6, 6, 0, 1 },
3566 .ls_det_clr = { 0xe3d0, 6, 6, 0, 1 },
3567 .utmi_ls = { 0xe2ac, 22, 21, 0, 1 },
3568 .utmi_hstdet = { 0xe2ac, 23, 23, 0, 1 }
3572 .chg_mode = { 0xe454, 8, 0, 0, 0x1d7 },
3573 .cp_det = { 0xe2ac, 2, 2, 0, 1 },
3574 .dcp_det = { 0xe2ac, 1, 1, 0, 1 },
3575 .dp_det = { 0xe2ac, 0, 0, 0, 1 },
3576 .idm_sink_en = { 0xe450, 8, 8, 0, 1 },
3577 .idp_sink_en = { 0xe450, 7, 7, 0, 1 },
3578 .idp_src_en = { 0xe450, 9, 9, 0, 1 },
3579 .rdm_pdwn_en = { 0xe450, 10, 10, 0, 1 },
3580 .vdm_src_en = { 0xe450, 12, 12, 0, 1 },
3581 .vdp_src_en = { 0xe450, 11, 11, 0, 1 },
3585 .reg = 0xe460,
3588 .clkout_ctl = { 0xe460, 4, 4, 1, 0 },
3591 .phy_sus = { 0xe464, 8, 0, 0x052, 0x1d1 },
3592 .bvalid_det_en = { 0xe3c0, 8, 8, 0, 1 },
3593 .bvalid_det_st = { 0xe3e0, 8, 8, 0, 1 },
3594 .bvalid_det_clr = { 0xe3d0, 8, 8, 0, 1 },
3595 .iddig_output = { 0xe464, 10, 10, 0, 1 },
3596 .iddig_en = { 0xe464, 9, 9, 0, 1 },
3597 .idfall_det_en = { 0xe3c0, 10, 10, 0, 1 },
3598 .idfall_det_st = { 0xe3e0, 10, 10, 0, 1 },
3599 .idfall_det_clr = { 0xe3d0, 10, 10, 0, 1 },
3600 .idrise_det_en = { 0xe3c0, 9, 9, 0, 1 },
3601 .idrise_det_st = { 0xe3e0, 9, 9, 0, 1 },
3602 .idrise_det_clr = { 0xe3d0, 9, 9, 0, 1 },
3603 .ls_det_en = { 0xe3c0, 7, 7, 0, 1 },
3604 .ls_det_st = { 0xe3e0, 7, 7, 0, 1 },
3605 .ls_det_clr = { 0xe3d0, 7, 7, 0, 1 },
3606 .utmi_avalid = { 0xe2ac, 10, 10, 0, 1 },
3607 .utmi_bvalid = { 0xe2ac, 16, 16, 0, 1 },
3608 .utmi_iddig = { 0xe2ac, 11, 11, 0, 1 },
3609 .utmi_ls = { 0xe2ac, 18, 17, 0, 1 },
3610 .vbus_det_en = { 0x451c, 15, 15, 1, 0 },
3613 .phy_sus = { 0xe468, 1, 0, 0x2, 0x1 },
3614 .ls_det_en = { 0xe3c0, 11, 11, 0, 1 },
3615 .ls_det_st = { 0xe3e0, 11, 11, 0, 1 },
3616 .ls_det_clr = { 0xe3d0, 11, 11, 0, 1 },
3617 .utmi_ls = { 0xe2ac, 26, 25, 0, 1 },
3618 .utmi_hstdet = { 0xe2ac, 27, 27, 0, 1 }
3622 .chg_mode = { 0xe464, 8, 0, 0, 0x1d7 },
3623 .cp_det = { 0xe2ac, 5, 5, 0, 1 },
3624 .dcp_det = { 0xe2ac, 4, 4, 0, 1 },
3625 .dp_det = { 0xe2ac, 3, 3, 0, 1 },
3626 .idm_sink_en = { 0xe460, 8, 8, 0, 1 },
3627 .idp_sink_en = { 0xe460, 7, 7, 0, 1 },
3628 .idp_src_en = { 0xe460, 9, 9, 0, 1 },
3629 .rdm_pdwn_en = { 0xe460, 10, 10, 0, 1 },
3630 .vdm_src_en = { 0xe460, 12, 12, 0, 1 },
3631 .vdp_src_en = { 0xe460, 11, 11, 0, 1 },
3639 .reg = 0xffdf0000,
3643 .clkout_ctl_phy = { 0x041c, 7, 2, 0, 0x27 },
3646 .phy_sus = { 0x6004c, 8, 0, 0, 0x1d1 },
3647 .bvalid_det_en = { 0x60074, 2, 2, 0, 1 },
3648 .bvalid_det_st = { 0x60078, 2, 2, 0, 1 },
3649 .bvalid_det_clr = { 0x6007c, 2, 2, 0, 1 },
3650 .iddig_output = { 0x6004c, 10, 10, 0, 1 },
3651 .iddig_en = { 0x6004c, 9, 9, 0, 1 },
3652 .idfall_det_en = { 0x60074, 5, 5, 0, 1 },
3653 .idfall_det_st = { 0x60078, 5, 5, 0, 1 },
3654 .idfall_det_clr = { 0x6007c, 5, 5, 0, 1 },
3655 .idrise_det_en = { 0x60074, 4, 4, 0, 1 },
3656 .idrise_det_st = { 0x60078, 4, 4, 0, 1 },
3657 .idrise_det_clr = { 0x6007c, 4, 4, 0, 1 },
3658 .ls_det_en = { 0x60074, 0, 0, 0, 1 },
3659 .ls_det_st = { 0x60078, 0, 0, 0, 1 },
3660 .ls_det_clr = { 0x6007c, 0, 0, 0, 1 },
3661 .utmi_avalid = { 0x6006c, 1, 1, 0, 1 },
3662 .utmi_bvalid = { 0x6006c, 0, 0, 0, 1 },
3663 .utmi_iddig = { 0x6006c, 6, 6, 0, 1 },
3664 .utmi_ls = { 0x6006c, 5, 4, 0, 1 },
3665 .vbus_det_en = { 0x003c, 7, 7, 0, 1 },
3666 .port_ls_filter_con = { 0x60080, 19, 0, 0x30100, 0x20 },
3669 .phy_sus = { 0x6005c, 8, 0, 0x1d2, 0x1d1 },
3670 .ls_det_en = { 0x60090, 0, 0, 0, 1 },
3671 .ls_det_st = { 0x60094, 0, 0, 0, 1 },
3672 .ls_det_clr = { 0x60098, 0, 0, 0, 1 },
3673 .utmi_ls = { 0x6006c, 13, 12, 0, 1 },
3674 .utmi_hstdet = { 0x6006c, 15, 15, 0, 1 },
3675 .port_ls_filter_con = { 0x6009c, 19, 0, 0x30100, 0x20 },
3679 .chg_mode = { 0x6004c, 8, 0, 0, 0x1d7 },
3680 .cp_det = { 0x6006c, 19, 19, 0, 1 },
3681 .dcp_det = { 0x6006c, 18, 18, 0, 1 },
3682 .dp_det = { 0x6006c, 20, 20, 0, 1 },
3683 .idm_sink_en = { 0x60058, 1, 1, 0, 1 },
3684 .idp_sink_en = { 0x60058, 0, 0, 0, 1 },
3685 .idp_src_en = { 0x60058, 2, 2, 0, 1 },
3686 .rdm_pdwn_en = { 0x60058, 3, 3, 0, 1 },
3687 .vdm_src_en = { 0x60058, 5, 5, 0, 1 },
3688 .vdp_src_en = { 0x60058, 4, 4, 0, 1 },
3695 .reg = 0xff740000,
3699 .clkout_ctl = { 0x0108, 4, 4, 1, 0 },
3700 .ls_filter_con = { 0x0130, 19, 0, 0x30100, 0x00020 },
3703 .phy_sus = { 0x0100, 8, 0, 0, 0x1d1 },
3704 .bvalid_det_en = { 0x0110, 2, 2, 0, 1 },
3705 .bvalid_det_st = { 0x0114, 2, 2, 0, 1 },
3706 .bvalid_det_clr = { 0x0118, 2, 2, 0, 1 },
3707 .bvalid_grf_sel = { 0x0108, 15, 14, 0, 3 },
3708 .bypass_dm_en = { 0x0108, 2, 2, 0, 1},
3709 .bypass_sel = { 0x0108, 3, 3, 0, 1},
3710 .iddig_output = { 0x0100, 10, 10, 0, 1 },
3711 .iddig_en = { 0x0100, 9, 9, 0, 1 },
3712 .idfall_det_en = { 0x0110, 5, 5, 0, 1 },
3713 .idfall_det_st = { 0x0114, 5, 5, 0, 1 },
3714 .idfall_det_clr = { 0x0118, 5, 5, 0, 1 },
3715 .idrise_det_en = { 0x0110, 4, 4, 0, 1 },
3716 .idrise_det_st = { 0x0114, 4, 4, 0, 1 },
3717 .idrise_det_clr = { 0x0118, 4, 4, 0, 1 },
3718 .ls_det_en = { 0x0110, 0, 0, 0, 1 },
3719 .ls_det_st = { 0x0114, 0, 0, 0, 1 },
3720 .ls_det_clr = { 0x0118, 0, 0, 0, 1 },
3721 .utmi_avalid = { 0x0120, 10, 10, 0, 1 },
3722 .utmi_bvalid = { 0x0120, 9, 9, 0, 1 },
3723 .utmi_iddig = { 0x0120, 6, 6, 0, 1 },
3724 .utmi_ls = { 0x0120, 5, 4, 0, 1 },
3725 .vbus_det_en = { 0x003c, 7, 7, 0, 1 },
3728 .phy_sus = { 0x0104, 8, 0, 0x1d2, 0x1d1 },
3729 .ls_det_en = { 0x0110, 1, 1, 0, 1 },
3730 .ls_det_st = { 0x0114, 1, 1, 0, 1 },
3731 .ls_det_clr = { 0x0118, 1, 1, 0, 1 },
3732 .utmi_ls = { 0x0120, 17, 16, 0, 1 },
3733 .utmi_hstdet = { 0x0120, 19, 19, 0, 1 }
3737 .chg_mode = { 0x0100, 8, 0, 0, 0x1d7 },
3738 .cp_det = { 0x0120, 24, 24, 0, 1 },
3739 .dcp_det = { 0x0120, 23, 23, 0, 1 },
3740 .dp_det = { 0x0120, 25, 25, 0, 1 },
3741 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
3742 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
3743 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
3744 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
3745 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
3746 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
3754 .reg = 0xfe8a0000,
3758 .clkout_ctl = { 0x0008, 4, 4, 1, 0 },
3759 .ls_filter_con = { 0x0040, 19, 0, 0x30100, 0x00020 },
3762 .phy_sus = { 0x0000, 8, 0, 0, 0x1d1 },
3763 .bvalid_det_en = { 0x0080, 2, 2, 0, 1 },
3764 .bvalid_det_st = { 0x0084, 2, 2, 0, 1 },
3765 .bvalid_det_clr = { 0x0088, 2, 2, 0, 1 },
3766 .bvalid_grf_sel = { 0x0008, 15, 14, 0, 3 },
3767 .bypass_dm_en = { 0x0008, 2, 2, 0, 1},
3768 .bypass_sel = { 0x0008, 3, 3, 0, 1},
3769 .iddig_output = { 0x0000, 10, 10, 0, 1 },
3770 .iddig_en = { 0x0000, 9, 9, 0, 1 },
3771 .idfall_det_en = { 0x0080, 5, 5, 0, 1 },
3772 .idfall_det_st = { 0x0084, 5, 5, 0, 1 },
3773 .idfall_det_clr = { 0x0088, 5, 5, 0, 1 },
3774 .idrise_det_en = { 0x0080, 4, 4, 0, 1 },
3775 .idrise_det_st = { 0x0084, 4, 4, 0, 1 },
3776 .idrise_det_clr = { 0x0088, 4, 4, 0, 1 },
3777 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
3778 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
3779 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
3780 .utmi_avalid = { 0x00c0, 10, 10, 0, 1 },
3781 .utmi_bvalid = { 0x00c0, 9, 9, 0, 1 },
3782 .utmi_iddig = { 0x00c0, 6, 6, 0, 1 },
3783 .utmi_ls = { 0x00c0, 5, 4, 0, 1 },
3784 .vbus_det_en = { 0x003c, 7, 7, 0, 1 },
3788 .phy_sus = { 0x0004, 8, 0, 0x1d2, 0x1d2 },
3789 .ls_det_en = { 0x0080, 1, 1, 0, 1 },
3790 .ls_det_st = { 0x0084, 1, 1, 0, 1 },
3791 .ls_det_clr = { 0x0088, 1, 1, 0, 1 },
3792 .utmi_ls = { 0x00c0, 17, 16, 0, 1 },
3793 .utmi_hstdet = { 0x00c0, 19, 19, 0, 1 }
3797 .chg_mode = { 0x0000, 8, 0, 0, 0x1d7 },
3798 .cp_det = { 0x00c0, 24, 24, 0, 1 },
3799 .dcp_det = { 0x00c0, 23, 23, 0, 1 },
3800 .dp_det = { 0x00c0, 25, 25, 0, 1 },
3801 .idm_sink_en = { 0x0008, 8, 8, 0, 1 },
3802 .idp_sink_en = { 0x0008, 7, 7, 0, 1 },
3803 .idp_src_en = { 0x0008, 9, 9, 0, 1 },
3804 .rdm_pdwn_en = { 0x0008, 10, 10, 0, 1 },
3805 .vdm_src_en = { 0x0008, 12, 12, 0, 1 },
3806 .vdp_src_en = { 0x0008, 11, 11, 0, 1 },
3810 .reg = 0xfe8b0000,
3813 .clkout_ctl = { 0x0008, 4, 4, 1, 0 },
3814 .ls_filter_con = { 0x0040, 19, 0, 0x30100, 0x00020 },
3817 .phy_sus = { 0x0000, 8, 0, 0x1d2, 0x1d1 },
3818 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
3819 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
3820 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
3821 .utmi_ls = { 0x00c0, 5, 4, 0, 1 },
3822 .utmi_hstdet = { 0x00c0, 7, 7, 0, 1 }
3825 .phy_sus = { 0x0004, 8, 0, 0x1d2, 0x1d1 },
3826 .ls_det_en = { 0x0080, 1, 1, 0, 1 },
3827 .ls_det_st = { 0x0084, 1, 1, 0, 1 },
3828 .ls_det_clr = { 0x0088, 1, 1, 0, 1 },
3829 .utmi_ls = { 0x00c0, 17, 16, 0, 1 },
3830 .utmi_hstdet = { 0x00c0, 19, 19, 0, 1 }
3839 .reg = 0x0000,
3842 .clkout_ctl = { 0x0000, 0, 0, 1, 0 },
3843 .ls_filter_con = { 0x0040, 19, 0, 0x30100, 0x00020 },
3846 .phy_sus = { 0x000c, 11, 11, 0, 1 },
3847 .pipe_phystatus = { 0x001c, 3, 2, 0, 2 },
3848 .bvalid_det_en = { 0x0080, 1, 1, 0, 1 },
3849 .bvalid_det_st = { 0x0084, 1, 1, 0, 1 },
3850 .bvalid_det_clr = { 0x0088, 1, 1, 0, 1 },
3851 .bvalid_grf_sel = { 0x0010, 3, 3, 0, 1 },
3852 .bvalid_grf_con = { 0x0010, 3, 2, 2, 3 },
3853 .bvalid_phy_con = { 0x0008, 1, 0, 2, 3 },
3854 .bypass_dm_en = { 0x000c, 5, 5, 0, 1 },
3855 .bypass_sel = { 0x000c, 6, 6, 0, 1 },
3856 .iddig_output = { 0x0010, 0, 0, 0, 1 },
3857 .iddig_en = { 0x0010, 1, 1, 0, 1 },
3858 .idfall_det_en = { 0x0080, 4, 4, 0, 1 },
3859 .idfall_det_st = { 0x0084, 4, 4, 0, 1 },
3860 .idfall_det_clr = { 0x0088, 4, 4, 0, 1 },
3861 .idrise_det_en = { 0x0080, 3, 3, 0, 1 },
3862 .idrise_det_st = { 0x0084, 3, 3, 0, 1 },
3863 .idrise_det_clr = { 0x0088, 3, 3, 0, 1 },
3864 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
3865 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
3866 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
3867 .disfall_en = { 0x0080, 6, 6, 0, 1 },
3868 .disfall_st = { 0x0084, 6, 6, 0, 1 },
3869 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
3870 .disrise_en = { 0x0080, 5, 5, 0, 1 },
3871 .disrise_st = { 0x0084, 5, 5, 0, 1 },
3872 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
3873 .utmi_avalid = { 0x00c0, 7, 7, 0, 1 },
3874 .utmi_bvalid = { 0x00c0, 6, 6, 0, 1 },
3875 .utmi_iddig = { 0x00c0, 5, 5, 0, 1 },
3876 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
3880 .chg_mode = { 0x0008, 2, 2, 0, 1 },
3881 .cp_det = { 0x00c0, 0, 0, 0, 1 },
3882 .dcp_det = { 0x00c0, 0, 0, 0, 1 },
3883 .dp_det = { 0x00c0, 1, 1, 1, 0 },
3884 .idm_sink_en = { 0x0008, 5, 5, 1, 0 },
3885 .idp_sink_en = { 0x0008, 5, 5, 0, 1 },
3886 .idp_src_en = { 0x0008, 14, 14, 0, 1 },
3887 .rdm_pdwn_en = { 0x0008, 14, 14, 0, 1 },
3888 .vdm_src_en = { 0x0008, 7, 6, 0, 3 },
3889 .vdp_src_en = { 0x0008, 7, 6, 0, 3 },
3893 .reg = 0x4000,
3896 .clkout_ctl = { 0x0000, 0, 0, 1, 0 },
3897 .ls_filter_con = { 0x0040, 19, 0, 0x30100, 0x00020 },
3900 .phy_sus = { 0x000c, 11, 11, 0, 1 },
3901 .pipe_phystatus = { 0x0034, 3, 2, 0, 2 },
3902 .bvalid_det_en = { 0x0080, 1, 1, 0, 1 },
3903 .bvalid_det_st = { 0x0084, 1, 1, 0, 1 },
3904 .bvalid_det_clr = { 0x0088, 1, 1, 0, 1 },
3905 .bvalid_grf_sel = { 0x0010, 3, 3, 0, 1 },
3906 .bvalid_grf_con = { 0x0010, 3, 2, 2, 3 },
3907 .bvalid_phy_con = { 0x0008, 1, 0, 2, 3 },
3908 .bypass_dm_en = { 0x000c, 5, 5, 0, 1 },
3909 .bypass_sel = { 0x000c, 6, 6, 0, 1 },
3910 .iddig_output = { 0x0010, 0, 0, 0, 1 },
3911 .iddig_en = { 0x0010, 1, 1, 0, 1 },
3912 .idfall_det_en = { 0x0080, 4, 4, 0, 1 },
3913 .idfall_det_st = { 0x0084, 4, 4, 0, 1 },
3914 .idfall_det_clr = { 0x0088, 4, 4, 0, 1 },
3915 .idrise_det_en = { 0x0080, 3, 3, 0, 1 },
3916 .idrise_det_st = { 0x0084, 3, 3, 0, 1 },
3917 .idrise_det_clr = { 0x0088, 3, 3, 0, 1 },
3918 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
3919 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
3920 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
3921 .disfall_en = { 0x0080, 6, 6, 0, 1 },
3922 .disfall_st = { 0x0084, 6, 6, 0, 1 },
3923 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
3924 .disrise_en = { 0x0080, 5, 5, 0, 1 },
3925 .disrise_st = { 0x0084, 5, 5, 0, 1 },
3926 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
3927 .utmi_avalid = { 0x00c0, 7, 7, 0, 1 },
3928 .utmi_bvalid = { 0x00c0, 6, 6, 0, 1 },
3929 .utmi_iddig = { 0x00c0, 5, 5, 0, 1 },
3930 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
3934 .chg_mode = { 0x0008, 2, 2, 0, 1 },
3935 .cp_det = { 0x00c0, 0, 0, 0, 1 },
3936 .dcp_det = { 0x00c0, 0, 0, 0, 1 },
3937 .dp_det = { 0x00c0, 1, 1, 1, 0 },
3938 .idm_sink_en = { 0x0008, 5, 5, 1, 0 },
3939 .idp_sink_en = { 0x0008, 5, 5, 0, 1 },
3940 .idp_src_en = { 0x0008, 14, 14, 0, 1 },
3941 .rdm_pdwn_en = { 0x0008, 14, 14, 0, 1 },
3942 .vdm_src_en = { 0x0008, 7, 6, 0, 3 },
3943 .vdp_src_en = { 0x0008, 7, 6, 0, 3 },
3947 .reg = 0x8000,
3950 .clkout_ctl = { 0x0000, 0, 0, 0, 0 },
3951 .ls_filter_con = { 0x0040, 19, 0, 0x30100, 0x00020 },
3954 .phy_sus = { 0x0008, 2, 2, 0, 1 },
3955 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
3956 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
3957 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
3958 .disfall_en = { 0x0080, 6, 6, 0, 1 },
3959 .disfall_st = { 0x0084, 6, 6, 0, 1 },
3960 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
3961 .disrise_en = { 0x0080, 5, 5, 0, 1 },
3962 .disrise_st = { 0x0084, 5, 5, 0, 1 },
3963 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
3964 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
3969 .reg = 0xc000,
3972 .clkout_ctl = { 0x0000, 0, 0, 0, 0 },
3973 .ls_filter_con = { 0x0040, 19, 0, 0x30100, 0x00020 },
3976 .phy_sus = { 0x0008, 2, 2, 0, 1 },
3977 .ls_det_en = { 0x0080, 0, 0, 0, 1 },
3978 .ls_det_st = { 0x0084, 0, 0, 0, 1 },
3979 .ls_det_clr = { 0x0088, 0, 0, 0, 1 },
3980 .disfall_en = { 0x0080, 6, 6, 0, 1 },
3981 .disfall_st = { 0x0084, 6, 6, 0, 1 },
3982 .disfall_clr = { 0x0088, 6, 6, 0, 1 },
3983 .disrise_en = { 0x0080, 5, 5, 0, 1 },
3984 .disrise_st = { 0x0084, 5, 5, 0, 1 },
3985 .disrise_clr = { 0x0088, 5, 5, 0, 1 },
3986 .utmi_ls = { 0x00c0, 10, 9, 0, 1 },
3995 .reg = 0xff3e0000,
3998 .clkout_ctl = { 0x0058, 4, 4, 1, 0 },
4001 .phy_sus = { 0x0050, 8, 0, 0, 0x1d1 },
4002 .bvalid_det_en = { 0x0100, 2, 2, 0, 1 },
4003 .bvalid_det_st = { 0x0104, 2, 2, 0, 1 },
4004 .bvalid_det_clr = { 0x0108, 2, 2, 0, 1 },
4005 .bvalid_grf_sel = { 0x0058, 15, 14, 0, 3 },
4006 .iddig_output = { 0x0050, 10, 10, 0, 1 },
4007 .iddig_en = { 0x0050, 9, 9, 0, 1 },
4008 .idfall_det_en = { 0x0100, 5, 5, 0, 1 },
4009 .idfall_det_st = { 0x0104, 5, 5, 0, 1 },
4010 .idfall_det_clr = { 0x0108, 5, 5, 0, 1 },
4011 .idrise_det_en = { 0x0100, 4, 4, 0, 1 },
4012 .idrise_det_st = { 0x0104, 4, 4, 0, 1 },
4013 .idrise_det_clr = { 0x0108, 4, 4, 0, 1 },
4014 .ls_det_en = { 0x0100, 0, 0, 0, 1 },
4015 .ls_det_st = { 0x0104, 0, 0, 0, 1 },
4016 .ls_det_clr = { 0x0108, 0, 0, 0, 1 },
4017 .utmi_avalid = { 0x0060, 10, 10, 0, 1 },
4018 .utmi_bvalid = { 0x0060, 9, 9, 0, 1 },
4019 .utmi_iddig = { 0x0060, 6, 6, 0, 1 },
4020 .utmi_ls = { 0x0060, 5, 4, 0, 1 },
4024 .chg_mode = { 0x0050, 8, 0, 0, 0x1d7 },
4025 .cp_det = { 0x0060, 13, 13, 0, 1 },
4026 .dcp_det = { 0x0060, 12, 12, 0, 1 },
4027 .dp_det = { 0x0060, 14, 14, 0, 1 },
4028 .idm_sink_en = { 0x0058, 8, 8, 0, 1 },
4029 .idp_sink_en = { 0x0058, 7, 7, 0, 1 },
4030 .idp_src_en = { 0x0058, 9, 9, 0, 1 },
4031 .rdm_pdwn_en = { 0x0058, 10, 10, 0, 1 },
4032 .vdm_src_en = { 0x0058, 12, 12, 0, 1 },
4033 .vdp_src_en = { 0x0058, 11, 11, 0, 1 },
4041 .reg = 0x100,
4043 .clkout_ctl = { 0x108, 4, 4, 1, 0 },
4046 .phy_sus = { 0x0100, 15, 0, 0, 0x1d1 },
4047 .bvalid_det_en = { 0x0680, 3, 3, 0, 1 },
4048 .bvalid_det_st = { 0x0690, 3, 3, 0, 1 },
4049 .bvalid_det_clr = { 0x06a0, 3, 3, 0, 1 },
4050 .ls_det_en = { 0x0680, 2, 2, 0, 1 },
4051 .ls_det_st = { 0x0690, 2, 2, 0, 1 },
4052 .ls_det_clr = { 0x06a0, 2, 2, 0, 1 },
4053 .utmi_bvalid = { 0x0804, 10, 10, 0, 1 },
4054 .utmi_ls = { 0x0804, 13, 12, 0, 1 },
4057 .phy_sus = { 0x0104, 15, 0, 0, 0x1d1 },
4058 .ls_det_en = { 0x0680, 4, 4, 0, 1 },
4059 .ls_det_st = { 0x0690, 4, 4, 0, 1 },
4060 .ls_det_clr = { 0x06a0, 4, 4, 0, 1 },
4061 .utmi_ls = { 0x0804, 9, 8, 0, 1 },
4062 .utmi_hstdet = { 0x0804, 7, 7, 0, 1 }
4066 .chg_mode = { 0x0100, 8, 0, 0, 0x1d7 },
4067 .cp_det = { 0x0804, 1, 1, 0, 1 },
4068 .dcp_det = { 0x0804, 0, 0, 0, 1 },
4069 .dp_det = { 0x0804, 2, 2, 0, 1 },
4070 .idm_sink_en = { 0x0108, 8, 8, 0, 1 },
4071 .idp_sink_en = { 0x0108, 7, 7, 0, 1 },
4072 .idp_src_en = { 0x0108, 9, 9, 0, 1 },
4073 .rdm_pdwn_en = { 0x0108, 10, 10, 0, 1 },
4074 .vdm_src_en = { 0x0108, 12, 12, 0, 1 },
4075 .vdp_src_en = { 0x0108, 11, 11, 0, 1 },
4142 MODULE_DESCRIPTION("Rockchip USB2.0 PHY driver");