summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/control.c
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2011-05-19 00:36:21 -0500
committerKumar Gala <galak@kernel.crashing.org>2011-05-19 00:36:21 -0500
commit134c428e5a31f2d5ed3a70ba20dac83895ec8b82 (patch)
tree0fb28accbf09171b8a1ca792361f4160434529e8 /arch/arm/mach-omap2/control.c
parenta0496d450ab8c17f6c4d86979b1f6ba486fe9365 (diff)
parentc560bbceaf6b06e52f1ef20131b76a3fdc0a2c19 (diff)
downloadlinux-stable-134c428e5a31f2d5ed3a70ba20dac83895ec8b82.tar.gz
linux-stable-134c428e5a31f2d5ed3a70ba20dac83895ec8b82.tar.bz2
linux-stable-134c428e5a31f2d5ed3a70ba20dac83895ec8b82.zip
Merge remote branch 'benh/merge' into benh-next
Diffstat (limited to 'arch/arm/mach-omap2/control.c')
-rw-r--r--arch/arm/mach-omap2/control.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index 695279419020..da53ba3917ca 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -316,8 +316,14 @@ void omap3_save_scratchpad_contents(void)
omap2_cm_read_mod_reg(WKUP_MOD, CM_CLKSEL);
prcm_block_contents.cm_clken_pll =
omap2_cm_read_mod_reg(PLL_MOD, CM_CLKEN);
+ /*
+ * As per erratum i671, ROM code does not respect the PER DPLL
+ * programming scheme if CM_AUTOIDLE_PLL..AUTO_PERIPH_DPLL == 1.
+ * Then, in anycase, clear these bits to avoid extra latencies.
+ */
prcm_block_contents.cm_autoidle_pll =
- omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_AUTOIDLE_PLL);
+ omap2_cm_read_mod_reg(PLL_MOD, CM_AUTOIDLE) &
+ ~OMAP3430_AUTO_PERIPH_DPLL_MASK;
prcm_block_contents.cm_clksel1_pll =
omap2_cm_read_mod_reg(PLL_MOD, OMAP3430_CM_CLKSEL1_PLL);
prcm_block_contents.cm_clksel2_pll =