]> git.sur5r.net Git - u-boot/blobdiff - tools/mksunxiboot.c
Merge branch 'master' of http://git.denx.de/u-boot-sunxi
[u-boot] / tools / mksunxiboot.c
index 0035f6ea265d926837ed576418dc81fbed3970c9..676d392fb4d5a5c505fe505d4ab3d1ce25bc61eb 100644 (file)
@@ -65,7 +65,13 @@ int gen_check_sum(struct boot_file_head *head_p)
 
 #define SUN4I_SRAM_SIZE 0x7600 /* 0x7748+ is used by BROM */
 #define SRAM_LOAD_MAX_SIZE (SUN4I_SRAM_SIZE - sizeof(struct boot_file_head))
-#define BLOCK_SIZE 512
+
+/*
+ * BROM (at least on A10 and A20) requires NAND-images to be explicitly aligned
+ * to a multiple of 8K, and rejects the image otherwise. MMC-images are fine
+ * with 512B blocks. To cater for both, align to the largest of the two.
+ */
+#define BLOCK_SIZE 0x2000
 
 struct boot_img {
        struct boot_file_head header;
@@ -93,7 +99,7 @@ int main(int argc, char *argv[])
                return EXIT_FAILURE;
        }
 
-       memset(img.pad, 0, BLOCK_SIZE);
+       memset(&img, 0, sizeof(img));
 
        /* get input file size */
        file_size = lseek(fd_in, 0, SEEK_END);