> On Thu, 28 Oct 2021 at 05:51, Simon Glass <email@example.com> wrote:
> > On Tue, 26 Oct 2021 at 00:46, Ilias Apalodimas
> > <firstname.lastname@example.org> wrote:
> > Linux actually doesn't care if the U-Boot properties are in the tree,
> > so long as we have proper bindings. My point here is we only need
> > either:
> > a. one devicetree, shared with Linux and U-Boot (and TF-A?)
> > b. two devicetrees, one for use in firmware and one for passing to Linux
> > We don't need to separate out the U-Boot properties into a second (or
> > third) devicetree. There just isn't any point.
> Again if we are talking about bindings that are upstream in the spec,
> then we agree. Depending on the SRAM limitation we can even do (a).
> If the vendor messes up the DT backwards compatibility then we can do
> (b). If you expect TF-A and FIP to go pick up the special bindings
> U-Boot needs, then we disagree.
*puts developer at board vendor hat on* Sometimes (personally I'd say
usually) it isn't possible to have a backwards compatible tree. Also,
like it or not, in the device tree there *are* configuration options
which are not hardware dependent (eg. internal ethernet connection on
Are you referring to DPAA2 configuration to create the ethernet port itself ?
This is indeed configuration. There are many ways to handle those ones.
As well as SerDes configuration to make PCI lanes or MDIO lanes.
Yet the two are different in nature: SerDes configuration must match board layout,
so it is about "no user choice" configuration. This configuration could be statically
defined and attached with the board. But it there is a SoM with a carrier board,
we may need to compose that at runtime for development, or make it static build
for product packaging.
DPAA2 configuration is user choice driven. Those choices can be merged in the DT
to be passed to the OS at runtime. There are multiple ways to deal with that, from DT overlays
to U-Boot DPAA2 command line extensions that would inject the DT necessary nodes.
So a vendor doesn't necessarily need to "mess things up"
to need (b). And as you know, my point is, that this device tree has
to come from the distribution, it must not be compiled in into the
I wouldn't bet that all distro providers will always come with a DT...
I feel like I've repeated this far too many times. Therefore, this
will be my last comment about it and I would really like to see that
this - very real - scenario is treated as a valid use case and will be
supported in your systemready vision.
I have been building (shared it on the list) a deck to go into those details. I am almost ready to talk to it.