summaryrefslogtreecommitdiff
path: root/common/image-android.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/image-android.c')
-rw-r--r--common/image-android.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/common/image-android.c b/common/image-android.c
index 59079fc..eb1582b 100644
--- a/common/image-android.c
+++ b/common/image-android.c
@@ -120,3 +120,22 @@ int android_image_get_ramdisk(const struct andr_img_hdr *hdr,
*rd_len = hdr->ramdisk_size;
return 0;
}
+
+int android_image_get_fdt(const struct andr_img_hdr *hdr,
+ ulong *fdt_data, ulong *fdt_len)
+{
+ if (!hdr->second_size)
+ return -1;
+
+ printf("FDT load addr 0x%08x size %u KiB\n",
+ hdr->second_addr, DIV_ROUND_UP(hdr->second_size, 1024));
+
+ *fdt_data = (unsigned long)hdr;
+ *fdt_data += hdr->page_size;
+ *fdt_data += ALIGN(hdr->kernel_size, hdr->page_size);
+ *fdt_data += ALIGN(hdr->ramdisk_size, hdr->page_size);
+
+ *fdt_len = hdr->second_size;
+ return 0;
+}
+