Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55c6c3ad authored by Tero Kristo's avatar Tero Kristo
Browse files

ARM: OMAP3: PRM: move modem reset to PRM driver



This is a more proper isolation of the code. Done in preparation of making
PRM an individual driver.

Signed-off-by: default avatarTero Kristo <t-kristo@ti.com>
parent 9de367fa
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -371,10 +371,7 @@ static void __init omap3_d2d_idle(void)
	omap_ctrl_writew(padconf, OMAP3_PADCONF_SAD2D_IDLEACK);

	/* reset modem */
	omap2_prm_write_mod_reg(OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RSTPWRON_MASK |
			  OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RST_MASK,
			  CORE_MOD, OMAP2_RM_RSTCTRL);
	omap2_prm_write_mod_reg(0, CORE_MOD, OMAP2_RM_RSTCTRL);
	omap3_prm_reset_modem();
}

static void __init prcm_setup_regs(void)
+15 −0
Original line number Diff line number Diff line
@@ -259,6 +259,21 @@ int omap3xxx_prm_clear_mod_irqs(s16 module, u8 regs, u32 ignore_bits)
	return c;
}

/**
 * omap3_prm_reset_modem - toggle reset signal for modem
 *
 * Toggles the reset signal to modem IP block. Required to allow
 * OMAP3430 without stacked modem to idle properly.
 */
void __init omap3_prm_reset_modem(void)
{
	omap2_prm_write_mod_reg(
		OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RSTPWRON_MASK |
		OMAP3430_RM_RSTCTRL_CORE_MODEM_SW_RST_MASK,
				CORE_MOD, OMAP2_RM_RSTCTRL);
	omap2_prm_write_mod_reg(0, CORE_MOD, OMAP2_RM_RSTCTRL);
}

/**
 * omap3xxx_prm_reconfigure_io_chain - clear latches and reconfigure I/O chain
 *
+1 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ extern int __init omap3xxx_prm_init(void);
extern u32 omap3xxx_prm_get_reset_sources(void);
int omap3xxx_prm_clear_mod_irqs(s16 module, u8 regs, u32 ignore_bits);
void omap3xxx_prm_iva_idle(void);
void omap3_prm_reset_modem(void);

#endif /* __ASSEMBLER */