[U-Boot] [PATCH] tools: make imxheader size align on page size

stefan at agner.ch stefan at agner.ch
Wed Apr 16 15:29:13 CEST 2014


From: Stefan Agner <stefan at agner.ch>

The i.MX V2 headers total size is 0x7fc. The header is placed
in front of the U-Boot binary which of course is aligned to
text base. Hence the header starting point is not page
aligned (e.g. at 0x3f400404). This is still a valid header,
which boots fine using serial loader. However, the image
fails to boot from NAND (tested on a VF61x SoC).

Most parts of the header have a length of a multiply of 16
bytes.The rest of the header is filled with 8 bytes long DCD
data. Only the boot data header is 3 word long (12 bytes).

This patch makes sure the whole image is exactly 0x800 by
adding one padding word after the boot data header. Since
the individual data structures are referenced by pointers,
this still results in a valid i.MX V2 header while
maintaining page alignment.

Signed-off-by: Stefan Agner <stefan at agner.ch>
---
I'm not 100% sure wheather this is the right approach solving
this issue. This works for me, also tested with DCD data.

 tools/imximage.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/imximage.h b/tools/imximage.h
index 01f861e..b596fb1 100644
--- a/tools/imximage.h
+++ b/tools/imximage.h
@@ -149,6 +149,7 @@ typedef struct {
 typedef struct {
 	flash_header_v2_t fhdr;
 	boot_data_t boot_data;
+	uint32_t reserved1;
 	dcd_v2_t dcd_table;
 } imx_header_v2_t;
 
-- 
1.9.2



More information about the U-Boot mailing list