Re: [PATCH 0/4] Updates on mcbsp driver (take #2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 19 May 2008 11:09:43 -0400
"ext Eduardo Valentin" <edubezval@xxxxxxxxx> wrote:

> Hi Steve,
> 
> This series is basically a simple transformation of currect mcbsp code
> to a platform
> driver and a separation of machine specific code.
> 
> It should work for omap1 and omap2 (what is currently supported). But
> it should add basic support  for omap3
> mcbps 1 and 2. Chandra will send his patches on top of this series to
> add more features for omap3.
> 
For those who are keen to try ASoC on OMAP3 might want to try attached
patch on top of Eduardo's set.

I'll prepare better one when there are more ports defined. E.g.
there is no need to separe omap34xx_dma_regs table since request
numbers are the same between OMAP2 and OMAP3.


Jarkko
>From a1dbb6dd28e9815a307b87b8d96dcf371d6cfd58 Mon Sep 17 00:00:00 2001
From: Jarkko Nikula <jarkko.nikula@xxxxxxxxx>
Date: Mon, 19 May 2008 13:24:41 +0300
Subject: [PATCH] ASoC: OMAP: Add basic support for OMAP34xx in McBSP DAI driver

This adds support for OMAP34xx McBSP port 1 and 2.

Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxx>
---
 sound/soc/omap/omap-mcbsp.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 40d87e6..8e6ec9d 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -99,6 +99,21 @@ static const unsigned long omap2420_mcbsp_port[][2] = {
 static const int omap2420_dma_reqs[][2] = {};
 static const unsigned long omap2420_mcbsp_port[][2] = {};
 #endif
+#if defined(CONFIG_ARCH_OMAP34XX)
+static const int omap34xx_dma_reqs[][2] = {
+	{ OMAP24XX_DMA_MCBSP1_TX, OMAP24XX_DMA_MCBSP1_RX },
+	{ OMAP24XX_DMA_MCBSP2_TX, OMAP24XX_DMA_MCBSP2_RX },
+};
+static const unsigned long omap34xx_mcbsp_port[][2] = {
+	{ OMAP34XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR2,
+	  OMAP34XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR2 },
+	{ OMAP34XX_MCBSP2_BASE + OMAP_MCBSP_REG_DXR2,
+	  OMAP34XX_MCBSP2_BASE + OMAP_MCBSP_REG_DRR2 },
+};
+#else
+static const int omap34xx_dma_reqs[][2] = {};
+static const unsigned long omap34xx_mcbsp_port[][2] = {};
+#endif
 
 static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream)
 {
@@ -169,9 +184,12 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
 	} else if (cpu_is_omap2420()) {
 		dma = omap2420_dma_reqs[bus_id][substream->stream];
 		port = omap2420_mcbsp_port[bus_id][substream->stream];
+	} else if (cpu_is_omap343x()) {
+		dma = omap34xx_dma_reqs[bus_id][substream->stream];
+		port = omap34xx_mcbsp_port[bus_id][substream->stream];
 	} else {
 		/*
-		 * TODO: Add support for 2430 and 3430
+		 * TODO: Add support for 2430
 		 */
 		return -ENODEV;
 	}
-- 
1.5.5.1


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux