aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2014-03-04 10:24:21 -0500
committerTero Kristo <t-kristo@ti.com>2014-07-04 10:02:20 -0400
commitc2148e5930cdd2dd964e18fb7057c1e07f63c363 (patch)
tree0f274cd650a2e2ee33ed606757d4c0723e1fd82a
parentbbd36f9f03eceee5c208db83049142171e6338f6 (diff)
ARM: OMAP3: PRM: move modem reset and iva2 idle to PRM driver
Done in preparation to move PRM into its own driver. Signed-off-by: Tero Kristo <t-kristo@ti.com>
-rw-r--r--arch/arm/mach-omap2/pm34xx.c15
-rw-r--r--arch/arm/mach-omap2/prm3xxx.c7
2 files changed, 7 insertions, 15 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 126f3ec2d174..9410b4a5c252 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -353,27 +353,12 @@ restore:
353#define omap3_pm_suspend NULL 353#define omap3_pm_suspend NULL
354#endif /* CONFIG_SUSPEND */ 354#endif /* CONFIG_SUSPEND */
355 355
356static void __init omap3_d2d_idle(void)
357{
358 omap3_ctrl_setup_d2d_padconf();
359
360 /* reset modem */
361 omap3_prm_reset_modem();
362}
363
364static void __init prcm_setup_regs(void) 356static void __init prcm_setup_regs(void)
365{ 357{
366 /* XXX This should be handled by hwmod code or SCM init code */ 358 /* XXX This should be handled by hwmod code or SCM init code */
367 omap_ctrl_writel(OMAP3430_AUTOIDLE_MASK, OMAP2_CONTROL_SYSCONFIG); 359 omap_ctrl_writel(OMAP3430_AUTOIDLE_MASK, OMAP2_CONTROL_SYSCONFIG);
368 360
369 omap3_prm_init_pm(cpu_is_omap3630(), omap3_has_iva()); 361 omap3_prm_init_pm(cpu_is_omap3630(), omap3_has_iva());
370
371 /*
372 * We need to idle iva2_pwrdm even on am3703 with no iva2.
373 */
374 omap3xxx_prm_iva_idle();
375
376 omap3_d2d_idle();
377} 362}
378 363
379void omap3_pm_off_mode_enable(int enable) 364void omap3_pm_off_mode_enable(int enable)
diff --git a/arch/arm/mach-omap2/prm3xxx.c b/arch/arm/mach-omap2/prm3xxx.c
index 48218a450cb0..75dfe8efdfe0 100644
--- a/arch/arm/mach-omap2/prm3xxx.c
+++ b/arch/arm/mach-omap2/prm3xxx.c
@@ -362,6 +362,13 @@ void __init omap3_prm_init_pm(bool has_uart4, bool has_iva)
362 362
363 /* Clear any pending PRCM interrupts */ 363 /* Clear any pending PRCM interrupts */
364 omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET); 364 omap2_prm_write_mod_reg(0, OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
365
366 /* We need to idle iva2_pwrdm even on am3703 with no iva2. */
367 omap3xxx_prm_iva_idle();
368
369 omap3_ctrl_setup_d2d_padconf();
370
371 omap3_prm_reset_modem();
365} 372}
366 373
367/** 374/**