* Claude review: Add eDP support for RK3576
2026-03-10 10:53 [PATCH v1 0/4] " Damon Ding
@ 2026-03-11 3:27 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-03-11 3:27 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 6
Reviewed: 2026-03-11T13:27:10.390206
---
This is a small, straightforward 4-patch series adding eDP support for the RK3576 SoC, leveraging the existing Analogix DP infrastructure already used by RK3288/RK3399/RK3588. The cover letter states it was tested on RK3576 EVB1 hardware. The series is generally well-structured and follows existing patterns, but there are a few issues in the DT binding patch and a concern about the hclk lifecycle management.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-03-19 10:40 [PATCH v2 0/9] " Damon Ding
@ 2026-03-21 18:26 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-03-21 18:26 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 12
Reviewed: 2026-03-22T04:26:14.323016
---
This is a well-structured 9-patch series adding eDP support for the Rockchip RK3576 SoC to the analogix DP bridge driver. The series is logically organized: patches 1-4 fix a missing "hclk" clock for existing RK3588 support (with Fixes tags), patch 5-6 add dt-bindings and DTS for RK3576, and patches 7-9 add the driver-side RK3576 support.
The changes are straightforward and follow existing patterns. The series has a few minor issues worth addressing, mostly around the dt-bindings and a questionable `devm_clk_get_optional_enabled` usage.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-05-13 7:44 [PATCH v5 00/10] " Damon Ding
@ 2026-05-16 2:26 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 2:26 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 13
Reviewed: 2026-05-16T12:26:16.190442
---
This is a well-structured 10-patch series adding eDP support for the Rockchip RK3576 SoC, building on the existing RK3588 eDP infrastructure. The series is cleanly organized into three logical groups: (1) fixing the missing `hclk` bus clock for RK3588 eDP (patches 1-5), (2) adding the RK3576 eDP DT node (patches 6-7), and (3) adding driver support for RK3576 (patches 8-10).
The changes are minimal and follow existing patterns well. The DT binding updates correctly use per-compatible `if/then` blocks to enforce clock names. The driver reuses the RK3588 configuration for RK3576, which is stated to share the same hardware design. Most patches already carry Reviewed-by or Acked-by tags.
No significant issues found. A couple of minor observations below.
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-05-12 9:56 [PATCH v4 00/10] " Damon Ding
@ 2026-05-16 3:47 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-16 3:47 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 15
Reviewed: 2026-05-16T13:47:58.040579
---
This is a well-structured v4 series adding eDP support for the Rockchip RK3576 SoC. The series is logically organized in three phases: (1) fixing the missing `hclk` clock for existing RK3588 eDP (patches 1-5), (2) adding the RK3576 eDP DT node (patches 6-7), and (3) adding driver support for RK3576 (patches 8-10).
The approach of reusing the RK3588 design is sensible given the hardware is described as fully compatible. The code changes are minimal and mechanical, which is appropriate for adding a new SoC variant to an existing driver. The series has already collected several Reviewed-by tags from Luca Ceresoli and Nicolas Frattaroli.
**Concerns:**
- The RK3576 chip_data is notably sparse compared to RK3588's (no `edp_mode` GRF field), which needs scrutiny.
- The `rockchip,grf` property in the RK3576 DT node points to `vo0_grf` but no `rockchip,vo-grf` is defined (unlike RK3588). This may be intentional but needs clarification.
- Patch ordering could be improved: the Fixes-tagged patches (1-5) should arguably not depend on patches that don't carry Fixes tags.
Overall: **Looks mostly good with minor issues to address.**
---
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v7 00/10] Add eDP support for RK3576
@ 2026-05-25 8:20 Damon Ding
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
` (10 more replies)
0 siblings, 11 replies; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Patch 1-5 are to add missing clock "hclk" for RK3588 eDP nodes.
Patch 6-7 are to add the RK3576 eDP node.
Patch 8-10 are to support the RK3576 Analogix DP controller.
Damon Ding (10):
dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock
for RK3588
dt-bindings: display: rockchip: analogix-dp: Add per-clock
descriptions
arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
drm/rockchip: analogix_dp: Enable hclk for RK3588
dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
arm64: dts: rockchip: Add eDP node for RK3576
drm/bridge: analogix_dp: Rename and simplify is_rockchip()
drm/bridge: analogix_dp: Add support for RK3576
drm/rockchip: analogix_dp: Add support for RK3576
.../rockchip/rockchip,analogix-dp.yaml | 41 ++++++++++++++++++-
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 +++++++++++++
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 +-
.../arm64/boot/dts/rockchip/rk3588-extra.dtsi | 4 +-
.../drm/bridge/analogix/analogix_dp_core.c | 3 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++++----
.../gpu/drm/rockchip/analogix_dp-rockchip.c | 15 +++++++
include/drm/bridge/analogix_dp.h | 13 +++++-
8 files changed, 108 insertions(+), 18 deletions(-)
---
Changes in v2:
- Split out separate patches to add the "hclk" clock reference.
- Split out separate patches to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add a patch to expand descriptions for clocks of the eDP node.
- Add Reviewed-by tag.
Changes in v4:
- Modify commit msg.
Changes in v5:
- Enforce the correct third clock name on a per-compatible basis.
- Modify the commit msg simultaneously.
- Add Acked-by tag.
Changes in v6:
- Expand more detail commit msg about using hclk instead of grf clock.
Changes in v7:
- List all valid clock names at the top level, and constrain the clock
count for each platform with minItems/maxItems in allOf.
--
2.34.1
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 9:42 ` Damon Ding
` (2 more replies)
2026-05-25 8:20 ` [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding
` (9 subsequent siblings)
10 siblings, 3 replies; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
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 <damon.ding@rock-chips.com>
---
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.
Changes in v7:
- List all valid clock names at the top level, and constrain the clock
count for each platform with minItems/maxItems in allOf.
---
.../rockchip/rockchip,analogix-dp.yaml | 34 ++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
index d99b23b88cc5..7fe7655c1f37 100644
--- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
@@ -26,7 +26,9 @@ properties:
items:
- const: dp
- const: pclk
- - const: grf
+ - enum:
+ - grf
+ - hclk
power-domains:
maxItems: 1
@@ -60,6 +62,32 @@ required:
allOf:
- $ref: /schemas/display/bridge/analogix,dp.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - rockchip,rk3288-dp
+ then:
+ properties:
+ clocks:
+ maxItems: 2
+ clock-names:
+ maxItems: 2
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - rockchip,rk3399-edp
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ clock-names:
+ minItems: 3
+
- if:
properties:
compatible:
@@ -68,6 +96,10 @@ allOf:
- rockchip,rk3588-edp
then:
properties:
+ clocks:
+ minItems: 3
+ clock-names:
+ minItems: 3
resets:
minItems: 2
reset-names:
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 11:13 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding
` (8 subsequent siblings)
10 siblings, 2 replies; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding,
Conor Dooley
Supplement dedicated description for each clock in the clocks
property, clarifying the function of each clock input for the
Analogix DP controller binding.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
---
Changes in v4:
- Modify the commit msg.
Changes in v5:
- Add Acked-by tag.
---
.../bindings/display/rockchip/rockchip,analogix-dp.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
index 7fe7655c1f37..6112caff3895 100644
--- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
@@ -19,7 +19,10 @@ properties:
clocks:
minItems: 2
- maxItems: 3
+ items:
+ - description: Reference clock
+ - description: APB bus clock
+ - description: GRF or AHB bus clock
clock-names:
minItems: 2
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
2026-05-25 8:20 ` [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding
` (7 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Add the required HCLK_VO1 bus clock to RK3588 eDP0 node with
corresponding clock-name "hclk". This clock is necessary for the
eDP controller to access video output GRF and work properly.
Previously the clock was enabled implicitly via GRF phandle
reference. Add it explicitly now to align with updated binding.
Fixes: dc79d3d5e7c7 ("arm64: dts: rockchip: Add eDP0 node for RK3588")
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
---
Changes in v4:
- Modify the commit msg.
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index 4fb8888c281c..24a5ccbac08c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1712,8 +1712,8 @@ hdmi0_out: port@1 {
edp0: edp@fdec0000 {
compatible = "rockchip,rk3588-edp";
reg = <0x0 0xfdec0000 0x0 0x1000>;
- clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>;
- clock-names = "dp", "pclk";
+ clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO1>;
+ clock-names = "dp", "pclk", "hclk";
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH 0>;
phys = <&hdptxphy0>;
phy-names = "dp";
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (2 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding
` (6 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Add the required HCLK_VO1 bus clock to RK3588 eDP1 node with
corresponding clock-name "hclk". This clock is necessary for
the eDP controller to access video output GRF and work properly.
Previously the clock was enabled implicitly via GRF phandle
reference. Add it explicitly now to align with updated binding.
Fixes: a481bb0b1ad9 ("arm64: dts: rockchip: Add eDP1 dt node for rk3588")
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
---
Changes in v4:
- Modify the commit msg.
---
| 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--git a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
index a2640014ee04..b251bb129cdb 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
@@ -285,8 +285,8 @@ hdmi1_out: port@1 {
edp1: edp@fded0000 {
compatible = "rockchip,rk3588-edp";
reg = <0x0 0xfded0000 0x0 0x1000>;
- clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>;
- clock-names = "dp", "pclk";
+ clocks = <&cru CLK_EDP1_24M>, <&cru PCLK_EDP1>, <&cru HCLK_VO1>;
+ clock-names = "dp", "pclk", "hclk";
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH 0>;
phys = <&hdptxphy1>;
phy-names = "dp";
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (3 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding
` (5 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Acquire and enable the HCLK_VO1 bus clock explicitly for RK3588
eDP controller to guarantee register and datapath access.
The clock was previously enabled implicitly via rockchip,vo-grf
phandle reference, which relies on side effect and is fragile.
Fetch optional "hclk" clock in driver to align with updated device
tree binding and keep consistent with hardware clock dependency.
Fixes: 729f8eefdcad ("drm/rockchip: analogix_dp: Add support for RK3588")
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
---
Changes in v4:
- Modify the commit msg.
---
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
index 06072efd7fca..d2af5eb29dbb 100644
--- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
+++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
@@ -311,6 +311,7 @@ static int rockchip_dp_of_probe(struct rockchip_dp_device *dp)
{
struct device *dev = dp->dev;
struct device_node *np = dev->of_node;
+ struct clk *clk;
dp->grf = syscon_regmap_lookup_by_phandle(np, "rockchip,grf");
if (IS_ERR(dp->grf))
@@ -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");
+ clk = devm_clk_get_optional_enabled(dev, "hclk");
+ if (IS_ERR(clk))
+ return dev_err_probe(dev, PTR_ERR(clk),
+ "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),
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (4 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 11:13 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding
` (4 subsequent siblings)
10 siblings, 2 replies; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding,
Conor Dooley
RK3576 integrates an eDP TX controller compatible with the existing
RK3588 hardware design, reuse the same binding configuration directly.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
---
Changes in v2:
- Split out a separate patch to add the "hclk" clock reference.
Chanegs in v4:
- Modify the commit msg.
Changes in v5:
- Add Acked-by tag.
---
.../bindings/display/rockchip/rockchip,analogix-dp.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
index 6112caff3895..b4ec101b77a3 100644
--- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
@@ -15,6 +15,7 @@ properties:
enum:
- rockchip,rk3288-dp
- rockchip,rk3399-edp
+ - rockchip,rk3576-edp
- rockchip,rk3588-edp
clocks:
@@ -96,6 +97,7 @@ allOf:
compatible:
contains:
enum:
+ - rockchip,rk3576-edp
- rockchip,rk3588-edp
then:
properties:
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 07/10] arm64: dts: rockchip: Add eDP node for RK3576
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (5 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
` (3 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Add full device tree definition for the integrated eDP controller
on RK3576, following the existing RK3588 hardware layout.
Configure required register range, clocks, interrupt, phy, power
domain, reset and grf properties to fully describe the controller.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
---
Changes in v2:
- Add Reviewed-by tag.
Changes in v4:
- Modify the commit msg.
---
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 28 ++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
index 28175d8200d5..733449cb88b1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
@@ -1496,6 +1496,34 @@ hdmi_out: port@1 {
};
};
+ edp: edp@27dc0000 {
+ compatible = "rockchip,rk3576-edp";
+ reg = <0x0 0x27dc0000 0x0 0x1000>;
+ clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO0_ROOT>;
+ clock-names = "dp", "pclk", "hclk";
+ interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&hdptxphy>;
+ phy-names = "dp";
+ power-domains = <&power RK3576_PD_VO0>;
+ resets = <&cru SRST_EDP0_24M>, <&cru SRST_P_EDP0>;
+ reset-names = "dp", "apb";
+ rockchip,grf = <&vo0_grf>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ edp_in: port@0 {
+ reg = <0>;
+ };
+
+ edp_out: port@1 {
+ reg = <1>;
+ };
+ };
+ };
+
dp: dp@27e40000 {
compatible = "rockchip,rk3576-dp";
reg = <0x0 0x27e40000 0x0 0x30000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip()
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (6 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding
` (2 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Rename inline helper is_rockchip() to analogix_dp_is_rockchip()
to follow driver namespace convention consistently across code.
Replace chained equality comparisons with switch-case layout
to improve readability and simplify adding new SoC entries later.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Suggested-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changes in v3:
- Add Reviewed-by tag.
Changes in v4:
- Modify the commit msg.
---
.../gpu/drm/bridge/analogix/analogix_dp_core.c | 2 +-
.../gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 +++++++++---------
include/drm/bridge/analogix_dp.h | 11 +++++++++--
3 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 573900c2cefc..c2fd5b978fc0 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -870,7 +870,7 @@ static int analogix_dp_bridge_atomic_check(struct drm_bridge *bridge,
struct drm_display_info *di = &conn_state->connector->display_info;
u32 mask = BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR444) | BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR422);
- if (is_rockchip(dp->plat_data->dev_type)) {
+ if (analogix_dp_is_rockchip(dp->plat_data->dev_type)) {
if ((di->color_formats & mask)) {
DRM_DEBUG_KMS("Swapping display color format from YUV to RGB\n");
di->color_formats &= ~mask;
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
index f84c1d48d671..ea8401293a23 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
@@ -72,7 +72,7 @@ void analogix_dp_init_analog_param(struct analogix_dp_device *dp)
reg = SEL_24M | TX_DVDD_BIT_1_0625V;
writel(reg, dp->reg_base + ANALOGIX_DP_ANALOG_CTL_2);
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) {
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) {
reg = REF_CLK_24M;
if (dp->plat_data->dev_type == RK3288_DP)
reg ^= REF_CLK_MASK;
@@ -123,7 +123,7 @@ void analogix_dp_reset(struct analogix_dp_device *dp)
analogix_dp_stop_video(dp);
analogix_dp_enable_video_mute(dp, 0);
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type))
reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N |
SW_FUNC_EN_N;
else
@@ -233,7 +233,7 @@ void analogix_dp_set_pll_power_down(struct analogix_dp_device *dp, bool enable)
u32 mask = DP_PLL_PD;
u32 pd_addr = ANALOGIX_DP_PLL_CTL;
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) {
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) {
pd_addr = ANALOGIX_DP_PD;
mask = RK_PLL_PD;
}
@@ -254,12 +254,12 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp,
u32 phy_pd_addr = ANALOGIX_DP_PHY_PD;
u32 mask;
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type))
phy_pd_addr = ANALOGIX_DP_PD;
switch (block) {
case AUX_BLOCK:
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type))
mask = RK_AUX_PD;
else
mask = AUX_PD;
@@ -317,7 +317,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp,
* to power off everything instead of DP_PHY_PD in
* Rockchip
*/
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type))
mask = DP_INC_BG;
else
mask = DP_PHY_PD;
@@ -329,7 +329,7 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp,
reg &= ~mask;
writel(reg, dp->reg_base + phy_pd_addr);
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type))
usleep_range(10, 15);
break;
case POWER_ALL:
@@ -465,7 +465,7 @@ void analogix_dp_init_aux(struct analogix_dp_device *dp)
analogix_dp_reset_aux(dp);
/* AUX_BIT_PERIOD_EXPECTED_DELAY doesn't apply to Rockchip IP */
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type))
reg = 0;
else
reg = AUX_BIT_PERIOD_EXPECTED_DELAY(3);
@@ -837,7 +837,7 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp)
u32 reg;
reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1);
- if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) {
+ if (dp->plat_data && analogix_dp_is_rockchip(dp->plat_data->dev_type)) {
reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N);
} else {
reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N);
diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h
index 854af692229b..7b670dd769e9 100644
--- a/include/drm/bridge/analogix_dp.h
+++ b/include/drm/bridge/analogix_dp.h
@@ -19,9 +19,16 @@ enum analogix_dp_devtype {
RK3588_EDP,
};
-static inline bool is_rockchip(enum analogix_dp_devtype type)
+static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type)
{
- return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP;
+ switch (type) {
+ case RK3288_DP:
+ case RK3399_EDP:
+ case RK3588_EDP:
+ return true;
+ default:
+ return false;
+ }
}
struct analogix_dp_plat_data {
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 09/10] drm/bridge: analogix_dp: Add support for RK3576
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (7 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 10/10] drm/rockchip: " Damon Ding
2026-05-25 21:34 ` Claude review: Add eDP " Claude Code Review Bot
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
Add RK3576_EDP device type entry and extend Rockchip check
to match existing hardware capabilities shared with RK3588.
Set identical maximum link rate and lane count parameters
for RK3576 eDP controller to reuse existing RK3588 config.
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
---
Changes in v3:
- Add Reviewed-by tag.
Changes in v4:
- Modify the commit msg.
---
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 1 +
include/drm/bridge/analogix_dp.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index c2fd5b978fc0..5dc07ff84cd3 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1249,6 +1249,7 @@ static int analogix_dp_dt_parse_pdata(struct analogix_dp_device *dp)
video_info->max_link_rate = 0x0A;
video_info->max_lane_count = 0x04;
break;
+ case RK3576_EDP:
case RK3588_EDP:
video_info->max_link_rate = 0x14;
video_info->max_lane_count = 0x04;
diff --git a/include/drm/bridge/analogix_dp.h b/include/drm/bridge/analogix_dp.h
index 7b670dd769e9..0e0b87abee59 100644
--- a/include/drm/bridge/analogix_dp.h
+++ b/include/drm/bridge/analogix_dp.h
@@ -16,6 +16,7 @@ enum analogix_dp_devtype {
EXYNOS_DP,
RK3288_DP,
RK3399_EDP,
+ RK3576_EDP,
RK3588_EDP,
};
@@ -24,6 +25,7 @@ static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type)
switch (type) {
case RK3288_DP:
case RK3399_EDP:
+ case RK3576_EDP:
case RK3588_EDP:
return true;
default:
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v7 10/10] drm/rockchip: analogix_dp: Add support for RK3576
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (8 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding
@ 2026-05-25 8:20 ` Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 21:34 ` Claude review: Add eDP " Claude Code Review Bot
10 siblings, 1 reply; 33+ messages in thread
From: Damon Ding @ 2026-05-25 8:20 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, Damon Ding
RK3576 integrates Analogix eDP 1.3 TX and Samsung combo PHY
hardware blocks that fully match the proven RK3588 design.
Add dedicated chip data table and device tree matching entry
to bring up basic eDP functionality for the RK3576 platform.
Support is limited to RGB output up to 4K@60Hz for now; audio,
PSR and other advanced eDP 1.3 features remain unvalidated.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Reviewed-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changes in v2:
- Split out a separate patch to enable the "hclk" clock.
- Add Reviewed-by tag.
Changes in v3:
- Add Reviewed-by tag.
Changes in v4:
- Modify the commit msg.
---
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
index d2af5eb29dbb..d4c5dd61e95b 100644
--- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
+++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
@@ -522,6 +522,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),
@@ -539,6 +547,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 },
{}
};
--
2.34.1
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
@ 2026-05-25 9:42 ` Damon Ding
2026-05-25 11:43 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Damon Ding @ 2026-05-25 9:42 UTC (permalink / raw)
To: hjc, heiko, andy.yan, maarten.lankhorst, mripard, tzimmermann,
airlied, simona, robh, krzk+dt, conor+dt, andrzej.hajda,
neil.armstrong, rfoss
Cc: Laurent.pinchart, jonas, jernej.skrabec, nicolas.frattaroli,
cristian.ciocaltea, sebastian.reichel, dmitry.baryshkov,
luca.ceresoli, dianders, m.szyprowski, dri-devel, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel
On 5/25/2026 4:20 PM, 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 <damon.ding@rock-chips.com>
>
> ---
>
> 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.
>
> Changes in v7:
> - List all valid clock names at the top level, and constrain the clock
> count for each platform with minItems/maxItems in allOf.
> ---
> .../rockchip/rockchip,analogix-dp.yaml | 34 ++++++++++++++++++-
> 1 file changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
> index d99b23b88cc5..7fe7655c1f37 100644
> --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
> +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml
> @@ -26,7 +26,9 @@ properties:
> items:
> - const: dp
> - const: pclk
> - - const: grf
> + - enum:
> + - grf
> + - hclk
./Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml:34:9:
[warning] wrong indentation: expected 10 but found 8 (indentation)
Will fix in v8.
Best regards,
Damon
>
> power-domains:
> maxItems: 1
> @@ -60,6 +62,32 @@ required:
> allOf:
> - $ref: /schemas/display/bridge/analogix,dp.yaml#
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - rockchip,rk3288-dp
> + then:
> + properties:
> + clocks:
> + maxItems: 2
> + clock-names:
> + maxItems: 2
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - rockchip,rk3399-edp
> + then:
> + properties:
> + clocks:
> + minItems: 3
> + clock-names:
> + minItems: 3
> +
> - if:
> properties:
> compatible:
> @@ -68,6 +96,10 @@ allOf:
> - rockchip,rk3588-edp
> then:
> properties:
> + clocks:
> + minItems: 3
> + clock-names:
> + minItems: 3
> resets:
> minItems: 2
> reset-names:
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-05-21 8:08 [PATCH v6 00/10] " Damon Ding
@ 2026-05-25 10:40 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 10:40 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 15
Reviewed: 2026-05-25T20:40:11.834988
---
This is a well-structured v6 series adding eDP support for the RK3576 SoC. The series is cleanly decomposed into three logical groups: (1) fixing the RK3588 hclk clock dependency (patches 1-5), (2) adding RK3576 DT bindings and nodes (patches 6-7), and (3) adding driver support for RK3576 (patches 8-10). The code reuses the existing RK3588 infrastructure appropriately, and the series has already accumulated several Reviewed-by/Acked-by tags from prior iterations.
The series is in good shape overall. The main technical concern is the missing `edp_mode` GRF field in the RK3576 chip data (patch 10) — while the code is *safe* due to the `valid` flag check in `rockchip_grf_field_write()`, the commit message claims RK3576 "fully matches the proven RK3588 design" yet omits this field that RK3588 uses. This deserves clarification. There are also a few minor tag ordering and commit message nits.
No blocking issues found.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions
2026-05-25 8:20 ` [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding
@ 2026-05-25 11:13 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
1 sibling, 0 replies; 33+ messages in thread
From: Rob Herring (Arm) @ 2026-05-25 11:13 UTC (permalink / raw)
To: Damon Ding
Cc: airlied, tzimmermann, Conor Dooley, rfoss, cristian.ciocaltea,
luca.ceresoli, heiko, dianders, sebastian.reichel, simona,
dmitry.baryshkov, jonas, Laurent.pinchart, neil.armstrong,
maarten.lankhorst, m.szyprowski, linux-rockchip, andrzej.hajda,
mripard, devicetree, dri-devel, conor+dt, linux-arm-kernel,
nicolas.frattaroli, hjc, andy.yan, linux-kernel, jernej.skrabec,
krzk+dt
On Mon, 25 May 2026 16:20:25 +0800, Damon Ding wrote:
> Supplement dedicated description for each clock in the clocks
> property, clarifying the function of each clock input for the
> Analogix DP controller binding.
>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
>
> ---
>
> Changes in v4:
> - Modify the commit msg.
>
> Changes in v5:
> - Add Acked-by tag.
> ---
> .../bindings/display/rockchip/rockchip,analogix-dp.yaml | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
./Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml:33:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
See https://patchwork.kernel.org/project/devicetree/patch/20260525082033.117569-3-damon.ding@rock-chips.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
2026-05-25 8:20 ` [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding
@ 2026-05-25 11:13 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
1 sibling, 0 replies; 33+ messages in thread
From: Rob Herring (Arm) @ 2026-05-25 11:13 UTC (permalink / raw)
To: Damon Ding
Cc: mripard, luca.ceresoli, tzimmermann, linux-arm-kernel,
linux-kernel, krzk+dt, dmitry.baryshkov, conor+dt,
cristian.ciocaltea, Laurent.pinchart, rfoss, sebastian.reichel,
linux-rockchip, dri-devel, andy.yan, andrzej.hajda,
jernej.skrabec, simona, devicetree, nicolas.frattaroli,
m.szyprowski, Conor Dooley, hjc, airlied, maarten.lankhorst,
jonas, dianders, heiko, neil.armstrong
On Mon, 25 May 2026 16:20:29 +0800, Damon Ding wrote:
> RK3576 integrates an eDP TX controller compatible with the existing
> RK3588 hardware design, reuse the same binding configuration directly.
>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
>
> ---
>
> Changes in v2:
> - Split out a separate patch to add the "hclk" clock reference.
>
> Chanegs in v4:
> - Modify the commit msg.
>
> Changes in v5:
> - Add Acked-by tag.
> ---
> .../bindings/display/rockchip/rockchip,analogix-dp.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
./Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml:34:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
See https://patchwork.kernel.org/project/devicetree/patch/20260525082033.117569-7-damon.ding@rock-chips.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
2026-05-25 9:42 ` Damon Ding
@ 2026-05-25 11:43 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Rob Herring (Arm) @ 2026-05-25 11:43 UTC (permalink / raw)
To: Damon Ding
Cc: krzk+dt, m.szyprowski, maarten.lankhorst, cristian.ciocaltea,
linux-arm-kernel, mripard, conor+dt, nicolas.frattaroli,
luca.ceresoli, Laurent.pinchart, neil.armstrong, simona, rfoss,
jonas, dianders, tzimmermann, hjc, andrzej.hajda, devicetree,
sebastian.reichel, dmitry.baryshkov, dri-devel, linux-kernel,
jernej.skrabec, andy.yan, airlied, heiko, linux-rockchip
On Mon, 25 May 2026 16:20:24 +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 <damon.ding@rock-chips.com>
>
> ---
>
> 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.
>
> Changes in v7:
> - List all valid clock names at the top level, and constrain the clock
> count for each platform with minItems/maxItems in allOf.
> ---
> .../rockchip/rockchip,analogix-dp.yaml | 34 ++++++++++++++++++-
> 1 file changed, 33 insertions(+), 1 deletion(-)
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
./Documentation/devicetree/bindings/display/rockchip/rockchip,analogix-dp.yaml:30:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
dtschema/dtc warnings/errors:
doc reference errors (make refcheckdocs):
See https://patchwork.kernel.org/project/devicetree/patch/20260525082033.117569-2-damon.ding@rock-chips.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-05-25 12:53 [PATCH v8 00/10] " Damon Ding
@ 2026-05-25 21:12 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:12 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 12
Reviewed: 2026-05-26T07:12:11.632198
---
This is a well-structured v8 series adding RK3576 eDP support. The first five patches fix an existing issue (missing explicit hclk for RK3588), and the remaining five add RK3576 support by reusing the proven RK3588 design. The patches are correctly ordered (bindings -> DTS -> driver), properly split, and the code is clean. The series has appropriate Reviewed-by/Acked-by tags on most patches. No correctness bugs found.
One minor schema observation and one thing worth noting regarding the RK3576 chip data, detailed below.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
` (9 preceding siblings ...)
2026-05-25 8:20 ` [PATCH v7 10/10] drm/rockchip: " Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
10 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 15
Reviewed: 2026-05-26T07:34:40.173150
---
This is a well-structured v7 series adding eDP support for the RK3576 SoC by Damon Ding. The series is logically decomposed:
- Patches 1-2: Fix/improve the dt-bindings for the existing hclk clock issue on RK3588
- Patches 3-4: Add the missing hclk clock to RK3588 eDP DTS nodes
- Patch 5: Driver-side support for the new hclk clock
- Patches 6-7: DT bindings and DTS for RK3576 eDP
- Patch 8: Code cleanup (rename `is_rockchip()`)
- Patches 9-10: Bridge and platform driver support for RK3576
The series is clean, minimal, and well-reviewed (multiple Reviewed-by/Acked-by tags). The approach of fixing the RK3588 clock handling first (patches 1-5) before adding RK3576 support is the right ordering. I have a few observations but no blocking issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
2026-05-25 9:42 ` Damon Ding
2026-05-25 11:43 ` Rob Herring (Arm)
@ 2026-05-25 21:34 ` Claude Code Review Bot
2 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Good approach. The binding change allows `hclk` as an alternative third clock name alongside `grf`, and then uses per-compatible `allOf` conditionals to constrain clock counts:
```yaml
- enum:
- grf
- hclk
```
The per-compatible constraints look correct:
- RK3288: maxItems 2 (no third clock)
- RK3399: minItems 3 (requires `grf`)
- RK3588: minItems 3 (requires `hclk`)
**Minor observation:** The binding doesn't enforce *which* third clock name each SoC must use -- both `grf` and `hclk` are valid for all 3-clock SoCs. The RK3399 `allOf` block requires 3 clocks but doesn't constrain the third clock-name to `grf` specifically, and similarly RK3588 doesn't constrain it to `hclk`. This works because in practice DTS authors follow the convention, and the top-level enum restricts it to only these two valid names. Acceptable as-is, but a DTS could technically declare RK3399 with `hclk` and pass validation.
The Fixes tag is appropriate since this corrects the clock representation for RK3588.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions
2026-05-25 8:20 ` [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding
2026-05-25 11:13 ` Rob Herring (Arm)
@ 2026-05-25 21:34 ` Claude Code Review Bot
1 sibling, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Straightforward addition of per-clock `items` descriptions replacing `maxItems: 3`:
```yaml
items:
- description: Reference clock
- description: APB bus clock
- description: GRF or AHB bus clock
```
Clean and informative. No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: rockchip: Add missing hclk for RK3588 eDP0
2026-05-25 8:20 ` [PATCH v7 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Adds `HCLK_VO1` as the third clock to the eDP0 node:
```dts
- clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>;
- clock-names = "dp", "pclk";
+ clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO1>;
+ clock-names = "dp", "pclk", "hclk";
```
Correct. The Fixes tag references the original commit that added eDP0.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: rockchip: Add missing hclk for RK3588 eDP1
2026-05-25 8:20 ` [PATCH v7 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Same change as patch 3 but for the eDP1 node in `rk3588-extra.dtsi`. Both eDP instances share `HCLK_VO1`. No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: drm/rockchip: analogix_dp: Enable hclk for RK3588
2026-05-25 8:20 ` [PATCH v7 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Acquires the hclk using `devm_clk_get_optional_enabled()`:
```c
+ clk = devm_clk_get_optional_enabled(dev, "hclk");
+ if (IS_ERR(clk))
+ return dev_err_probe(dev, PTR_ERR(clk),
+ "failed to get hclk property\n");
```
Good use of `devm_clk_get_optional_enabled()` -- it handles both the "not present" case (for RK3288/RK3399) and the error case cleanly. The clock is managed by devres so it stays enabled for the device lifetime, which matches the commit message's statement that hclk "must remain enabled during probe." The local `clk` variable is unused after the call, which is fine since devm handles the lifecycle.
One thing to note: this means hclk is always-on once probed. The existing `pclk` is toggled in `rockchip_dp_poweron`/`rockchip_dp_powerdown`, but hclk is not. Per the commit message this is intentional ("must remain enabled during probe") and the hardware requires it to stay on for datapath gating. This seems correct.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: dt-bindings: display: rockchip: analogix-dp: Add support for RK3576
2026-05-25 8:20 ` [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding
2026-05-25 11:13 ` Rob Herring (Arm)
@ 2026-05-25 21:34 ` Claude Code Review Bot
1 sibling, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Adds `rockchip,rk3576-edp` to the compatible enum and to the same `allOf` block as RK3588 for clock and reset constraints:
```yaml
+ - rockchip,rk3576-edp
```
```yaml
+ - rockchip,rk3576-edp
- rockchip,rk3588-edp
```
This shares the RK3588 constraints (3 clocks, 2 resets) for RK3576, which is consistent with the DTS in patch 7. No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: arm64: dts: rockchip: Add eDP node for RK3576
2026-05-25 8:20 ` [PATCH v7 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Adds the full eDP node to `rk3576.dtsi`:
```dts
+ edp: edp@27dc0000 {
+ compatible = "rockchip,rk3576-edp";
+ reg = <0x0 0x27dc0000 0x0 0x1000>;
+ clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, <&cru HCLK_VO0_ROOT>;
+ clock-names = "dp", "pclk", "hclk";
```
The node is well-formed with all required properties (clocks, interrupts, phys, power-domains, resets, rockchip,grf). Note that RK3576 uses `HCLK_VO0_ROOT` (VO0) vs RK3588's `HCLK_VO1` -- this is expected since RK3576 has eDP on VO0. Status is "disabled" which is correct for SoC dtsi. The node placement is at `0x27dc0000` which matches the `reg` in the chip data in patch 10.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: drm/bridge: analogix_dp: Rename and simplify is_rockchip()
2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Renames `is_rockchip()` to `analogix_dp_is_rockchip()` and converts to switch-case:
```c
-static inline bool is_rockchip(enum analogix_dp_devtype type)
+static inline bool analogix_dp_is_rockchip(enum analogix_dp_devtype type)
{
- return type == RK3288_DP || type == RK3399_EDP || type == RK3588_EDP;
+ switch (type) {
+ case RK3288_DP:
+ case RK3399_EDP:
+ case RK3588_EDP:
+ return true;
+ default:
+ return false;
+ }
```
Good cleanup. The namespace-prefixed name avoids potential conflicts. The switch-case makes adding new entries cleaner (as done in patch 9). All 9 call sites are updated. Note that `RK3576_EDP` is not yet added here -- that's done in patch 9, which is the correct ordering.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: drm/bridge: analogix_dp: Add support for RK3576
2026-05-25 8:20 ` [PATCH v7 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Adds `RK3576_EDP` to the enum, to `analogix_dp_is_rockchip()`, and to the `analogix_dp_dt_parse_pdata()` switch. The RK3576 shares max link rate (0x14 = HBR2) and lane count (4) with RK3588:
```c
+ case RK3576_EDP:
case RK3588_EDP:
video_info->max_link_rate = 0x14;
video_info->max_lane_count = 0x04;
```
Clean fallthrough. No issues.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: drm/rockchip: analogix_dp: Add support for RK3576
2026-05-25 8:20 ` [PATCH v7 10/10] drm/rockchip: " Damon Ding
@ 2026-05-25 21:34 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-25 21:34 UTC (permalink / raw)
To: dri-devel-reviews
Patch Review
Adds the platform-specific chip data and OF match entry:
```c
+static const struct rockchip_dp_chip_data rk3576_edp[] = {
+ {
+ .chip_type = RK3576_EDP,
+ .reg = 0x27dc0000,
+ },
+ { /* sentinel */ }
+};
```
**Key observation:** RK3576's chip data does not set `edp_mode` or `lcdc_sel` GRF fields, unlike RK3588 and the older SoCs. I verified that `rockchip_grf_field_write()` checks `!field->valid` and returns 0 early (at `analogix_dp-rockchip.c:107`), so the zero-initialized `edp_mode` field is safe -- the GRF write in `rockchip_dp_poweron()` and `rockchip_dp_powerdown()` will be a no-op. This implies RK3576 doesn't need an eDP mode GRF switch, which is plausible if the VO subsystem handles muxing differently.
Similarly, no `lcdc_sel` means the CRTC selection path in `rockchip_dp_drm_encoder_enable()` will skip the GRF write. This should be fine if RK3576 has a fixed eDP-to-CRTC mapping (no mux).
The OF table entry is correctly ordered alphabetically. The sentinel terminator is present.
**Overall:** This is a clean, well-organized series at v7 maturity. The RK3588 clock fix (patches 1-5) is a proper standalone fix with Fixes tags. The RK3576 support (patches 6-10) reuses the proven RK3588 code path with minimal additions. No correctness bugs found. The series is ready to merge.
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
* Claude review: Add eDP support for RK3576
2026-05-27 2:43 [PATCH v9 00/10] " Damon Ding
@ 2026-05-27 3:55 ` Claude Code Review Bot
0 siblings, 0 replies; 33+ messages in thread
From: Claude Code Review Bot @ 2026-05-27 3:55 UTC (permalink / raw)
To: dri-devel-reviews
Overall Series Review
Subject: Add eDP support for RK3576
Author: Damon Ding <damon.ding@rock-chips.com>
Patches: 11
Reviewed: 2026-05-27T13:55:44.347211
---
This is a well-structured v9 series adding eDP support for the RK3576 SoC. The series is logically organized into three groups: (1) fixing the implicit hclk dependency for RK3588 (patches 1-5), (2) adding RK3576 DT bindings and node (patches 6-7), and (3) driver support for RK3576 (patches 8-10). The code changes are minimal and clean, reusing the proven RK3588 configuration. Multiple patches carry Reviewed-by and Acked-by tags from prior rounds.
No blocking issues found. One design question worth noting (see Patch 10 review) but it appears intentional given the v9 iteration count.
**Verdict: Series looks good. No objections to merging.**
---
Generated by Claude Code Patch Reviewer
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2026-05-27 3:55 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-25 8:20 [PATCH v7 00/10] Add eDP support for RK3576 Damon Ding
2026-05-25 8:20 ` [PATCH v7 01/10] dt-bindings: display: rockchip: analogix-dp: Fix hclk as third clock for RK3588 Damon Ding
2026-05-25 9:42 ` Damon Ding
2026-05-25 11:43 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 02/10] dt-bindings: display: rockchip: analogix-dp: Add per-clock descriptions Damon Ding
2026-05-25 11:13 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 03/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP0 Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 04/10] arm64: dts: rockchip: Add missing hclk for RK3588 eDP1 Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 05/10] drm/rockchip: analogix_dp: Enable hclk for RK3588 Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 06/10] dt-bindings: display: rockchip: analogix-dp: Add support for RK3576 Damon Ding
2026-05-25 11:13 ` Rob Herring (Arm)
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 07/10] arm64: dts: rockchip: Add eDP node " Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 08/10] drm/bridge: analogix_dp: Rename and simplify is_rockchip() Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 09/10] drm/bridge: analogix_dp: Add support for RK3576 Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 8:20 ` [PATCH v7 10/10] drm/rockchip: " Damon Ding
2026-05-25 21:34 ` Claude review: " Claude Code Review Bot
2026-05-25 21:34 ` Claude review: Add eDP " Claude Code Review Bot
-- strict thread matches above, loose matches on Subject: below --
2026-05-27 2:43 [PATCH v9 00/10] " Damon Ding
2026-05-27 3:55 ` Claude review: " Claude Code Review Bot
2026-05-25 12:53 [PATCH v8 00/10] " Damon Ding
2026-05-25 21:12 ` Claude review: " Claude Code Review Bot
2026-05-21 8:08 [PATCH v6 00/10] " Damon Ding
2026-05-25 10:40 ` Claude review: " Claude Code Review Bot
2026-05-13 7:44 [PATCH v5 00/10] " Damon Ding
2026-05-16 2:26 ` Claude review: " Claude Code Review Bot
2026-05-12 9:56 [PATCH v4 00/10] " Damon Ding
2026-05-16 3:47 ` Claude review: " Claude Code Review Bot
2026-03-19 10:40 [PATCH v2 0/9] " Damon Ding
2026-03-21 18:26 ` Claude review: " Claude Code Review Bot
2026-03-10 10:53 [PATCH v1 0/4] " Damon Ding
2026-03-11 3:27 ` Claude review: " Claude Code Review Bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox