diff options
author | Yun Cai <yun.cai@amlogic.com> | 2016-01-18 17:08:29 +0800 |
---|---|---|
committer | Haixiang Bao <haixiang.bao@amlogic.com> | 2016-06-06 01:22:11 -0700 |
commit | b2f10c1a6902d36be0d6fcb005ba0ee6274a0c72 (patch) | |
tree | ed86696e45b0c0aa9db67fc73096ea5bc6190abd | |
parent | 73a2f428e16acfa6e5d095b03b1bf1bb487ed2d1 (diff) | |
download | u-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.c | 1 | ||||
-rw-r--r-- | common/image-fdt.c | 5 |
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; |