diff options
Diffstat (limited to 'include/asm-arm/arch-omap/pm.h')
| -rw-r--r-- | include/asm-arm/arch-omap/pm.h | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/include/asm-arm/arch-omap/pm.h b/include/asm-arm/arch-omap/pm.h index fbd742d0c499..7c790425e363 100644 --- a/include/asm-arm/arch-omap/pm.h +++ b/include/asm-arm/arch-omap/pm.h | |||
| @@ -98,7 +98,14 @@ | |||
| 98 | #define OMAP1610_IDLECT3 0xfffece24 | 98 | #define OMAP1610_IDLECT3 0xfffece24 |
| 99 | #define OMAP1610_IDLE_LOOP_REQUEST 0x0400 | 99 | #define OMAP1610_IDLE_LOOP_REQUEST 0x0400 |
| 100 | 100 | ||
| 101 | #if !defined(CONFIG_ARCH_OMAP1510) && \ | 101 | #define OMAP730_IDLECT1_SLEEP_VAL 0x16c7 |
| 102 | #define OMAP730_IDLECT2_SLEEP_VAL 0x09c7 | ||
| 103 | #define OMAP730_IDLECT3_VAL 0x3f | ||
| 104 | #define OMAP730_IDLECT3 0xfffece24 | ||
| 105 | #define OMAP730_IDLE_LOOP_REQUEST 0x0C00 | ||
| 106 | |||
| 107 | #if !defined(CONFIG_ARCH_OMAP730) && \ | ||
| 108 | !defined(CONFIG_ARCH_OMAP15XX) && \ | ||
| 102 | !defined(CONFIG_ARCH_OMAP16XX) && \ | 109 | !defined(CONFIG_ARCH_OMAP16XX) && \ |
| 103 | !defined(CONFIG_ARCH_OMAP24XX) | 110 | !defined(CONFIG_ARCH_OMAP24XX) |
| 104 | #error "Power management for this processor not implemented yet" | 111 | #error "Power management for this processor not implemented yet" |
| @@ -107,8 +114,10 @@ | |||
| 107 | #ifndef __ASSEMBLER__ | 114 | #ifndef __ASSEMBLER__ |
| 108 | extern void omap_pm_idle(void); | 115 | extern void omap_pm_idle(void); |
| 109 | extern void omap_pm_suspend(void); | 116 | extern void omap_pm_suspend(void); |
| 117 | extern void omap730_cpu_suspend(unsigned short, unsigned short); | ||
| 110 | extern void omap1510_cpu_suspend(unsigned short, unsigned short); | 118 | extern void omap1510_cpu_suspend(unsigned short, unsigned short); |
| 111 | extern void omap1610_cpu_suspend(unsigned short, unsigned short); | 119 | extern void omap1610_cpu_suspend(unsigned short, unsigned short); |
| 120 | extern void omap730_idle_loop_suspend(void); | ||
| 112 | extern void omap1510_idle_loop_suspend(void); | 121 | extern void omap1510_idle_loop_suspend(void); |
| 113 | extern void omap1610_idle_loop_suspend(void); | 122 | extern void omap1610_idle_loop_suspend(void); |
| 114 | 123 | ||
| @@ -118,6 +127,8 @@ extern void omap_serial_wake_trigger(int enable); | |||
| 118 | #define omap_serial_wake_trigger(x) {} | 127 | #define omap_serial_wake_trigger(x) {} |
| 119 | #endif /* CONFIG_OMAP_SERIAL_WAKE */ | 128 | #endif /* CONFIG_OMAP_SERIAL_WAKE */ |
| 120 | 129 | ||
| 130 | extern unsigned int omap730_cpu_suspend_sz; | ||
| 131 | extern unsigned int omap730_idle_loop_suspend_sz; | ||
| 121 | extern unsigned int omap1510_cpu_suspend_sz; | 132 | extern unsigned int omap1510_cpu_suspend_sz; |
| 122 | extern unsigned int omap1510_idle_loop_suspend_sz; | 133 | extern unsigned int omap1510_idle_loop_suspend_sz; |
| 123 | extern unsigned int omap1610_cpu_suspend_sz; | 134 | extern unsigned int omap1610_cpu_suspend_sz; |
| @@ -131,6 +142,10 @@ extern unsigned int omap1610_idle_loop_suspend_sz; | |||
| 131 | #define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x)) | 142 | #define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x)) |
| 132 | #define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x] | 143 | #define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x] |
| 133 | 144 | ||
| 145 | #define MPUI730_SAVE(x) mpui730_sleep_save[MPUI730_SLEEP_SAVE_##x] = omap_readl(x) | ||
| 146 | #define MPUI730_RESTORE(x) omap_writel((mpui730_sleep_save[MPUI730_SLEEP_SAVE_##x]), (x)) | ||
| 147 | #define MPUI730_SHOW(x) mpui730_sleep_save[MPUI730_SLEEP_SAVE_##x] | ||
| 148 | |||
| 134 | #define MPUI1510_SAVE(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] = omap_readl(x) | 149 | #define MPUI1510_SAVE(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] = omap_readl(x) |
| 135 | #define MPUI1510_RESTORE(x) omap_writel((mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x]), (x)) | 150 | #define MPUI1510_RESTORE(x) omap_writel((mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x]), (x)) |
| 136 | #define MPUI1510_SHOW(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] | 151 | #define MPUI1510_SHOW(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] |
| @@ -188,13 +203,34 @@ enum mpui1510_save_state { | |||
| 188 | MPUI1510_SLEEP_SAVE_EMIFS_CONFIG, | 203 | MPUI1510_SLEEP_SAVE_EMIFS_CONFIG, |
| 189 | MPUI1510_SLEEP_SAVE_OMAP_IH1_MIR, | 204 | MPUI1510_SLEEP_SAVE_OMAP_IH1_MIR, |
| 190 | MPUI1510_SLEEP_SAVE_OMAP_IH2_MIR, | 205 | MPUI1510_SLEEP_SAVE_OMAP_IH2_MIR, |
| 191 | #if defined(CONFIG_ARCH_OMAP1510) | 206 | #if defined(CONFIG_ARCH_OMAP15XX) |
| 192 | MPUI1510_SLEEP_SAVE_SIZE | 207 | MPUI1510_SLEEP_SAVE_SIZE |
| 193 | #else | 208 | #else |
| 194 | MPUI1510_SLEEP_SAVE_SIZE = 0 | 209 | MPUI1510_SLEEP_SAVE_SIZE = 0 |
| 195 | #endif | 210 | #endif |
| 196 | }; | 211 | }; |
| 197 | 212 | ||
| 213 | enum mpui730_save_state { | ||
| 214 | MPUI730_SLEEP_SAVE_START = 0, | ||
| 215 | /* | ||
| 216 | * MPUI registers 32 bits | ||
| 217 | */ | ||
| 218 | MPUI730_SLEEP_SAVE_MPUI_CTRL, | ||
| 219 | MPUI730_SLEEP_SAVE_MPUI_DSP_BOOT_CONFIG, | ||
| 220 | MPUI730_SLEEP_SAVE_MPUI_DSP_API_CONFIG, | ||
| 221 | MPUI730_SLEEP_SAVE_MPUI_DSP_STATUS, | ||
| 222 | MPUI730_SLEEP_SAVE_EMIFF_SDRAM_CONFIG, | ||
| 223 | MPUI730_SLEEP_SAVE_EMIFS_CONFIG, | ||
| 224 | MPUI730_SLEEP_SAVE_OMAP_IH1_MIR, | ||
| 225 | MPUI730_SLEEP_SAVE_OMAP_IH2_0_MIR, | ||
| 226 | MPUI730_SLEEP_SAVE_OMAP_IH2_1_MIR, | ||
| 227 | #if defined(CONFIG_ARCH_OMAP730) | ||
| 228 | MPUI730_SLEEP_SAVE_SIZE | ||
| 229 | #else | ||
| 230 | MPUI730_SLEEP_SAVE_SIZE = 0 | ||
| 231 | #endif | ||
| 232 | }; | ||
| 233 | |||
| 198 | enum mpui1610_save_state { | 234 | enum mpui1610_save_state { |
| 199 | MPUI1610_SLEEP_SAVE_START = 0, | 235 | MPUI1610_SLEEP_SAVE_START = 0, |
| 200 | /* | 236 | /* |
