RE: [PATCH v4 1/5] dt-bindings: arm: renesas: Document Renesas RZ/G2UL SMARC EVK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Subject: Re: [PATCH v4 1/5] dt-bindings: arm: renesas: Document Renesas
> RZ/G2UL SMARC EVK
> 
> On 04/04/2022 14:29, Geert Uytterhoeven wrote:
> >>
> >> User-space is one example. We don't limit to this. Anyway, the
> >> compatible is the main way to check it. Machine is just test, not
> >> compatible, not part of ABI. soc_id and revision could help, but
> >> these are separate ABIs. They can be not compiled-in and then you
> >> have only compatible.
> >>
> >> Regardless whether there is another way for user-space to figure out
> >> hardware, it does not change the fact that such usage of compatibles
> >> does not look correct with Devicetree spec.
> >> "...They
> >>  allow a device to express its compatibility with a family of similar
> >> devices, potentially allowing a single  device driver to match
> >> against several devices."
> >>
> >> The "renesas,smarc-evk" compatible is not the most specific one,
> >> because different configurations have it.
> >
> > From the letter of the spec, this is indeed not valid.
> 
> It is also invalid from logical meaning of compatibles... The generic
> compatible (SMARC board) is not compatible with a specific SoC. It's the
> other way around.
> 
> > However, we started doing this several years ago, as the various
> > variants of the Salvator-X(S) and ULCB boards are identical, and just
> > differ in SoC (actually SiP) mounted.
> >
> > E.g. arch/arm64/boot/dts/renesas/r8a77951-salvator-xs.dts has
> > compatible = "renesas,salvator-xs", "renesas,r8a7795".
> >
> > While we could add e.g. "renesas,salvator-xs-r8a7791", doing so would
> > inflate the bindings a lot.

Rob,

Any thoughts on this topic?

> 
> That what is actually happening for example in SoM-like cases on NXP. I
> understand that it grows, but that's why we have schema to find mistakes.
> :)
> 
> >> Again - you intend to use a pair or even a triple of compatibles to
> >> uniquely identify type of hardware. I don't think it is correct - the
> >> final, most specific compatible, uniquely identifies the hardware.
> >> All other compatibles are just for fallback.
> >
> > And what to do when adding more DT overlays for expansion boards?
> > This would become unmanageable soon.
> 
> There are two topics here:
> 1. Whether we should follow DT spec. If no, why Renesas is special and for
> other cases we follow DT spec? "Unmanageable" is not the answer here,
> because other platforms will have the same problem.
> 
> 2. If the answer for above is yes, we follow DT spec, then the question is
> how to deal with overlays. In current code - I don't know. Long term,
> maybe we need a way to append to existing compatible (to extend it)?
> Some expansion boards do not need to change top level compatible, because
> they only add constrained features (like Arduino shields with some
> regulator). You just add it to DT and presence of new compatible, e.g. of
> regulator, is enough. You do not need to change the top level compatible.
> 

Does the rules for compatible values (most to least descriptive) 
also apply to the root node?

Cheers,
Biju




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux