From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Mon, 21 Nov 2016 17:37:49 +0100 Subject: [U-Boot] [PATCH 19/24] sunxi: A64: enable SPL In-Reply-To: <1479653838-3574-20-git-send-email-andre.przywara@arm.com> References: <1479653838-3574-1-git-send-email-andre.przywara@arm.com> <1479653838-3574-20-git-send-email-andre.przywara@arm.com> Message-ID: <68c9a3c9-1a80-c586-8499-68d0c0563e6e@suse.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > 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 */ >