summaryrefslogtreecommitdiff
path: root/tools/imximage.c
diff options
context:
space:
mode:
authorEric Nelson <eric@nelint.com>2016-11-16 17:13:41 -0700
committerStefano Babic <sbabic@denx.de>2016-11-29 16:37:37 +0100
commite5491f3ef5aa4b38067bd10dbdded9520305670f (patch)
tree944b20477fc2c113fddd0814453a82aadc65be45 /tools/imximage.c
parent36c0627ba5efd602d9ca8ebaae06f30d1890a41a (diff)
tools: imximage: display DCD block offset, length
These values can be used to sign a U-Boot image for use when loading an image through the Serial Download Protocol (SDP). Note that the address of 0x910000 is usable with the stock configuration of imx_usb_loader on i.MX6 and i.MX7 SOCs: https://github.com/boundarydevices/imx_usb_loader/blob/master/mx6_usb_work.conf#L3 Refer to the section on imx_usb_loader in this post for more details: https://boundarydevices.com/high-assurance-boot-hab-dummies/ Signed-off-by: Eric Nelson <eric@nelint.com>
Diffstat (limited to 'tools/imximage.c')
-rw-r--r--tools/imximage.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/imximage.c b/tools/imximage.c
index c9e42ec5ca..2cd8d88487 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -281,7 +281,6 @@ static void set_dcd_rst_v2(struct imx_header *imxhdr, uint32_t dcd_len,
d = (struct dcd_v2_cmd *)(((char *)d) + len);
len = (char *)d - (char *)&dcd_v2->header;
-
dcd_v2->header.tag = DCD_HEADER_TAG;
dcd_v2->header.length = cpu_to_be16(len);
dcd_v2->header.version = DCD_VERSION;
@@ -501,10 +500,19 @@ static void print_hdr_v2(struct imx_header *imx_hdr)
printf("Entry Point: %08x\n", (uint32_t)fhdr_v2->entry);
if (fhdr_v2->csf && (imximage_ivt_offset != UNDEFINED) &&
(imximage_csf_size != UNDEFINED)) {
+ uint16_t dcdlen;
+ int offs;
+
+ dcdlen = hdr_v2->data.dcd_table.header.length;
+ offs = (char *)&hdr_v2->data.dcd_table
+ - (char *)hdr_v2;
+
printf("HAB Blocks: %08x %08x %08x\n",
(uint32_t)fhdr_v2->self, 0,
hdr_v2->boot_data.size - imximage_ivt_offset -
imximage_csf_size);
+ printf("DCD Blocks: 00910000 %08x %08x\n",
+ offs, be16_to_cpu(dcdlen));
}
} else {
imx_header_v2_t *next_hdr_v2;