diff options
| author | Tom Rini <[email protected]> | 2020-07-29 21:16:08 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2020-07-29 21:16:08 -0400 |
| commit | 719f42190d5f0238cb01ef2ffba8af2285f7bc7a (patch) | |
| tree | c789716a82ab552e0d0c1a9242fda7c41b04c238 /common | |
| parent | 7cb2060b4e63a89c50739dc8a9fcd5d73f86f0be (diff) | |
| parent | b9390ce51cb46f4b4acda320e7ea8e0bd120e4b8 (diff) | |
Merge tag 'dm-pull-28jul20' of git://git.denx.de/u-boot-dm
Use binman instead of one of the Rockchip build scripts
Refactor to allow any arch to create SPI-flash images
New button uclass
Diffstat (limited to 'common')
| -rw-r--r-- | common/image-fdt.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/common/image-fdt.c b/common/image-fdt.c index 7005b349666..f13eefb061e 100644 --- a/common/image-fdt.c +++ b/common/image-fdt.c @@ -465,10 +465,20 @@ int boot_get_fdt(int flag, int argc, char *const argv[], uint8_t arch, #ifdef CONFIG_ANDROID_BOOT_IMAGE } else if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID) { struct andr_img_hdr *hdr = buf; - ulong fdt_data, fdt_len; + ulong fdt_data, fdt_len; + u32 fdt_size, dtb_idx; + /* + * Firstly check if this android boot image has dtb field. + */ + dtb_idx = (u32)env_get_ulong("adtb_idx", 10, 0); + if (android_image_get_dtb_by_index((ulong)hdr, dtb_idx, &fdt_addr, &fdt_size)) { + fdt_blob = (char *)map_sysmem(fdt_addr, 0); + if (fdt_check_header(fdt_blob)) + goto no_fdt; - if (!android_image_get_second(hdr, &fdt_data, &fdt_len) && - !fdt_check_header((char *)fdt_data)) { + debug("## Using FDT in Android image dtb area with idx %u\n", dtb_idx); + } else 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; |
