
Am 17.09.2015 um 18:52 schrieb Bernhard Nortmann:
The sunxi platform currently doesn't seem to make any use of the asm/arch-sunxi/spl.h file. This patch moves some declarations from tools/mksunxiboot.c into it.
This enables us to reuse those definitions when extending the sunxi board code (boards/sunxi/boards.c).
Signed-off-by: Bernhard Nortmann bernhard.nortmann@web.de
Changes in v3:
- (new with v3)
Changes in v2: None
arch/arm/include/asm/arch-sunxi/spl.h | 25 +++++++++++++++++-------- tools/mksunxiboot.c | 17 +---------------- 2 files changed, 18 insertions(+), 24 deletions(-)
diff --git a/arch/arm/include/asm/arch-sunxi/spl.h b/arch/arm/include/asm/arch-sunxi/spl.h index acbec46..751de75 100644 --- a/arch/arm/include/asm/arch-sunxi/spl.h +++ b/arch/arm/include/asm/arch-sunxi/spl.h @@ -9,12 +9,21 @@ #ifndef _ASM_ARCH_SPL_H_ #define _ASM_ARCH_SPL_H_
-#define BOOT_DEVICE_NONE 0 -#define BOOT_DEVICE_XIP 1 -#define BOOT_DEVICE_NAND 2 -#define BOOT_DEVICE_ONE_NAND 3 -#define BOOT_DEVICE_MMC2 5 /*emmc*/ -#define BOOT_DEVICE_MMC1 6 -#define BOOT_DEVICE_XIPWAIT 7 -#define BOOT_DEVICE_MMC2_2 0xff +#define BOOT0_MAGIC "eGON.BT0"
+/* 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 */
+};
- #endif
diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c index 676d392..54f4d05 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 */
One minor thing: This doesn't touch the boilerplate header of asm/arch-sunxi/spl.h. However "a copy of omap3/spl.h" and the copyright notice don't really apply any longer, so feel free to change that to something more suitable...
Regards, B. Nortmann