Prepare for booting Android images which lack any DTB in the second
area by using 'fdtaddr' environment variable as source/address of FDT.
No functional/behavioral change expected in this patch.

Signed-off-by: Eugeniu Rosca <ero...@de.adit-jv.com>
---
Changes in v2:
 - Restored fdt_totalsize() check
 - Link v1: https://patchwork.ozlabs.org/patch/1071590/
---
 common/image-fdt.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/common/image-fdt.c b/common/image-fdt.c
index 68bcab85baf4..a5d8b41d0209 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -461,17 +461,16 @@ int boot_get_fdt(int flag, int argc, char * const argv[], 
uint8_t arch,
                struct andr_img_hdr *hdr = buf;
                ulong fdt_data, fdt_len;
 
-               if (android_image_get_second(hdr, &fdt_data, &fdt_len) != 0)
-                       goto no_fdt;
+               if (!android_image_get_second(hdr, &fdt_data, &fdt_len) &&
+                   !fdt_check_header((char *)fdt_data)) {
+                       fdt_blob = (char *)fdt_data;
+                       if (fdt_totalsize(fdt_blob) != fdt_len)
+                               goto error;
 
-               fdt_blob = (char *)fdt_data;
-               if (fdt_check_header(fdt_blob) != 0)
+                       debug("## Using FDT in Android image second area\n");
+               } else {
                        goto no_fdt;
-
-               if (fdt_totalsize(fdt_blob) != fdt_len)
-                       goto error;
-
-               debug("## Using FDT found in Android image second area\n");
+               }
 #endif
        } else {
                debug("## No Flattened Device Tree\n");
-- 
2.21.0

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to