Ard, there is a question for you in the below thread ;-)
On Tue, 6 Oct 2020 at 15:02, Grant Likely grant.likely@arm.com wrote:
On 06/10/2020 13:52, Heinrich Schuchardt wrote:
On 06.10.20 14:43, Grant Likely wrote:
Current U-Boot by default uses the same DT image for both U-Boot internal setup and to provide to the OS. This should be split so that the U-Boot internal version has what U-Boot needs without needs to track mainline Linux DTB schema.
I've been looking into a generic config for adding a separate OS-dtb to U-Boot that is not used internally and is only passed to the OS. That would solve the problem you're seeing above.
What would be the advantage of building said second device-tree into U-Boot instead of loading it from a (possibly signed) file?
I would see that as an implementation detail, but from the OS point of view EBBR requires the firmware to provide a DTB to the OS without the OS having any involvement in providing it. The easiest solution is to embed the OS dtb into U-Boot, but it could be loaded and verified from a file as well.
To strongly state that the DT is a hardware description entity, disconnected from open source projects consuming it, I would still build the DT for the Booted Payload in the context of devicetree.org and append it to either FIP or U-Boot.
From a hierarchical perspective FIP would make more sense (I was told by
the LinuxBoot guys that the ACPI tables are tied to PEI so that they can use them while replacing EDK2. I am not sure my understanding is correct: Ard ?) as I consider that PEI and TF-A are at the same layer I am inclined to promote this. Should the DTB cause problems, the one embedded in the FIT would be replacing the platform base one (I assume this is your "loaded and verified from a file" comment).
g.