Booting a FIT: The load address of the FDT blob and overlays
Alex G.
mr.nuke.me at gmail.com
Mon Mar 8 23:16:03 CET 2021
Hi,
I was wondering about the correct load address for a devicetree in FIT.
Normally, the dtb can be anywhere in RAM, so it doesn't make sense to
force it to a specific address with a 'load =' FIT directive.
With bootm, the first overlay, but then fail with with:
"Overlayed FDT requires relocation"
The reason is that bootm_find_other() will want to apply the overlays
with the FDT in-place. This would overwrite the FIT image. But later, in
boot_relocate_fdt(), it goes ahead and relocates the FDT anyway. So why
not relocate the FDT, and then apply the overlays?
I also like the solution when booting FITs with SPL_LOAD_FIT_SIMPLE. In
this case, the FDT is placed right after the firmware or OS binary,
unless the 'load =' address is given in the FIT.
Alex
More information about the U-Boot
mailing list