diff options
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/mcbsp.c | 41 | ||||
-rw-r--r-- | arch/arm/mach-omap2/serial.c | 10 |
3 files changed, 52 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index b0c7402248f7..1b223076ceb7 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -39,7 +39,7 @@ static struct platform_device *sdp4430_devices[] __initdata = { | |||
39 | }; | 39 | }; |
40 | 40 | ||
41 | static struct omap_uart_config sdp4430_uart_config __initdata = { | 41 | static struct omap_uart_config sdp4430_uart_config __initdata = { |
42 | .enabled_uarts = (1 << 0) | (1 << 1) | (1 << 2), | 42 | .enabled_uarts = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3), |
43 | }; | 43 | }; |
44 | 44 | ||
45 | static struct omap_lcd_config sdp4430_lcd_config __initdata = { | 45 | static struct omap_lcd_config sdp4430_lcd_config __initdata = { |
diff --git a/arch/arm/mach-omap2/mcbsp.c b/arch/arm/mach-omap2/mcbsp.c index 0447d26d454b..a846aa1ebb4d 100644 --- a/arch/arm/mach-omap2/mcbsp.c +++ b/arch/arm/mach-omap2/mcbsp.c | |||
@@ -173,6 +173,42 @@ static struct omap_mcbsp_platform_data omap34xx_mcbsp_pdata[] = { | |||
173 | #define OMAP34XX_MCBSP_PDATA_SZ 0 | 173 | #define OMAP34XX_MCBSP_PDATA_SZ 0 |
174 | #endif | 174 | #endif |
175 | 175 | ||
176 | static struct omap_mcbsp_platform_data omap44xx_mcbsp_pdata[] = { | ||
177 | { | ||
178 | .phys_base = OMAP44XX_MCBSP1_BASE, | ||
179 | .dma_rx_sync = OMAP44XX_DMA_MCBSP1_RX, | ||
180 | .dma_tx_sync = OMAP44XX_DMA_MCBSP1_TX, | ||
181 | .rx_irq = INT_24XX_MCBSP1_IRQ_RX, | ||
182 | .tx_irq = INT_24XX_MCBSP1_IRQ_TX, | ||
183 | .ops = &omap2_mcbsp_ops, | ||
184 | }, | ||
185 | { | ||
186 | .phys_base = OMAP44XX_MCBSP2_BASE, | ||
187 | .dma_rx_sync = OMAP44XX_DMA_MCBSP2_RX, | ||
188 | .dma_tx_sync = OMAP44XX_DMA_MCBSP2_TX, | ||
189 | .rx_irq = INT_24XX_MCBSP2_IRQ_RX, | ||
190 | .tx_irq = INT_24XX_MCBSP2_IRQ_TX, | ||
191 | .ops = &omap2_mcbsp_ops, | ||
192 | }, | ||
193 | { | ||
194 | .phys_base = OMAP44XX_MCBSP3_BASE, | ||
195 | .dma_rx_sync = OMAP44XX_DMA_MCBSP3_RX, | ||
196 | .dma_tx_sync = OMAP44XX_DMA_MCBSP3_TX, | ||
197 | .rx_irq = INT_24XX_MCBSP3_IRQ_RX, | ||
198 | .tx_irq = INT_24XX_MCBSP3_IRQ_TX, | ||
199 | .ops = &omap2_mcbsp_ops, | ||
200 | }, | ||
201 | { | ||
202 | .phys_base = OMAP44XX_MCBSP4_BASE, | ||
203 | .dma_rx_sync = OMAP44XX_DMA_MCBSP4_RX, | ||
204 | .dma_tx_sync = OMAP44XX_DMA_MCBSP4_TX, | ||
205 | .rx_irq = INT_24XX_MCBSP4_IRQ_RX, | ||
206 | .tx_irq = INT_24XX_MCBSP4_IRQ_TX, | ||
207 | .ops = &omap2_mcbsp_ops, | ||
208 | }, | ||
209 | }; | ||
210 | #define OMAP44XX_MCBSP_PDATA_SZ ARRAY_SIZE(omap44xx_mcbsp_pdata) | ||
211 | |||
176 | static int __init omap2_mcbsp_init(void) | 212 | static int __init omap2_mcbsp_init(void) |
177 | { | 213 | { |
178 | if (cpu_is_omap2420()) | 214 | if (cpu_is_omap2420()) |
@@ -181,6 +217,8 @@ static int __init omap2_mcbsp_init(void) | |||
181 | omap_mcbsp_count = OMAP2430_MCBSP_PDATA_SZ; | 217 | omap_mcbsp_count = OMAP2430_MCBSP_PDATA_SZ; |
182 | if (cpu_is_omap34xx()) | 218 | if (cpu_is_omap34xx()) |
183 | omap_mcbsp_count = OMAP34XX_MCBSP_PDATA_SZ; | 219 | omap_mcbsp_count = OMAP34XX_MCBSP_PDATA_SZ; |
220 | if (cpu_is_omap44xx()) | ||
221 | omap_mcbsp_count = OMAP44XX_MCBSP_PDATA_SZ; | ||
184 | 222 | ||
185 | mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *), | 223 | mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct omap_mcbsp *), |
186 | GFP_KERNEL); | 224 | GFP_KERNEL); |
@@ -196,6 +234,9 @@ static int __init omap2_mcbsp_init(void) | |||
196 | if (cpu_is_omap34xx()) | 234 | if (cpu_is_omap34xx()) |
197 | omap_mcbsp_register_board_cfg(omap34xx_mcbsp_pdata, | 235 | omap_mcbsp_register_board_cfg(omap34xx_mcbsp_pdata, |
198 | OMAP34XX_MCBSP_PDATA_SZ); | 236 | OMAP34XX_MCBSP_PDATA_SZ); |
237 | if (cpu_is_omap44xx()) | ||
238 | omap_mcbsp_register_board_cfg(omap44xx_mcbsp_pdata, | ||
239 | OMAP44XX_MCBSP_PDATA_SZ); | ||
199 | 240 | ||
200 | return omap_mcbsp_init(); | 241 | return omap_mcbsp_init(); |
201 | } | 242 | } |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index a7421a50410b..ce22344b94e7 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -109,6 +109,16 @@ static struct plat_serial8250_port serial_platform_data2[] = { | |||
109 | .regshift = 2, | 109 | .regshift = 2, |
110 | .uartclk = OMAP24XX_BASE_BAUD * 16, | 110 | .uartclk = OMAP24XX_BASE_BAUD * 16, |
111 | }, { | 111 | }, { |
112 | #ifdef CONFIG_ARCH_OMAP4 | ||
113 | .membase = IO_ADDRESS(OMAP_UART4_BASE), | ||
114 | .mapbase = OMAP_UART4_BASE, | ||
115 | .irq = 70, | ||
116 | .flags = UPF_BOOT_AUTOCONF, | ||
117 | .iotype = UPIO_MEM, | ||
118 | .regshift = 2, | ||
119 | .uartclk = OMAP24XX_BASE_BAUD * 16, | ||
120 | }, { | ||
121 | #endif | ||
112 | .flags = 0 | 122 | .flags = 0 |
113 | } | 123 | } |
114 | }; | 124 | }; |