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 <kever.yang@rock-chips.com>
This commit is contained in:
Kever Yang 2019-07-22 19:59:19 +08:00
parent 4eb506322e
commit 7dc79f8af0
2 changed files with 18 additions and 4 deletions

View File

@ -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

View File

@ -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;
}