aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-exynos/firmware.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos/firmware.c')
-rw-r--r--arch/arm/mach-exynos/firmware.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-exynos/firmware.c b/arch/arm/mach-exynos/firmware.c
index 932129ef26c6..e61df85d650e 100644
--- a/arch/arm/mach-exynos/firmware.c
+++ b/arch/arm/mach-exynos/firmware.c
@@ -17,6 +17,7 @@
#include <asm/firmware.h>
#include <mach/map.h>
+#include <plat/cpu.h>
#include "smc.h"
@@ -34,9 +35,12 @@ static int exynos_cpu_boot(int cpu)
static int exynos_set_cpu_boot_addr(int cpu, unsigned long boot_addr)
{
- void __iomem *boot_reg = S5P_VA_SYSRAM_NS + 0x1c + 4*cpu;
+ void __iomem *boot_reg = S5P_VA_SYSRAM_NS + 0x1c;
- __raw_writel(boot_addr, boot_reg);
+ if (!soc_is_exynos5420())
+ boot_reg += 4 * cpu;
+
+ writel_relaxed(boot_addr, boot_reg);
return 0;
}