* [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC
@ 2026-07-04 9:34 Biju
2026-07-04 9:34 ` [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L Biju
` (8 more replies)
0 siblings, 9 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, David Airlie,
Simona Vetter, Philipp Zabel, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm
Cc: Biju Das, Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
Luca Ceresoli, Tommaso Merciai, dri-devel, devicetree,
linux-kernel, linux-renesas-soc, Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Hi All,
This patch series aims to add DSI, LVDS and LCD support for the RZ/G3L
SMARC EVK. The RZ/G3L LCDC is similar to the one found on RZ/G2L, but has
LVDS support. It is simpler compared to RZ/G3E [1], hence sending
this series to get review feedback. Based on the discussion on [1],
will rebase this later.
This patch series has a dependency on [2].
Also, the LVDS series [3] is merged here to get an overall picture.
[1] https://lore.kernel.org/all/cover.1770996493.git.tommaso.merciai.xr@bp.renesas.com
[2] https://lore.kernel.org/all/20260619164030.380098-1-biju.das.jz@bp.renesas.com/
[3] https://lore.kernel.org/all/20260625172359.292631-1-biju.das.jz@bp.renesas.com/
Biju Das (16):
dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
drm: renesas: rzg2l_mipi_dsi: Add dphyctrl0_init_val to hw_info
drm: renesas: rzg2l_mipi_dsi: Add activation_dly to hw_info
drm: renesas: rzg2l_mipi_dsi: Move global timings into hardware info
struct
drm: renesas: rzg2l_mipi_dsi: Add support for DSI PWRRDY
drm: renesas: rzg2l_mipi_dsi: Add RZ/G3L MIPI DSI support
dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
drm: renesas: rz-du: Add RZ/G3L (R9A08G046) DU support
dt-bindings: display: bridge: Document Renesas RZ/G3L LVDS encoder
drm: renesas: rz-du: Add support for RZ/G3L LVDS encoder
arm64: dts: renesas: r9a08g046: Add fcpvd node
arm64: dts: renesas: r9a08g046: Add vspd node
arm64: dts: renesas: r9a08g046: Add DU and DSI nodes
arm64: dts: renesas: r9a08g046: Add LVDS node
arm64: dts: renesas: Add DSI overlay for RZ/G3L SMARC EVK with ADV7535
arm64: dts: renesas: Add LVDS overlay for RZ/G3L SMARC EVK with
ITE6263
.../bindings/display/bridge/renesas,dsi.yaml | 15 +
.../bridge/renesas,r9a08g046-lvds.yaml | 120 +++++++
.../bindings/display/renesas,rzg2l-du.yaml | 27 +-
arch/arm64/boot/dts/renesas/Makefile | 6 +
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 140 ++++++++
.../r9a08g046l48-smarc-dsi-adv7535.dtso | 95 ++++++
.../r9a08g046l48-smarc-lvds-ite6263.dtso | 104 ++++++
drivers/gpu/drm/renesas/rz-du/Kconfig | 13 +
drivers/gpu/drm/renesas/rz-du/Makefile | 1 +
drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 22 +-
drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 4 +
.../gpu/drm/renesas/rz-du/rzg2l_du_encoder.c | 4 +
.../gpu/drm/renesas/rz-du/rzg2l_du_encoder.h | 1 +
.../gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c | 206 +++++++++++-
drivers/gpu/drm/renesas/rz-du/rzg3l_lvds.c | 299 ++++++++++++++++++
.../gpu/drm/renesas/rz-du/rzg3l_lvds_regs.h | 25 ++
16 files changed, 1072 insertions(+), 10 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/bridge/renesas,r9a08g046-lvds.yaml
create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-dsi-adv7535.dtso
create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-lvds-ite6263.dtso
create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg3l_lvds.c
create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg3l_lvds_regs.h
--
2.43.0
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
@ 2026-07-04 9:34 ` Biju
2026-07-08 8:29 ` Krzysztof Kozlowski
2026-07-04 9:34 ` [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC Biju
` (7 subsequent siblings)
8 siblings, 1 reply; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm
Cc: Biju Das, Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
Luca Ceresoli, dri-devel, devicetree, linux-kernel,
linux-renesas-soc, Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
The RZ/G3L DSI IP is similar to the RZ/G2L but has different global PHY
timings and also the PLLCLK is ungateble clock. Add the compatible
string "renesas,r9a08g046-mipi-dsi" to handle these difference for the
Renesas RZ/G3L SoC. The power to DSI region is controlled by SYSC block.
Document renesas,sysc-pwrrdy property to handle the power control.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
.../bindings/display/bridge/renesas,dsi.yaml | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
index c20625b8425e..b114ac3b111a 100644
--- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
@@ -28,6 +28,7 @@ properties:
- const: renesas,r9a09g057-mipi-dsi
- enum:
+ - renesas,r9a08g046-mipi-dsi # RZ/G3L
- renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
reg:
@@ -108,6 +109,20 @@ properties:
power-domains:
maxItems: 1
+ renesas,sysc-pwrrdy:
+ description:
+ The system controller PWRRDY indicates to the DSI region, if the power
+ supply is ready. PWRRDY needs to be set during power-on before applying
+ any other settings. It also needs to be set before powering off the DSI.
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description:
+ System controller phandle required by DSI driver to set
+ PWRRDY
+ - description: Register offset associated with PWRRDY
+ - description: Register bitmask associated with PWRRDY
+
ports:
$ref: /schemas/graph.yaml#/properties/ports
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
2026-07-04 9:34 ` [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L Biju
@ 2026-07-04 9:34 ` Biju
2026-07-08 8:30 ` Krzysztof Kozlowski
2026-07-08 16:45 ` Tommaso Merciai
2026-07-04 9:34 ` [PATCH 09/16] dt-bindings: display: bridge: Document Renesas RZ/G3L LVDS encoder Biju
` (6 subsequent siblings)
8 siblings, 2 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Biju Das, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm
Cc: Laurent Pinchart, dri-devel, linux-renesas-soc, devicetree,
linux-kernel, Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
The DU block on the RZ/G3L SoC is identical to the one found on the RZ/G2L
SoC. However, it supports the DSI, DPI, and LVDS interfaces, while the
RZ/G2L supports only the DSI and DPI interfaces.
Due to this difference, a SoC-specific compatible string,
'renesas,r9a08g046-du', is added for the RZ/G3L SoC.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
.../bindings/display/renesas,rzg2l-du.yaml | 27 +++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
index 7c84a9ecc7a7..65368649fe77 100644
--- a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
+++ b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
@@ -20,6 +20,7 @@ properties:
- enum:
- renesas,r9a07g043u-du # RZ/G2UL
- renesas,r9a07g044-du # RZ/G2{L,LC}
+ - renesas,r9a08g046-du # RZ/G3L
- renesas,r9a09g057-du # RZ/V2H(P)
- renesas,r9a09g077-du # RZ/T2H
- items:
@@ -65,7 +66,7 @@ properties:
model-dependent. Each port shall have a single endpoint.
patternProperties:
- "^port@[0-1]$":
+ "^port@[0-2]$":
$ref: /schemas/graph.yaml#/properties/port
unevaluatedProperties: false
@@ -88,7 +89,6 @@ required:
- clocks
- clock-names
- power-domains
- - ports
- renesas,vsps
additionalProperties: false
@@ -108,6 +108,7 @@ allOf:
port@0:
description: DPI
port@1: false
+ port@2: false
required:
- port@0
@@ -124,10 +125,31 @@ allOf:
description: DSI
port@1:
description: DPI
+ port@2: false
required:
- port@0
- port@1
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: renesas,r9a08g046-du
+ then:
+ properties:
+ port:
+ properties:
+ endpoint@0:
+ description: DSI
+ endpoint@1:
+ description: DPI
+ endpoint@2:
+ description: LVDS
+
+ required:
+ - port@0
+ - port@1
+ - port@2
- if:
properties:
compatible:
@@ -140,6 +162,7 @@ allOf:
port@0:
description: DSI
port@1: false
+ port@2: false
required:
- port@0
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 09/16] dt-bindings: display: bridge: Document Renesas RZ/G3L LVDS encoder
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
2026-07-04 9:34 ` [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L Biju
2026-07-04 9:34 ` [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC Biju
@ 2026-07-04 9:34 ` Biju
2026-07-04 9:34 ` [PATCH 11/16] arm64: dts: renesas: r9a08g046: Add fcpvd node Biju
` (5 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Andrzej Hajda, Neil Armstrong, Robert Foss, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm
Cc: Biju Das, Laurent Pinchart, Jonas Karlman, Jernej Skrabec,
Luca Ceresoli, Tommaso Merciai, dri-devel, devicetree,
linux-kernel, linux-renesas-soc, Prabhakar Mahadev Lad, Biju Das,
Krzysztof Kozlowski
From: Biju Das <biju.das.jz@bp.renesas.com>
Document the LVDS encoder IP found on the RZ/G3L SoC. It supports
single-link mode. LVDS and the DSI interface share a peripheral clock and
the MIPI_DSI_PRESET_N reset signal. However, the LVDS module cannot be
used at the same time as MIPI-DSI.
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
v5[1]->v1:
* No change.
v5 [1] https://lore.kernel.org/all/20260625172359.292631-2-biju.das.jz@bp.renesas.com/#t
v4->v5:
* Collected tag.
v3->v4:
* Dropped the tags as it is a rework dropping parent node that contains
simple-mfd and syscon.
v2->v3:
* Collected tag.
v2->v2[1]:
* No change.
[1] https://lore.kernel.org/all/20260524195829.960401F000E9@smtp.kernel.org/
v1->v2:
* Collected tag.
---
.../bridge/renesas,r9a08g046-lvds.yaml | 120 ++++++++++++++++++
1 file changed, 120 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/bridge/renesas,r9a08g046-lvds.yaml
diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,r9a08g046-lvds.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,r9a08g046-lvds.yaml
new file mode 100644
index 000000000000..4cd7b688fbf7
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/renesas,r9a08g046-lvds.yaml
@@ -0,0 +1,120 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/bridge/renesas,r9a08g046-lvds.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas RZ/G3L LVDS Encoder
+
+maintainers:
+ - Biju Das <biju.das.jz@bp.renesas.com>
+ - Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
+
+description: |
+ This binding describes the LVDS encoder embedded in the Renesas RZ/G3L
+ SoC. The encoder can operate in LVDS Single-link mode with 4 lanes
+ (Data) + 1 lane (Clock).
+
+properties:
+ compatible:
+ const: renesas,r9a08g046-lvds
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: Peripheral clock
+ - description: PHY clock
+ - description: Dot clock
+
+ clock-names:
+ items:
+ - const: pclk
+ - const: phyclk
+ - const: dotclk
+
+ resets:
+ items:
+ - description: LVDS_RESET_N
+ - description: MIPI_DSI_PRESET_N
+ - description: MIPI_DSI_CMN_RSTB
+ - description: MIPI_DSI_ARESET_N
+
+ reset-names:
+ items:
+ - const: lvdrst
+ - const: prst
+ - const: rst
+ - const: arst
+
+ power-domains:
+ maxItems: 1
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: Input channel, directly connected to the Display Unit.
+
+ port@1:
+ $ref: /schemas/graph.yaml#/properties/port
+ description: |
+ Output channel, directly connected to the LVDS panel or bridge.
+
+ required:
+ - port@0
+ - port@1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - power-domains
+ - ports
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/renesas,r9a08g046-cpg.h>
+
+ lvds@108a0000 {
+ compatible = "renesas,r9a08g046-lvds";
+ reg = <0x108a0000 0x10000>;
+ clocks = <&cpg CPG_MOD R9A08G046_MIPI_DSI_PCLK>,
+ <&cpg CPG_MOD R9A08G046_LVDS_PLLCLK>,
+ <&cpg CPG_MOD R9A08G046_LVDS_CLK_DOT0>;
+ clock-names = "pclk", "phyclk", "dotclk";
+ resets = <&cpg R9A08G046_LVDS_RESET_N>,
+ <&cpg R9A08G046_MIPI_DSI_PRESET_N>,
+ <&cpg R9A08G046_MIPI_DSI_CMN_RSTB>,
+ <&cpg R9A08G046_MIPI_DSI_ARESET_N>;
+ reset-names = "lvdrst", "prst", "rst", "arst";
+ power-domains = <&cpg>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ lvds0_in: endpoint {
+ remote-endpoint = <&du_out_lvds0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ lvds0_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+...
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 11/16] arm64: dts: renesas: r9a08g046: Add fcpvd node
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
` (2 preceding siblings ...)
2026-07-04 9:34 ` [PATCH 09/16] dt-bindings: display: bridge: Document Renesas RZ/G3L LVDS encoder Biju
@ 2026-07-04 9:34 ` Biju
2026-07-04 9:34 ` [PATCH 12/16] arm64: dts: renesas: r9a08g046: Add vspd node Biju
` (4 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Biju Das, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add fcpvd node to RZ/G3L SoC DTSI.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
index 85e409ac8d5c..eb5604b84287 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
@@ -696,6 +696,17 @@ ssi3: ssi@100e4c00 {
status = "disabled";
};
+ fcpvd: fcp@10880000 {
+ compatible = "renesas,r9a08g046-fcpvd", "renesas,fcpv";
+ reg = <0 0x10880000 0 0x10000>;
+ clocks = <&cpg CPG_MOD R9A08G046_LCDC_CLK_A>,
+ <&cpg CPG_MOD R9A08G046_LCDC_CLK_P>,
+ <&cpg CPG_MOD R9A08G046_LCDC_CLK_D>;
+ clock-names = "aclk", "pclk", "vclk";
+ resets = <&cpg R9A08G046_LCDC_RESET_N>;
+ power-domains = <&cpg>;
+ };
+
gpu: gpu@108b0000 {
compatible = "renesas,r9a08g046-mali",
"arm,mali-bifrost";
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 12/16] arm64: dts: renesas: r9a08g046: Add vspd node
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
` (3 preceding siblings ...)
2026-07-04 9:34 ` [PATCH 11/16] arm64: dts: renesas: r9a08g046: Add fcpvd node Biju
@ 2026-07-04 9:34 ` Biju
2026-07-04 9:34 ` [PATCH 13/16] arm64: dts: renesas: r9a08g046: Add DU and DSI nodes Biju
` (3 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Biju Das, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add vspd node to RZ/G3L SoC DTSI.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
index eb5604b84287..0d8507e0666d 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
@@ -696,6 +696,20 @@ ssi3: ssi@100e4c00 {
status = "disabled";
};
+ vspd: vsp@10870000 {
+ compatible = "renesas,r9a08g046-vsp2",
+ "renesas,r9a07g044-vsp2";
+ reg = <0 0x10870000 0 0x10000>;
+ interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD R9A08G046_LCDC_CLK_A>,
+ <&cpg CPG_MOD R9A08G046_LCDC_CLK_P>,
+ <&cpg CPG_MOD R9A08G046_LCDC_CLK_D>;
+ clock-names = "aclk", "pclk", "vclk";
+ resets = <&cpg R9A08G046_LCDC_RESET_N>;
+ power-domains = <&cpg>;
+ renesas,fcp = <&fcpvd>;
+ };
+
fcpvd: fcp@10880000 {
compatible = "renesas,r9a08g046-fcpvd", "renesas,fcpv";
reg = <0 0x10880000 0 0x10000>;
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 13/16] arm64: dts: renesas: r9a08g046: Add DU and DSI nodes
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
` (4 preceding siblings ...)
2026-07-04 9:34 ` [PATCH 12/16] arm64: dts: renesas: r9a08g046: Add vspd node Biju
@ 2026-07-04 9:34 ` Biju
2026-07-04 9:34 ` [PATCH 14/16] arm64: dts: renesas: r9a08g046: Add LVDS node Biju
` (2 subsequent siblings)
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Biju Das, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add DU and DSI nodes to RZ/G3L SoC DTSI.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 78 ++++++++++++++++++++++
1 file changed, 78 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
index 0d8507e0666d..fe2779d334dc 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
@@ -696,6 +696,50 @@ ssi3: ssi@100e4c00 {
status = "disabled";
};
+ dsi: dsi@10850000 {
+ compatible = "renesas,r9a08g046-mipi-dsi";
+ reg = <0 0x10850000 0 0x20000>;
+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "seq0", "seq1", "vin1", "rcv",
+ "ferr", "ppi", "debug";
+ clocks = <&cpg CPG_CORE R9A08G046_MIPI_DSI_PLLCLK>,
+ <&cpg CPG_MOD R9A08G046_MIPI_DSI_SYSCLK>,
+ <&cpg CPG_MOD R9A08G046_MIPI_DSI_ACLK>,
+ <&cpg CPG_MOD R9A08G046_MIPI_DSI_PCLK>,
+ <&cpg CPG_MOD R9A08G046_MIPI_DSI_VCLK>,
+ <&cpg CPG_MOD R9A08G046_MIPI_DSI_LPCLK>;
+ clock-names = "pllclk", "sysclk", "aclk", "pclk", "vclk", "lpclk";
+ resets = <&cpg R9A08G046_MIPI_DSI_CMN_RSTB>,
+ <&cpg R9A08G046_MIPI_DSI_ARESET_N>,
+ <&cpg R9A08G046_MIPI_DSI_PRESET_N>;
+ reset-names = "rst", "arst", "prst";
+ power-domains = <&cpg>;
+ renesas,sysc-pwrrdy = <&sysc 0xd70 0x2>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dsi_in: endpoint {
+ remote-endpoint = <&du_out_dsi>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ };
+ };
+ };
+
vspd: vsp@10870000 {
compatible = "renesas,r9a08g046-vsp2",
"renesas,r9a07g044-vsp2";
@@ -721,6 +765,40 @@ fcpvd: fcp@10880000 {
power-domains = <&cpg>;
};
+ du: display@10890000 {
+ compatible = "renesas,r9a08g046-du";
+ reg = <0 0x10890000 0 0x10000>;
+ interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD R9A08G046_LCDC_CLK_A>,
+ <&cpg CPG_MOD R9A08G046_LCDC_CLK_P>,
+ <&cpg CPG_MOD R9A08G046_LCDC_CLK_D>;
+ clock-names = "aclk", "pclk", "vclk";
+ power-domains = <&cpg>;
+ resets = <&cpg R9A08G046_LCDC_RESET_N>;
+ renesas,vsps = <&vspd 0>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ du_out_dsi: endpoint {
+ remote-endpoint = <&dsi_in>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ };
+
+ port@2 {
+ reg = <2>;
+ };
+ };
+ };
+
gpu: gpu@108b0000 {
compatible = "renesas,r9a08g046-mali",
"arm,mali-bifrost";
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 14/16] arm64: dts: renesas: r9a08g046: Add LVDS node
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
` (5 preceding siblings ...)
2026-07-04 9:34 ` [PATCH 13/16] arm64: dts: renesas: r9a08g046: Add DU and DSI nodes Biju
@ 2026-07-04 9:34 ` Biju
2026-07-04 9:34 ` [PATCH 15/16] arm64: dts: renesas: Add DSI overlay for RZ/G3L SMARC EVK with ADV7535 Biju
2026-07-04 9:34 ` [PATCH 16/16] arm64: dts: renesas: Add LVDS overlay for RZ/G3L SMARC EVK with ITE6263 Biju
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Biju Das, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add LVDS node to RZ/G3L SoC DTSI.
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a08g046.dtsi | 37 ++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
index fe2779d334dc..a8b45443a78c 100644
--- a/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a08g046.dtsi
@@ -795,6 +795,43 @@ port@1 {
port@2 {
reg = <2>;
+ du_out_lvds: endpoint {
+ remote-endpoint = <&lvds_in>;
+ };
+ };
+ };
+ };
+
+ lvds: lvds@108a0000 {
+ compatible = "renesas,r9a08g046-lvds";
+ reg = <0 0x108a0000 0 0x10000>;
+ clocks = <&cpg CPG_MOD R9A08G046_MIPI_DSI_PCLK>,
+ <&cpg CPG_MOD R9A08G046_LVDS_PLLCLK>,
+ <&cpg CPG_MOD R9A08G046_LVDS_CLK_DOT0>;
+ clock-names = "pclk", "phyclk", "dotclk";
+ resets = <&cpg R9A08G046_LVDS_RESET_N>,
+ <&cpg R9A08G046_MIPI_DSI_PRESET_N>,
+ <&cpg R9A08G046_MIPI_DSI_CMN_RSTB>,
+ <&cpg R9A08G046_MIPI_DSI_ARESET_N>;
+ reset-names = "lvdrst", "prst", "rst", "arst";
+ power-domains = <&cpg>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ lvds_in: endpoint {
+ remote-endpoint = <&du_out_lvds>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ lvds_out: endpoint {
+ };
};
};
};
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 15/16] arm64: dts: renesas: Add DSI overlay for RZ/G3L SMARC EVK with ADV7535
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
` (6 preceding siblings ...)
2026-07-04 9:34 ` [PATCH 14/16] arm64: dts: renesas: r9a08g046: Add LVDS node Biju
@ 2026-07-04 9:34 ` Biju
2026-07-04 9:34 ` [PATCH 16/16] arm64: dts: renesas: Add LVDS overlay for RZ/G3L SMARC EVK with ITE6263 Biju
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Biju Das, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add a Device Tree overlay (r9a08g046l48-smarc-dsi-adv7535.dtso) for the
RZ/G3L (R9A08G046) SMARC EVK board to support DSI-to-HDMI output via the
Analog Devices ADV7535 HDMI transmitter.
The overlay enables the DSI controller with a 4-lane data path and the
display unit (DU/LCDC), and configures the ADV7535 on I2C2.
Update the Makefile to build the overlay as both a standalone .dtbo and
a composite .dtb (base DTB + overlay).
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/Makefile | 3 +
.../r9a08g046l48-smarc-dsi-adv7535.dtso | 95 +++++++++++++++++++
2 files changed, 98 insertions(+)
create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-dsi-adv7535.dtso
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 8bf155badd11..8c6a44890715 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -187,6 +187,9 @@ r9a08g045s33-smarc-pmod1-type-3a-dtbs := r9a08g045s33-smarc.dtb r9a08g045s33-sma
dtb-$(CONFIG_ARCH_R9A08G045) += r9a08g045s33-smarc-pmod1-type-3a.dtb
dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc.dtb
+dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc-dsi-adv7535.dtbo
+r9a08g046l48-smarc-dsi-adv7535-dtbs := r9a08g046l48-smarc.dtb r9a08g046l48-smarc-dsi-adv7535.dtbo
+dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc-dsi-adv7535.dtb
dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-dsi-adv7535.dtso b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-dsi-adv7535.dtso
new file mode 100644
index 000000000000..cede3b4ba318
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-dsi-adv7535.dtso
@@ -0,0 +1,95 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree overlay for the RZ/G3L SMARC EVK with ADV7535
+ * connected to DSI and LCDC enabled.
+ *
+ * Copyright (C) 2026 Renesas Electronics Corp.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/pinctrl/renesas,r9a08g046-pinctrl.h>
+
+&{/} {
+ osc1: cec-clock {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <12000000>;
+ };
+
+ dsi-to-hdmi-out {
+ compatible = "hdmi-connector";
+ type = "d";
+
+ port {
+ dsi_to_hdmi_con_out: endpoint {
+ remote-endpoint = <&adv7535_out>;
+ };
+ };
+ };
+};
+
+&dsi {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ dsi_out: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&adv7535_in>;
+ };
+ };
+ };
+};
+
+&du {
+ status = "okay";
+};
+
+&i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adv7535: hdmi@3d {
+ compatible = "adi,adv7535";
+ reg = <0x3d>;
+
+ interrupts-extended = <&pinctrl RZG3L_GPIO(K, 3) IRQ_TYPE_EDGE_FALLING>;
+ clocks = <&osc1>;
+ clock-names = "cec";
+ avdd-supply = <®_1p8v>;
+ dvdd-supply = <®_1p8v>;
+ pvdd-supply = <®_1p8v>;
+ a2vdd-supply = <®_1p8v>;
+ v3p3-supply = <®_3p3v>;
+ v1p2-supply = <®_1p8v>;
+
+ adi,dsi-lanes = <4>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ adv7535_in: endpoint {
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ adv7535_out: endpoint {
+ remote-endpoint = <&dsi_to_hdmi_con_out>;
+ };
+ };
+ };
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 16/16] arm64: dts: renesas: Add LVDS overlay for RZ/G3L SMARC EVK with ITE6263
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
` (7 preceding siblings ...)
2026-07-04 9:34 ` [PATCH 15/16] arm64: dts: renesas: Add DSI overlay for RZ/G3L SMARC EVK with ADV7535 Biju
@ 2026-07-04 9:34 ` Biju
8 siblings, 0 replies; 17+ messages in thread
From: Biju @ 2026-07-04 9:34 UTC (permalink / raw)
To: Geert Uytterhoeven, Magnus Damm, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Biju Das, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad, Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
Add a Device Tree overlay (r9a08g046l48-smarc-lvds-ite6263.dtso) for the
RZ/G3L (R9A08G046) SMARC EVK board to support LVDS-to-HDMI output via the
ITE 6263 HDMI transmitter.
The overlay enables the LVDS controller and the display unit (DU/LCDC),
and configures the ITE6263 on I2C2.
Update the Makefile to build the overlay as both a standalone .dtbo and
a composite .dtb (base DTB + overlay).
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/Makefile | 3 +
.../r9a08g046l48-smarc-lvds-ite6263.dtso | 104 ++++++++++++++++++
2 files changed, 107 insertions(+)
create mode 100644 arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-lvds-ite6263.dtso
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 8c6a44890715..3cecc40204e9 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -190,6 +190,9 @@ dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc.dtb
dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc-dsi-adv7535.dtbo
r9a08g046l48-smarc-dsi-adv7535-dtbs := r9a08g046l48-smarc.dtb r9a08g046l48-smarc-dsi-adv7535.dtbo
dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc-dsi-adv7535.dtb
+dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc-lvds-ite6263.dtbo
+r9a08g046l48-smarc-lvds-ite6263-dtbs := r9a08g046l48-smarc.dtb r9a08g046l48-smarc-lvds-ite6263.dtbo
+dtb-$(CONFIG_ARCH_R9A08G046) += r9a08g046l48-smarc-lvds-ite6263.dtb
dtb-$(CONFIG_ARCH_R9A09G011) += r9a09g011-v2mevk2.dtb
diff --git a/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-lvds-ite6263.dtso b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-lvds-ite6263.dtso
new file mode 100644
index 000000000000..95e1f411fa04
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r9a08g046l48-smarc-lvds-ite6263.dtso
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree overlay for the RZ/G3L SMARC EVK with ITE6263
+ * connected to LVDS and LCDC enabled.
+ *
+ * Copyright (C) 2026 Renesas Electronics Corp.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/pinctrl/renesas,r9a08g046-pinctrl.h>
+
+&{/} {
+ lvds-to-hdmi-out {
+ compatible = "hdmi-connector";
+ type = "d";
+
+ port {
+ lvds_to_hdmi_con_out: endpoint {
+ remote-endpoint = <&it6263_out>;
+ };
+ };
+ };
+
+ reg_1v8: regulator-1v8 {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-1.8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ reg_3v3: regulator-3v3 {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
+&du {
+ status = "okay";
+};
+
+&i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ it6263: it6263@4c {
+ compatible = "ite,it6263";
+ reg = <0x4c>;
+ data-mapping = "vesa-24";
+ ivdd-supply = <®_1v8>;
+ ovdd-supply = <®_3v3>;
+ txavcc18-supply = <®_1v8>;
+ txavcc33-supply = <®_3v3>;
+ pvcc1-supply = <®_1v8>;
+ pvcc2-supply = <®_1v8>;
+ avcc-supply = <®_3v3>;
+ anvdd-supply = <®_1v8>;
+ apvdd-supply = <®_1v8>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ bridge_in: endpoint {
+ remote-endpoint = <&lvds_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ it6263_out: endpoint {
+ remote-endpoint = <&lvds_to_hdmi_con_out>;
+ };
+ };
+ };
+ };
+};
+
+&lvds {
+ status = "okay";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ lvds_out: endpoint {
+ remote-endpoint = <&bridge_in>;
+ };
+ };
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
2026-07-04 9:34 ` [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L Biju
@ 2026-07-08 8:29 ` Krzysztof Kozlowski
2026-07-08 9:39 ` Biju Das
0 siblings, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-08 8:29 UTC (permalink / raw)
To: Biju
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, Magnus Damm, Biju Das, Laurent Pinchart,
Jonas Karlman, Jernej Skrabec, Luca Ceresoli, dri-devel,
devicetree, linux-kernel, linux-renesas-soc,
Prabhakar Mahadev Lad
On Sat, Jul 04, 2026 at 10:34:11AM +0100, Biju wrote:
> From: Biju Das <biju.das.jz@bp.renesas.com>
>
> The RZ/G3L DSI IP is similar to the RZ/G2L but has different global PHY
> timings and also the PLLCLK is ungateble clock. Add the compatible
> string "renesas,r9a08g046-mipi-dsi" to handle these difference for the
> Renesas RZ/G3L SoC. The power to DSI region is controlled by SYSC block.
> Document renesas,sysc-pwrrdy property to handle the power control.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> .../bindings/display/bridge/renesas,dsi.yaml | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> index c20625b8425e..b114ac3b111a 100644
> --- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> @@ -28,6 +28,7 @@ properties:
> - const: renesas,r9a09g057-mipi-dsi
>
> - enum:
> + - renesas,r9a08g046-mipi-dsi # RZ/G3L
> - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
>
> reg:
> @@ -108,6 +109,20 @@ properties:
> power-domains:
> maxItems: 1
>
> + renesas,sysc-pwrrdy:
> + description:
> + The system controller PWRRDY indicates to the DSI region, if the power
> + supply is ready. PWRRDY needs to be set during power-on before applying
> + any other settings. It also needs to be set before powering off the DSI.
> + $ref: /schemas/types.yaml#/definitions/phandle-array
This feels a lot like a power domain. Please elaborate what is PWRRDY
and why power-on/off and power status within SoC (important!) is not
encoded as power domain.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
2026-07-04 9:34 ` [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC Biju
@ 2026-07-08 8:30 ` Krzysztof Kozlowski
2026-07-08 8:38 ` Biju Das
2026-07-08 16:45 ` Tommaso Merciai
1 sibling, 1 reply; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-08 8:30 UTC (permalink / raw)
To: Biju
Cc: Biju Das, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm, Laurent Pinchart,
dri-devel, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad
On Sat, Jul 04, 2026 at 10:34:17AM +0100, Biju wrote:
> model-dependent. Each port shall have a single endpoint.
>
> patternProperties:
> - "^port@[0-1]$":
> + "^port@[0-2]$":
> $ref: /schemas/graph.yaml#/properties/port
> unevaluatedProperties: false
>
> @@ -88,7 +89,6 @@ required:
> - clocks
> - clock-names
> - power-domains
> - - ports
Why doing this change?
> - renesas,vsps
>
> additionalProperties: false
> @@ -108,6 +108,7 @@ allOf:
> port@0:
> description: DPI
> port@1: false
> + port@2: false
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
2026-07-08 8:30 ` Krzysztof Kozlowski
@ 2026-07-08 8:38 ` Biju Das
0 siblings, 0 replies; 17+ messages in thread
From: Biju Das @ 2026-07-08 8:38 UTC (permalink / raw)
To: Krzysztof Kozlowski, biju.das.au
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, magnus.damm, Laurent Pinchart,
dri-devel@lists.freedesktop.org,
linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad
Hi Krzysztof Kozlowski,
Thanks for the feedback.
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 08 July 2026 09:31
> Subject: Re: [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
>
> On Sat, Jul 04, 2026 at 10:34:17AM +0100, Biju wrote:
> > model-dependent. Each port shall have a single endpoint.
> >
> > patternProperties:
> > - "^port@[0-1]$":
> > + "^port@[0-2]$":
> > $ref: /schemas/graph.yaml#/properties/port
> > unevaluatedProperties: false
> >
> > @@ -88,7 +89,6 @@ required:
> > - clocks
> > - clock-names
> > - power-domains
> > - - ports
>
> Why doing this change?
Oops, I forgot to undo this change. Previously, I had a version
not yet posted that removed "ports" and used "port" and "endpoints"
instead.
I will restore this in the next version.
Cheers,
Biju
^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
2026-07-08 8:29 ` Krzysztof Kozlowski
@ 2026-07-08 9:39 ` Biju Das
2026-07-12 15:24 ` Krzysztof Kozlowski
0 siblings, 1 reply; 17+ messages in thread
From: Biju Das @ 2026-07-08 9:39 UTC (permalink / raw)
To: Krzysztof Kozlowski, biju.das.au
Cc: Andrzej Hajda, Neil Armstrong, Robert Foss, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, magnus.damm, laurent.pinchart, Jonas Karlman,
Jernej Skrabec, Luca Ceresoli, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org, Prabhakar Mahadev Lad
Hi Krzysztof Kozlowski,
Thanks for the feedback.
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: 08 July 2026 09:30
> Subject: Re: [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
>
> On Sat, Jul 04, 2026 at 10:34:11AM +0100, Biju wrote:
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> >
> > The RZ/G3L DSI IP is similar to the RZ/G2L but has different global
> > PHY timings and also the PLLCLK is ungateble clock. Add the compatible
> > string "renesas,r9a08g046-mipi-dsi" to handle these difference for the
> > Renesas RZ/G3L SoC. The power to DSI region is controlled by SYSC block.
> > Document renesas,sysc-pwrrdy property to handle the power control.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > .../bindings/display/bridge/renesas,dsi.yaml | 15 +++++++++++++++
> > 1 file changed, 15 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > index c20625b8425e..b114ac3b111a 100644
> > ---
> > a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yam
> > +++ l
> > @@ -28,6 +28,7 @@ properties:
> > - const: renesas,r9a09g057-mipi-dsi
> >
> > - enum:
> > + - renesas,r9a08g046-mipi-dsi # RZ/G3L
> > - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> >
> > reg:
> > @@ -108,6 +109,20 @@ properties:
> > power-domains:
> > maxItems: 1
> >
> > + renesas,sysc-pwrrdy:
> > + description:
> > + The system controller PWRRDY indicates to the DSI region, if the power
> > + supply is ready. PWRRDY needs to be set during power-on before applying
> > + any other settings. It also needs to be set before powering off the DSI.
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
>
> This feels a lot like a power domain. Please elaborate what is PWRRDY and why power-on/off and power
> status within SoC (important!) is not encoded as power domain.
We already tried modelling signal as power domain in RZ/G3S and finally Ulf
agreed that it cannot be power-domain[1]
" SYSC signal seems best to be modelled as a reset.
Although, it looks like the USB PM domain provider should rather be
the consumer of that reset, instead of having the reset being consumed
by the consumers of the USB PM domain."
Then Phillip proposed power sequencing driver[2] and finally he and Rob ok for the
solution [3]
[1] https://lore.kernel.org/all/CAPDyKFpLnREr4C=wZ7o8Lb-CZbQa4Nr2VTuYdZHZ26Rcb1Masg@mail.gmail.com/
[2] https://lore.kernel.org/all/c7fc31f1247332196516394a22f6feef9733a0b4.camel@pengutronix.de/#t
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/Documentation/devicetree/bindings/reset/renesas,rzg2l-usbphy-ctrl.yaml?h=next-20260707&id=20eee0f69c9034a0f613528f829dcaca192740d5
Cheers,
Biju
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
2026-07-04 9:34 ` [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC Biju
2026-07-08 8:30 ` Krzysztof Kozlowski
@ 2026-07-08 16:45 ` Tommaso Merciai
2026-07-08 17:12 ` Biju Das
1 sibling, 1 reply; 17+ messages in thread
From: Tommaso Merciai @ 2026-07-08 16:45 UTC (permalink / raw)
To: Biju
Cc: Biju Das, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm, Laurent Pinchart,
dri-devel, linux-renesas-soc, devicetree, linux-kernel,
Prabhakar Mahadev Lad
Hi Biju,
Thanks for your patch.
On Sat, Jul 04, 2026 at 10:34:17AM +0100, Biju wrote:
> From: Biju Das <biju.das.jz@bp.renesas.com>
>
> The DU block on the RZ/G3L SoC is identical to the one found on the RZ/G2L
> SoC. However, it supports the DSI, DPI, and LVDS interfaces, while the
> RZ/G2L supports only the DSI and DPI interfaces.
>
> Due to this difference, a SoC-specific compatible string,
> 'renesas,r9a08g046-du', is added for the RZ/G3L SoC.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> ---
> .../bindings/display/renesas,rzg2l-du.yaml | 27 +++++++++++++++++--
> 1 file changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> index 7c84a9ecc7a7..65368649fe77 100644
> --- a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> +++ b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> @@ -20,6 +20,7 @@ properties:
> - enum:
> - renesas,r9a07g043u-du # RZ/G2UL
> - renesas,r9a07g044-du # RZ/G2{L,LC}
> + - renesas,r9a08g046-du # RZ/G3L
> - renesas,r9a09g057-du # RZ/V2H(P)
> - renesas,r9a09g077-du # RZ/T2H
> - items:
> @@ -65,7 +66,7 @@ properties:
> model-dependent. Each port shall have a single endpoint.
>
> patternProperties:
> - "^port@[0-1]$":
> + "^port@[0-2]$":
> $ref: /schemas/graph.yaml#/properties/port
> unevaluatedProperties: false
>
> @@ -88,7 +89,6 @@ required:
> - clocks
> - clock-names
> - power-domains
> - - ports
> - renesas,vsps
>
> additionalProperties: false
> @@ -108,6 +108,7 @@ allOf:
> port@0:
> description: DPI
> port@1: false
> + port@2: false
>
> required:
> - port@0
> @@ -124,10 +125,31 @@ allOf:
> description: DSI
> port@1:
> description: DPI
> + port@2: false
>
> required:
> - port@0
> - port@1
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: renesas,r9a08g046-du
> + then:
> + properties:
> + port:
> + properties:
> + endpoint@0:
> + description: DSI
> + endpoint@1:
> + description: DPI
> + endpoint@2:
> + description: LVDS
I'm seeing you are using ports + port@{0,1,2} in driver and soc .dtsi
so I think here we will need to have ports + port@{0,1,2} aswell.
Kind Regards,
Tommaso
> +
> + required:
> + - port@0
> + - port@1
> + - port@2
> - if:
> properties:
> compatible:
> @@ -140,6 +162,7 @@ allOf:
> port@0:
> description: DSI
> port@1: false
> + port@2: false
>
> required:
> - port@0
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
2026-07-08 16:45 ` Tommaso Merciai
@ 2026-07-08 17:12 ` Biju Das
0 siblings, 0 replies; 17+ messages in thread
From: Biju Das @ 2026-07-08 17:12 UTC (permalink / raw)
To: Tommaso Merciai, biju.das.au
Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, magnus.damm, Laurent Pinchart,
dri-devel@lists.freedesktop.org,
linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad
Hi Tommaso,
> -----Original Message-----
> From: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> Sent: 08 July 2026 17:46
> Subject: Re: [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC
>
> Hi Biju,
> Thanks for your patch.
>
> On Sat, Jul 04, 2026 at 10:34:17AM +0100, Biju wrote:
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> >
> > The DU block on the RZ/G3L SoC is identical to the one found on the
> > RZ/G2L SoC. However, it supports the DSI, DPI, and LVDS interfaces,
> > while the RZ/G2L supports only the DSI and DPI interfaces.
> >
> > Due to this difference, a SoC-specific compatible string,
> > 'renesas,r9a08g046-du', is added for the RZ/G3L SoC.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > ---
> > .../bindings/display/renesas,rzg2l-du.yaml | 27 +++++++++++++++++--
> > 1 file changed, 25 insertions(+), 2 deletions(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> > b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> > index 7c84a9ecc7a7..65368649fe77 100644
> > --- a/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> > +++ b/Documentation/devicetree/bindings/display/renesas,rzg2l-du.yaml
> > @@ -20,6 +20,7 @@ properties:
> > - enum:
> > - renesas,r9a07g043u-du # RZ/G2UL
> > - renesas,r9a07g044-du # RZ/G2{L,LC}
> > + - renesas,r9a08g046-du # RZ/G3L
> > - renesas,r9a09g057-du # RZ/V2H(P)
> > - renesas,r9a09g077-du # RZ/T2H
> > - items:
> > @@ -65,7 +66,7 @@ properties:
> > model-dependent. Each port shall have a single endpoint.
> >
> > patternProperties:
> > - "^port@[0-1]$":
> > + "^port@[0-2]$":
> > $ref: /schemas/graph.yaml#/properties/port
> > unevaluatedProperties: false
> >
> > @@ -88,7 +89,6 @@ required:
> > - clocks
> > - clock-names
> > - power-domains
> > - - ports
> > - renesas,vsps
> >
> > additionalProperties: false
> > @@ -108,6 +108,7 @@ allOf:
> > port@0:
> > description: DPI
> > port@1: false
> > + port@2: false
> >
> > required:
> > - port@0
> > @@ -124,10 +125,31 @@ allOf:
> > description: DSI
> > port@1:
> > description: DPI
> > + port@2: false
> >
> > required:
> > - port@0
> > - port@1
> > + - if:
> > + properties:
> > + compatible:
> > + contains:
> > + const: renesas,r9a08g046-du
> > + then:
> > + properties:
> > + port:
> > + properties:
> > + endpoint@0:
> > + description: DSI
> > + endpoint@1:
> > + description: DPI
> > + endpoint@2:
> > + description: LVDS
>
> I'm seeing you are using ports + port@{0,1,2} in driver and soc .dtsi so I think here we will need to
> have ports + port@{0,1,2} aswell.
Good catch. My binding test did not catch this.
I will fix it in next version.
Cheers,
Biju
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
2026-07-08 9:39 ` Biju Das
@ 2026-07-12 15:24 ` Krzysztof Kozlowski
0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-12 15:24 UTC (permalink / raw)
To: Biju Das
Cc: biju.das.au, Andrzej Hajda, Neil Armstrong, Robert Foss,
David Airlie, Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, magnus.damm, laurent.pinchart, Jonas Karlman,
Jernej Skrabec, Luca Ceresoli, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-renesas-soc@vger.kernel.org, Prabhakar Mahadev Lad
On Wed, Jul 08, 2026 at 09:39:01AM +0000, Biju Das wrote:
> Hi Krzysztof Kozlowski,
>
> Thanks for the feedback.
>
> > -----Original Message-----
> > From: Krzysztof Kozlowski <krzk@kernel.org>
> > Sent: 08 July 2026 09:30
> > Subject: Re: [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L
> >
> > On Sat, Jul 04, 2026 at 10:34:11AM +0100, Biju wrote:
> > > From: Biju Das <biju.das.jz@bp.renesas.com>
> > >
> > > The RZ/G3L DSI IP is similar to the RZ/G2L but has different global
> > > PHY timings and also the PLLCLK is ungateble clock. Add the compatible
> > > string "renesas,r9a08g046-mipi-dsi" to handle these difference for the
> > > Renesas RZ/G3L SoC. The power to DSI region is controlled by SYSC block.
> > > Document renesas,sysc-pwrrdy property to handle the power control.
> > >
> > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > > ---
> > > .../bindings/display/bridge/renesas,dsi.yaml | 15 +++++++++++++++
> > > 1 file changed, 15 insertions(+)
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > index c20625b8425e..b114ac3b111a 100644
> > > ---
> > > a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yam
> > > +++ l
> > > @@ -28,6 +28,7 @@ properties:
> > > - const: renesas,r9a09g057-mipi-dsi
> > >
> > > - enum:
> > > + - renesas,r9a08g046-mipi-dsi # RZ/G3L
> > > - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > >
> > > reg:
> > > @@ -108,6 +109,20 @@ properties:
> > > power-domains:
> > > maxItems: 1
> > >
> > > + renesas,sysc-pwrrdy:
> > > + description:
> > > + The system controller PWRRDY indicates to the DSI region, if the power
> > > + supply is ready. PWRRDY needs to be set during power-on before applying
> > > + any other settings. It also needs to be set before powering off the DSI.
> > > + $ref: /schemas/types.yaml#/definitions/phandle-array
> >
> > This feels a lot like a power domain. Please elaborate what is PWRRDY and why power-on/off and power
> > status within SoC (important!) is not encoded as power domain.
>
> We already tried modelling signal as power domain in RZ/G3S and finally Ulf
> agreed that it cannot be power-domain[1]
>
> " SYSC signal seems best to be modelled as a reset.
> Although, it looks like the USB PM domain provider should rather be
> the consumer of that reset, instead of having the reset being consumed
> by the consumers of the USB PM domain."
>
> Then Phillip proposed power sequencing driver[2] and finally he and Rob ok for the
> solution [3]
The problem is that you did not implement or reference here power
sequencing. You created phandle without corresponding any hardware
signal and used "driver" as an argument.
power sequencing does not mean you can stuff random phandles here and
there.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2026-07-12 15:24 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-04 9:34 [PATCH 00/16] Add support for DU, LVDS and DSI on the Renesas RZ/G3L SoC Biju
2026-07-04 9:34 ` [PATCH 01/16] dt-bindings: display: bridge: renesas,dsi: Document RZ/G3L Biju
2026-07-08 8:29 ` Krzysztof Kozlowski
2026-07-08 9:39 ` Biju Das
2026-07-12 15:24 ` Krzysztof Kozlowski
2026-07-04 9:34 ` [PATCH 07/16] dt-bindings: display: renesas,rzg2l-du: Document RZ/G3L SoC Biju
2026-07-08 8:30 ` Krzysztof Kozlowski
2026-07-08 8:38 ` Biju Das
2026-07-08 16:45 ` Tommaso Merciai
2026-07-08 17:12 ` Biju Das
2026-07-04 9:34 ` [PATCH 09/16] dt-bindings: display: bridge: Document Renesas RZ/G3L LVDS encoder Biju
2026-07-04 9:34 ` [PATCH 11/16] arm64: dts: renesas: r9a08g046: Add fcpvd node Biju
2026-07-04 9:34 ` [PATCH 12/16] arm64: dts: renesas: r9a08g046: Add vspd node Biju
2026-07-04 9:34 ` [PATCH 13/16] arm64: dts: renesas: r9a08g046: Add DU and DSI nodes Biju
2026-07-04 9:34 ` [PATCH 14/16] arm64: dts: renesas: r9a08g046: Add LVDS node Biju
2026-07-04 9:34 ` [PATCH 15/16] arm64: dts: renesas: Add DSI overlay for RZ/G3L SMARC EVK with ADV7535 Biju
2026-07-04 9:34 ` [PATCH 16/16] arm64: dts: renesas: Add LVDS overlay for RZ/G3L SMARC EVK with ITE6263 Biju
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox