On Tuesday, 10 March 2026 11:53:07 Central European Standard Time Damon Ding wrote: > RK3576 integrates the Analogix eDP 1.3 TX controller IP and the HDMI/eDP > TX Combo PHY based on a Samsung IP block - both of which are the same as > those on RK3588. > > The patch currently adds only the basic support, specifically RGB output > up to 4K@60Hz, without the tests for audio, PSR and other eDP 1.3 specific > features. > > In additon, the newly added clock 'hclk' is the video datapath clock, > which must be enabled during probing for RK3576 eDP controller. > > Signed-off-by: Damon Ding <[email protected]> > --- > drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > index 832e9766bef0..4f8511636cdf 100644 > --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > @@ -71,6 +71,7 @@ struct rockchip_dp_device { > > struct clk *pclk; > struct clk *grfclk; > + struct clk *hclk; > struct regmap *grf; > struct reset_control *rst; > struct reset_control *apbrst; > @@ -327,6 +328,11 @@ static int rockchip_dp_of_probe(struct > rockchip_dp_device *dp) > return dev_err_probe(dev, PTR_ERR(dp->pclk), > "failed to get pclk property\n"); > > + dp->hclk = devm_clk_get_optional_enabled(dev, "hclk"); > + if (IS_ERR(dp->hclk)) > + return dev_err_probe(dev, PTR_ERR(dp->hclk), > + "failed to get hclk property\n"); > + > dp->rst = devm_reset_control_get(dev, "dp"); > if (IS_ERR(dp->rst)) > return dev_err_probe(dev, PTR_ERR(dp->rst), > @@ -514,6 +520,14 @@ static const struct rockchip_dp_chip_data rk3288_dp[] = { > { /* sentinel */ } > }; > > +static const struct rockchip_dp_chip_data rk3576_edp[] = { > + { > + .chip_type = RK3576_EDP, > + .reg = 0x27dc0000, > + }, > + { /* sentinel */ } > +}; > + > static const struct rockchip_dp_chip_data rk3588_edp[] = { > { > .edp_mode = GRF_REG_FIELD(0x0000, 0, 0), > @@ -531,6 +545,7 @@ static const struct rockchip_dp_chip_data rk3588_edp[] = { > static const struct of_device_id rockchip_dp_dt_ids[] = { > {.compatible = "rockchip,rk3288-dp", .data = &rk3288_dp }, > {.compatible = "rockchip,rk3399-edp", .data = &rk3399_edp }, > + {.compatible = "rockchip,rk3576-edp", .data = &rk3576_edp }, > {.compatible = "rockchip,rk3588-edp", .data = &rk3588_edp }, > {} > }; >
Reviewed-by: Nicolas Frattaroli <[email protected]> Kind regards, Nicolas Frattaroli
