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; |