[PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC

Tommaso Merciai posted 22 patches 2 months, 2 weeks ago
There is a newer version of this series
[PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Tommaso Merciai 2 months, 2 weeks ago
The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
or vclk2 as DSI Video clock, depending on the selected port.

To accommodate these differences, a SoC-specific
`renesas,r9a09g047-mipi-dsi` compatible string has been added for the
RZ/G3E SoC.

Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
 .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
 1 file changed, 101 insertions(+), 19 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
           - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
 
   reg:
@@ -84,6 +85,13 @@ properties:
           - const: pclk
           - const: vclk
           - const: lpclk
+      - items:
+          - const: pllrefclk
+          - const: aclk
+          - const: pclk
+          - const: vclk1
+          - const: vclk2
+          - const: lpclk
 
   resets:
     oneOf:
@@ -136,13 +144,6 @@ properties:
                   - const: 3
                   - const: 4
 
-            required:
-              - data-lanes
-
-    required:
-      - port@0
-      - port@1
-
 required:
   - compatible
   - reg
@@ -164,14 +165,76 @@ allOf:
       properties:
         compatible:
           contains:
-            const: renesas,r9a09g057-mipi-dsi
+            const: renesas,r9a09g047-mipi-dsi
+    then:
+      properties:
+        ports:
+          properties:
+            port@0:
+              description: DSI input port 0
+            port@1:
+              description: DSI input port 1
+              properties:
+                endpoint:
+                  properties:
+                    data-lanes: false
+            port@2:
+              description: DSI output port
+              properties:
+                endpoint:
+                  $ref: /schemas/media/video-interfaces.yaml#
+                  unevaluatedProperties: false
+
+                  properties:
+                    data-lanes:
+                      description: array of physical DSI data lane indexes.
+                      minItems: 1
+                      items:
+                        - const: 1
+                        - const: 2
+                        - const: 3
+                        - const: 4
+                  required:
+                    - data-lanes
+
+          required:
+            - port@0
+            - port@1
+            - port@2
+    else:
+      properties:
+        ports:
+          properties:
+            port@0: true
+            port@1:
+              properties:
+                endpoint:
+                  properties:
+                    data-lanes: true
+                  required:
+                    - data-lanes
+
+          required:
+            - port@0
+            - port@1
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,r9a09g047-mipi-dsi
     then:
       properties:
         clocks:
-          maxItems: 5
+          items:
+            - description: DSI PLL reference input clock
+            - description: DSI AXI bus clock
+            - description: DSI Register access clock
+            - description: DSI Video clock
+            - description: DSI Video clock (2nd input clock)
+            - description: DSI D-PHY Escape mode transmit clock
 
         clock-names:
-          maxItems: 5
+          minItems: 6
 
         resets:
           maxItems: 2
@@ -179,18 +242,37 @@ allOf:
         reset-names:
           maxItems: 2
     else:
-      properties:
-        clocks:
-          minItems: 6
+      if:
+        properties:
+          compatible:
+            contains:
+              const: renesas,r9a09g057-mipi-dsi
+      then:
+        properties:
+          clocks:
+            maxItems: 5
 
-        clock-names:
-          minItems: 6
+          clock-names:
+            maxItems: 5
 
-        resets:
-          minItems: 3
+          resets:
+            maxItems: 2
 
-        reset-names:
-          minItems: 3
+          reset-names:
+            maxItems: 2
+      else:
+        properties:
+          clocks:
+            minItems: 6
+
+          clock-names:
+            minItems: 6
+
+          resets:
+            minItems: 3
+
+          reset-names:
+            minItems: 3
 
 examples:
   - |
-- 
2.43.0
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Krzysztof Kozlowski 2 months, 1 week ago
On 26/11/2025 15:07, Tommaso Merciai wrote:
> The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> or vclk2 as DSI Video clock, depending on the selected port.
> 
> To accommodate these differences, a SoC-specific
> `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> RZ/G3E SoC.
> 
> Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> ---
>  .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
>  1 file changed, 101 insertions(+), 19 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
>            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
>  
>    reg:
> @@ -84,6 +85,13 @@ properties:
>            - const: pclk
>            - const: vclk
>            - const: lpclk
> +      - items:
> +          - const: pllrefclk
> +          - const: aclk
> +          - const: pclk
> +          - const: vclk1
> +          - const: vclk2
> +          - const: lpclk

Why are you creating completely new lists every time?

No, come with unified approach.

Best regards,
Krzysztof
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Tommaso Merciai 1 month ago
Hi Krzysztof,
Thanks for your review!

On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> On 26/11/2025 15:07, Tommaso Merciai wrote:
> > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > or vclk2 as DSI Video clock, depending on the selected port.
> > 
> > To accommodate these differences, a SoC-specific
> > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > RZ/G3E SoC.
> > 
> > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > ---
> >  .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
> >  1 file changed, 101 insertions(+), 19 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
> >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> >  
> >    reg:
> > @@ -84,6 +85,13 @@ properties:
> >            - const: pclk
> >            - const: vclk
> >            - const: lpclk
> > +      - items:
> > +          - const: pllrefclk
> > +          - const: aclk
> > +          - const: pclk
> > +          - const: vclk1
> > +          - const: vclk2
> > +          - const: lpclk
> 
> Why are you creating completely new lists every time?
> 
> No, come with unified approach.

The intent is not to create a completely new clock list per IP, but to keep a
unified clock definition that can scale with feature differences.

The previous IP supports a single DSI input port, whereas this IP supports two
DSI input ports.

Because of this added capability, the hardware naturally introduced an
additional clock.

Can you please suggest how to handle it?

Kind Regards,
Tommaso

> 
> Best regards,
> Krzysztof
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Geert Uytterhoeven 1 month ago
Hi Tommaso,

On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > or vclk2 as DSI Video clock, depending on the selected port.
> > >
> > > To accommodate these differences, a SoC-specific
> > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > RZ/G3E SoC.
> > >
> > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > > ---
> > >  .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
> > >  1 file changed, 101 insertions(+), 19 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
> > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > >
> > >    reg:
> > > @@ -84,6 +85,13 @@ properties:
> > >            - const: pclk
> > >            - const: vclk
> > >            - const: lpclk
> > > +      - items:
> > > +          - const: pllrefclk
> > > +          - const: aclk
> > > +          - const: pclk
> > > +          - const: vclk1
> > > +          - const: vclk2
> > > +          - const: lpclk
> >
> > Why are you creating completely new lists every time?
> >
> > No, come with unified approach.
>
> The intent is not to create a completely new clock list per IP, but to keep a
> unified clock definition that can scale with feature differences.
>
> The previous IP supports a single DSI input port, whereas this IP supports two
> DSI input ports.
>
> Because of this added capability, the hardware naturally introduced an
> additional clock.
>
> Can you please suggest how to handle it?

Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Tommaso Merciai 1 month ago
Hi Geert,
Thanks for your comment!

On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> Hi Tommaso,
> 
> On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> <tommaso.merciai.xr@bp.renesas.com> wrote:
> > On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > > or vclk2 as DSI Video clock, depending on the selected port.
> > > >
> > > > To accommodate these differences, a SoC-specific
> > > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > > RZ/G3E SoC.
> > > >
> > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > > > ---
> > > >  .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
> > > >  1 file changed, 101 insertions(+), 19 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > > index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
> > > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > > >
> > > >    reg:
> > > > @@ -84,6 +85,13 @@ properties:
> > > >            - const: pclk
> > > >            - const: vclk
> > > >            - const: lpclk
> > > > +      - items:
> > > > +          - const: pllrefclk
> > > > +          - const: aclk
> > > > +          - const: pclk
> > > > +          - const: vclk1
> > > > +          - const: vclk2
> > > > +          - const: lpclk
> > >
> > > Why are you creating completely new lists every time?
> > >
> > > No, come with unified approach.
> >
> > The intent is not to create a completely new clock list per IP, but to keep a
> > unified clock definition that can scale with feature differences.
> >
> > The previous IP supports a single DSI input port, whereas this IP supports two
> > DSI input ports.
> >
> > Because of this added capability, the hardware naturally introduced an
> > additional clock.
> >
> > Can you please suggest how to handle it?
> 
> Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
> Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.

Testing a bit your suggestion
we can do:

  clock-names:
    oneOf:
      - items:
          - const: pllclk
          - const: sysclk
          - const: aclk
          - const: pclk
          - const: vclk
          - const: lpclk
      - minItems: 5
        items:
          - const: pllrefclk
          - const: aclk
          - const: pclk
          - const: vclk
          - const: lpclk
          - const: vclk2

Then later into the compatible if switch we can do:


  - if:
      properties:
        compatible:
          contains:
            const: renesas,r9a09g047-mipi-dsi
    then:
      properties:
        clocks:
          items:
            - description: DSI PLL reference input clock
            - description: DSI AXI bus clock
            - description: DSI Register access clock
            - description: DSI Video clock
            - description: DSI D-PHY Escape mode transmit clock
            - description: DSI Video clock (2nd input clock)

        clock-names:
          minItems: 6

Thanks & Regards,
Tommaso


> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Geert Uytterhoeven 1 month ago
Hi Tommaso,

On Fri, 9 Jan 2026 at 18:36, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> > On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > > > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > > > or vclk2 as DSI Video clock, depending on the selected port.
> > > > >
> > > > > To accommodate these differences, a SoC-specific
> > > > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > > > RZ/G3E SoC.
> > > > >
> > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > > > > ---
> > > > >  .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
> > > > >  1 file changed, 101 insertions(+), 19 deletions(-)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > > > index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
> > > > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > > > >
> > > > >    reg:
> > > > > @@ -84,6 +85,13 @@ properties:
> > > > >            - const: pclk
> > > > >            - const: vclk
> > > > >            - const: lpclk
> > > > > +      - items:
> > > > > +          - const: pllrefclk
> > > > > +          - const: aclk
> > > > > +          - const: pclk
> > > > > +          - const: vclk1
> > > > > +          - const: vclk2
> > > > > +          - const: lpclk
> > > >
> > > > Why are you creating completely new lists every time?
> > > >
> > > > No, come with unified approach.
> > >
> > > The intent is not to create a completely new clock list per IP, but to keep a
> > > unified clock definition that can scale with feature differences.
> > >
> > > The previous IP supports a single DSI input port, whereas this IP supports two
> > > DSI input ports.
> > >
> > > Because of this added capability, the hardware naturally introduced an
> > > additional clock.
> > >
> > > Can you please suggest how to handle it?
> >
> > Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
> > Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.
>
> Testing a bit your suggestion
> we can do:
>
>   clock-names:
>     oneOf:
>       - items:
>           - const: pllclk
>           - const: sysclk
>           - const: aclk
>           - const: pclk
>           - const: vclk
>           - const: lpclk
>       - minItems: 5
>         items:
>           - const: pllrefclk
>           - const: aclk
>           - const: pclk
>           - const: vclk
>           - const: lpclk
>           - const: vclk2
>
> Then later into the compatible if switch we can do:
>
>
>   - if:
>       properties:
>         compatible:
>           contains:
>             const: renesas,r9a09g047-mipi-dsi
>     then:
>       properties:
>         clocks:
>           items:
>             - description: DSI PLL reference input clock
>             - description: DSI AXI bus clock
>             - description: DSI Register access clock
>             - description: DSI Video clock
>             - description: DSI D-PHY Escape mode transmit clock
>             - description: DSI Video clock (2nd input clock)

All descriptions belong at the top level. Just add the 6th one.

>         clock-names:
>           minItems: 6

Exactly.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Tommaso Merciai 4 weeks, 1 day ago
Hi Geert,
Thanks for your comment.

On Fri, Jan 09, 2026 at 06:59:12PM +0100, Geert Uytterhoeven wrote:
> Hi Tommaso,
> 
> On Fri, 9 Jan 2026 at 18:36, Tommaso Merciai
> <tommaso.merciai.xr@bp.renesas.com> wrote:
> > On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> > > On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> > > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > > On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > > > > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > > > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > > > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > > > > or vclk2 as DSI Video clock, depending on the selected port.
> > > > > >
> > > > > > To accommodate these differences, a SoC-specific
> > > > > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > > > > RZ/G3E SoC.
> > > > > >
> > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> > > > > > ---
> > > > > >  .../bindings/display/bridge/renesas,dsi.yaml  | 120 +++++++++++++++---
> > > > > >  1 file changed, 101 insertions(+), 19 deletions(-)
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi.yaml
> > > > > > index c20625b8425e..9917b494a9c9 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,r9a09g047-mipi-dsi # RZ/G3E
> > > > > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > > > > >
> > > > > >    reg:
> > > > > > @@ -84,6 +85,13 @@ properties:
> > > > > >            - const: pclk
> > > > > >            - const: vclk
> > > > > >            - const: lpclk
> > > > > > +      - items:
> > > > > > +          - const: pllrefclk
> > > > > > +          - const: aclk
> > > > > > +          - const: pclk
> > > > > > +          - const: vclk1
> > > > > > +          - const: vclk2
> > > > > > +          - const: lpclk
> > > > >
> > > > > Why are you creating completely new lists every time?
> > > > >
> > > > > No, come with unified approach.
> > > >
> > > > The intent is not to create a completely new clock list per IP, but to keep a
> > > > unified clock definition that can scale with feature differences.
> > > >
> > > > The previous IP supports a single DSI input port, whereas this IP supports two
> > > > DSI input ports.
> > > >
> > > > Because of this added capability, the hardware naturally introduced an
> > > > additional clock.
> > > >
> > > > Can you please suggest how to handle it?
> > >
> > > Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
> > > Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.
> >
> > Testing a bit your suggestion
> > we can do:
> >
> >   clock-names:
> >     oneOf:
> >       - items:
> >           - const: pllclk
> >           - const: sysclk
> >           - const: aclk
> >           - const: pclk
> >           - const: vclk
> >           - const: lpclk
> >       - minItems: 5
> >         items:
> >           - const: pllrefclk
> >           - const: aclk
> >           - const: pclk
> >           - const: vclk
> >           - const: lpclk
> >           - const: vclk2
> >
> > Then later into the compatible if switch we can do:
> >
> >
> >   - if:
> >       properties:
> >         compatible:
> >           contains:
> >             const: renesas,r9a09g047-mipi-dsi
> >     then:
> >       properties:
> >         clocks:
> >           items:
> >             - description: DSI PLL reference input clock
> >             - description: DSI AXI bus clock
> >             - description: DSI Register access clock
> >             - description: DSI Video clock
> >             - description: DSI D-PHY Escape mode transmit clock
> >             - description: DSI Video clock (2nd input clock)
> 
> All descriptions belong at the top level. Just add the 6th one.

Please correct me if I'm wrong but if we move up:

	- description: DSI Video clock (2nd input clock)

To the top level description we will have 6 clocks for G3E and 6 for
RZ/G2L. With that I think dt_binding_check will fail ("is valid under
each of") because of the oneOf.

Kind Regards,
Tommaso

> 
> >         clock-names:
> >           minItems: 6
> 
> Exactly.
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
>
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Geert Uytterhoeven 4 weeks, 1 day ago
Hi Tommaso,

On Mon, 12 Jan 2026 at 12:18, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> On Fri, Jan 09, 2026 at 06:59:12PM +0100, Geert Uytterhoeven wrote:
> > On Fri, 9 Jan 2026 at 18:36, Tommaso Merciai
> > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> > > > On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> > > > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > > > On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > > > > > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > > > > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > > > > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > > > > > or vclk2 as DSI Video clock, depending on the selected port.
> > > > > > >
> > > > > > > To accommodate these differences, a SoC-specific
> > > > > > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > > > > > RZ/G3E SoC.
> > > > > > >
> > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>

> > > > > > > --- 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,r9a09g047-mipi-dsi # RZ/G3E
> > > > > > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > > > > > >
> > > > > > >    reg:
> > > > > > > @@ -84,6 +85,13 @@ properties:
> > > > > > >            - const: pclk
> > > > > > >            - const: vclk
> > > > > > >            - const: lpclk
> > > > > > > +      - items:
> > > > > > > +          - const: pllrefclk
> > > > > > > +          - const: aclk
> > > > > > > +          - const: pclk
> > > > > > > +          - const: vclk1
> > > > > > > +          - const: vclk2
> > > > > > > +          - const: lpclk
> > > > > >
> > > > > > Why are you creating completely new lists every time?
> > > > > >
> > > > > > No, come with unified approach.
> > > > >
> > > > > The intent is not to create a completely new clock list per IP, but to keep a
> > > > > unified clock definition that can scale with feature differences.
> > > > >
> > > > > The previous IP supports a single DSI input port, whereas this IP supports two
> > > > > DSI input ports.
> > > > >
> > > > > Because of this added capability, the hardware naturally introduced an
> > > > > additional clock.
> > > > >
> > > > > Can you please suggest how to handle it?
> > > >
> > > > Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
> > > > Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.
> > >
> > > Testing a bit your suggestion
> > > we can do:
> > >
> > >   clock-names:
> > >     oneOf:
> > >       - items:
> > >           - const: pllclk
> > >           - const: sysclk
> > >           - const: aclk
> > >           - const: pclk
> > >           - const: vclk
> > >           - const: lpclk
> > >       - minItems: 5
> > >         items:
> > >           - const: pllrefclk
> > >           - const: aclk
> > >           - const: pclk
> > >           - const: vclk
> > >           - const: lpclk
> > >           - const: vclk2
> > >
> > > Then later into the compatible if switch we can do:
> > >
> > >
> > >   - if:
> > >       properties:
> > >         compatible:
> > >           contains:
> > >             const: renesas,r9a09g047-mipi-dsi
> > >     then:
> > >       properties:
> > >         clocks:
> > >           items:
> > >             - description: DSI PLL reference input clock
> > >             - description: DSI AXI bus clock
> > >             - description: DSI Register access clock
> > >             - description: DSI Video clock
> > >             - description: DSI D-PHY Escape mode transmit clock
> > >             - description: DSI Video clock (2nd input clock)
> >
> > All descriptions belong at the top level. Just add the 6th one.
>
> Please correct me if I'm wrong but if we move up:
>
>         - description: DSI Video clock (2nd input clock)
>
> To the top level description we will have 6 clocks for G3E and 6 for
> RZ/G2L. With that I think dt_binding_check will fail ("is valid under
> each of") because of the oneOf.

RZ/G2L and RZ/V2H need "maxItems: 5" in their if-sections.

> > >         clock-names:
> > >           minItems: 6
> >
> > Exactly.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Tommaso Merciai 4 weeks, 1 day ago
Hi Geert,
Thanks for your comment.

On Mon, Jan 12, 2026 at 12:35:15PM +0100, Geert Uytterhoeven wrote:
> Hi Tommaso,
> 
> On Mon, 12 Jan 2026 at 12:18, Tommaso Merciai
> <tommaso.merciai.xr@bp.renesas.com> wrote:
> > On Fri, Jan 09, 2026 at 06:59:12PM +0100, Geert Uytterhoeven wrote:
> > > On Fri, 9 Jan 2026 at 18:36, Tommaso Merciai
> > > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > > On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> > > > > On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> > > > > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > > > > On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > > > > > > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > > > > > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > > > > > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > > > > > > or vclk2 as DSI Video clock, depending on the selected port.
> > > > > > > >
> > > > > > > > To accommodate these differences, a SoC-specific
> > > > > > > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > > > > > > RZ/G3E SoC.
> > > > > > > >
> > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> 
> > > > > > > > --- 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,r9a09g047-mipi-dsi # RZ/G3E
> > > > > > > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > > > > > > >
> > > > > > > >    reg:
> > > > > > > > @@ -84,6 +85,13 @@ properties:
> > > > > > > >            - const: pclk
> > > > > > > >            - const: vclk
> > > > > > > >            - const: lpclk
> > > > > > > > +      - items:
> > > > > > > > +          - const: pllrefclk
> > > > > > > > +          - const: aclk
> > > > > > > > +          - const: pclk
> > > > > > > > +          - const: vclk1
> > > > > > > > +          - const: vclk2
> > > > > > > > +          - const: lpclk
> > > > > > >
> > > > > > > Why are you creating completely new lists every time?
> > > > > > >
> > > > > > > No, come with unified approach.
> > > > > >
> > > > > > The intent is not to create a completely new clock list per IP, but to keep a
> > > > > > unified clock definition that can scale with feature differences.
> > > > > >
> > > > > > The previous IP supports a single DSI input port, whereas this IP supports two
> > > > > > DSI input ports.
> > > > > >
> > > > > > Because of this added capability, the hardware naturally introduced an
> > > > > > additional clock.
> > > > > >
> > > > > > Can you please suggest how to handle it?
> > > > >
> > > > > Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
> > > > > Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.
> > > >
> > > > Testing a bit your suggestion
> > > > we can do:
> > > >
> > > >   clock-names:
> > > >     oneOf:
> > > >       - items:
> > > >           - const: pllclk
> > > >           - const: sysclk
> > > >           - const: aclk
> > > >           - const: pclk
> > > >           - const: vclk
> > > >           - const: lpclk
> > > >       - minItems: 5
> > > >         items:
> > > >           - const: pllrefclk
> > > >           - const: aclk
> > > >           - const: pclk
> > > >           - const: vclk
> > > >           - const: lpclk
> > > >           - const: vclk2
> > > >
> > > > Then later into the compatible if switch we can do:
> > > >
> > > >
> > > >   - if:
> > > >       properties:
> > > >         compatible:
> > > >           contains:
> > > >             const: renesas,r9a09g047-mipi-dsi
> > > >     then:
> > > >       properties:
> > > >         clocks:
> > > >           items:
> > > >             - description: DSI PLL reference input clock
> > > >             - description: DSI AXI bus clock
> > > >             - description: DSI Register access clock
> > > >             - description: DSI Video clock
> > > >             - description: DSI D-PHY Escape mode transmit clock
> > > >             - description: DSI Video clock (2nd input clock)
> > >
> > > All descriptions belong at the top level. Just add the 6th one.
> >
> > Please correct me if I'm wrong but if we move up:
> >
> >         - description: DSI Video clock (2nd input clock)
> >
> > To the top level description we will have 6 clocks for G3E and 6 for
> > RZ/G2L. With that I think dt_binding_check will fail ("is valid under
> > each of") because of the oneOf.
> 
> RZ/G2L and RZ/V2H need "maxItems: 5" in their if-sections.

RZ/V2H -> maxItems: 5 is fine.
RZ/G2L -> needs 6 clocks no?

Please correct me if I'm wrong.

Kind Regards,
Tommaso

> 
> > > >         clock-names:
> > > >           minItems: 6
> > >
> > > Exactly.
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
>
Re: [PATCH 09/22] dt-bindings: display: bridge: renesas,dsi: Add support for RZ/G3E SoC
Posted by Geert Uytterhoeven 4 weeks, 1 day ago
Hi Tommaso,

On Mon, 12 Jan 2026 at 13:00, Tommaso Merciai
<tommaso.merciai.xr@bp.renesas.com> wrote:
> On Mon, Jan 12, 2026 at 12:35:15PM +0100, Geert Uytterhoeven wrote:
> > On Mon, 12 Jan 2026 at 12:18, Tommaso Merciai
> > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > On Fri, Jan 09, 2026 at 06:59:12PM +0100, Geert Uytterhoeven wrote:
> > > > On Fri, 9 Jan 2026 at 18:36, Tommaso Merciai
> > > > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > > > On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> > > > > > On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> > > > > > <tommaso.merciai.xr@bp.renesas.com> wrote:
> > > > > > > On Sun, Nov 30, 2025 at 09:24:57AM +0100, Krzysztof Kozlowski wrote:
> > > > > > > > On 26/11/2025 15:07, Tommaso Merciai wrote:
> > > > > > > > > The MIPI DSI interface on the RZ/G3E SoC is nearly identical to that of
> > > > > > > > > the RZ/V2H(P) SoC, except that this have 2 input port and can use vclk1
> > > > > > > > > or vclk2 as DSI Video clock, depending on the selected port.
> > > > > > > > >
> > > > > > > > > To accommodate these differences, a SoC-specific
> > > > > > > > > `renesas,r9a09g047-mipi-dsi` compatible string has been added for the
> > > > > > > > > RZ/G3E SoC.
> > > > > > > > >
> > > > > > > > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
> >
> > > > > > > > > --- 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,r9a09g047-mipi-dsi # RZ/G3E
> > > > > > > > >            - renesas,r9a09g057-mipi-dsi # RZ/V2H(P)
> > > > > > > > >
> > > > > > > > >    reg:
> > > > > > > > > @@ -84,6 +85,13 @@ properties:
> > > > > > > > >            - const: pclk
> > > > > > > > >            - const: vclk
> > > > > > > > >            - const: lpclk
> > > > > > > > > +      - items:
> > > > > > > > > +          - const: pllrefclk
> > > > > > > > > +          - const: aclk
> > > > > > > > > +          - const: pclk
> > > > > > > > > +          - const: vclk1
> > > > > > > > > +          - const: vclk2
> > > > > > > > > +          - const: lpclk
> > > > > > > >
> > > > > > > > Why are you creating completely new lists every time?
> > > > > > > >
> > > > > > > > No, come with unified approach.
> > > > > > >
> > > > > > > The intent is not to create a completely new clock list per IP, but to keep a
> > > > > > > unified clock definition that can scale with feature differences.
> > > > > > >
> > > > > > > The previous IP supports a single DSI input port, whereas this IP supports two
> > > > > > > DSI input ports.
> > > > > > >
> > > > > > > Because of this added capability, the hardware naturally introduced an
> > > > > > > additional clock.
> > > > > > >
> > > > > > > Can you please suggest how to handle it?
> > > > > >
> > > > > > Keep on calling the first vclk "vclk", and add "vclk2" at the end of the list?
> > > > > > Then RZ/V2H can specify the first 5 clocks, and RZ/G3E can specify all 6.
> > > > >
> > > > > Testing a bit your suggestion
> > > > > we can do:
> > > > >
> > > > >   clock-names:
> > > > >     oneOf:
> > > > >       - items:
> > > > >           - const: pllclk
> > > > >           - const: sysclk
> > > > >           - const: aclk
> > > > >           - const: pclk
> > > > >           - const: vclk
> > > > >           - const: lpclk
> > > > >       - minItems: 5
> > > > >         items:
> > > > >           - const: pllrefclk
> > > > >           - const: aclk
> > > > >           - const: pclk
> > > > >           - const: vclk
> > > > >           - const: lpclk
> > > > >           - const: vclk2
> > > > >
> > > > > Then later into the compatible if switch we can do:
> > > > >
> > > > >
> > > > >   - if:
> > > > >       properties:
> > > > >         compatible:
> > > > >           contains:
> > > > >             const: renesas,r9a09g047-mipi-dsi
> > > > >     then:
> > > > >       properties:
> > > > >         clocks:
> > > > >           items:
> > > > >             - description: DSI PLL reference input clock
> > > > >             - description: DSI AXI bus clock
> > > > >             - description: DSI Register access clock
> > > > >             - description: DSI Video clock
> > > > >             - description: DSI D-PHY Escape mode transmit clock
> > > > >             - description: DSI Video clock (2nd input clock)
> > > >
> > > > All descriptions belong at the top level. Just add the 6th one.
> > >
> > > Please correct me if I'm wrong but if we move up:
> > >
> > >         - description: DSI Video clock (2nd input clock)
> > >
> > > To the top level description we will have 6 clocks for G3E and 6 for
> > > RZ/G2L. With that I think dt_binding_check will fail ("is valid under
> > > each of") because of the oneOf.
> >
> > RZ/G2L and RZ/V2H need "maxItems: 5" in their if-sections.
>
> RZ/V2H -> maxItems: 5 is fine.
> RZ/G2L -> needs 6 clocks no?
>
> Please correct me if I'm wrong.

Sorry, RZ/G2L indeed has 6 clocks, as it has sysclk.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds