On Thursday 09 April 2009 13:16:55 Ujfalusi Peter (Nokia-D/Tampere) wrote: > On Thursday 09 April 2009 13:00:14 Nikula Jarkko (Nokia-D/Helsinki) wrote: > > On Thu, 9 Apr 2009 11:34:41 +0200 > > > > "Ujfalusi Peter (Nokia-D/Tampere)" <peter.ujfalusi@xxxxxxxxx> wrote: > > > - case SND_SOC_DAIFMT_DSP_B: > > > + case SND_SOC_DAIFMT_DSP_A: > > > /* 0-bit data delay */ > > > regs->rcr2 |= RDATDLY(0); > > > regs->xcr2 |= XDATDLY(0); > > > -- > > > > Are you absolutely sure on this? According to WM9713, it's the DSP_A > > where MSB is valid after 1 bit clock period of the FS. > > I think this is correct. The data is going to be valid exactly the same > way, as the WM9713 data sheet describes. > > As for the DSP_B mode: I think it can be implemented like this: > Invert the frame sync polarity, Then: > case SND_SOC_DAIFMT_DSP_B: > regs->srgr2 |= FPER(wlen * channels - 1); > regs->srgr1 |= FWID(0); /* FS pulse width is 1 */ > break; > > So the MSB will be in the correct place. BTW: I have draw it to paper the following to verified these: 1) how mcbsp would operate with the osk5912 config (as it was): snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_NB_IF | SND_SOC_DAIFMT_CBM_CFM); Than after the change: 2) how mcbsp would operate with the osk5912 config (my proposal): err = snd_soc_dai_set_fmt(codec_dai, snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM); 3) how mcbsp would operate with the omap3beagle 4 channel mode: fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF | SND_SOC_DAIFMT_CBM_CFM; Than I compared these drawings to the pictures in the data sheets (tlv320aic32, twl4030): 1) Does not match at all 2) 100% match 3) 100% match I think if the osk5912 wants to use the codec with DSP_B mode it should have: snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_NB_IF | SND_SOC_DAIFMT_CBM_CFM); Than in omap-mcbsp: case SND_SOC_DAIFMT_DSP_B: regs->srgr2 |= FPER(wlen * channels - 1); regs->srgr1 |= FWID(0); /* FS pulse width is 1 */ break; Than it would have been correct, I think. Probably I should send the DSP_B support also in the series? -- Péter _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel