[U-Boot] [PATCH 19/24] sunxi: A64: enable SPL
Alexander Graf
agraf at suse.de
Mon Nov 21 17:37:49 CET 2016
On 20/11/2016 15:57, Andre Przywara 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.
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
> arch/arm/include/asm/arch-sunxi/boot0.h | 4 ++--
> arch/arm/mach-sunxi/board.c | 2 +-
> board/sunxi/Kconfig | 2 ++
> configs/pine64_plus_defconfig | 2 ++
> include/configs/sunxi-common.h | 2 ++
> 5 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-sunxi/boot0.h b/arch/arm/include/asm/arch-sunxi/boot0.h
> index c31a2af..173e042 100644
> --- a/arch/arm/include/asm/arch-sunxi/boot0.h
> +++ b/arch/arm/include/asm/arch-sunxi/boot0.h
> @@ -4,11 +4,11 @@
> * SPDX-License-Identifier: GPL-2.0+
> */
>
> -#if defined(CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER)
> +#if defined(CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER) && !defined(CONFIG_SPL_BUILD)
> /* reserve space for BOOT0 header information */
> b reset
> .space 1532
> -#elif defined(CONFIG_ARM_BOOT_HOOK_RMR)
> +#elif defined(CONFIG_ARM_BOOT_HOOK_RMR) && defined(CONFIG_SPL_BUILD)
> /* switch into AArch64 if needed */
> tst x0, x0 // this is "b #0x84" in ARM
> b reset
Shouldn't the hunk above go into the patches that introduce the options?
> 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)
> 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..5286fee 100644
> --- a/configs/pine64_plus_defconfig
> +++ b/configs/pine64_plus_defconfig
> @@ -2,9 +2,11 @@ CONFIG_ARM=y
> CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y
> CONFIG_ARCH_SUNXI=y
> CONFIG_MACH_SUN50I=y
> +CONFIG_DRAM_CLK=672
Do you need this?
Alex
> 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 86b4104..f2cb174 100644
> --- a/include/configs/sunxi-common.h
> +++ b/include/configs/sunxi-common.h
> @@ -182,7 +182,9 @@
>
> #define CONFIG_SPL_FRAMEWORK
>
> +#ifndef CONFIG_MACH_SUN50I
> #define CONFIG_SPL_BOARD_LOAD_IMAGE
> +#endif
>
> #if defined(CONFIG_MACH_SUN9I)
> #define CONFIG_SPL_TEXT_BASE 0x10040 /* sram start+header */
>
More information about the U-Boot
mailing list