diff options
author | Stefano Babic <sbabic@denx.de> | 2015-10-15 15:34:14 +0200 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2015-10-15 15:34:14 +0200 |
commit | f74dc51bcab924a30e41b33981a4f96af3f9dd57 (patch) | |
tree | 560eead1ca9984554be3a5c9a5332b531c102cb0 /tools/mksunxiboot.c | |
parent | cf04ad3219260c3c39ec3dbfe2427e3463e8dbd5 (diff) | |
parent | 297faccca2235e359012118495b9b73451d54bb9 (diff) | |
download | u-boot-imx-f74dc51bcab924a30e41b33981a4f96af3f9dd57.zip u-boot-imx-f74dc51bcab924a30e41b33981a4f96af3f9dd57.tar.gz u-boot-imx-f74dc51bcab924a30e41b33981a4f96af3f9dd57.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot
Diffstat (limited to 'tools/mksunxiboot.c')
-rw-r--r-- | tools/mksunxiboot.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c index 676d392..9c1c5b7 100644 --- a/tools/mksunxiboot.c +++ b/tools/mksunxiboot.c @@ -15,23 +15,8 @@ #include <errno.h> #include <sys/types.h> #include <sys/stat.h> +#include "asm/arch/spl.h" -/* boot head definition from sun4i boot code */ -struct boot_file_head { - uint32_t b_instruction; /* one intruction jumping to real code */ - uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ - uint32_t check_sum; /* generated by PC */ - uint32_t length; /* generated by PC */ - /* - * We use a simplified header, only filling in what is needed - * by the boot ROM. To be compatible with Allwinner tools we - * would need to implement the proper fields here instead of - * padding. - */ - uint8_t pad[12]; /* align to 32 bytes */ -}; - -#define BOOT0_MAGIC "eGON.BT0" #define STAMP_VALUE 0x5F0A6C39 /* check sum functon from sun4i boot code */ @@ -133,6 +118,10 @@ int main(int argc, char *argv[]) ALIGN(file_size + sizeof(struct boot_file_head), BLOCK_SIZE); img.header.b_instruction = cpu_to_le32(img.header.b_instruction); img.header.length = cpu_to_le32(img.header.length); + + memcpy(img.header.spl_signature, SPL_SIGNATURE, 3); /* "sunxi" marker */ + img.header.spl_signature[3] = SPL_HEADER_VERSION; + gen_check_sum(&img.header); count = write(fd_out, &img, le32_to_cpu(img.header.length)); |