diff --git a/arch/arm/mach-rk30/platsmp.c b/arch/arm/mach-rk30/platsmp.c index 144f04d3c9d3..8e26efa25b00 100644 --- a/arch/arm/mach-rk30/platsmp.c +++ b/arch/arm/mach-rk30/platsmp.c @@ -17,6 +17,9 @@ #include +#define SCU_CTRL 0x00 +#define SCU_STANDBY_EN (1 << 5) + #ifdef CONFIG_FIQ static void gic_raise_softirq_non_secure(const struct cpumask *mask, unsigned int irq) { @@ -126,5 +129,7 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus) set_cpu_present(i, true); #endif + writel_relaxed(readl_relaxed(RK30_SCU_BASE + SCU_CTRL) | SCU_STANDBY_EN, RK30_SCU_BASE + SCU_CTRL); + scu_enable(RK30_SCU_BASE); }