aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/omap/omap-mcbsp.c
diff options
context:
space:
mode:
authorJarkko Nikula <jhnikula@gmail.com>2009-08-23 05:24:26 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-08-25 05:20:48 -0400
commit32080af7a612e8c56131d6bdcd268cd9e8b0add1 (patch)
tree8022b8c7cdd0e2efc9f73e5f913cdd913078bd27 /sound/soc/omap/omap-mcbsp.c
parent9b30050908fad96968497e73b88626056ea33c96 (diff)
ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI
Commit ca6e2ce08679c094878d7f39a0349a7db1d13675 is setting up few XCCR and RCCR bits for I2S and DPS_A formats. Part of the bits are already set for all formats and I believe that XDISABLE and RDISABLE bits are format independent. As XCCR and RCCR are found only from OMAP2430 and OMAP34xx, I move setup of XDISABLE and RDISABLE to where those cpu's are tested and remove format dependent part for simplicity. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Eero Nurkkala <ext-eero.nurkkala@nokia.com> Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/omap/omap-mcbsp.c')
-rw-r--r--sound/soc/omap/omap-mcbsp.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index f5387d962f5d..89e8bce114af 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -379,8 +379,8 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
379 regs->xcr2 |= XFIG; 379 regs->xcr2 |= XFIG;
380 } 380 }
381 if (cpu_is_omap2430() || cpu_is_omap34xx()) { 381 if (cpu_is_omap2430() || cpu_is_omap34xx()) {
382 regs->xccr = DXENDLY(1) | XDMAEN; 382 regs->xccr = DXENDLY(1) | XDMAEN | XDISABLE;
383 regs->rccr = RFULL_CYCLE | RDMAEN; 383 regs->rccr = RFULL_CYCLE | RDMAEN | RDISABLE;
384 } 384 }
385 385
386 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { 386 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
@@ -388,15 +388,11 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
388 /* 1-bit data delay */ 388 /* 1-bit data delay */
389 regs->rcr2 |= RDATDLY(1); 389 regs->rcr2 |= RDATDLY(1);
390 regs->xcr2 |= XDATDLY(1); 390 regs->xcr2 |= XDATDLY(1);
391 regs->rccr |= RFULL_CYCLE | RDMAEN | RDISABLE;
392 regs->xccr |= (DXENDLY(1) | XDMAEN | XDISABLE);
393 break; 391 break;
394 case SND_SOC_DAIFMT_DSP_A: 392 case SND_SOC_DAIFMT_DSP_A:
395 /* 1-bit data delay */ 393 /* 1-bit data delay */
396 regs->rcr2 |= RDATDLY(1); 394 regs->rcr2 |= RDATDLY(1);
397 regs->xcr2 |= XDATDLY(1); 395 regs->xcr2 |= XDATDLY(1);
398 regs->rccr |= RFULL_CYCLE | RDMAEN | RDISABLE;
399 regs->xccr |= (DXENDLY(1) | XDMAEN | XDISABLE);
400 /* Invert FS polarity configuration */ 396 /* Invert FS polarity configuration */
401 temp_fmt ^= SND_SOC_DAIFMT_NB_IF; 397 temp_fmt ^= SND_SOC_DAIFMT_NB_IF;
402 break; 398 break;