]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
OMAP3: PM: Ensure modem is reset during PRCM init
authorKevin Hilman <khilman@deeprootsystems.com>
Wed, 26 Nov 2008 05:46:55 +0000 (21:46 -0800)
committerKevin Hilman <khilman@deeprootsystems.com>
Wed, 7 Jan 2009 22:29:41 +0000 (14:29 -0800)
Rogue bootloaders may enable the modem and thus keep the
D2D power- and clock-domains from going into retention.
Reset modem on boot to be sure it is in known state.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-omap2/pm34xx.c

index 8b4b8623f8d224f24dfbabbe21188f54708a9445..1d54e96f16daf4367433915c47a3501f4f7b16b3 100644 (file)
@@ -424,6 +424,12 @@ static void __init omap3_iva_idle(void)
 
 static void __init prcm_setup_regs(void)
 {
+       /* reset modem */
+       prm_write_mod_reg(OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RSTPWRON |
+                         OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RST,
+                         CORE_MOD, RM_RSTCTRL);
+       prm_write_mod_reg(0, CORE_MOD, RM_RSTCTRL);
+
        /* XXX Reset all wkdeps. This should be done when initializing
         * powerdomains */
        prm_write_mod_reg(0, OMAP3430_IVA2_MOD, PM_WKDEP);