diff options
Diffstat (limited to 'include/linux/platform_data')
| -rw-r--r-- | include/linux/platform_data/pm33xx.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/include/linux/platform_data/pm33xx.h b/include/linux/platform_data/pm33xx.h index f9bed2a0af9d..d231265c135c 100644 --- a/include/linux/platform_data/pm33xx.h +++ b/include/linux/platform_data/pm33xx.h | |||
| @@ -12,6 +12,29 @@ | |||
| 12 | #include <linux/kbuild.h> | 12 | #include <linux/kbuild.h> |
| 13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
| 14 | 14 | ||
| 15 | /* | ||
| 16 | * WFI Flags for sleep code control | ||
| 17 | * | ||
| 18 | * These flags allow PM code to exclude certain operations from happening | ||
| 19 | * in the low level ASM code found in sleep33xx.S and sleep43xx.S | ||
| 20 | * | ||
| 21 | * WFI_FLAG_FLUSH_CACHE: Flush the ARM caches and disable caching. Only | ||
| 22 | * needed when MPU will lose context. | ||
| 23 | * WFI_FLAG_SELF_REFRESH: Let EMIF place DDR memory into self-refresh and | ||
| 24 | * disable EMIF. | ||
| 25 | * WFI_FLAG_SAVE_EMIF: Save context of all EMIF registers and restore in | ||
| 26 | * resume path. Only needed if PER domain loses context | ||
| 27 | * and must also have WFI_FLAG_SELF_REFRESH set. | ||
| 28 | * WFI_FLAG_WAKE_M3: Disable MPU clock or clockdomain to cause wkup_m3 to | ||
| 29 | * execute when WFI instruction executes. | ||
| 30 | * WFI_FLAG_RTC_ONLY: Configure the RTC to enter RTC+DDR mode. | ||
| 31 | */ | ||
| 32 | #define WFI_FLAG_FLUSH_CACHE BIT(0) | ||
| 33 | #define WFI_FLAG_SELF_REFRESH BIT(1) | ||
| 34 | #define WFI_FLAG_SAVE_EMIF BIT(2) | ||
| 35 | #define WFI_FLAG_WAKE_M3 BIT(3) | ||
| 36 | #define WFI_FLAG_RTC_ONLY BIT(4) | ||
| 37 | |||
| 15 | #ifndef __ASSEMBLER__ | 38 | #ifndef __ASSEMBLER__ |
| 16 | struct am33xx_pm_sram_addr { | 39 | struct am33xx_pm_sram_addr { |
| 17 | void (*do_wfi)(void); | 40 | void (*do_wfi)(void); |
| @@ -23,7 +46,8 @@ struct am33xx_pm_sram_addr { | |||
| 23 | 46 | ||
| 24 | struct am33xx_pm_platform_data { | 47 | struct am33xx_pm_platform_data { |
| 25 | int (*init)(void); | 48 | int (*init)(void); |
| 26 | int (*soc_suspend)(unsigned int state, int (*fn)(unsigned long)); | 49 | int (*soc_suspend)(unsigned int state, int (*fn)(unsigned long), |
| 50 | unsigned long args); | ||
| 27 | struct am33xx_pm_sram_addr *(*get_sram_addrs)(void); | 51 | struct am33xx_pm_sram_addr *(*get_sram_addrs)(void); |
| 28 | }; | 52 | }; |
| 29 | 53 | ||
