diff options
author | Chanwoo Choi <cw00.choi@samsung.com> | 2014-01-07 16:02:03 +0900 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-11-18 12:00:13 +0900 |
commit | d606704299d4b7375a2f23dd147812890294c475 (patch) | |
tree | 79805fd11ad3d498aa12ae9df16eebf2a5ce404f /arch/arm/mach-exynos | |
parent | 9a81acaa551c9dbc47e5129381d924882f158b30 (diff) | |
download | linux-3.10-d606704299d4b7375a2f23dd147812890294c475.tar.gz linux-3.10-d606704299d4b7375a2f23dd147812890294c475.tar.bz2 linux-3.10-d606704299d4b7375a2f23dd147812890294c475.zip |
ARM: exynos: hotplug: Enter a15 lowpower mode for Exynos3 based on Cortex-a7
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>
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r-- | arch/arm/mach-exynos/hotplug.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c index 4b8e1f784ed..8a1dc182358 100644 --- a/arch/arm/mach-exynos/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c @@ -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(); |