On Thu, May 21, 2026 at 04:08:26PM +0800, Damon Ding wrote: > RK3588 eDP controller requires HCLK_VO1 to access the VO1 GRF > registers and enable the video datapath. > > Previously, the clock was enabled implicitly via the 'rockchip,vo-grf' > phandle reference, which allowed the eDP to work without explicitly > managing the hclk_vo1 clock. However, this is not safe or explicit. > > To make the clock dependency explicit, enforce per-SoC clock-names > requirements: > - RK3288: 2 clocks (dp, pclk) > - RK3399: 3 clocks (dp, pclk, grf) > - RK3588: 3 clocks (dp, pclk, hclk) > > Do not reuse the 'grf' clock name for RK3588 because it represents > a different clock with distinct control logic: > - The 'grf' clock is only for GRF register access and is toggled > dynamically during register access. > - The 'hclk' clock controls both GRF access and video datapath > gating, and must remain enabled during probe. > > Fixes: f855146263b1 ("dt-bindings: display: rockchip: analogix-dp: Add support for RK3588") > Signed-off-by: Damon Ding > > --- > > Changes in v4: > - Modify the commit msg. > > Changes in v5: > - Enforce the correct third clock name on a per-compatible basis. > - Modify the commit msg simultaneously. > > Changes in v6: > - Expand more detail commit msg about using hclk instead of grf clock. > --- > .../rockchip/rockchip,analogix-dp.yaml | 37 +++++++++++++++++-- > 1 file changed, 33 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml > index d99b23b88cc5..8001c1facf98 100644 > --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml > +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml > @@ -23,10 +23,7 @@ properties: > > clock-names: > minItems: 2 > - items: > - - const: dp > - - const: pclk > - - const: grf Instead of removing this, you can make it items: - const: dp - const pclk - enum: - grf - hclk > + maxItems: 3 And delete this. > > power-domains: > maxItems: 1 > @@ -60,6 +57,33 @@ required: > allOf: > - $ref: /schemas/display/bridge/analogix,dp.yaml# > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - rockchip,rk3288-dp > + then: > + properties: > + clock-names: > + items: > + - const: dp > + - const: pclk Then this becomes clock-names: maxItems: 2 clocks: maxItems: 2 > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - rockchip,rk3399-edp > + then: > + properties: > + clock-names: > + items: > + - const: dp > + - const: pclk > + - const: grf maybe this needs a minItems: 3? Depends on if the grf clock is mandatory. Also probably needs a clocks: minItems: 3 if that's the case. > + > - if: > properties: > compatible: > @@ -68,6 +92,11 @@ allOf: > - rockchip,rk3588-edp > then: > properties: > + clock-names: > + items: > + - const: dp > + - const: pclk > + - const: hclk And the same here as for the 3399. Cheers, Conor. > resets: > minItems: 2 > reset-names: > -- > 2.34.1 > >