diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2009-04-27 16:14:54 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-08-05 09:10:52 -0700 |
commit | 3a07ae30a0bfa93ff2b242acf670c6d8e2de35de (patch) | |
tree | 74dec3a1819d60c247c1ca588b420263528434cc /arch/arm | |
parent | 3a6667acf916b3e32be4682196882fc2ed0ec23e (diff) | |
download | linux-3a07ae30a0bfa93ff2b242acf670c6d8e2de35de.tar.gz linux-3a07ae30a0bfa93ff2b242acf670c6d8e2de35de.tar.bz2 linux-3a07ae30a0bfa93ff2b242acf670c6d8e2de35de.zip |
OMAP3: PM: Clear pending PRCM reset flags on init
Any pending reset flags can prevent retention. Ensure they are all
cleared during boot.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index cc83dfc39a8b..1422e931f57f 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -613,6 +613,15 @@ static void __init prcm_setup_regs(void) /* Clear any pending PRCM interrupts */ prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET); + /* Clear any pending 'reset' flags */ + prm_write_mod_reg(0xffffffff, MPU_MOD, RM_RSTST); + prm_write_mod_reg(0xffffffff, CORE_MOD, RM_RSTST); + prm_write_mod_reg(0xffffffff, OMAP3430_PER_MOD, RM_RSTST); + prm_write_mod_reg(0xffffffff, OMAP3430_EMU_MOD, RM_RSTST); + prm_write_mod_reg(0xffffffff, OMAP3430_NEON_MOD, RM_RSTST); + prm_write_mod_reg(0xffffffff, OMAP3430_DSS_MOD, RM_RSTST); + prm_write_mod_reg(0xffffffff, OMAP3430ES2_USBHOST_MOD, RM_RSTST); + /* Clear any pending PRCM interrupts */ prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET); |