[U-Boot] [PATCH v2 18/23] sunxi: A64: enable SPL
Andre Przywara
andre.przywara at arm.com
Fri Dec 16 18:40:43 CET 2016
Hi,
On 05/12/16 06:26, Simon Glass wrote:
> On 4 December 2016 at 18:52, Andre Przywara <andre.przywara at arm.com> wrote:
>> Now that the SPL is ready to be compiled in AArch64 and the DRAM
>> init code is ready, enable SPL support for the A64 SoC and in the
>> Pine64 defconfig.
>> For now we keep the boot0 header in the U-Boot proper, as this allows
>> to still use boot0 as an SPL replacement without hurting the SPL use
>> case.
>> We disable FEL support for now, as the code isn't ready yet.
>
> Where is this done? Is it because you don't enable it?
It is done at two places below ....
>>
>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>> ---
>> arch/arm/mach-sunxi/board.c | 2 +-
>> board/sunxi/Kconfig | 2 ++
>> configs/pine64_plus_defconfig | 1 +
>> include/configs/sunxi-common.h | 2 ++
>> 4 files changed, 6 insertions(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
>>
>> diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
>> index 0f8ead9..80d4b57 100644
>> --- a/arch/arm/mach-sunxi/board.c
>> +++ b/arch/arm/mach-sunxi/board.c
>> @@ -133,7 +133,7 @@ static int gpio_init(void)
>> return 0;
>> }
>>
>> -#ifdef CONFIG_SPL_BUILD
>> +#if defined(CONFIG_SPL_BOARD_LOAD_IMAGE) && defined(CONFIG_SPL_BUILD)
Here we disable FEL support if the board or build does not support it.
...
>> static int spl_board_load_image(struct spl_image_info *spl_image,
>> struct spl_boot_device *bootdev)
>> {
>> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
>> index d477925..b5246df 100644
>> --- a/board/sunxi/Kconfig
>> +++ b/board/sunxi/Kconfig
>> @@ -125,6 +125,7 @@ config MACH_SUN50I
>> bool "sun50i (Allwinner A64)"
>> select ARM64
>> select SUNXI_GEN_SUN6I
>> + select SUPPORT_SPL
>>
>> endchoice
>>
>> @@ -187,6 +188,7 @@ config DRAM_ODT_EN
>> bool "sunxi dram odt enable"
>> default n if !MACH_SUN8I_A23
>> default y if MACH_SUN8I_A23
>> + default y if MACH_SUN50I
>> ---help---
>> Select this to enable dram odt (on die termination).
>>
>> diff --git a/configs/pine64_plus_defconfig b/configs/pine64_plus_defconfig
>> index ebc24b8..2374170 100644
>> --- a/configs/pine64_plus_defconfig
>> +++ b/configs/pine64_plus_defconfig
>> @@ -5,6 +5,7 @@ CONFIG_MACH_SUN50I=y
>> CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pine64-plus"
>> # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
>> CONFIG_CONSOLE_MUX=y
>> +CONFIG_SPL=y
>> # CONFIG_CMD_IMLS is not set
>> # CONFIG_CMD_FLASH is not set
>> # CONFIG_CMD_FPGA is not set
>> diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
>> index e05c318..5279e51 100644
>> --- a/include/configs/sunxi-common.h
>> +++ b/include/configs/sunxi-common.h
>> @@ -183,7 +183,9 @@
>>
>> #define CONFIG_SPL_FRAMEWORK
>>
>> +#ifndef CONFIG_MACH_SUN50I
>> #define CONFIG_SPL_BOARD_LOAD_IMAGE
>> +#endif
... and this one makes sure that it is not enabled for a 64-bit build.
Actually let me change this into ARM64, which is more generic and
describes the reason better.
Also I guess you'd like to see comments here as well ...
Cheers,
Andre.
>>
>> #if defined(CONFIG_MACH_SUN9I)
>> #define CONFIG_SPL_TEXT_BASE 0x10040 /* sram start+header */
>> --
>> 2.8.2
>>
More information about the U-Boot
mailing list