[alsa-devel] [PATCH 1/6] ASoC: OMAP mcbsp: Add DSP_A support

Peter Ujfalusi peter.ujfalusi at nokia.com
Tue Apr 7 07:19:11 CEST 2009


On Monday 06 April 2009 15:37:58 Ujfalusi Peter (Nokia-D/Tampere) wrote:
> On Monday 06 April 2009 15:22:33 ext Mark Brown wrote:
> > On Mon, Apr 06, 2009 at 03:19:27PM +0300, Peter Ujfalusi wrote:
> > > Add SND_SOC_DAIFMT_DSP_A support for omap-mcbsp.
> > > The configuration for DSP_A and DSP_B is the same.
> >
> > That doesn't sound right - the two formats do differ on the wire.  In
> > mode B the MSB of data is transmitted along with the LRC pulse while in
> > mode A it is transmitted after the trailing edge of the LRC pulse.
>
> That is why I have asked previously about these... I'm still a bit
> confused, but at the end (I think) the configuration in omap-mcbsp is right
> for the twl4030:
> regs->srgr2	|= FPER(wlen * channels - 1);
> regs->srgr1	|= FWID(wlen * channels - 2);
> and
> /* 0-bit data delay */
> regs->rcr2      |= RDATDLY(0);
> regs->xcr2      |= XDATDLY(0);
>
> I'll revisit this.

I have taken a look about the DSP_A and DSP_B modes in omap-mcbsp.
The only board uses the DSP_B mode is the osk5912 with the tlv320aic23 codec.
I have downloaded the data sheet for the tlv320aic23 and I think that the DSP 
mode in tlv320aic23 is identical to the TDM mode in twl4030 except for the 
clock polarity
twl4030: Samples the data on falling edge, shifts data out (and changes the 
FS) on rising edge
tlv320aic23: Samples the data on rising, shifts data out (and changes the FS) 
on falling edge

This difference is taken care with the SND_SOC_DAIFMT_NB_IF (osk5912) and 
SND_SOC_DAIFMT_IB_NF (beagle).

I would say, that I'm still confused over this...

References:
tlv320aic23:
http://focus.ti.com/lit/ds/slws106d/slws106d.pdf
Page 28 (3-8)
twl4030:
http://focus.tij.co.jp/jp/lit/ug/swcu050b/swcu050b.pdf
Page 712 (TDM mode, Sample length 16 bits; Word length 16 bits)


-- 
Péter


More information about the Alsa-devel mailing list