diff options
Diffstat (limited to 'arch/arm/mach-omap1/mcbsp.c')
-rw-r--r-- | arch/arm/mach-omap1/mcbsp.c | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c index 2baeaeb0c900..7de7c6915584 100644 --- a/arch/arm/mach-omap1/mcbsp.c +++ b/arch/arm/mach-omap1/mcbsp.c | |||
@@ -103,30 +103,6 @@ static inline void omap_mcbsp_clk_init(struct mcbsp_internal_clk *mclk) | |||
103 | { } | 103 | { } |
104 | #endif | 104 | #endif |
105 | 105 | ||
106 | static int omap1_mcbsp_check(unsigned int id) | ||
107 | { | ||
108 | /* REVISIT: Check correctly for number of registered McBSPs */ | ||
109 | if (cpu_is_omap730()) { | ||
110 | if (id > OMAP_MAX_MCBSP_COUNT - 2) { | ||
111 | printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n", | ||
112 | id + 1); | ||
113 | return -ENODEV; | ||
114 | } | ||
115 | return 0; | ||
116 | } | ||
117 | |||
118 | if (cpu_is_omap15xx() || cpu_is_omap16xx()) { | ||
119 | if (id > OMAP_MAX_MCBSP_COUNT - 1) { | ||
120 | printk(KERN_ERR "OMAP-McBSP: McBSP%d doesn't exist\n", | ||
121 | id + 1); | ||
122 | return -ENODEV; | ||
123 | } | ||
124 | return 0; | ||
125 | } | ||
126 | |||
127 | return -ENODEV; | ||
128 | } | ||
129 | |||
130 | static void omap1_mcbsp_request(unsigned int id) | 106 | static void omap1_mcbsp_request(unsigned int id) |
131 | { | 107 | { |
132 | /* | 108 | /* |
@@ -151,7 +127,6 @@ static void omap1_mcbsp_free(unsigned int id) | |||
151 | } | 127 | } |
152 | 128 | ||
153 | static struct omap_mcbsp_ops omap1_mcbsp_ops = { | 129 | static struct omap_mcbsp_ops omap1_mcbsp_ops = { |
154 | .check = omap1_mcbsp_check, | ||
155 | .request = omap1_mcbsp_request, | 130 | .request = omap1_mcbsp_request, |
156 | .free = omap1_mcbsp_free, | 131 | .free = omap1_mcbsp_free, |
157 | }; | 132 | }; |
@@ -160,7 +135,6 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = { | |||
160 | static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = { | 135 | static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = { |
161 | { | 136 | { |
162 | .phys_base = OMAP730_MCBSP1_BASE, | 137 | .phys_base = OMAP730_MCBSP1_BASE, |
163 | .virt_base = io_p2v(OMAP730_MCBSP1_BASE), | ||
164 | .dma_rx_sync = OMAP_DMA_MCBSP1_RX, | 138 | .dma_rx_sync = OMAP_DMA_MCBSP1_RX, |
165 | .dma_tx_sync = OMAP_DMA_MCBSP1_TX, | 139 | .dma_tx_sync = OMAP_DMA_MCBSP1_TX, |
166 | .rx_irq = INT_730_McBSP1RX, | 140 | .rx_irq = INT_730_McBSP1RX, |
@@ -169,7 +143,6 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = { | |||
169 | }, | 143 | }, |
170 | { | 144 | { |
171 | .phys_base = OMAP730_MCBSP2_BASE, | 145 | .phys_base = OMAP730_MCBSP2_BASE, |
172 | .virt_base = io_p2v(OMAP730_MCBSP2_BASE), | ||
173 | .dma_rx_sync = OMAP_DMA_MCBSP3_RX, | 146 | .dma_rx_sync = OMAP_DMA_MCBSP3_RX, |
174 | .dma_tx_sync = OMAP_DMA_MCBSP3_TX, | 147 | .dma_tx_sync = OMAP_DMA_MCBSP3_TX, |
175 | .rx_irq = INT_730_McBSP2RX, | 148 | .rx_irq = INT_730_McBSP2RX, |
@@ -187,7 +160,6 @@ static struct omap_mcbsp_platform_data omap730_mcbsp_pdata[] = { | |||
187 | static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { | 160 | static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { |
188 | { | 161 | { |
189 | .phys_base = OMAP1510_MCBSP1_BASE, | 162 | .phys_base = OMAP1510_MCBSP1_BASE, |
190 | .virt_base = OMAP1510_MCBSP1_BASE, | ||
191 | .dma_rx_sync = OMAP_DMA_MCBSP1_RX, | 163 | .dma_rx_sync = OMAP_DMA_MCBSP1_RX, |
192 | .dma_tx_sync = OMAP_DMA_MCBSP1_TX, | 164 | .dma_tx_sync = OMAP_DMA_MCBSP1_TX, |
193 | .rx_irq = INT_McBSP1RX, | 165 | .rx_irq = INT_McBSP1RX, |
@@ -197,7 +169,6 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { | |||
197 | }, | 169 | }, |
198 | { | 170 | { |
199 | .phys_base = OMAP1510_MCBSP2_BASE, | 171 | .phys_base = OMAP1510_MCBSP2_BASE, |
200 | .virt_base = io_p2v(OMAP1510_MCBSP2_BASE), | ||
201 | .dma_rx_sync = OMAP_DMA_MCBSP2_RX, | 172 | .dma_rx_sync = OMAP_DMA_MCBSP2_RX, |
202 | .dma_tx_sync = OMAP_DMA_MCBSP2_TX, | 173 | .dma_tx_sync = OMAP_DMA_MCBSP2_TX, |
203 | .rx_irq = INT_1510_SPI_RX, | 174 | .rx_irq = INT_1510_SPI_RX, |
@@ -206,7 +177,6 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { | |||
206 | }, | 177 | }, |
207 | { | 178 | { |
208 | .phys_base = OMAP1510_MCBSP3_BASE, | 179 | .phys_base = OMAP1510_MCBSP3_BASE, |
209 | .virt_base = OMAP1510_MCBSP3_BASE, | ||
210 | .dma_rx_sync = OMAP_DMA_MCBSP3_RX, | 180 | .dma_rx_sync = OMAP_DMA_MCBSP3_RX, |
211 | .dma_tx_sync = OMAP_DMA_MCBSP3_TX, | 181 | .dma_tx_sync = OMAP_DMA_MCBSP3_TX, |
212 | .rx_irq = INT_McBSP3RX, | 182 | .rx_irq = INT_McBSP3RX, |
@@ -225,7 +195,6 @@ static struct omap_mcbsp_platform_data omap15xx_mcbsp_pdata[] = { | |||
225 | static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = { | 195 | static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = { |
226 | { | 196 | { |
227 | .phys_base = OMAP1610_MCBSP1_BASE, | 197 | .phys_base = OMAP1610_MCBSP1_BASE, |
228 | .virt_base = OMAP1610_MCBSP1_BASE, | ||
229 | .dma_rx_sync = OMAP_DMA_MCBSP1_RX, | 198 | .dma_rx_sync = OMAP_DMA_MCBSP1_RX, |
230 | .dma_tx_sync = OMAP_DMA_MCBSP1_TX, | 199 | .dma_tx_sync = OMAP_DMA_MCBSP1_TX, |
231 | .rx_irq = INT_McBSP1RX, | 200 | .rx_irq = INT_McBSP1RX, |
@@ -235,7 +204,6 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = { | |||
235 | }, | 204 | }, |
236 | { | 205 | { |
237 | .phys_base = OMAP1610_MCBSP2_BASE, | 206 | .phys_base = OMAP1610_MCBSP2_BASE, |
238 | .virt_base = io_p2v(OMAP1610_MCBSP2_BASE), | ||
239 | .dma_rx_sync = OMAP_DMA_MCBSP2_RX, | 207 | .dma_rx_sync = OMAP_DMA_MCBSP2_RX, |
240 | .dma_tx_sync = OMAP_DMA_MCBSP2_TX, | 208 | .dma_tx_sync = OMAP_DMA_MCBSP2_TX, |
241 | .rx_irq = INT_1610_McBSP2_RX, | 209 | .rx_irq = INT_1610_McBSP2_RX, |
@@ -244,7 +212,6 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = { | |||
244 | }, | 212 | }, |
245 | { | 213 | { |
246 | .phys_base = OMAP1610_MCBSP3_BASE, | 214 | .phys_base = OMAP1610_MCBSP3_BASE, |
247 | .virt_base = OMAP1610_MCBSP3_BASE, | ||
248 | .dma_rx_sync = OMAP_DMA_MCBSP3_RX, | 215 | .dma_rx_sync = OMAP_DMA_MCBSP3_RX, |
249 | .dma_tx_sync = OMAP_DMA_MCBSP3_TX, | 216 | .dma_tx_sync = OMAP_DMA_MCBSP3_TX, |
250 | .rx_irq = INT_McBSP3RX, | 217 | .rx_irq = INT_McBSP3RX, |
@@ -271,6 +238,18 @@ int __init omap1_mcbsp_init(void) | |||
271 | } | 238 | } |
272 | 239 | ||
273 | if (cpu_is_omap730()) | 240 | if (cpu_is_omap730()) |
241 | omap_mcbsp_count = OMAP730_MCBSP_PDATA_SZ; | ||
242 | if (cpu_is_omap15xx()) | ||
243 | omap_mcbsp_count = OMAP15XX_MCBSP_PDATA_SZ; | ||
244 | if (cpu_is_omap16xx()) | ||
245 | omap_mcbsp_count = OMAP16XX_MCBSP_PDATA_SZ; | ||
246 | |||
247 | mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *), | ||
248 | GFP_KERNEL); | ||
249 | if (!mcbsp_ptr) | ||
250 | return -ENOMEM; | ||
251 | |||
252 | if (cpu_is_omap730()) | ||
274 | omap_mcbsp_register_board_cfg(omap730_mcbsp_pdata, | 253 | omap_mcbsp_register_board_cfg(omap730_mcbsp_pdata, |
275 | OMAP730_MCBSP_PDATA_SZ); | 254 | OMAP730_MCBSP_PDATA_SZ); |
276 | 255 | ||