summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/common.h
diff options
context:
space:
mode:
authorMartin Fuzzey <mfuzzey@parkeon.com>2015-05-12 15:31:03 +0200
committerShawn Guo <shawn.guo@linaro.org>2015-06-03 14:49:36 +0800
commit1579c7b9fe0105a523440ec13b0c59da53c880e3 (patch)
tree6b528f14bfcfcd9ff3b6526694cfab2e637e2b51 /arch/arm/mach-imx/common.h
parent5739b919cf6c1395f3f58dd7759bf0555fb68769 (diff)
downloadlinux-1579c7b9fe0105a523440ec13b0c59da53c880e3.tar.gz
linux-1579c7b9fe0105a523440ec13b0c59da53c880e3.tar.bz2
linux-1579c7b9fe0105a523440ec13b0c59da53c880e3.zip
ARM: imx53: Set DDR pins to high impedance when in suspend to RAM.
In order to save power the DDR pins should be put into high impedance when in suspend to RAM. This requires manually requesting self refresh (rather than using the automatic mode implemented by the CCM / ESDCTL), followed by reconfiguring the IOMUXC. Of course the code to do this cannot itself run from DDR so the code is copied to and executed from internal memory. In my tests using a custom i.MX53 board with LPDDR2 RAM this reduced the suspend power consumption from 200mW to 60mW. Signed-off-by: Martin Fuzzey <mfuzzey@parkeon.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/common.h')
-rw-r--r--arch/arm/mach-imx/common.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index 1f800b9a63f5..21e4e8697a58 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -116,9 +116,13 @@ int imx_cpu_kill(unsigned int cpu);
#ifdef CONFIG_SUSPEND
void v7_cpu_resume(void);
+void imx53_suspend(void __iomem *ocram_vbase);
+extern const u32 imx53_suspend_sz;
void imx6_suspend(void __iomem *ocram_vbase);
#else
static inline void v7_cpu_resume(void) {}
+static inline void imx53_suspend(void __iomem *ocram_vbase) {}
+static const u32 imx53_suspend_sz;
static inline void imx6_suspend(void __iomem *ocram_vbase) {}
#endif