diff options
author | Kever Yang <kever.yang@rock-chips.com> | 2019-07-09 21:58:43 +0800 |
---|---|---|
committer | Kever Yang <kever.yang@rock-chips.com> | 2019-07-20 23:59:44 +0800 |
commit | ccab9e7ee3c4447c4bf5f4456f56a6b46f475ad4 (patch) | |
tree | c7124b05efe62c3383302dd60f6e3862ba74853a /arch | |
parent | d7f2d23ce4281c70e8395503382474ebdd5e4238 (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.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-rockchip/rk3288-board-tpl.c | 2 | ||||
-rw-r--r-- | 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; } |