[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