|
@@ -29,6 +29,13 @@ static int exynos_do_idle(void)
|
|
|
|
|
|
static int exynos_cpu_boot(int cpu)
|
|
|
{
|
|
|
+ /*
|
|
|
+ * Exynos3250 doesn't need to send smc command for secondary CPU boot
|
|
|
+ * because Exynos3250 removes WFE in secure mode.
|
|
|
+ */
|
|
|
+ if (soc_is_exynos3250())
|
|
|
+ return 0;
|
|
|
+
|
|
|
/*
|
|
|
* The second parameter of SMC_CMD_CPU1BOOT command means CPU id.
|
|
|
* But, Exynos4212 has only one secondary CPU so second parameter
|
|
@@ -45,7 +52,7 @@ static int exynos_set_cpu_boot_addr(int cpu, unsigned long boot_addr)
|
|
|
{
|
|
|
void __iomem *boot_reg = S5P_VA_SYSRAM_NS + 0x1c;
|
|
|
|
|
|
- if (!soc_is_exynos4212())
|
|
|
+ if (!soc_is_exynos4212() && !soc_is_exynos3250())
|
|
|
boot_reg += 4*cpu;
|
|
|
|
|
|
__raw_writel(boot_addr, boot_reg);
|