diff options
author | Anson Huang <b20788@freescale.com> | 2011-11-19 10:24:21 +0800 |
---|---|---|
committer | Eric Miao <eric.miao@linaro.org> | 2011-12-01 11:36:44 +0800 |
commit | d5d3b6928419e793e7e8a66de0a1cb4800ebd326 (patch) | |
tree | 861911e6519e00314e3d1260289d624d5546ee66 /arch | |
parent | 282f8894a96da9f672bad297990415dfce4c2056 (diff) |
ENGR00162643 [MX6]Decline SOC LDO voltage to make suspend/resume work
Need to decline SOC LDO domain voltage to make 800M ARM2 board work,
we can set the SOC power domain to be same as ARM core power domain.
Tested on both 1G rework board and 800M origin board.
Signed-off-by: Anson Huang <b20788@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mx6/system.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mach-mx6/system.c b/arch/arm/mach-mx6/system.c index 72ffc7700d4..de15c2a1f79 100644 --- a/arch/arm/mach-mx6/system.c +++ b/arch/arm/mach-mx6/system.c @@ -124,16 +124,17 @@ void mxc_cpu_lp_set(enum mxc_cpu_pwr_mode mode) /* dormant mode, need to power off the arm core */ if (stop_mode == 2) { - __raw_writel(0x1, gpc_base + GPC_PGC_CPU_PDN_OFFSET); + __raw_writel(0x1, gpc_base + GPC_PGC_CPU_PDN_OFFSET); __raw_writel(0x1, gpc_base + GPC_PGC_GPU_PGCR_OFFSET); __raw_writel(0x1, gpc_base + GPC_CNTR_OFFSET); /* Enable weak 2P5 linear regulator */ anatop_val = __raw_readl(anatop_base + ANATOP_REG_2P5_OFFSET); anatop_val |= 1 << 18; __raw_writel(anatop_val, anatop_base + ANATOP_REG_2P5_OFFSET); - /* Set ARM core power domain to 1V and PU domain set to off */ + /* Make sure ARM and SOC domain has same voltage and PU domain off */ anatop_val = __raw_readl(anatop_base + ANATOP_REG_CORE_OFFSET); - anatop_val &= 0xfffc001f; + anatop_val &= 0xff83001f; + anatop_val |= (anatop_val & 0x1f) << 18; __raw_writel(anatop_val, anatop_base + ANATOP_REG_CORE_OFFSET); __raw_writel(__raw_readl(MXC_CCM_CCR) | MXC_CCM_CCR_RBC_EN, MXC_CCM_CCR); ccm_clpcr |= MXC_CCM_CLPCR_WB_PER_AT_LPM; |