diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.h')
| -rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.h | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.h b/arch/arm/mach-omap2/omap_hwmod.h index 3ae852a522f..d43d9b608ed 100644 --- a/arch/arm/mach-omap2/omap_hwmod.h +++ b/arch/arm/mach-omap2/omap_hwmod.h @@ -451,6 +451,14 @@ struct omap_hwmod_omap4_prcm {   *     enabled.  This prevents the hwmod code from being able to   *     enable and reset the IP block early.  XXX Eventually it should   *     be possible to query the clock framework for this information. + * HWMOD_BLOCK_WFI: Some OMAP peripherals apparently don't work + *     correctly if the MPU is allowed to go idle while the + *     peripherals are active.  This is apparently true for the I2C on + *     OMAP2420, and also the EMAC on AM3517/3505.  It's unlikely that + *     this is really true -- we're probably not configuring something + *     correctly, or this is being abused to deal with some PM latency + *     issues -- but we're currently suffering from a shortage of + *     folks who are able to track these issues down properly.   */  #define HWMOD_SWSUP_SIDLE			(1 << 0)  #define HWMOD_SWSUP_MSTANDBY			(1 << 1) @@ -462,6 +470,7 @@ struct omap_hwmod_omap4_prcm {  #define HWMOD_CONTROL_OPT_CLKS_IN_RESET		(1 << 7)  #define HWMOD_16BIT_REG				(1 << 8)  #define HWMOD_EXT_OPT_MAIN_CLK			(1 << 9) +#define HWMOD_BLOCK_WFI				(1 << 10)  /*   * omap_hwmod._int_flags definitions @@ -501,6 +510,7 @@ struct omap_hwmod_omap4_prcm {   * @rev: revision of the IP class   * @pre_shutdown: ptr to fn to be executed immediately prior to device shutdown   * @reset: ptr to fn to be executed in place of the standard hwmod reset fn + * @enable_preprogram:  ptr to fn to be executed during device enable   *   * Represent the class of a OMAP hardware "modules" (e.g. timer,   * smartreflex, gpio, uart...) @@ -524,6 +534,7 @@ struct omap_hwmod_class {  	u32					rev;  	int					(*pre_shutdown)(struct omap_hwmod *oh);  	int					(*reset)(struct omap_hwmod *oh); +	int					(*enable_preprogram)(struct omap_hwmod *oh);  };  /** @@ -671,6 +682,12 @@ extern void __init omap_hwmod_init(void);  const char *omap_hwmod_get_main_clk(struct omap_hwmod *oh);  /* + * + */ + +extern int omap_hwmod_aess_preprogram(struct omap_hwmod *oh); + +/*   * Chip variant-specific hwmod init routines - XXX should be converted   * to use initcalls once the initial boot ordering is straightened out   */  |