diff options
author | Anson Huang <b20788@freescale.com> | 2014-01-17 07:39:05 +0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2014-03-05 06:35:10 +0400 |
commit | df595746fa69db2e36d89677df26ba51f9706c1b (patch) | |
tree | 802ca4cfdac8a8c048ea264d6351a5b95b9d2c05 /arch/arm/mach-imx/mach-imx6sl.c | |
parent | 02ae8e8682112166493675c0b4aaa57737dc01e4 (diff) | |
download | linux-df595746fa69db2e36d89677df26ba51f9706c1b.tar.xz |
ARM: imx: add suspend in ocram support for i.mx6q
When system enter suspend, we can set the DDR IO to
high-Z state to save DDR IOs' power consumption, this
operation can save many power(from ~26mA@1.5V to ~15mA@1.5V,
measured on i.MX6Q SabreSD board, R25) of DDR IOs. To
achieve that, we need to copy the suspend code to ocram
and run the low level hardware related code(set DDR IOs
to high-Z state) in ocram.
If there is no ocram space available, then system will
still do suspend in external DDR, hence no DDR IOs will
be set to high-Z.
The OCRAM usage layout is as below,
ocram suspend region(4K currently):
======================== high address ======================
.
.
.
^
^
^
imx6_suspend code
PM_INFO structure(imx6_cpu_pm_info)
======================== low address =======================
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Anson Huang <b20788@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/mach-imx/mach-imx6sl.c')
-rw-r--r-- | arch/arm/mach-imx/mach-imx6sl.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c index a26fdb2b1a6f..ad323385115c 100644 --- a/arch/arm/mach-imx/mach-imx6sl.c +++ b/arch/arm/mach-imx/mach-imx6sl.c @@ -58,8 +58,7 @@ static void __init imx6sl_init_machine(void) imx6sl_fec_init(); imx_anatop_init(); - /* Reuse imx6q pm code */ - imx6q_pm_init(); + imx6sl_pm_init(); } static void __init imx6sl_init_irq(void) |