summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Walle <michael@walle.cc>2021-03-26 19:40:56 +0100
committerPriyanka Jain <priyanka.jain@nxp.com>2021-04-15 14:22:22 +0530
commit918c72f3f27abd9825f6d26ffdfd7f33d9ea9cd3 (patch)
treeb99c8589685dd34c15d4df76517c1a0e44ec27dd
parent019438e4fd6c63dc9c093a812faa98dcdfd7f970 (diff)
downloadu-boot-918c72f3f27abd9825f6d26ffdfd7f33d9ea9cd3.tar.gz
armv8: fsl-layerscape: spl: call spl_early_init()
DM_SERIAL needs both the device tree as well as an early heap. Thus, we have to call spl_early_init() to initialize the memory allocator and the setup the device tree. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
-rw-r--r--arch/arm/cpu/armv8/fsl-layerscape/spl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/spl.c b/arch/arm/cpu/armv8/fsl-layerscape/spl.c
index 888c02f6c5..01dd6a30e8 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/spl.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/spl.c
@@ -8,6 +8,7 @@
#include <cpu_func.h>
#include <debug_uart.h>
#include <env.h>
+#include <hang.h>
#include <image.h>
#include <init.h>
#include <log.h>
@@ -68,12 +69,19 @@ void spl_board_init(void)
void board_init_f(ulong dummy)
{
+ int ret;
+
icache_enable();
/* Clear global data */
memset((void *)gd, 0, sizeof(gd_t));
if (IS_ENABLED(CONFIG_DEBUG_UART))
debug_uart_init();
board_early_init_f();
+ ret = spl_early_init();
+ if (ret) {
+ debug("spl_early_init() failed: %d\n", ret);
+ hang();
+ }
timer_init();
#ifdef CONFIG_ARCH_LS2080A
env_init();