Hi Rob, On Mon, Jul 25, 2022 at 6:40 PM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > On Mon, Jul 25, 2022 at 4:02 AM Lad, Prabhakar > <prabhakar.csengg@xxxxxxxxx> wrote: > > > > Hi Rob, > > > > On Fri, Jul 22, 2022 at 5:39 PM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > > > > > On Fri, Jul 22, 2022 at 7:29 AM Lad, Prabhakar > > > <prabhakar.csengg@xxxxxxxxx> wrote: > > > > > > > > On Fri, Jul 22, 2022 at 12:08 PM Lad, Prabhakar > > > > <prabhakar.csengg@xxxxxxxxx> wrote: > > > > > > > > > > On Thu, Jul 21, 2022 at 11:24 PM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > > > > > > > > > > > On Thu, Jul 21, 2022 at 4:18 PM Lad, Prabhakar > > > > > > <prabhakar.csengg@xxxxxxxxx> wrote: > > > > > > > > > > > > > > Hi Rob, > > > > > > > > > > > > > > On Thu, Jul 21, 2022 at 5:57 PM Rob Herring <robh+dt@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > On Thu, Jul 21, 2022 at 9:23 AM Lad, Prabhakar > > > > > > > > <prabhakar.csengg@xxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > Hi Krzysztof, > > > > > > > > > > > > > > > > > > On Thu, Jul 21, 2022 at 4:12 PM Krzysztof Kozlowski > > > > > > > > > <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > > > > > On 21/07/2022 17:07, Lad, Prabhakar wrote: > > > > > > > > > > > Fyi keeping even a single SMARC board in arm renesas.yaml schema I see > > > > > > > > > > > dtbs_check failures. > > > > > > > > > > > > > > > > > > > > > > Any pointers on how I can get around this issue? > > > > > > > > > > > > > > > > > > > > Few months ago: > > > > > > > > > > https://lore.kernel.org/linux-devicetree/cf7728fd-b5c8-cd3d-6074-d27f38f86545@xxxxxxxxxx/ > > > > > > > > > > > > > > > > > > > Thanks for the link. > > > > > > > > > > > > > > > > > > > Although Rob admitted in the thread this is in general allowed > > > > > > > > > > configuration, to me it is still confusing - the left-most compatible is > > > > > > > > > > not the most specific. Non obvious, confusing and it seems dtschema does > > > > > > > > > > not support it? > > > > > > > > > > > > > > > > > > > It looks like dtschema does not support it. > > > > > > > > > > > > > > > > The issue is the same as licensed IP where we have a generic > > > > > > > > compatible and per licensee compatibles in separate schemas. The > > > > > > > > solution anytime a compatible exists in more than 1 schema is a custom > > > > > > > > 'select' which excludes that compatible. That would be messy here > > > > > > > > though due to the large number of compatibles. Perhaps we could > > > > > > > > instead merge a custom select with the default generated one. Then the > > > > > > > > schema would just need: > > > > > > > > > > > > > > > > select: > > > > > > > > not: > > > > > > > > properties: > > > > > > > > contains: > > > > > > > > const: renesas,smarc-evk > > > > > > > > > > > > Being a novice here with the select, I added the below to ignore the > > > > arm schema if its the RISC-V board: > > > > > > > > diff --git a/Documentation/devicetree/bindings/arm/renesas.yaml > > > > b/Documentation/devicetree/bindings/arm/renesas.yaml > > > > index ff80152f092f..77e78136bfce 100644 > > > > --- a/Documentation/devicetree/bindings/arm/renesas.yaml > > > > +++ b/Documentation/devicetree/bindings/arm/renesas.yaml > > > > @@ -9,6 +9,16 @@ title: Renesas SH-Mobile, R-Mobile, and R-Car > > > > Platform Device Tree Bindings > > > > maintainers: > > > > - Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > > > > > > > > +# We want ignore this schema if the board is of RISC-V arch > > > > +select: > > > > + not: > > > > + properties: > > > > + compatible: > > > > + contains: > > > > + const: renesas,r9a07g043f1 > > > > + required: > > > > + - compatible > > > > + > > > > properties: > > > > $nodename: > > > > const: '/' > > > > > > > > But when I run the dt_binding_check, I get the below issues: > > > > > > That would only work if we change how 'select' is generated. As I > > > said, the above would have to be merged with what we normally generate > > > (see processed-schema.json for what that looks like). > > > > > I'm a bit lost here! > > > > Could you please elaborate what you mean by merging a custom select > > with the default generated one. When I compared the > > processed-schema.json with/without my changes they were the same. > > dtschema generates 'select' if it is not present and $nodename or > compatible properties are. It would instead need to combine your > 'select' above with what it generates instead. Otherwise, wiht just > the above, it is going to match every node with compatible not > containing 'renesas,r9a07g043f1' which would be 99.9% of nodes. > Thanks for the pointer, I managed to get the select working with ARM and RISC-V schema. CHeers, Prabhakar