[U-Boot] [PATCH v3 1/4] sunxi: move SPL-related definitions to platform-specific include

Bernhard Nortmann bernhard.nortmann at web.de
Fri Sep 18 09:58:43 CEST 2015


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 at 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


More information about the U-Boot mailing list