From 2059ecf30f389ec0e396fccc067f6f9fecb36a2c Mon Sep 17 00:00:00 2001 From: "Cooper Jr., Franklin" Date: Fri, 16 Jun 2017 17:25:07 -0500 Subject: [PATCH] fdt: Enable selecting correct DTB from appended FIT Image 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 Reviewed-by: Lokesh Vutla Reviewed-by: Tom Rini --- lib/fdtdec.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 91503b8cb9..fbb48bf74d 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -4,6 +4,7 @@ */ #ifndef USE_HOSTCC +#include #include #include #include @@ -1221,6 +1222,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;