summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorKever Yang <kever.yang@rock-chips.com>2019-07-09 21:58:43 +0800
committerKever Yang <kever.yang@rock-chips.com>2019-07-20 23:59:44 +0800
commitccab9e7ee3c4447c4bf5f4456f56a6b46f475ad4 (patch)
treec7124b05efe62c3383302dd60f6e3862ba74853a /arch
parentd7f2d23ce4281c70e8395503382474ebdd5e4238 (diff)
rockchip: rk3288: add arch_cpu_init in spl
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@rock-chips.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-rockchip/rk3288-board-spl.c7
-rw-r--r--arch/arm/mach-rockchip/rk3288-board-tpl.c2
-rw-r--r--arch/arm/mach-rockchip/rk3288/rk3288.c4
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;
}