Message ID | 20241014020342.15974-2-frawang.cn@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/2] dt-bindings: phy: rockchip-usbdp: add rk3576 | expand |
Hello Frank, On 2024-10-14 04:03, Frank Wang wrote: > From: Frank Wang <frank.wang@rock-chips.com> > > This adds RK3576 device match data support. > > Signed-off-by: Frank Wang <frank.wang@rock-chips.com> Looking good to me, thanks for the patch. My focus was on making sure there are no possible regressions. Acked-by: Dragan Simic <dsimic@manjaro.org> > --- > drivers/phy/rockchip/phy-rockchip-usbdp.c | 41 +++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c > b/drivers/phy/rockchip/phy-rockchip-usbdp.c > index 2c51e5c62d3e..5b1e8a3806ed 100644 > --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c > +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c > @@ -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
Am Montag, 14. Oktober 2024, 04:03:42 CEST schrieb Frank Wang: > From: Frank Wang <frank.wang@rock-chips.com> > > This adds RK3576 device match data support. > > Signed-off-by: Frank Wang <frank.wang@rock-chips.com> Nice, that the rk3576 support fits in so easily :-) Reviewed-by: Heiko Stuebner <heiko@sntech.de> > --- > drivers/phy/rockchip/phy-rockchip-usbdp.c | 41 +++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > > diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c b/drivers/phy/rockchip/phy-rockchip-usbdp.c > index 2c51e5c62d3e..5b1e8a3806ed 100644 > --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c > +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c > @@ -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 >
diff --git a/drivers/phy/rockchip/phy-rockchip-usbdp.c b/drivers/phy/rockchip/phy-rockchip-usbdp.c index 2c51e5c62d3e..5b1e8a3806ed 100644 --- a/drivers/phy/rockchip/phy-rockchip-usbdp.c +++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c @@ -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