All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
@ 2010-12-06 22:34 Olaya, Margarita
  2010-12-06 22:44 ` Mark Brown
  2010-12-07  8:52 ` Peter Ujfalusi
  0 siblings, 2 replies; 11+ messages in thread
From: Olaya, Margarita @ 2010-12-06 22:34 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood; +Cc: alsa-devel@alsa-project.org

From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>

This patch adds McBSP support for the OMAP4 CPU

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
---
 sound/soc/omap/omap-mcbsp.c |   38 +++++++++++++++++++++++++++++++++++---
 sound/soc/omap/omap-mcbsp.h |    4 ++++
 2 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 7e84f24..132062c 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -102,6 +102,17 @@ static const int omap24xx_dma_reqs[][2] = {
 static const int omap24xx_dma_reqs[][2] = {};
 #endif
 
+#if defined(CONFIG_ARCH_OMAP4)
+static const int omap44xx_dma_reqs[][2] = {
+	{ OMAP44XX_DMA_MCBSP1_TX, OMAP44XX_DMA_MCBSP1_RX },
+	{ OMAP44XX_DMA_MCBSP2_TX, OMAP44XX_DMA_MCBSP2_RX },
+	{ OMAP44XX_DMA_MCBSP3_TX, OMAP44XX_DMA_MCBSP3_RX },
+	{ OMAP44XX_DMA_MCBSP4_TX, OMAP44XX_DMA_MCBSP4_RX },
+};
+#else
+static const int omap44xx_dma_reqs[][2] = {};
+#endif
+
 #if defined(CONFIG_ARCH_OMAP2420)
 static const unsigned long omap2420_mcbsp_port[][2] = {
 	{ OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1,
@@ -147,6 +158,21 @@ static const unsigned long omap34xx_mcbsp_port[][2] = {
 static const unsigned long omap34xx_mcbsp_port[][2] = {};
 #endif
 
+#if defined(CONFIG_ARCH_OMAP4)
+static const unsigned long omap44xx_mcbsp_port[][2] = {
+	{ OMAP44XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR },
+	{ OMAP44XX_MCBSP2_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP2_BASE + OMAP_MCBSP_REG_DRR },
+	{ OMAP44XX_MCBSP3_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP3_BASE + OMAP_MCBSP_REG_DRR },
+	{ OMAP44XX_MCBSP4_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP4_BASE + OMAP_MCBSP_REG_DRR },
+};
+#else
+static const unsigned long omap44xx_mcbsp_port[][2] = {};
+#endif
+
 static void omap_mcbsp_set_threshold(struct snd_pcm_substream *substream)
 {
 	struct snd_soc_pcm_runtime *rtd = substream->private_data;
@@ -224,7 +250,7 @@ static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream,
 	 * 2 channels (stereo): size is 128 / 2 = 64 frames (2 * 64 words)
 	 * 4 channels: size is 128 / 4 = 32 frames (4 * 32 words)
 	 */
-	if (cpu_is_omap343x()) {
+	if (cpu_is_omap343x() || cpu_is_omap44xx()) {
 		/*
 		* Rule for the buffer size. We should not allow
 		* smaller buffer than the FIFO size to avoid underruns
@@ -332,6 +358,9 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
 	} else if (cpu_is_omap343x()) {
 		dma = omap24xx_dma_reqs[bus_id][substream->stream];
 		port = omap34xx_mcbsp_port[bus_id][substream->stream];
+	 } else if (cpu_is_omap44xx()) {
+		dma = omap44xx_dma_reqs[bus_id][substream->stream];
+		port = omap44xx_mcbsp_port[bus_id][substream->stream];
 	} else {
 		return -ENODEV;
 	}
@@ -498,11 +527,11 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 	regs->spcr2	|= XINTM(3) | FREE;
 	regs->spcr1	|= RINTM(3);
 	/* RFIG and XFIG are not defined in 34xx */
-	if (!cpu_is_omap34xx()) {
+	if (!cpu_is_omap34xx() && !cpu_is_omap44xx()) {
 		regs->rcr2	|= RFIG;
 		regs->xcr2	|= XFIG;
 	}
-	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+	if (cpu_is_omap2430() || cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		regs->xccr = DXENDLY(1) | XDMAEN | XDISABLE;
 		regs->rccr = RFULL_CYCLE | RDMAEN | RDISABLE;
 	}
@@ -623,6 +652,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
 		if (cpu_class_is_omap1()) {
 			err = -EINVAL;
 			break;
+		} else if (cpu_is_omap44xx()) {
+			regs->srgr2     |= CLKSM;
+			break;
 		}
 		err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id,
 					       MCBSP_CLKS_PRCM_SRC);
diff --git a/sound/soc/omap/omap-mcbsp.h b/sound/soc/omap/omap-mcbsp.h
index ffdcc5a..110c106 100644
--- a/sound/soc/omap/omap-mcbsp.h
+++ b/sound/soc/omap/omap-mcbsp.h
@@ -50,6 +50,10 @@ enum omap_mcbsp_div {
 #undef  NUM_LINKS
 #define NUM_LINKS	3
 #endif
+#if defined(CONFIG_ARCH_OMAP4)
+#undef  NUM_LINKS
+#define NUM_LINKS	4
+#endif
 #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3)
 #undef  NUM_LINKS
 #define NUM_LINKS	5
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-06 22:34 Olaya, Margarita
@ 2010-12-06 22:44 ` Mark Brown
  2010-12-07  8:52 ` Peter Ujfalusi
  1 sibling, 0 replies; 11+ messages in thread
From: Mark Brown @ 2010-12-06 22:44 UTC (permalink / raw)
  To: Olaya, Margarita; +Cc: alsa-devel@alsa-project.org, Liam Girdwood

On Mon, Dec 06, 2010 at 04:34:40PM -0600, Olaya, Margarita wrote:
> From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> 
> This patch adds McBSP support for the OMAP4 CPU
> 
> Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-06 22:34 Olaya, Margarita
  2010-12-06 22:44 ` Mark Brown
@ 2010-12-07  8:52 ` Peter Ujfalusi
  1 sibling, 0 replies; 11+ messages in thread
From: Peter Ujfalusi @ 2010-12-07  8:52 UTC (permalink / raw)
  To: alsa-devel; +Cc: ext Olaya, Margarita, Mark Brown, Liam Girdwood

On Tuesday 07 December 2010 00:34:40 ext Olaya, Margarita wrote:
> @@ -623,6 +652,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct
> snd_soc_dai *cpu_dai, if (cpu_class_is_omap1()) {
>  			err = -EINVAL;
>  			break;
> +		} else if (cpu_is_omap44xx()) {
> +			regs->srgr2     |= CLKSM;
> +			break;

Are you sure about this?
You want to select FCLK as functional clock...
So I think you want to have the source from CLKS, and CLKS should have the 
FCLK selected, so I think you want:
~CLKSM in srgr2, and ~CLKME in pcr0

>  		}
>  		err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id,
>  					       MCBSP_CLKS_PRCM_SRC);


-- 
Péter

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
@ 2010-12-20 17:32 Olaya, Margarita
  2010-12-20 17:36 ` Mark Brown
  0 siblings, 1 reply; 11+ messages in thread
From: Olaya, Margarita @ 2010-12-20 17:32 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood; +Cc: alsa-devel@alsa-project.org

From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>

This patch adds McBSP support for the OMAP4 CPU

Signed-off-by: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
---
 sound/soc/omap/omap-mcbsp.c |   38 +++++++++++++++++++++++++++++++++++---
 sound/soc/omap/omap-mcbsp.h |    4 ++++
 2 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 7e84f24..69cb4d1 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -102,6 +102,17 @@ static const int omap24xx_dma_reqs[][2] = {
 static const int omap24xx_dma_reqs[][2] = {};
 #endif
 
+#if defined(CONFIG_ARCH_OMAP4)
+static const int omap44xx_dma_reqs[][2] = {
+	{ OMAP44XX_DMA_MCBSP1_TX, OMAP44XX_DMA_MCBSP1_RX },
+	{ OMAP44XX_DMA_MCBSP2_TX, OMAP44XX_DMA_MCBSP2_RX },
+	{ OMAP44XX_DMA_MCBSP3_TX, OMAP44XX_DMA_MCBSP3_RX },
+	{ OMAP44XX_DMA_MCBSP4_TX, OMAP44XX_DMA_MCBSP4_RX },
+};
+#else
+static const int omap44xx_dma_reqs[][2] = {};
+#endif
+
 #if defined(CONFIG_ARCH_OMAP2420)
 static const unsigned long omap2420_mcbsp_port[][2] = {
 	{ OMAP24XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1,
@@ -147,6 +158,21 @@ static const unsigned long omap34xx_mcbsp_port[][2] = {
 static const unsigned long omap34xx_mcbsp_port[][2] = {};
 #endif
 
+#if defined(CONFIG_ARCH_OMAP4)
+static const unsigned long omap44xx_mcbsp_port[][2] = {
+	{ OMAP44XX_MCBSP1_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP1_BASE + OMAP_MCBSP_REG_DRR },
+	{ OMAP44XX_MCBSP2_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP2_BASE + OMAP_MCBSP_REG_DRR },
+	{ OMAP44XX_MCBSP3_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP3_BASE + OMAP_MCBSP_REG_DRR },
+	{ OMAP44XX_MCBSP4_BASE + OMAP_MCBSP_REG_DXR,
+	  OMAP44XX_MCBSP4_BASE + OMAP_MCBSP_REG_DRR },
+};
+#else
+static const unsigned long omap44xx_mcbsp_port[][2] = {};
+#endif
+
 static void omap_mcbsp_set_threshold(struct snd_pcm_substream *substream)
 {
 	struct snd_soc_pcm_runtime *rtd = substream->private_data;
@@ -224,7 +250,7 @@ static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream,
 	 * 2 channels (stereo): size is 128 / 2 = 64 frames (2 * 64 words)
 	 * 4 channels: size is 128 / 4 = 32 frames (4 * 32 words)
 	 */
-	if (cpu_is_omap343x()) {
+	if (cpu_is_omap343x() || cpu_is_omap44xx()) {
 		/*
 		* Rule for the buffer size. We should not allow
 		* smaller buffer than the FIFO size to avoid underruns
@@ -332,6 +358,9 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
 	} else if (cpu_is_omap343x()) {
 		dma = omap24xx_dma_reqs[bus_id][substream->stream];
 		port = omap34xx_mcbsp_port[bus_id][substream->stream];
+	 } else if (cpu_is_omap44xx()) {
+		dma = omap44xx_dma_reqs[bus_id][substream->stream];
+		port = omap44xx_mcbsp_port[bus_id][substream->stream];
 	} else {
 		return -ENODEV;
 	}
@@ -498,11 +527,11 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
 	regs->spcr2	|= XINTM(3) | FREE;
 	regs->spcr1	|= RINTM(3);
 	/* RFIG and XFIG are not defined in 34xx */
-	if (!cpu_is_omap34xx()) {
+	if (!cpu_is_omap34xx() && !cpu_is_omap44xx()) {
 		regs->rcr2	|= RFIG;
 		regs->xcr2	|= XFIG;
 	}
-	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+	if (cpu_is_omap2430() || cpu_is_omap34xx() || cpu_is_omap44xx()) {
 		regs->xccr = DXENDLY(1) | XDMAEN | XDISABLE;
 		regs->rccr = RFULL_CYCLE | RDMAEN | RDISABLE;
 	}
@@ -623,6 +652,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
 		if (cpu_class_is_omap1()) {
 			err = -EINVAL;
 			break;
+		} else if (cpu_is_omap44xx()) {
+			regs->srgr2     &= ~CLKSM;
+			break;
 		}
 		err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id,
 					       MCBSP_CLKS_PRCM_SRC);
diff --git a/sound/soc/omap/omap-mcbsp.h b/sound/soc/omap/omap-mcbsp.h
index ffdcc5a..110c106 100644
--- a/sound/soc/omap/omap-mcbsp.h
+++ b/sound/soc/omap/omap-mcbsp.h
@@ -50,6 +50,10 @@ enum omap_mcbsp_div {
 #undef  NUM_LINKS
 #define NUM_LINKS	3
 #endif
+#if defined(CONFIG_ARCH_OMAP4)
+#undef  NUM_LINKS
+#define NUM_LINKS	4
+#endif
 #if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3)
 #undef  NUM_LINKS
 #define NUM_LINKS	5
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-20 17:32 [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4 Olaya, Margarita
@ 2010-12-20 17:36 ` Mark Brown
  2010-12-21  9:48   ` Jarkko Nikula
  0 siblings, 1 reply; 11+ messages in thread
From: Mark Brown @ 2010-12-20 17:36 UTC (permalink / raw)
  To: Olaya, Margarita; +Cc: alsa-devel@alsa-project.org, Liam Girdwood

On Mon, Dec 20, 2010 at 11:32:47AM -0600, Olaya, Margarita wrote:
> From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> 
> This patch adds McBSP support for the OMAP4 CPU

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-20 17:36 ` Mark Brown
@ 2010-12-21  9:48   ` Jarkko Nikula
  2010-12-21 10:17     ` Liam Girdwood
  2010-12-21 13:57     ` Liam Girdwood
  0 siblings, 2 replies; 11+ messages in thread
From: Jarkko Nikula @ 2010-12-21  9:48 UTC (permalink / raw)
  To: Mark Brown; +Cc: Olaya, Margarita, alsa-devel@alsa-project.org, Liam Girdwood

On Mon, 20 Dec 2010 17:36:13 +0000
Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:

> On Mon, Dec 20, 2010 at 11:32:47AM -0600, Olaya, Margarita wrote:
> > From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> > 
> > This patch adds McBSP support for the OMAP4 CPU
> 
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Have my ack too
Acked-by: Jarkko Nikula <jhnikula@gmail.com>

Out of curiosity: can the McBSP interface to be used as a simple
alternative to OMAP4 ABE centric audio on existing platfroms like Panda?


-- 
Jarkko

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-21  9:48   ` Jarkko Nikula
@ 2010-12-21 10:17     ` Liam Girdwood
  2010-12-23  6:42       ` peter.ujfalusi
  2010-12-21 13:57     ` Liam Girdwood
  1 sibling, 1 reply; 11+ messages in thread
From: Liam Girdwood @ 2010-12-21 10:17 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: Olaya, Margarita, alsa-devel@alsa-project.org, Mark Brown

On Tue, 2010-12-21 at 11:48 +0200, Jarkko Nikula wrote:
> On Mon, 20 Dec 2010 17:36:13 +0000
> Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:
> 
> > On Mon, Dec 20, 2010 at 11:32:47AM -0600, Olaya, Margarita wrote:
> > > From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> > > 
> > > This patch adds McBSP support for the OMAP4 CPU
> > 
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Have my ack too
> Acked-by: Jarkko Nikula <jhnikula@gmail.com>
> 
> Out of curiosity: can the McBSP interface to be used as a simple
> alternative to OMAP4 ABE centric audio on existing platfroms like Panda?
> 

McBSP, McPDM and DMIC can all be used without the ABE in legacy mode on
OMAP4. 

Liam

-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-21  9:48   ` Jarkko Nikula
  2010-12-21 10:17     ` Liam Girdwood
@ 2010-12-21 13:57     ` Liam Girdwood
  1 sibling, 0 replies; 11+ messages in thread
From: Liam Girdwood @ 2010-12-21 13:57 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: Olaya, Margarita, alsa-devel@alsa-project.org, Mark Brown

On Tue, 2010-12-21 at 11:48 +0200, Jarkko Nikula wrote:
> On Mon, 20 Dec 2010 17:36:13 +0000
> Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:
> 
> > On Mon, Dec 20, 2010 at 11:32:47AM -0600, Olaya, Margarita wrote:
> > > From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> > > 
> > > This patch adds McBSP support for the OMAP4 CPU
> > 
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> 
> Have my ack too
> Acked-by: Jarkko Nikula <jhnikula@gmail.com>
> 

Applied

Thanks

Liam

-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-21 10:17     ` Liam Girdwood
@ 2010-12-23  6:42       ` peter.ujfalusi
  2010-12-23  7:32         ` peter.ujfalusi
  0 siblings, 1 reply; 11+ messages in thread
From: peter.ujfalusi @ 2010-12-23  6:42 UTC (permalink / raw)
  To: lrg, jhnikula; +Cc: magi.olaya, alsa-devel, broonie

Hi,

It seams that I have really bad mail issues..
I just received the RE mails to the patch, but not the original, so
I picked this mail to reply.
And going to top post :(

In the patch:
@@ -623,6 +652,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
                if (cpu_class_is_omap1()) {
                        err = -EINVAL;
                        break;
+               } else if (cpu_is_omap44xx()) {
+                       regs->srgr2     &= ~CLKSM;

There's no need to clear the CLKSM, since it is by default not set.
IMHO you shall handle the OMAP4 in a same way as we handle OMAP3.
By doing nothing here.

+                       break;
                }
                err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id,
                                               MCBSP_CLKS_PRCM_SRC);


Otherwise:
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>

______________________________________
From: alsa-devel-bounces@alsa-project.org [alsa-devel-bounces@alsa-project.org] on behalf of ext Liam Girdwood [lrg@slimlogic.co.uk]
Sent: Tuesday, December 21, 2010 12:17
To: Jarkko Nikula
Cc: Olaya, Margarita; alsa-devel@alsa-project.org; Mark Brown
Subject: Re: [alsa-devel] [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4

On Tue, 2010-12-21 at 11:48 +0200, Jarkko Nikula wrote:
> On Mon, 20 Dec 2010 17:36:13 +0000
> Mark Brown <broonie@opensource.wolfsonmicro.com> wrote:
>
> > On Mon, Dec 20, 2010 at 11:32:47AM -0600, Olaya, Margarita wrote:
> > > From: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
> > >
> > > This patch adds McBSP support for the OMAP4 CPU
> >
> > Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
>
> Have my ack too
> Acked-by: Jarkko Nikula <jhnikula@gmail.com>
>
> Out of curiosity: can the McBSP interface to be used as a simple
> alternative to OMAP4 ABE centric audio on existing platfroms like Panda?
>

McBSP, McPDM and DMIC can all be used without the ABE in legacy mode on
OMAP4.

Liam

--
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-23  6:42       ` peter.ujfalusi
@ 2010-12-23  7:32         ` peter.ujfalusi
  2010-12-23 14:39           ` Liam Girdwood
  0 siblings, 1 reply; 11+ messages in thread
From: peter.ujfalusi @ 2010-12-23  7:32 UTC (permalink / raw)
  To: peter.ujfalusi, lrg, jhnikula; +Cc: magi.olaya, alsa-devel, broonie

Hi,

> From: alsa-devel-bounces@alsa-project.org [alsa-devel-bounces@alsa-project.org] on behalf of Ujfalusi Peter (Nokia-MS/Tampere)
> Sent: Thursday, December 23, 2010 08:42
> To: lrg@slimlogic.co.uk; jhnikula@gmail.com
> Cc: magi.olaya@ti.com; alsa-devel@alsa-project.org; broonie@opensource.wolfsonmicro.com
> Subject: Re: [alsa-devel] [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4

> In the patch:
> @@ -623,6 +652,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
>                 if (cpu_class_is_omap1()) {
>                         err = -EINVAL;
>                         break;
> +               } else if (cpu_is_omap44xx()) {
> +                       regs->srgr2     &= ~CLKSM;
> 
> There's no need to clear the CLKSM, since it is by default not set.
> IMHO you shall handle the OMAP4 in a same way as we handle OMAP3.
> By doing nothing here.
> 
> +                       break;

I think you should not break here, since you might want to select the CLKS/PRCM with the next
call...

>                 }
>                 err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id,
>                                                MCBSP_CLKS_PRCM_SRC);
> 
> 
> Otherwise:
> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>

Just noticed that, this patch is already in, but the issues, I have commented has to
be fixed in order to have proper support for OMAP4.

Peter

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
  2010-12-23  7:32         ` peter.ujfalusi
@ 2010-12-23 14:39           ` Liam Girdwood
  0 siblings, 0 replies; 11+ messages in thread
From: Liam Girdwood @ 2010-12-23 14:39 UTC (permalink / raw)
  To: peter.ujfalusi; +Cc: alsa-devel, broonie, magi.olaya

On Thu, 2010-12-23 at 07:32 +0000, peter.ujfalusi@nokia.com wrote:
> Hi,
> 
> > From: alsa-devel-bounces@alsa-project.org [alsa-devel-bounces@alsa-project.org] on behalf of Ujfalusi Peter (Nokia-MS/Tampere)
> > Sent: Thursday, December 23, 2010 08:42
> > To: lrg@slimlogic.co.uk; jhnikula@gmail.com
> > Cc: magi.olaya@ti.com; alsa-devel@alsa-project.org; broonie@opensource.wolfsonmicro.com
> > Subject: Re: [alsa-devel] [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4
> 
> > In the patch:
> > @@ -623,6 +652,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
> >                 if (cpu_class_is_omap1()) {
> >                         err = -EINVAL;
> >                         break;
> > +               } else if (cpu_is_omap44xx()) {
> > +                       regs->srgr2     &= ~CLKSM;
> > 
> > There's no need to clear the CLKSM, since it is by default not set.
> > IMHO you shall handle the OMAP4 in a same way as we handle OMAP3.
> > By doing nothing here.
> > 
> > +                       break;
> 
> I think you should not break here, since you might want to select the CLKS/PRCM with the next
> call...
> 
> >                 }
> >                 err = omap2_mcbsp_set_clks_src(mcbsp_data->bus_id,
> >                                                MCBSP_CLKS_PRCM_SRC);
> > 
> > 
> > Otherwise:
> > Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
> 
> Just noticed that, this patch is already in, but the issues, I have commented has to
> be fixed in order to have proper support for OMAP4.

Now fixed and added your Ack.

Thanks

Liam
-- 
Freelance Developer, SlimLogic Ltd
ASoC and Voltage Regulator Maintainer.
http://www.slimlogic.co.uk

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-12-23 14:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-20 17:32 [PATCH] ASoC: mcbsp: Add McBSP support for OMAP4 Olaya, Margarita
2010-12-20 17:36 ` Mark Brown
2010-12-21  9:48   ` Jarkko Nikula
2010-12-21 10:17     ` Liam Girdwood
2010-12-23  6:42       ` peter.ujfalusi
2010-12-23  7:32         ` peter.ujfalusi
2010-12-23 14:39           ` Liam Girdwood
2010-12-21 13:57     ` Liam Girdwood
  -- strict thread matches above, loose matches on Subject: below --
2010-12-06 22:34 Olaya, Margarita
2010-12-06 22:44 ` Mark Brown
2010-12-07  8:52 ` Peter Ujfalusi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.