aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/devices.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-omap/devices.c')
-rw-r--r--arch/arm/plat-omap/devices.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
index 30b5db73017a..4a4cd8774aaa 100644
--- a/arch/arm/plat-omap/devices.c
+++ b/arch/arm/plat-omap/devices.c
@@ -28,6 +28,7 @@
28#include <plat/menelaus.h> 28#include <plat/menelaus.h>
29#include <plat/mcbsp.h> 29#include <plat/mcbsp.h>
30#include <plat/dsp_common.h> 30#include <plat/dsp_common.h>
31#include <plat/omap44xx.h>
31 32
32#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE) 33#if defined(CONFIG_OMAP_DSP) || defined(CONFIG_OMAP_DSP_MODULE)
33 34
@@ -192,6 +193,41 @@ void omap_mcbsp_register_board_cfg(struct omap_mcbsp_platform_data *config,
192 193
193/*-------------------------------------------------------------------------*/ 194/*-------------------------------------------------------------------------*/
194 195
196#if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \
197 defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE)
198
199static struct resource mcpdm_resources[] = {
200 {
201 .name = "mcpdm_mem",
202 .start = OMAP44XX_MCPDM_BASE,
203 .end = OMAP44XX_MCPDM_BASE + SZ_4K,
204 .flags = IORESOURCE_MEM,
205 },
206 {
207 .name = "mcpdm_irq",
208 .start = OMAP44XX_IRQ_MCPDM,
209 .end = OMAP44XX_IRQ_MCPDM,
210 .flags = IORESOURCE_IRQ,
211 },
212};
213
214static struct platform_device omap_mcpdm_device = {
215 .name = "omap-mcpdm",
216 .id = -1,
217 .num_resources = ARRAY_SIZE(mcpdm_resources),
218 .resource = mcpdm_resources,
219};
220
221static void omap_init_mcpdm(void)
222{
223 (void) platform_device_register(&omap_mcpdm_device);
224}
225#else
226static inline void omap_init_mcpdm(void) {}
227#endif
228
229/*-------------------------------------------------------------------------*/
230
195#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \ 231#if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \
196 defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) 232 defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
197 233
@@ -244,7 +280,7 @@ fail:
244 280
245#if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE) 281#if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE)
246 282
247#ifdef CONFIG_ARCH_OMAP24XX 283#ifdef CONFIG_ARCH_OMAP2
248#define OMAP_RNG_BASE 0x480A0000 284#define OMAP_RNG_BASE 0x480A0000
249#else 285#else
250#define OMAP_RNG_BASE 0xfffe5000 286#define OMAP_RNG_BASE 0xfffe5000
@@ -385,6 +421,7 @@ static int __init omap_init_devices(void)
385 omap_init_dsp(); 421 omap_init_dsp();
386 omap_init_kp(); 422 omap_init_kp();
387 omap_init_rng(); 423 omap_init_rng();
424 omap_init_mcpdm();
388 omap_init_uwire(); 425 omap_init_uwire();
389 omap_init_wdt(); 426 omap_init_wdt();
390 return 0; 427 return 0;