ARM: exynos: hotplug: Enter a15 lowpower mode for Exynos3 based on Cortex-a7
authorChanwoo Choi <cw00.choi@samsung.com>
Tue, 7 Jan 2014 07:02:03 +0000 (16:02 +0900)
committerChanho Park <chanho61.park@samsung.com>
Thu, 7 Aug 2014 06:17:47 +0000 (15:17 +0900)
This patch decide proper lowpower mode of either a15 or a9 according to own ID
from Main ID register.

Change-Id: Id7cbc24b4d3b0f4265cd745c9ce25d5938ee87cb
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
arch/arm/mach-exynos/hotplug.c

index 4b8e1f7..8a1dc18 100644 (file)
@@ -136,12 +136,19 @@ void __ref exynos_cpu_die(unsigned int cpu)
 
        /*
         * we're ready for shutdown now, so do it.
-        * Exynos4 is A9 based while Exynos5 is A15; check the CPU part
+        * Exynos4 is A9 based while Exynos3/Exynos5 is A15; check the CPU part
         * number by reading the Main ID register and then perform the
         * appropriate sequence for entering low power.
         */
        asm("mrc p15, 0, %0, c0, c0, 0" : "=r"(primary_part) : : "cc");
-       if ((primary_part & 0xfff0) == 0xc0f0)
+
+       /*
+        * Main ID register of Cortex series
+        * - Cortex-a7  : 0x410F_C07x
+        * - Cortex-a15 : 0x410F_C0Fx
+        */
+       primary_part = primary_part & 0xfff0;
+       if (primary_part == 0xc0f0 || primary_part == 0xc070)
                cpu_enter_lowpower_a15();
        else
                cpu_enter_lowpower_a9();