summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-zynq/common.h
diff options
context:
space:
mode:
authorSoren Brinkmann <soren.brinkmann@xilinx.com>2014-09-02 23:19:06 +0200
committerMichal Simek <michal.simek@xilinx.com>2014-09-16 12:55:05 +0200
commitae88b85e801ba77939b07eb9214f1d6542fa23f7 (patch)
treeb325f4b494a3d308eccdf3a3bcf509fc54f3c090 /arch/arm/mach-zynq/common.h
parentLinux 3.17-rc1 (diff)
downloadlinux-ae88b85e801ba77939b07eb9214f1d6542fa23f7.tar.xz
linux-ae88b85e801ba77939b07eb9214f1d6542fa23f7.zip
ARM: zynq: PM: Enable A9 internal clock gating feature
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/mach-zynq/common.h')
-rw-r--r--arch/arm/mach-zynq/common.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-zynq/common.h b/arch/arm/mach-zynq/common.h
index f652f0a884a6..596ef0b5067c 100644
--- a/arch/arm/mach-zynq/common.h
+++ b/arch/arm/mach-zynq/common.h
@@ -40,4 +40,15 @@ extern void __iomem *zynq_scu_base;
/* Hotplug */
extern void zynq_platform_cpu_die(unsigned int cpu);
+static inline void zynq_core_pm_init(void)
+{
+ /* A9 clock gating */
+ asm volatile ("mrc p15, 0, r12, c15, c0, 0\n"
+ "orr r12, r12, #1\n"
+ "mcr p15, 0, r12, c15, c0, 0\n"
+ : /* no outputs */
+ : /* no inputs */
+ : "r12");
+}
+
#endif