diff options
Diffstat (limited to 'arch/arm/mach-omap2/clockdomain.h')
| -rw-r--r-- | arch/arm/mach-omap2/clockdomain.h | 20 | 
1 files changed, 17 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h index 5601dc13785..629576be744 100644 --- a/arch/arm/mach-omap2/clockdomain.h +++ b/arch/arm/mach-omap2/clockdomain.h @@ -1,9 +1,7 @@  /* - * arch/arm/plat-omap/include/mach/clockdomain.h - *   * OMAP2/3 clockdomain framework functions   * - * Copyright (C) 2008 Texas Instruments, Inc. + * Copyright (C) 2008, 2012 Texas Instruments, Inc.   * Copyright (C) 2008-2011 Nokia Corporation   *   * Paul Walmsley @@ -34,6 +32,20 @@   * CLKDM_ACTIVE_WITH_MPU: The PRCM guarantees that this clockdomain is   *     active whenever the MPU is active.  True for interconnects and   *     the WKUP clockdomains. + * CLKDM_MISSING_IDLE_REPORTING: The idle status of the IP blocks and + *     clocks inside this clockdomain are not taken into account by + *     the PRCM when determining whether the clockdomain is idle. + *     Without this flag, if the clockdomain is set to + *     hardware-supervised idle mode, the PRCM may transition the + *     enclosing powerdomain to a low power state, even when devices + *     inside the clockdomain and powerdomain are in use.  (An example + *     of such a clockdomain is the EMU clockdomain on OMAP3/4.)  If + *     this flag is set, and the clockdomain does not support the + *     force-sleep mode, then the HW_AUTO mode will be used to put the + *     clockdomain to sleep.  Similarly, if the clockdomain supports + *     the force-wakeup mode, then it will be used whenever a clock or + *     IP block inside the clockdomain is active, rather than the + *     HW_AUTO mode.   */  #define CLKDM_CAN_FORCE_SLEEP			(1 << 0)  #define CLKDM_CAN_FORCE_WAKEUP			(1 << 1) @@ -41,6 +53,7 @@  #define CLKDM_CAN_DISABLE_AUTO			(1 << 3)  #define CLKDM_NO_AUTODEPS			(1 << 4)  #define CLKDM_ACTIVE_WITH_MPU			(1 << 5) +#define CLKDM_MISSING_IDLE_REPORTING		(1 << 6)  #define CLKDM_CAN_HWSUP		(CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_DISABLE_AUTO)  #define CLKDM_CAN_SWSUP		(CLKDM_CAN_FORCE_SLEEP | CLKDM_CAN_FORCE_WAKEUP) @@ -187,6 +200,7 @@ int clkdm_clear_all_sleepdeps(struct clockdomain *clkdm);  void clkdm_allow_idle(struct clockdomain *clkdm);  void clkdm_deny_idle(struct clockdomain *clkdm);  bool clkdm_in_hwsup(struct clockdomain *clkdm); +bool clkdm_missing_idle_reporting(struct clockdomain *clkdm);  int clkdm_wakeup(struct clockdomain *clkdm);  int clkdm_sleep(struct clockdomain *clkdm);  |