From: Kever Yang Date: Mon, 22 Jul 2019 11:59:19 +0000 (+0800) Subject: rockchip: rk322x: introduce arch_cpu_init() for SoC setting init X-Git-Tag: v2019.10-rc1~6^2~47 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7dc79f8af0be723524bd7a242049efaa10197576;p=oweals%2Fu-boot.git 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 --- 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; +}