Hi Prabhakar, On Thu, Mar 7, 2024 at 12:11 AM Prabhakar <prabhakar.csengg@xxxxxxxxx> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > This commit adds support to validate the 'interrupts' and 'interrupt-names' > properties for every supported SoC. This ensures proper handling and > configuration of interrupt-related properties across supported platforms. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Thanks for your patch! > --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml > +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml > @@ -82,38 +82,6 @@ properties: > reg: > maxItems: 1 > > - interrupts: > - oneOf: > - - items: > - - description: A combined interrupt > - - items: > - - description: Error interrupt > - - description: Receive buffer full interrupt > - - description: Transmit buffer empty interrupt > - - description: Break interrupt > - - items: > - - description: Error interrupt > - - description: Receive buffer full interrupt > - - description: Transmit buffer empty interrupt > - - description: Break interrupt > - - description: Data Ready interrupt > - - description: Transmit End interrupt As the above three groups are increasing supersets, you can just use a single "items" listing all 6 interrupts, and describe the first one as "Error interrupt or single combined interrupt". After that, the SoC-specific logic at the end just needs to specify the appropriate minItems/maxItems. > - > - interrupt-names: > - oneOf: > - - items: > - - const: eri > - - const: rxi > - - const: txi > - - const: bri > - - items: > - - const: eri > - - const: rxi > - - const: txi > - - const: bri > - - const: dri > - - const: tei Likewise, with "interrupt-names: false" below for the ones that don't need it. > - > clocks: > minItems: 1 > maxItems: 4 > @@ -173,6 +141,91 @@ allOf: > required: > - resets > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - renesas,scif-r8a7742 > + - renesas,scif-r8a7743 > + - renesas,scif-r8a7744 > + - renesas,scif-r8a7745 > + - renesas,scif-r8a77470 > + - renesas,scif-r8a774a1 > + - renesas,scif-r8a774b1 > + - renesas,scif-r8a774c0 > + - renesas,scif-r8a774e1 > + - renesas,scif-r8a7778 > + - renesas,scif-r8a7779 > + - renesas,scif-r8a7790 > + - renesas,scif-r8a7791 > + - renesas,scif-r8a7792 > + - renesas,scif-r8a7793 > + - renesas,scif-r8a7794 > + - renesas,scif-r8a7795 > + - renesas,scif-r8a7796 > + - renesas,scif-r8a77961 > + - renesas,scif-r8a77965 > + - renesas,scif-r8a77970 > + - renesas,scif-r8a77980 > + - renesas,scif-r8a77990 > + - renesas,scif-r8a77995 > + - renesas,scif-r8a779a0 > + - renesas,scif-r8a779f0 > + - renesas,scif-r8a779g0 Please simplify using family-specific names: - renesas,rcar-gen1-scif - renesas,rcar-gen2-scif - renesas,rcar-gen3-scif - renesas,rcar-gen4-scif > + then: > + properties: > + interrupts: > + items: > + - description: A combined interrupt Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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