[U-Boot] [PATCH v3 1/4] sunxi: move SPL-related definitions to platform-specific include
Hans de Goede
hdegoede at redhat.com
Sun Sep 20 15:06:40 CEST 2015
Hi,
On 09/18/2015 03:58 AM, Bernhard Nortmann wrote:
> 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...
Good point, I've fixed this up in my personal tree.
Regards,
Hans
More information about the U-Boot
mailing list