diff options
| -rw-r--r-- | arch/arm/mach-davinci/devices-da8xx.c | 30 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/include/mach/da8xx.h | 2 |
2 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c index fda83f82a5fe..dd2d32c4ce86 100644 --- a/arch/arm/mach-davinci/devices-da8xx.c +++ b/arch/arm/mach-davinci/devices-da8xx.c | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include <mach/common.h> | 19 | #include <mach/common.h> |
| 20 | #include <mach/time.h> | 20 | #include <mach/time.h> |
| 21 | #include <mach/da8xx.h> | 21 | #include <mach/da8xx.h> |
| 22 | #include <mach/cpuidle.h> | ||
| 22 | 23 | ||
| 23 | #include "clock.h" | 24 | #include "clock.h" |
| 24 | 25 | ||
| @@ -486,3 +487,32 @@ int da8xx_register_rtc(void) | |||
| 486 | 487 | ||
| 487 | return platform_device_register(&da8xx_rtc_device); | 488 | return platform_device_register(&da8xx_rtc_device); |
| 488 | } | 489 | } |
| 490 | |||
| 491 | static struct resource da8xx_cpuidle_resources[] = { | ||
| 492 | { | ||
| 493 | .start = DA8XX_DDR2_CTL_BASE, | ||
| 494 | .end = DA8XX_DDR2_CTL_BASE + SZ_32K - 1, | ||
| 495 | .flags = IORESOURCE_MEM, | ||
| 496 | }, | ||
| 497 | }; | ||
| 498 | |||
| 499 | /* DA8XX devices support DDR2 power down */ | ||
| 500 | static struct davinci_cpuidle_config da8xx_cpuidle_pdata = { | ||
| 501 | .ddr2_pdown = 1, | ||
| 502 | }; | ||
| 503 | |||
| 504 | |||
| 505 | static struct platform_device da8xx_cpuidle_device = { | ||
| 506 | .name = "cpuidle-davinci", | ||
| 507 | .num_resources = ARRAY_SIZE(da8xx_cpuidle_resources), | ||
| 508 | .resource = da8xx_cpuidle_resources, | ||
| 509 | .dev = { | ||
| 510 | .platform_data = &da8xx_cpuidle_pdata, | ||
| 511 | }, | ||
| 512 | }; | ||
| 513 | |||
| 514 | int __init da8xx_register_cpuidle(void) | ||
| 515 | { | ||
| 516 | return platform_device_register(&da8xx_cpuidle_device); | ||
| 517 | } | ||
| 518 | |||
diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h index 174c75817d32..90704910d343 100644 --- a/arch/arm/mach-davinci/include/mach/da8xx.h +++ b/arch/arm/mach-davinci/include/mach/da8xx.h | |||
| @@ -52,6 +52,7 @@ extern void __iomem *da8xx_syscfg_base; | |||
| 52 | #define DA8XX_AEMIF_CS2_BASE 0x60000000 | 52 | #define DA8XX_AEMIF_CS2_BASE 0x60000000 |
| 53 | #define DA8XX_AEMIF_CS3_BASE 0x62000000 | 53 | #define DA8XX_AEMIF_CS3_BASE 0x62000000 |
| 54 | #define DA8XX_AEMIF_CTL_BASE 0x68000000 | 54 | #define DA8XX_AEMIF_CTL_BASE 0x68000000 |
| 55 | #define DA8XX_DDR2_CTL_BASE 0xb0000000 | ||
| 55 | 56 | ||
| 56 | #define PINMUX0 0x00 | 57 | #define PINMUX0 0x00 |
| 57 | #define PINMUX1 0x04 | 58 | #define PINMUX1 0x04 |
| @@ -88,6 +89,7 @@ int da8xx_register_mmcsd0(struct davinci_mmc_config *config); | |||
| 88 | void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata); | 89 | void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata); |
| 89 | int da8xx_register_rtc(void); | 90 | int da8xx_register_rtc(void); |
| 90 | int da850_register_cpufreq(void); | 91 | int da850_register_cpufreq(void); |
| 92 | int da8xx_register_cpuidle(void); | ||
| 91 | 93 | ||
| 92 | extern struct platform_device da8xx_serial_device; | 94 | extern struct platform_device da8xx_serial_device; |
| 93 | extern struct emac_platform_data da8xx_emac_pdata; | 95 | extern struct emac_platform_data da8xx_emac_pdata; |
