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
> <[email protected]> wrote:
> > On Fri, Jan 09, 2026 at 06:59:12PM +0100, Geert Uytterhoeven wrote:
> > > On Fri, 9 Jan 2026 at 18:36, Tommaso Merciai
> > > <[email protected]> wrote:
> > > > On Fri, Jan 09, 2026 at 05:22:02PM +0100, Geert Uytterhoeven wrote:
> > > > > On Fri, 9 Jan 2026 at 17:06, Tommaso Merciai
> > > > > <[email protected]> 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 
> > > > > > > > <[email protected]>
> 
> > > > > > > > --- 
> > > > > > > > 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 -- 
> [email protected]
> 
> 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
> 

Reply via email to