summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYun Cai <yun.cai@amlogic.com>2016-01-18 17:08:29 +0800
committerHaixiang Bao <haixiang.bao@amlogic.com>2016-06-06 01:22:11 -0700
commitb2f10c1a6902d36be0d6fcb005ba0ee6274a0c72 (patch)
treeed86696e45b0c0aa9db67fc73096ea5bc6190abd
parent73a2f428e16acfa6e5d095b03b1bf1bb487ed2d1 (diff)
downloadu-boot-odroid-c1-b2f10c1a6902d36be0d6fcb005ba0ee6274a0c72.tar.gz
PD#118318: bootm support android image without dtb
gxbb skt: boot android from sdcard, dtb.img in sdcard p212 --verified by zhigang.yu Change-Id: Ib85d62f0ffad3ff7afa1bcbaeac41f1868f56bb8
-rw-r--r--common/bootm.c1
-rw-r--r--common/image-fdt.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/common/bootm.c b/common/bootm.c
index 3e081e691d..961b08be77 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -246,6 +246,7 @@ static int bootm_find_fdt(int flag, int argc, char * const argv[])
ft_addr_bak = (char *)images.ft_addr;
ft_len_bak = images.ft_len;
images.ft_addr = (char *)map_sysmem(dtb_mem_addr, 0);
+ images.ft_len = fdt_get_header(dtb_mem_addr, totalsize);
printf("load dtb from 0x%lx ......\n", (unsigned long)(images.ft_addr));
#endif
ret = boot_get_fdt(flag, argc, argv, IH_ARCH_DEFAULT, &images,
diff --git a/common/image-fdt.c b/common/image-fdt.c
index 835d3410e0..14ec22509a 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -435,6 +435,9 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
fdt_error("fdt size != image size");
goto error;
}*/
+ } else {
+ printf("## No Flattened Device Tree\n");
+ goto error;
}
#else
debug("## No Flattened Device Tree\n");
@@ -452,8 +455,10 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
no_fdt:
ok_no_fdt = 1;
error:
+#ifndef CONFIG_ANDROID_IMG
*of_flat_tree = NULL;
*of_size = 0;
+#endif
if (!select && ok_no_fdt) {
debug("Continuing to boot without FDT\n");
return 0;