aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/mcbsp.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-09-12 07:02:26 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-09-12 07:02:26 -0400
commitddd559b13f6d2fe3ad68c4b3f5235fd3c2eae4e3 (patch)
treed827bca3fc825a0ac33efbcd493713be40fcc812 /arch/arm/mach-omap2/mcbsp.c
parentcf7a2b4fb6a9b86779930a0a123b0df41aa9208f (diff)
parentf17a1f06d2fa93f4825be572622eb02c4894db4e (diff)
Merge branch 'devel-stable' into devel
Conflicts: MAINTAINERS arch/arm/mm/fault.c
Diffstat (limited to 'arch/arm/mach-omap2/mcbsp.c')
-rw-r--r--arch/arm/mach-omap2/mcbsp.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c
index 99b6e1546311..d7288f1dc64f 100644
--- a/arch/arm/mach-omap2/mcbsp.c
+++ b/arch/arm/mach-omap2/mcbsp.c
@@ -168,6 +168,42 @@ static struct omap_mcbsp_platform_data omap34xx_mcbsp_pdata[] = {
168#define OMAP34XX_MCBSP_PDATA_SZ 0 168#define OMAP34XX_MCBSP_PDATA_SZ 0
169#endif 169#endif
170 170
171static struct omap_mcbsp_platform_data omap44xx_mcbsp_pdata[] = {
172 {
173 .phys_base = OMAP44XX_MCBSP1_BASE,
174 .dma_rx_sync = OMAP44XX_DMA_MCBSP1_RX,
175 .dma_tx_sync = OMAP44XX_DMA_MCBSP1_TX,
176 .rx_irq = INT_24XX_MCBSP1_IRQ_RX,
177 .tx_irq = INT_24XX_MCBSP1_IRQ_TX,
178 .ops = &omap2_mcbsp_ops,
179 },
180 {
181 .phys_base = OMAP44XX_MCBSP2_BASE,
182 .dma_rx_sync = OMAP44XX_DMA_MCBSP2_RX,
183 .dma_tx_sync = OMAP44XX_DMA_MCBSP2_TX,
184 .rx_irq = INT_24XX_MCBSP2_IRQ_RX,
185 .tx_irq = INT_24XX_MCBSP2_IRQ_TX,
186 .ops = &omap2_mcbsp_ops,
187 },
188 {
189 .phys_base = OMAP44XX_MCBSP3_BASE,
190 .dma_rx_sync = OMAP44XX_DMA_MCBSP3_RX,
191 .dma_tx_sync = OMAP44XX_DMA_MCBSP3_TX,
192 .rx_irq = INT_24XX_MCBSP3_IRQ_RX,
193 .tx_irq = INT_24XX_MCBSP3_IRQ_TX,
194 .ops = &omap2_mcbsp_ops,
195 },
196 {
197 .phys_base = OMAP44XX_MCBSP4_BASE,
198 .dma_rx_sync = OMAP44XX_DMA_MCBSP4_RX,
199 .dma_tx_sync = OMAP44XX_DMA_MCBSP4_TX,
200 .rx_irq = INT_24XX_MCBSP4_IRQ_RX,
201 .tx_irq = INT_24XX_MCBSP4_IRQ_TX,
202 .ops = &omap2_mcbsp_ops,
203 },
204};
205#define OMAP44XX_MCBSP_PDATA_SZ ARRAY_SIZE(omap44xx_mcbsp_pdata)
206
171static int __init omap2_mcbsp_init(void) 207static int __init omap2_mcbsp_init(void)
172{ 208{
173 if (cpu_is_omap2420()) 209 if (cpu_is_omap2420())
@@ -176,6 +212,8 @@ static int __init omap2_mcbsp_init(void)
176 omap_mcbsp_count = OMAP2430_MCBSP_PDATA_SZ; 212 omap_mcbsp_count = OMAP2430_MCBSP_PDATA_SZ;
177 if (cpu_is_omap34xx()) 213 if (cpu_is_omap34xx())
178 omap_mcbsp_count = OMAP34XX_MCBSP_PDATA_SZ; 214 omap_mcbsp_count = OMAP34XX_MCBSP_PDATA_SZ;
215 if (cpu_is_omap44xx())
216 omap_mcbsp_count = OMAP44XX_MCBSP_PDATA_SZ;
179 217
180 mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *), 218 mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *),
181 GFP_KERNEL); 219 GFP_KERNEL);
@@ -191,6 +229,9 @@ static int __init omap2_mcbsp_init(void)
191 if (cpu_is_omap34xx()) 229 if (cpu_is_omap34xx())
192 omap_mcbsp_register_board_cfg(omap34xx_mcbsp_pdata, 230 omap_mcbsp_register_board_cfg(omap34xx_mcbsp_pdata,
193 OMAP34XX_MCBSP_PDATA_SZ); 231 OMAP34XX_MCBSP_PDATA_SZ);
232 if (cpu_is_omap44xx())
233 omap_mcbsp_register_board_cfg(omap44xx_mcbsp_pdata,
234 OMAP44XX_MCBSP_PDATA_SZ);
194 235
195 return omap_mcbsp_init(); 236 return omap_mcbsp_init();
196} 237}