summaryrefslogtreecommitdiff
path: root/arch/arm/mach-uniphier/board_init.c
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2017-01-21 09:05:22 (GMT)
committerMasahiro Yamada <yamada.masahiro@socionext.com>2017-01-22 06:11:12 (GMT)
commit561ca649a8e3d459e95d23b903cd027096935278 (patch)
tree87504848d26d8c1916533b893009d8da46f2c443 /arch/arm/mach-uniphier/board_init.c
parent7a37bd64c5b17de4de28538601c2d81cb84684e7 (diff)
downloadu-boot-561ca649a8e3d459e95d23b903cd027096935278.tar.xz
ARM: uniphier: make SPL optional for ARVv8 SoCs
We may want to run different firmware before running U-Boot. For example, ARM Trusted Firmware runs before U-Boot, making U-Boot a non-secure world boot loader. In this case, the SoC might be initialized there, which enables us to skip SPL entirely. This commit removes "select SPL" to make it configurable. This also enables the Multi SoC support for the UniPhier ARMv8 SoCs. (CONFIG_ARCH_UNIPHIER_V8_MULTI) Thanks to the driver model and Device Tree, the U-Boot proper part is now written in a generic way. The board/SoC parameters reside in DT. The Multi SoC support increases the memory footprint a bit, but the U-Boot proper does not have strict memory constraint. This will mitigate the per-SoC (sometimes per-board) defconfig burden. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'arch/arm/mach-uniphier/board_init.c')
-rw-r--r--arch/arm/mach-uniphier/board_init.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-uniphier/board_init.c b/arch/arm/mach-uniphier/board_init.c
index 8233a52..2269291 100644
--- a/arch/arm/mach-uniphier/board_init.c
+++ b/arch/arm/mach-uniphier/board_init.c
@@ -73,8 +73,9 @@ static void uniphier_ld20_misc_init(void)
writel(0x0000b500, 0x6184e024);
writel(0x00000001, 0x6184e000);
}
-
+#ifdef CONFIG_ARMV8_MULTIENTRY
cci500_init(2);
+#endif
}
#endif
@@ -235,7 +236,7 @@ int board_init(void)
led_puts("U6");
-#ifdef CONFIG_ARM64
+#ifdef CONFIG_ARMV8_MULTIENTRY
uniphier_smp_kick_all_cpus();
#endif