X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=tools%2Fimximage.c;h=5c23fba3b12162a2f81e004fa07a0fa8ea4fc115;hb=79b8849d4c1e73df2a79a1d5a5f6166d0dd67a12;hp=eb7e682038d0c7f83e7c2e1f74cd31ccb6c6cc42;hpb=02ccab1908c405fe1449457d4a0d343784a30acb;p=platform%2Fkernel%2Fu-boot.git diff --git a/tools/imximage.c b/tools/imximage.c index eb7e682..5c23fba 100644 --- a/tools/imximage.c +++ b/tools/imximage.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2009 * Stefano Babic, DENX Software Engineering, sbabic@denx.de. @@ -5,16 +6,18 @@ * (C) Copyright 2008 * Marvell Semiconductor * Written-by: Prafulla Wadaskar - * - * SPDX-License-Identifier: GPL-2.0+ */ #include "imagetool.h" #include #include "imximage.h" +#include #define UNDEFINED 0xFFFFFFFF +#if !defined(CONFIG_IMX_DCD_ADDR) +#define CONFIG_IMX_DCD_ADDR 0x00910000 +#endif /* * Supported commands for configuration file */ @@ -507,8 +510,7 @@ static void print_hdr_v2(struct imx_header *imx_hdr) genimg_print_size(hdr_v2->boot_data.size); printf("Load Address: %08x\n", (uint32_t)fhdr_v2->boot_data_ptr); printf("Entry Point: %08x\n", (uint32_t)fhdr_v2->entry); - if (fhdr_v2->csf && (imximage_ivt_offset != UNDEFINED) && - (imximage_csf_size != UNDEFINED)) { + if (fhdr_v2->csf) { uint16_t dcdlen; int offs; @@ -516,12 +518,18 @@ static void print_hdr_v2(struct imx_header *imx_hdr) offs = (char *)&hdr_v2->data.dcd_table - (char *)hdr_v2; - printf("HAB Blocks: %08x %08x %08x\n", + /* + * The HAB block is the first part of the image, from + * start of IVT header (fhdr_v2->self) to the start of + * the CSF block (fhdr_v2->csf). So HAB size is + * calculated as: + * HAB_size = fhdr_v2->csf - fhdr_v2->self + */ + printf("HAB Blocks: 0x%08x 0x%08x 0x%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)); + (uint32_t)(fhdr_v2->csf - fhdr_v2->self)); + printf("DCD Blocks: 0x%08x 0x%08x 0x%08x\n", + CONFIG_IMX_DCD_ADDR, offs, be16_to_cpu(dcdlen)); } } else { imx_header_v2_t *next_hdr_v2;