From 7dc79f8af0be723524bd7a242049efaa10197576 Mon Sep 17 00:00:00 2001 From: Kever Yang Date: Mon, 22 Jul 2019 19:59:19 +0800 Subject: [PATCH] rockchip: rk322x: introduce arch_cpu_init() for SoC setting init Use arch_cpu_init() to init SoC secure region and move it to rk322x.c Signed-off-by: Kever Yang --- arch/arm/mach-rockchip/rk322x-board-spl.c | 10 ++++++---- arch/arm/mach-rockchip/rk322x/rk322x.c | 12 ++++++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-rockchip/rk322x-board-spl.c b/arch/arm/mach-rockchip/rk322x-board-spl.c index c825e31c02..6bf9e444ce 100644 --- a/arch/arm/mach-rockchip/rk322x-board-spl.c +++ b/arch/arm/mach-rockchip/rk322x-board-spl.c @@ -44,7 +44,11 @@ void rockchip_stimer_init(void) TIMER_CONTROL_REG); } -#define SGRF_DDR_CON0 0x10150000 +__weak int arch_cpu_init(void) +{ + return 0; +} + void board_init_f(ulong dummy) { int ret; @@ -60,9 +64,7 @@ void board_init_f(ulong dummy) rockchip_stimer_init(); /* Init ARM arch timer in arch/arm/cpu/armv7/arch_timer.c */ timer_init(); - - /* Disable the ddr secure region setting to make it non-secure */ - rk_clrreg(SGRF_DDR_CON0, 0x4000); + arch_cpu_init(); } #ifdef CONFIG_SPL_LOAD_FIT diff --git a/arch/arm/mach-rockchip/rk322x/rk322x.c b/arch/arm/mach-rockchip/rk322x/rk322x.c index e5250bc784..c8c656ab4b 100644 --- a/arch/arm/mach-rockchip/rk322x/rk322x.c +++ b/arch/arm/mach-rockchip/rk322x/rk322x.c @@ -42,3 +42,15 @@ void board_debug_uart_init(void) CON_IOMUX_UART2SEL_21 << CON_IOMUX_UART2SEL_SHIFT); } #endif + +int arch_cpu_init(void) +{ +#ifdef CONFIG_SPL_BUILD +#define SGRF_BASE 0x10150000 + static struct rk322x_sgrf * const sgrf = (void *)SGRF_BASE; + + /* Disable the ddr secure region setting to make it non-secure */ + rk_clrreg(&sgrf->soc_con[0], 0x4000); +#endif + return 0; +} -- 2.39.5