summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/regs-pmu.h
diff options
context:
space:
mode:
authorAbhilash Kesavan2014-07-04 22:50:58 +0200
committerKukjin Kim2014-07-23 01:20:21 +0200
commit20fe6f98fae6968b9d6067d49d9ecae9d9593b37 (patch)
tree3e2a7d303e99f7b0a7fd5442cf6d569803650a9a /arch/arm/mach-exynos/regs-pmu.h
parentMerge branch 'v3.17-next/cpuidle-exynos' into v3.17-next/power-exynos (diff)
downloadkernel-qcow2-linux-20fe6f98fae6968b9d6067d49d9ecae9d9593b37.tar.gz
kernel-qcow2-linux-20fe6f98fae6968b9d6067d49d9ecae9d9593b37.tar.xz
kernel-qcow2-linux-20fe6f98fae6968b9d6067d49d9ecae9d9593b37.zip
ARM: EXYNOS: Support cluster power off on exynos5420/5800
Turning off a cluster when all 4 cores of the cluster are powered off saves power significantly. Powering off the A15 L2 alone gives around 100mW in savings. Add support for powering off the A15/A7 clusters on exynos5420/5800. The patch enables specific register bits which ensure that: - cluster L2 will be turned on before the first man is powered up. - last man will be turned off before the cluster L2 is turned off. - core is powered down before powering it up. Remove the exynos_cluster_power_control function completely as we can rely on the above mentioned bits rather than polling the cluster power status register. Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com> Acked-by: Nicolas Pitre <nico@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-exynos/regs-pmu.h')
-rw-r--r--arch/arm/mach-exynos/regs-pmu.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h
index c45a2dc53e84..e5e298c0fd01 100644
--- a/arch/arm/mach-exynos/regs-pmu.h
+++ b/arch/arm/mach-exynos/regs-pmu.h
@@ -116,6 +116,8 @@
(EXYNOS_ARM_COMMON_CONFIGURATION + (0x80 * (_nr)))
#define EXYNOS_COMMON_STATUS(_nr) \
(EXYNOS_COMMON_CONFIGURATION(_nr) + 0x4)
+#define EXYNOS_COMMON_OPTION(_nr) \
+ (EXYNOS_COMMON_CONFIGURATION(_nr) + 0x8)
#define S5P_PAD_RET_MAUDIO_OPTION S5P_PMUREG(0x3028)
#define S5P_PAD_RET_GPIO_OPTION S5P_PMUREG(0x3108)