summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorChenhui Zhao <chenhui.zhao@freescale.com>2015-03-04 06:13:06 (GMT)
committerZhengxiong Jin <Jason.Jin@freescale.com>2015-03-05 06:59:44 (GMT)
commit42daf8575d06ae4f2280fa49b2a80b50dab92da1 (patch)
treea9beb95cce74520dd230caabed6672a0afd68332 /arch
parent110fee40717448dabc340476f6942c41c5fa20c7 (diff)
downloadlinux-fsl-qoriq-42daf8575d06ae4f2280fa49b2a80b50dab92da1.tar.xz
arm: ls1021a: OCRAM1 does not power down in deep sleep
In the case of SD boot, system can't wake from deep sleep if OCRAM1 is powered down. Therefore, keep it on when doing deep sleep. Signed-off-by: Chenhui Zhao <chenhui.zhao@freescale.com> Change-Id: Ib5f6b1c46f7c66e83595fc4fbe17789e557adee9 Reviewed-on: http://git.am.freescale.net:8181/31996 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Yuantian Tang <yuantian.tang@freescale.com> Reviewed-by: Zhengxiong Jin <Jason.Jin@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/pm-ls1.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/pm-ls1.c b/arch/arm/mach-imx/pm-ls1.c
index b5d0f7d..f239b67 100644
--- a/arch/arm/mach-imx/pm-ls1.c
+++ b/arch/arm/mach-imx/pm-ls1.c
@@ -62,6 +62,7 @@
#define CCSR_RCPM_IPPDEXPCR1 0x144
#define CCSR_RCPM_IPPDEXPCR1_LPUART 0x40000000
#define CCSR_RCPM_IPPDEXPCR1_FLEXTIMER 0x20000000
+#define CCSR_RCPM_IPPDEXPCR1_OCRAM1 0x10000000
#define QIXIS_CTL_SYS 0x5
#define QIXIS_CTL_SYS_EVTSW_MASK 0x0c
@@ -187,7 +188,12 @@ static void ls1_clear_pmc_int(void)
static void ls1_set_powerdown(void)
{
iowrite32be(ippdexpcr0, ls1_pm_base.rcpm + CCSR_RCPM_IPPDEXPCR0);
- iowrite32be(ippdexpcr1, ls1_pm_base.rcpm + CCSR_RCPM_IPPDEXPCR1);
+ /*
+ * In the case of SD boot, system can't wake from deep sleep
+ * if OCRAM1 is powered down. Therefore, keep it on.
+ */
+ ippdexpcr1 |= CCSR_RCPM_IPPDEXPCR1_OCRAM1;
+ iowrite32be(ippdexpcr1, ls1_pm_base.rcpm + CCSR_RCPM_IPPDEXPCR1);
}
static void ls1_save_ddr(void *base)