summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyungwon Hwang <human.hwang@samsung.com>2014-12-11 08:25:48 (GMT)
committerHyungwon Hwang <human.hwang@samsung.com>2014-12-23 02:09:28 (GMT)
commit768979997934bdc2dcc6206f051184cbc2bbd293 (patch)
tree64a134dad2325e9e708d047647e6b86af6d4b96a
parent87625668d48c1d080b84b10cdd3960d3f09d4ff9 (diff)
downloadlinux-3.10-768979997934bdc2dcc6206f051184cbc2bbd293.zip
linux-3.10-768979997934bdc2dcc6206f051184cbc2bbd293.tar.gz
linux-3.10-768979997934bdc2dcc6206f051184cbc2bbd293.tar.bz2
ARM: Exynos: platsmp: reset the little cores when they boot
This patch resets the little cores when they boot. It is needed to be turned on properly. Change-Id: I06079b257f216de0250e067e0796658553f0ee46 Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
-rw-r--r--arch/arm/mach-exynos/platsmp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
index 8deffeb..ecf1ba0 100644
--- a/arch/arm/mach-exynos/platsmp.c
+++ b/arch/arm/mach-exynos/platsmp.c
@@ -159,6 +159,16 @@ static int __cpuinit exynos_boot_secondary(unsigned int cpu, struct task_struct
if (soc_is_exynos3250())
__raw_writel(EXYNOS3_COREPORESET(cpu_idx), EXYNOS_SWRESET);
+ /* HACK: Turn on secondary CPUs */
+ if (soc_is_exynos5800()) {
+ if (cluster_id == 1) {
+ udelay(10);
+
+ u32 val = ((1 << 20) | (1 << 8)) << core_id;
+ __raw_writel(val, EXYNOS_SWRESET);
+ }
+ }
+
/*
* Send the secondary CPU a soft interrupt, thereby causing
* the boot monitor to read the system wide flags register,