> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Syed Rafiuddin
> Sent: Tuesday, May 12, 2009 11:50 AM
> To: [email protected]
> Cc: [email protected]
> Subject: [PATCH 1/2][RFC] OMAP4: McBSP support for OMAP_4430SDP.
>
> This patch creates McBSP support on OMAP4430 development platform.
> This patch includes corresponding base address changes for OMAP4.
>
> Signed-off-by: Syed Rafiuddin <[email protected]>
> ---
> arch/arm/mach-omap2/mcbsp.c | 46
> ++++++++++++++++++++++++++++++++
> arch/arm/plat-omap/include/mach/mcbsp.h | 8 ++++-
> 2 files changed, 53 insertions(+), 1 deletion(-)
>
> Index: linux-2.6/arch/arm/mach-omap2/mcbsp.c
> ===================================================================
> --- linux-2.6.orig/arch/arm/mach-omap2/mcbsp.c
> 2009-05-12 10:57:12.000000000 +0530
> +++ linux-2.6/arch/arm/mach-omap2/mcbsp.c 2009-05-12
> 10:57:32.000000000 +0530
> @@ -169,6 +169,47 @@
> #define OMAP34XX_MCBSP_PDATA_SZ 0
> #endif
>
> +#ifdef CONFIG_ARCH_OMAP4
This #if can be removed since the structure is any ways OMAP4 specific.
> +static struct omap_mcbsp_platform_data omap44xx_mcbsp_pdata[] = {
> + {
> + .phys_base = OMAP44XX_MCBSP1_BASE,
> + .dma_rx_sync = OMAP44XX_DMA_MCBSP1_RX,
> + .dma_tx_sync = OMAP44XX_DMA_MCBSP1_TX,
> + .rx_irq = INT_24XX_MCBSP1_IRQ_RX,
IRQ lines should also be updated.
> + .tx_irq = INT_24XX_MCBSP1_IRQ_TX,
> + .ops = &omap2_mcbsp_ops,
> + },
> + {
> + .phys_base = OMAP44XX_MCBSP2_BASE,
> + .dma_rx_sync = OMAP44XX_DMA_MCBSP2_RX,
> + .dma_tx_sync = OMAP44XX_DMA_MCBSP2_TX,
> + .rx_irq = INT_24XX_MCBSP2_IRQ_RX,
> + .tx_irq = INT_24XX_MCBSP2_IRQ_TX,
dito
> + .ops = &omap2_mcbsp_ops,
> + },
> + {
> + .phys_base = OMAP44XX_MCBSP3_BASE,
> + .dma_rx_sync = OMAP44XX_DMA_MCBSP3_RX,
> + .dma_tx_sync = OMAP44XX_DMA_MCBSP3_TX,
> + .rx_irq = INT_24XX_MCBSP3_IRQ_RX,
> + .tx_irq = INT_24XX_MCBSP3_IRQ_TX,
dito
> + .ops = &omap2_mcbsp_ops,
> + },
> + {
> + .phys_base = OMAP44XX_MCBSP4_BASE,
> + .dma_rx_sync = OMAP44XX_DMA_MCBSP4_RX,
> + .dma_tx_sync = OMAP44XX_DMA_MCBSP4_TX,
> + .rx_irq = INT_24XX_MCBSP4_IRQ_RX,
> + .tx_irq = INT_24XX_MCBSP4_IRQ_TX,
dito
> + .ops = &omap2_mcbsp_ops,
> + },
> +}
> +#define OMAP44XX_MCBSP_PDATA_SZ
> ARRAY_SIZE(omap44xx_mcbsp_pdata)
> +#else
> +#define omap44xx_mcbsp_pdata NULL
> +#define OMAP44XX_MCBSP_PDATA_SZ 0
> +#endif
> +
> static int __init omap2_mcbsp_init(void)
> {
> if (cpu_is_omap2420())
> @@ -177,6 +218,8 @@
> omap_mcbsp_count = OMAP2430_MCBSP_PDATA_SZ;
> if (cpu_is_omap34xx())
> omap_mcbsp_count = OMAP34XX_MCBSP_PDATA_SZ;
> + if (cpu_is_omap44xx())
> + omap_mcbsp_count = OMAP44XX_MCBSP_PDATA_SZ;
>
> mcbsp_ptr = kzalloc(omap_mcbsp_count * sizeof(struct
> omap_mcbsp *),
>
> GFP_KERNEL);
> @@ -192,6 +235,9 @@
> if (cpu_is_omap34xx())
> omap_mcbsp_register_board_cfg(omap34xx_mcbsp_pdata,
>
> OMAP34XX_MCBSP_PDATA_SZ);
> + if (cpu_is_omap44xx())
> + omap_mcbsp_register_board_cfg(omap44xx_mcbsp_pdata,
> +
> OMAP44XX_MCBSP_PDATA_SZ);
>
> return omap_mcbsp_init();
> }
> Index: linux-2.6/arch/arm/plat-omap/include/mach/mcbsp.h
> ===================================================================
> --- linux-2.6.orig/arch/arm/plat-omap/include/mach/mcbsp.h
> 2009-05-12
> 10:57:12.000000000 +0530
> +++ linux-2.6/arch/arm/plat-omap/include/mach/mcbsp.h 2009-05-12
> 10:58:24.000000000 +0530
> @@ -53,6 +53,11 @@
> #define OMAP34XX_MCBSP4_BASE 0x49026000
> #define OMAP34XX_MCBSP5_BASE 0x48096000
>
> +#define OMAP44XX_MCBSP1_BASE 0x49022000
> +#define OMAP44XX_MCBSP2_BASE 0x49024000
> +#define OMAP44XX_MCBSP3_BASE 0x49026000
> +#define OMAP44XX_MCBSP4_BASE 0x48074000
> +
> #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) ||
> defined(CONFIG_ARCH_OMAP730)
>
> #define OMAP_MCBSP_REG_DRR2 0x00
> @@ -98,7 +103,8 @@
> #define AUDIO_DMA_TX OMAP_DMA_MCBSP1_TX
> #define AUDIO_DMA_RX OMAP_DMA_MCBSP1_RX
>
> -#elif defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
> +#elif defined(CONFIG_ARCH_OMAP24XX) ||
> defined(CONFIG_ARCH_OMAP34XX) || \
> + defined(CONFIG_ARCH_OMAP4)
Not sure this is because of mailer. In case not try to align it.
> #define OMAP_MCBSP_REG_DRR2 0x00
> #define OMAP_MCBSP_REG_DRR1 0x04
>
>
Regards,
Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html