diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-ep93xx/edb93xx.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/simone.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/snappercl15.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 33 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/devices.c | 36 |
7 files changed, 64 insertions, 40 deletions
diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c index c63a5ec1a8e3..70ef8c527d27 100644 --- a/arch/arm/mach-ep93xx/edb93xx.c +++ b/arch/arm/mach-ep93xx/edb93xx.c | |||
@@ -160,6 +160,11 @@ static void __init edb93xx_register_spi(void) | |||
160 | /************************************************************************* | 160 | /************************************************************************* |
161 | * EDB93xx I2S | 161 | * EDB93xx I2S |
162 | *************************************************************************/ | 162 | *************************************************************************/ |
163 | static struct platform_device edb93xx_audio_device = { | ||
164 | .name = "edb93xx-audio", | ||
165 | .id = -1, | ||
166 | }; | ||
167 | |||
163 | static int __init edb93xx_has_audio(void) | 168 | static int __init edb93xx_has_audio(void) |
164 | { | 169 | { |
165 | return (machine_is_edb9301() || machine_is_edb9302() || | 170 | return (machine_is_edb9301() || machine_is_edb9302() || |
@@ -171,6 +176,7 @@ static void __init edb93xx_register_i2s(void) | |||
171 | { | 176 | { |
172 | if (edb93xx_has_audio()) { | 177 | if (edb93xx_has_audio()) { |
173 | ep93xx_register_i2s(); | 178 | ep93xx_register_i2s(); |
179 | platform_device_register(&edb93xx_audio_device); | ||
174 | } | 180 | } |
175 | } | 181 | } |
176 | 182 | ||
diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c index d6f286b4db9c..52e090dc9d27 100644 --- a/arch/arm/mach-ep93xx/simone.c +++ b/arch/arm/mach-ep93xx/simone.c | |||
@@ -53,6 +53,17 @@ static struct i2c_board_info __initdata simone_i2c_board_info[] = { | |||
53 | }, | 53 | }, |
54 | }; | 54 | }; |
55 | 55 | ||
56 | static struct platform_device simone_audio_device = { | ||
57 | .name = "simone-audio", | ||
58 | .id = -1, | ||
59 | }; | ||
60 | |||
61 | static void __init simone_register_audio(void) | ||
62 | { | ||
63 | ep93xx_register_ac97(); | ||
64 | platform_device_register(&simone_audio_device); | ||
65 | } | ||
66 | |||
56 | static void __init simone_init_machine(void) | 67 | static void __init simone_init_machine(void) |
57 | { | 68 | { |
58 | ep93xx_init_devices(); | 69 | ep93xx_init_devices(); |
@@ -61,7 +72,7 @@ static void __init simone_init_machine(void) | |||
61 | ep93xx_register_fb(&simone_fb_info); | 72 | ep93xx_register_fb(&simone_fb_info); |
62 | ep93xx_register_i2c(&simone_i2c_gpio_data, simone_i2c_board_info, | 73 | ep93xx_register_i2c(&simone_i2c_gpio_data, simone_i2c_board_info, |
63 | ARRAY_SIZE(simone_i2c_board_info)); | 74 | ARRAY_SIZE(simone_i2c_board_info)); |
64 | ep93xx_register_ac97(); | 75 | simone_register_audio(); |
65 | } | 76 | } |
66 | 77 | ||
67 | MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") | 78 | MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board") |
diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c index 2b4d4b0201df..8121e3aedc0a 100644 --- a/arch/arm/mach-ep93xx/snappercl15.c +++ b/arch/arm/mach-ep93xx/snappercl15.c | |||
@@ -150,6 +150,17 @@ static struct ep93xxfb_mach_info __initdata snappercl15_fb_info = { | |||
150 | .bpp = 16, | 150 | .bpp = 16, |
151 | }; | 151 | }; |
152 | 152 | ||
153 | static struct platform_device snappercl15_audio_device = { | ||
154 | .name = "snappercl15-audio", | ||
155 | .id = -1, | ||
156 | }; | ||
157 | |||
158 | static void __init snappercl15_register_audio(void) | ||
159 | { | ||
160 | ep93xx_register_i2s(); | ||
161 | platform_device_register(&snappercl15_audio_device); | ||
162 | } | ||
163 | |||
153 | static void __init snappercl15_init_machine(void) | 164 | static void __init snappercl15_init_machine(void) |
154 | { | 165 | { |
155 | ep93xx_init_devices(); | 166 | ep93xx_init_devices(); |
@@ -157,7 +168,7 @@ static void __init snappercl15_init_machine(void) | |||
157 | ep93xx_register_i2c(&snappercl15_i2c_gpio_data, snappercl15_i2c_data, | 168 | ep93xx_register_i2c(&snappercl15_i2c_gpio_data, snappercl15_i2c_data, |
158 | ARRAY_SIZE(snappercl15_i2c_data)); | 169 | ARRAY_SIZE(snappercl15_i2c_data)); |
159 | ep93xx_register_fb(&snappercl15_fb_info); | 170 | ep93xx_register_fb(&snappercl15_fb_info); |
160 | ep93xx_register_i2s(); | 171 | snappercl15_register_audio(); |
161 | platform_device_register(&snappercl15_nand_device); | 172 | platform_device_register(&snappercl15_nand_device); |
162 | } | 173 | } |
163 | 174 | ||
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 5a886cd2c598..ba1aa07bdb29 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -900,7 +900,6 @@ static struct twl4030_platform_data rx51_twldata __initdata = { | |||
900 | }; | 900 | }; |
901 | 901 | ||
902 | static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata_or_module = { | 902 | static struct tpa6130a2_platform_data rx51_tpa6130a2_data __initdata_or_module = { |
903 | .id = TPA6130A2, | ||
904 | .power_gpio = 98, | 903 | .power_gpio = 98, |
905 | }; | 904 | }; |
906 | 905 | ||
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 5391079c8689..ae8ea5b3b1a0 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -329,6 +329,38 @@ static void omap_init_audio(void) | |||
329 | static inline void omap_init_audio(void) {} | 329 | static inline void omap_init_audio(void) {} |
330 | #endif | 330 | #endif |
331 | 331 | ||
332 | #if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \ | ||
333 | defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE) | ||
334 | |||
335 | static struct omap_device_pm_latency omap_mcpdm_latency[] = { | ||
336 | { | ||
337 | .deactivate_func = omap_device_idle_hwmods, | ||
338 | .activate_func = omap_device_enable_hwmods, | ||
339 | .flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST, | ||
340 | }, | ||
341 | }; | ||
342 | |||
343 | static void omap_init_mcpdm(void) | ||
344 | { | ||
345 | struct omap_hwmod *oh; | ||
346 | struct omap_device *od; | ||
347 | |||
348 | oh = omap_hwmod_lookup("mcpdm"); | ||
349 | if (!oh) { | ||
350 | printk(KERN_ERR "Could not look up mcpdm hw_mod\n"); | ||
351 | return; | ||
352 | } | ||
353 | |||
354 | od = omap_device_build("omap-mcpdm", -1, oh, NULL, 0, | ||
355 | omap_mcpdm_latency, | ||
356 | ARRAY_SIZE(omap_mcpdm_latency), 0); | ||
357 | if (IS_ERR(od)) | ||
358 | printk(KERN_ERR "Could not build omap_device for omap-mcpdm-dai\n"); | ||
359 | } | ||
360 | #else | ||
361 | static inline void omap_init_mcpdm(void) {} | ||
362 | #endif | ||
363 | |||
332 | #if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE) | 364 | #if defined(CONFIG_SPI_OMAP24XX) || defined(CONFIG_SPI_OMAP24XX_MODULE) |
333 | 365 | ||
334 | #include <plat/mcspi.h> | 366 | #include <plat/mcspi.h> |
@@ -682,6 +714,7 @@ static int __init omap2_init_devices(void) | |||
682 | * in alphabetical order so they're easier to sort through. | 714 | * in alphabetical order so they're easier to sort through. |
683 | */ | 715 | */ |
684 | omap_init_audio(); | 716 | omap_init_audio(); |
717 | omap_init_mcpdm(); | ||
685 | omap_init_camera(); | 718 | omap_init_camera(); |
686 | omap_init_mbox(); | 719 | omap_init_mbox(); |
687 | omap_init_mcspi(); | 720 | omap_init_mcspi(); |
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 6201422c0606..79325c65c23c 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c | |||
@@ -5430,7 +5430,7 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = { | |||
5430 | &omap44xx_mcbsp4_hwmod, | 5430 | &omap44xx_mcbsp4_hwmod, |
5431 | 5431 | ||
5432 | /* mcpdm class */ | 5432 | /* mcpdm class */ |
5433 | /* &omap44xx_mcpdm_hwmod, */ | 5433 | &omap44xx_mcpdm_hwmod, |
5434 | 5434 | ||
5435 | /* mcspi class */ | 5435 | /* mcspi class */ |
5436 | &omap44xx_mcspi1_hwmod, | 5436 | &omap44xx_mcspi1_hwmod, |
diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c index 64c3bd4aa54e..c46c47afa090 100644 --- a/arch/arm/plat-omap/devices.c +++ b/arch/arm/plat-omap/devices.c | |||
@@ -73,41 +73,6 @@ void omap_mcbsp_register_board_cfg(struct resource *res, int res_count, | |||
73 | 73 | ||
74 | /*-------------------------------------------------------------------------*/ | 74 | /*-------------------------------------------------------------------------*/ |
75 | 75 | ||
76 | #if defined(CONFIG_SND_OMAP_SOC_MCPDM) || \ | ||
77 | defined(CONFIG_SND_OMAP_SOC_MCPDM_MODULE) | ||
78 | |||
79 | static struct resource mcpdm_resources[] = { | ||
80 | { | ||
81 | .name = "mcpdm_mem", | ||
82 | .start = OMAP44XX_MCPDM_BASE, | ||
83 | .end = OMAP44XX_MCPDM_BASE + SZ_4K, | ||
84 | .flags = IORESOURCE_MEM, | ||
85 | }, | ||
86 | { | ||
87 | .name = "mcpdm_irq", | ||
88 | .start = OMAP44XX_IRQ_MCPDM, | ||
89 | .end = OMAP44XX_IRQ_MCPDM, | ||
90 | .flags = IORESOURCE_IRQ, | ||
91 | }, | ||
92 | }; | ||
93 | |||
94 | static struct platform_device omap_mcpdm_device = { | ||
95 | .name = "omap-mcpdm", | ||
96 | .id = -1, | ||
97 | .num_resources = ARRAY_SIZE(mcpdm_resources), | ||
98 | .resource = mcpdm_resources, | ||
99 | }; | ||
100 | |||
101 | static void omap_init_mcpdm(void) | ||
102 | { | ||
103 | (void) platform_device_register(&omap_mcpdm_device); | ||
104 | } | ||
105 | #else | ||
106 | static inline void omap_init_mcpdm(void) {} | ||
107 | #endif | ||
108 | |||
109 | /*-------------------------------------------------------------------------*/ | ||
110 | |||
111 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \ | 76 | #if defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \ |
112 | defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) | 77 | defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE) |
113 | 78 | ||
@@ -290,7 +255,6 @@ static int __init omap_init_devices(void) | |||
290 | * in alphabetical order so they're easier to sort through. | 255 | * in alphabetical order so they're easier to sort through. |
291 | */ | 256 | */ |
292 | omap_init_rng(); | 257 | omap_init_rng(); |
293 | omap_init_mcpdm(); | ||
294 | omap_init_uwire(); | 258 | omap_init_uwire(); |
295 | return 0; | 259 | return 0; |
296 | } | 260 | } |