diff options
Diffstat (limited to 'arch/arm/mach-omap2/powerdomains34xx.h')
-rw-r--r-- | arch/arm/mach-omap2/powerdomains34xx.h | 68 |
1 files changed, 63 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/powerdomains34xx.h b/arch/arm/mach-omap2/powerdomains34xx.h index f573f7108398..4dcf94b800ab 100644 --- a/arch/arm/mach-omap2/powerdomains34xx.h +++ b/arch/arm/mach-omap2/powerdomains34xx.h | |||
@@ -200,12 +200,33 @@ static struct powerdomain mpu_34xx_pwrdm = { | |||
200 | }; | 200 | }; |
201 | 201 | ||
202 | /* No wkdeps or sleepdeps for 34xx core apparently */ | 202 | /* No wkdeps or sleepdeps for 34xx core apparently */ |
203 | static struct powerdomain core_34xx_pwrdm = { | 203 | static struct powerdomain core_34xx_pre_es3_1_pwrdm = { |
204 | .name = "core_pwrdm", | 204 | .name = "core_pwrdm", |
205 | .prcm_offs = CORE_MOD, | 205 | .prcm_offs = CORE_MOD, |
206 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430), | 206 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES1 | |
207 | CHIP_IS_OMAP3430ES2 | | ||
208 | CHIP_IS_OMAP3430ES3_0), | ||
209 | .pwrsts = PWRSTS_OFF_RET_ON, | ||
210 | .dep_bit = OMAP3430_EN_CORE_SHIFT, | ||
211 | .banks = 2, | ||
212 | .pwrsts_mem_ret = { | ||
213 | [0] = PWRSTS_OFF_RET, /* MEM1RETSTATE */ | ||
214 | [1] = PWRSTS_OFF_RET, /* MEM2RETSTATE */ | ||
215 | }, | ||
216 | .pwrsts_mem_on = { | ||
217 | [0] = PWRSTS_OFF_RET_ON, /* MEM1ONSTATE */ | ||
218 | [1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */ | ||
219 | }, | ||
220 | }; | ||
221 | |||
222 | /* No wkdeps or sleepdeps for 34xx core apparently */ | ||
223 | static struct powerdomain core_34xx_es3_1_pwrdm = { | ||
224 | .name = "core_pwrdm", | ||
225 | .prcm_offs = CORE_MOD, | ||
226 | .omap_chip = OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES3_1), | ||
207 | .pwrsts = PWRSTS_OFF_RET_ON, | 227 | .pwrsts = PWRSTS_OFF_RET_ON, |
208 | .dep_bit = OMAP3430_EN_CORE_SHIFT, | 228 | .dep_bit = OMAP3430_EN_CORE_SHIFT, |
229 | .flags = PWRDM_HAS_HDWR_SAR, /* for USBTLL only */ | ||
209 | .banks = 2, | 230 | .banks = 2, |
210 | .pwrsts_mem_ret = { | 231 | .pwrsts_mem_ret = { |
211 | [0] = PWRSTS_OFF_RET, /* MEM1RETSTATE */ | 232 | [0] = PWRSTS_OFF_RET, /* MEM1RETSTATE */ |
@@ -236,14 +257,19 @@ static struct powerdomain dss_pwrdm = { | |||
236 | }, | 257 | }, |
237 | }; | 258 | }; |
238 | 259 | ||
260 | /* | ||
261 | * Although the 34XX TRM Rev K Table 4-371 notes that retention is a | ||
262 | * possible SGX powerstate, the SGX device itself does not support | ||
263 | * retention. | ||
264 | */ | ||
239 | static struct powerdomain sgx_pwrdm = { | 265 | static struct powerdomain sgx_pwrdm = { |
240 | .name = "sgx_pwrdm", | 266 | .name = "sgx_pwrdm", |
241 | .prcm_offs = OMAP3430ES2_SGX_MOD, | 267 | .prcm_offs = OMAP3430ES2_SGX_MOD, |
242 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2), | 268 | .omap_chip = OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES2), |
243 | .wkdep_srcs = gfx_sgx_wkdeps, | 269 | .wkdep_srcs = gfx_sgx_wkdeps, |
244 | .sleepdep_srcs = cam_gfx_sleepdeps, | 270 | .sleepdep_srcs = cam_gfx_sleepdeps, |
245 | /* XXX This is accurate for 3430 SGX, but what about GFX? */ | 271 | /* XXX This is accurate for 3430 SGX, but what about GFX? */ |
246 | .pwrsts = PWRSTS_OFF_RET_ON, | 272 | .pwrsts = PWRSTS_OFF_ON, |
247 | .pwrsts_logic_ret = PWRDM_POWER_RET, | 273 | .pwrsts_logic_ret = PWRDM_POWER_RET, |
248 | .banks = 1, | 274 | .banks = 1, |
249 | .pwrsts_mem_ret = { | 275 | .pwrsts_mem_ret = { |
@@ -307,11 +333,12 @@ static struct powerdomain neon_pwrdm = { | |||
307 | static struct powerdomain usbhost_pwrdm = { | 333 | static struct powerdomain usbhost_pwrdm = { |
308 | .name = "usbhost_pwrdm", | 334 | .name = "usbhost_pwrdm", |
309 | .prcm_offs = OMAP3430ES2_USBHOST_MOD, | 335 | .prcm_offs = OMAP3430ES2_USBHOST_MOD, |
310 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430ES2), | 336 | .omap_chip = OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES2), |
311 | .wkdep_srcs = per_usbhost_wkdeps, | 337 | .wkdep_srcs = per_usbhost_wkdeps, |
312 | .sleepdep_srcs = dss_per_usbhost_sleepdeps, | 338 | .sleepdep_srcs = dss_per_usbhost_sleepdeps, |
313 | .pwrsts = PWRSTS_OFF_RET_ON, | 339 | .pwrsts = PWRSTS_OFF_RET_ON, |
314 | .pwrsts_logic_ret = PWRDM_POWER_RET, | 340 | .pwrsts_logic_ret = PWRDM_POWER_RET, |
341 | .flags = PWRDM_HAS_HDWR_SAR, /* for USBHOST ctrlr only */ | ||
315 | .banks = 1, | 342 | .banks = 1, |
316 | .pwrsts_mem_ret = { | 343 | .pwrsts_mem_ret = { |
317 | [0] = PWRDM_POWER_RET, /* MEMRETSTATE */ | 344 | [0] = PWRDM_POWER_RET, /* MEMRETSTATE */ |
@@ -321,6 +348,37 @@ static struct powerdomain usbhost_pwrdm = { | |||
321 | }, | 348 | }, |
322 | }; | 349 | }; |
323 | 350 | ||
351 | static struct powerdomain dpll1_pwrdm = { | ||
352 | .name = "dpll1_pwrdm", | ||
353 | .prcm_offs = MPU_MOD, | ||
354 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430), | ||
355 | }; | ||
356 | |||
357 | static struct powerdomain dpll2_pwrdm = { | ||
358 | .name = "dpll2_pwrdm", | ||
359 | .prcm_offs = OMAP3430_IVA2_MOD, | ||
360 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430), | ||
361 | }; | ||
362 | |||
363 | static struct powerdomain dpll3_pwrdm = { | ||
364 | .name = "dpll3_pwrdm", | ||
365 | .prcm_offs = PLL_MOD, | ||
366 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430), | ||
367 | }; | ||
368 | |||
369 | static struct powerdomain dpll4_pwrdm = { | ||
370 | .name = "dpll4_pwrdm", | ||
371 | .prcm_offs = PLL_MOD, | ||
372 | .omap_chip = OMAP_CHIP_INIT(CHIP_IS_OMAP3430), | ||
373 | }; | ||
374 | |||
375 | static struct powerdomain dpll5_pwrdm = { | ||
376 | .name = "dpll5_pwrdm", | ||
377 | .prcm_offs = PLL_MOD, | ||
378 | .omap_chip = OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES2), | ||
379 | }; | ||
380 | |||
381 | |||
324 | #endif /* CONFIG_ARCH_OMAP34XX */ | 382 | #endif /* CONFIG_ARCH_OMAP34XX */ |
325 | 383 | ||
326 | 384 | ||