
This patch gives U-boot the runtime support to have the board specific code decide which FDT to use. This is especially useful for devices that need this type of runtime determination and also doesn't use SPL.
Signed-off-by: Franklin S Cooper Jr fcooper@ti.com Reviewed-by: Lokesh Vutla lokeshvutla@ti.com Reviewed-by: Tom Rini trini@konsulko.com --- lib/fdtdec.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index c072e54..8bd2940 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -4,6 +4,7 @@ */
#ifndef USE_HOSTCC +#include <boot_fit.h> #include <common.h> #include <dm.h> #include <errno.h> @@ -1251,6 +1252,15 @@ int fdtdec_setup(void) gd->fdt_blob = (ulong *)&_image_binary_end; else gd->fdt_blob = (ulong *)&__bss_end; + +# elif defined CONFIG_FIT_EMBED + gd->fdt_blob = locate_dtb_in_fit(&_end); + + if (gd->fdt_blob == NULL || gd->fdt_blob <= ((void *)&_end)) { + puts("Failed to find proper dtb in embedded FIT Image\n"); + return -1; + } + # else /* FDT is at end of image */ gd->fdt_blob = (ulong *)&_end;