diff mbox series

[2/2] phy: rockchip: usbdp: add rk3576 device match data

Message ID 20241014020342.15974-2-frawang.cn@gmail.com (mailing list archive)
State New, archived
Headers show
Series [1/2] dt-bindings: phy: rockchip-usbdp: add rk3576 | expand

Commit Message

Frank Wang Oct. 14, 2024, 2:03 a.m. UTC
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>
---
 drivers/phy/rockchip/phy-rockchip-usbdp.c | 41 +++++++++++++++++++++++
 1 file changed, 41 insertions(+)

Comments

Dragan Simic Oct. 14, 2024, 3:55 a.m. UTC | #1
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
Heiko Stuebner Oct. 14, 2024, 6:50 a.m. UTC | #2
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 mbox series

Patch

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