Re: [PATCH v3 01/10] ASoC: dt-bindings: renesas,fsi: add support multiple clocks

Geert Uytterhoeven <[email protected]> Fri, 15 May 2026 09:21:13 +0200
Newsgroups dev.linux.lists.sashiko,org.kernel.vger.linux-devicetree
Message-ID <CAMuHMdXVp5qR39rxm1GnTx5voXfrRWy85E9ROqH6yFLXhBXDkA@mail.gmail.com>
Hi Rob,

On Thu, 14 May 2026 at 17:17, Rob Herring <[email protected]> wrote:
> On Tue, May 12, 2026 at 01:42:06PM +0700, Bui Duc Phuc wrote:
> > Based on the Sashiko AI review, I am thinking of adding the following
> > constraints specifically for renesas,fsi2-r8a7740 to address the
> > reported issues.
> >
> > I think this may also help balance both Geert's and Krzysztof's
> > comments from the previous v2 review.
> >
> > Does this approach look reasonable to you?
> >
> > ---------------------------------------------
> >
> > -allOf:
> > -  - $ref: dai-common.yaml#
> > -
> >  properties:
> >    $nodename:
> >      pattern: "^sound@.*"
> > @@ -94,6 +91,78 @@ required:
> >
> >  unevaluatedProperties: false
> >
> > +allOf:
> > +  - $ref: dai-common.yaml#
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: renesas,fsi2-r8a7740
> > +    then:
> > +      properties:
> > +        clock-names:
> > +          oneOf:
> > +            - items: # FSIA & FSIB is slave
> > +                - const: fck
> > +                - const: spu
> > +            - items: # FSIA slave & FSIB master use internal clock
> > +                - const: fck
> > +                - const: spu
> > +                - const: ickb
> > +                - const: divb
> > +            - items: # FSIA slave & FSIB master use external clock
> > +                - const: fck
> > +                - const: spu
> > +                - const: ickb
> > +                - const: xckb
> > +            - items: # FSIB slave & FSIA master use internal clock
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: diva
> > +            - items: # FSIB slave & FSIA master use external clock
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: xcka
> > +            - items: # FSIA master ex-clk  & FSIB master ex-clk
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: xcka
> > +                - const: ickb
> > +                - const: xckb
> > +            - items: # FSIA master in-xlk  & FSIB master in-clk
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: diva
> > +                - const: ickb
> > +                - const: divb
> > +            - items: # FSIA master in-clk  & FSIB master ex-clk
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: diva
> > +                - const: ickb
> > +                - const: xckb
> > +            - items: # FSIA master ex-clk  & FSIB master in-clk
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: xcka
> > +                - const: ickb
> > +                - const: divb
> > +            - items: # FSIA & FSIB  full clock support
> > +                - const: fck
> > +                - const: spu
> > +                - const: icka
> > +                - const: xcka
> > +                - const: diva
> > +                - const: ickb
> > +                - const: xckb
> > +                - const: divb
>
> Between this and just giving up on enforcing an order, I pick the
> latter.

The important part is that "fck" must be first, and that the others must
be unique.  Isn't there a way to express that?

    minItems: 2
    maxItems: 8
    uniqueItems: true
    items:
      - const: fck
      - enum: [ spu, icka, ickb, diva, divb, xcka, xckb ]

or does the single enum line only work if it's the sole item, and
do we need 7 copies here?

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