Boot interface for device trees on ARM
Jeremy Kerr
jeremy.kerr at canonical.com
Tue May 18 15:24:43 EST 2010
Hi Nicolas,
> I think that, for the moment, it is best if the bootloader on already
> existing subarchitectures where DT is introduced still preserve the
> already existing ability to boot using ATAGs. This allows for the
> testing and validation of the DT concept against the legacy ATAG method
> more easily.
Just to clarify - by "still preserve the existing ability to use ATAGs" you
mean only for non-DT boot, right? This proposal still does not require
ATAG_DEVTREE?
> Why one DT machine ID per subarchitecture? Simply because a significant
> part of the DT handling code will have to be subarchitecture specific
> anyway. The timer hardware, the GPIO configuration and muxing, SOC
> specific platform data handling, power management config, and many other
> things are simply too different from one SOC family to another and
> trying to have a single global DT support code to rule them all is
> insane.
The code for DT boot will be still subarch-specific, but I don't think we need
IDs for that. There is enough information in the device tree to select the
subarch-specific code to use for early init, without needing to parameterise
every element of the machine. The machine-level "compatible" property allows
us to do this.
Therefore, I don't think we need the machine ID at all: once the DT is
available, we can use that for any machine-specific stuff. Even though we're
not *configuring* it from the device tree, we can *select* it from there
instead.
Cheers,
Jeremy
More information about the devicetree-discuss
mailing list