summaryrefslogtreecommitdiff
path: root/tools/mksunxiboot.c
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2015-10-15 15:34:14 +0200
committerStefano Babic <sbabic@denx.de>2015-10-15 15:34:14 +0200
commitf74dc51bcab924a30e41b33981a4f96af3f9dd57 (patch)
tree560eead1ca9984554be3a5c9a5332b531c102cb0 /tools/mksunxiboot.c
parentcf04ad3219260c3c39ec3dbfe2427e3463e8dbd5 (diff)
parent297faccca2235e359012118495b9b73451d54bb9 (diff)
downloadu-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.c21
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));