phy: rockchip: usbdp: add rk3576 device match data
authorFrank Wang <frank.wang@rock-chips.com>
Mon, 14 Oct 2024 02:03:42 +0000 (10:03 +0800)
committerVinod Koul <vkoul@kernel.org>
Thu, 17 Oct 2024 14:41:05 +0000 (20:11 +0530)
This adds RK3576 device match data support.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Acked-by: Dragan Simic <dsimic@manjaro.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20241014020342.15974-2-frawang.cn@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/rockchip/phy-rockchip-usbdp.c

index 2c51e5c..5b1e8a3 100644 (file)
@@ -1538,6 +1538,43 @@ static const char * const rk_udphy_rst_list[] = {
        "init", "cmn", "lane", "pcs_apb", "pma_apb"
 };
 
+static const struct rk_udphy_cfg rk3576_udphy_cfgs = {
+       .num_phys = 1,
+       .phy_ids = { 0x2b010000 },
+       .num_rsts = ARRAY_SIZE(rk_udphy_rst_list),
+       .rst_list = rk_udphy_rst_list,
+       .grfcfg = {
+               /* u2phy-grf */
+               .bvalid_phy_con         = RK_UDPHY_GEN_GRF_REG(0x0010, 1, 0, 0x2, 0x3),
+               .bvalid_grf_con         = RK_UDPHY_GEN_GRF_REG(0x0000, 15, 14, 0x1, 0x3),
+
+               /* usb-grf */
+               .usb3otg0_cfg           = RK_UDPHY_GEN_GRF_REG(0x0030, 15, 0, 0x1100, 0x0188),
+
+               /* usbdpphy-grf */
+               .low_pwrn               = RK_UDPHY_GEN_GRF_REG(0x0004, 13, 13, 0, 1),
+               .rx_lfps                = RK_UDPHY_GEN_GRF_REG(0x0004, 14, 14, 0, 1),
+       },
+       .vogrfcfg = {
+               {
+                       .hpd_trigger    = RK_UDPHY_GEN_GRF_REG(0x0000, 11, 10, 1, 3),
+                       .dp_lane_reg    = 0x0000,
+               },
+       },
+       .dp_tx_ctrl_cfg = {
+               rk3588_dp_tx_drv_ctrl_rbr_hbr_typec,
+               rk3588_dp_tx_drv_ctrl_rbr_hbr_typec,
+               rk3588_dp_tx_drv_ctrl_hbr2,
+               rk3588_dp_tx_drv_ctrl_hbr3,
+       },
+       .dp_tx_ctrl_cfg_typec = {
+               rk3588_dp_tx_drv_ctrl_rbr_hbr_typec,
+               rk3588_dp_tx_drv_ctrl_rbr_hbr_typec,
+               rk3588_dp_tx_drv_ctrl_hbr2,
+               rk3588_dp_tx_drv_ctrl_hbr3,
+       },
+};
+
 static const struct rk_udphy_cfg rk3588_udphy_cfgs = {
        .num_phys = 2,
        .phy_ids = {
@@ -1584,6 +1621,10 @@ static const struct rk_udphy_cfg rk3588_udphy_cfgs = {
 };
 
 static const struct of_device_id rk_udphy_dt_match[] = {
+       {
+               .compatible = "rockchip,rk3576-usbdp-phy",
+               .data = &rk3576_udphy_cfgs
+       },
        {
                .compatible = "rockchip,rk3588-usbdp-phy",
                .data = &rk3588_udphy_cfgs