ARM: OMAP3: control: add API for setting IVA bootmode
OMAP3 PM core requires IVA2 bootmode to be set to idle during init. Currently, a direct register write is used for this. Add a new ctrl API for this purpose instead. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
This commit is contained in:
committed by
Paul Walmsley
parent
c6a2d839d0
commit
49e0340232
@ -569,4 +569,15 @@ int omap3_ctrl_save_padconf(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* omap3_ctrl_set_iva_bootmode_idle - sets the IVA2 bootmode to idle
|
||||
*
|
||||
* Sets the bootmode for IVA2 to idle. This is needed by the PM code to
|
||||
* force disable IVA2 so that it does not prevent any low-power states.
|
||||
*/
|
||||
void omap3_ctrl_set_iva_bootmode_idle(void)
|
||||
{
|
||||
omap_ctrl_writel(OMAP3_IVA2_BOOTMOD_IDLE,
|
||||
OMAP343X_CONTROL_IVA2_BOOTMOD);
|
||||
}
|
||||
#endif /* CONFIG_ARCH_OMAP3 && CONFIG_PM */
|
||||
|
@ -427,6 +427,7 @@ extern void omap_ctrl_write_dsp_boot_addr(u32 bootaddr);
|
||||
extern void omap_ctrl_write_dsp_boot_mode(u8 bootmode);
|
||||
extern void omap3630_ctrl_disable_rta(void);
|
||||
extern int omap3_ctrl_save_padconf(void);
|
||||
extern void omap3_ctrl_set_iva_bootmode_idle(void);
|
||||
extern void omap2_set_globals_control(void __iomem *ctrl,
|
||||
void __iomem *ctrl_pad);
|
||||
#else
|
||||
|
@ -430,8 +430,7 @@ static void __init omap3_iva_idle(void)
|
||||
OMAP3430_IVA2_MOD, CM_FCLKEN);
|
||||
|
||||
/* Set IVA2 boot mode to 'idle' */
|
||||
omap_ctrl_writel(OMAP3_IVA2_BOOTMOD_IDLE,
|
||||
OMAP343X_CONTROL_IVA2_BOOTMOD);
|
||||
omap3_ctrl_set_iva_bootmode_idle();
|
||||
|
||||
/* Un-reset IVA2 */
|
||||
omap2_prm_write_mod_reg(0, OMAP3430_IVA2_MOD, OMAP2_RM_RSTCTRL);
|
||||
|
Reference in New Issue
Block a user