[U-Boot] [PATCH 01/13] rockchip: rk3288: add arch_cpu_init in spl

Kever Yang kever.yang at rock-chips.com
Tue Jul 9 13:58:43 UTC 2019


Add arch_cpu_init() in SPL for soc related init, and
move configure_l2ctlr() into it.
The arch_cpu_init() only need to run once, so no need
to run in TPL.

Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
---

 arch/arm/mach-rockchip/rk3288-board-spl.c | 7 ++++++-
 arch/arm/mach-rockchip/rk3288-board-tpl.c | 2 --
 arch/arm/mach-rockchip/rk3288/rk3288.c    | 4 ++++
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-rockchip/rk3288-board-spl.c b/arch/arm/mach-rockchip/rk3288-board-spl.c
index b7fab63acf..3869de9119 100644
--- a/arch/arm/mach-rockchip/rk3288-board-spl.c
+++ b/arch/arm/mach-rockchip/rk3288-board-spl.c
@@ -103,6 +103,11 @@ static int phycore_init(void)
 }
 #endif
 
+__weak int arch_cpu_init(void)
+{
+	return 0;
+}
+
 void board_init_f(ulong dummy)
 {
 	struct udevice *dev;
@@ -127,7 +132,7 @@ void board_init_f(ulong dummy)
 	}
 
 	rockchip_timer_init();
-	configure_l2ctlr();
+	arch_cpu_init();
 
 	ret = rockchip_get_clk(&dev);
 	if (ret) {
diff --git a/arch/arm/mach-rockchip/rk3288-board-tpl.c b/arch/arm/mach-rockchip/rk3288-board-tpl.c
index 787129bbae..5adbe92185 100644
--- a/arch/arm/mach-rockchip/rk3288-board-tpl.c
+++ b/arch/arm/mach-rockchip/rk3288-board-tpl.c
@@ -12,7 +12,6 @@
 #include <asm/io.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/sys_proto.h>
 #include <asm/arch-rockchip/timer.h>
 
 void board_init_f(ulong dummy)
@@ -38,7 +37,6 @@ void board_init_f(ulong dummy)
 	}
 
 	rockchip_timer_init();
-	configure_l2ctlr();
 
 	ret = rockchip_get_clk(&dev);
 	if (ret) {
diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c b/arch/arm/mach-rockchip/rk3288/rk3288.c
index 7941ca68a6..5300650e19 100644
--- a/arch/arm/mach-rockchip/rk3288/rk3288.c
+++ b/arch/arm/mach-rockchip/rk3288/rk3288.c
@@ -10,11 +10,15 @@
 
 int arch_cpu_init(void)
 {
+#ifdef CONFIG_SPL_BUILD
+	configure_l2ctlr();
+#else
 	/* We do some SoC one time setting here. */
 	struct rk3288_grf * const grf = (void *)GRF_BASE;
 
 	/* Use rkpwm by default */
 	rk_setreg(&grf->soc_con2, 1 << 0);
+#endif
 
 	return 0;
 }
-- 
2.17.1



More information about the U-Boot mailing list