Re: [PATCH v6 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588
From: Conor Dooley <conor@kernel.org>
Date: 2026-05-21 19:54:23
Also in:
dri-devel, linux-devicetree, linux-rockchip, lkml
On Thu, May 21, 2026 at 04:08:26PM +0800, Damon Ding wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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.
quoted hunk ↗ jump to hunk
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.
quoted hunk ↗ jump to hunk
+ - 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
Attachments
- signature.asc [application/pgp-signature] 228 bytes