[alsa-devel] [PATCH 1/2] ASoC: omap-mcbsp: Correct the DSP_B mode

Peter Ujfalusi peter.ujfalusi at nokia.com
Tue Apr 14 10:40:16 CEST 2009


On Tuesday 14 April 2009 11:20:16 Nikula Jarkko (Nokia-D/Helsinki) wrote:
> On Tue, 14 Apr 2009 09:45:30 +0200
>
> "Ujfalusi Peter (Nokia-D/Tampere)" <peter.ujfalusi at nokia.com> wrote:
> > Use correct DSP_B mode configuration for omap-mcbsp.
> >
> > Signed-off-by: Peter Ujfalusi <peter.ujfalusi at nokia.com>
> > ---
> >  sound/soc/omap/omap-mcbsp.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
> > index 9c09b94..4440bab 100644
> > --- a/sound/soc/omap/omap-mcbsp.c
> > +++ b/sound/soc/omap/omap-mcbsp.c
> > @@ -283,7 +283,7 @@ static int omap_mcbsp_dai_hw_params(struct
> > snd_pcm_substream *substream, break;
> >  	case SND_SOC_DAIFMT_DSP_B:
> >  		regs->srgr2	|= FPER(wlen * channels - 1);
> > -		regs->srgr1	|= FWID(wlen * channels - 2);
> > +		regs->srgr1	|= FWID(0);
> >  		break;
> >  	}
>
> Grr, I have some practical problems with my Beagle refusing to mount my
> SD card root but I give a test when I get it working.

If you want to use the TWL codec to verify the DSP mode, than you will need to 
have the 4 channel support also. I'm planning to resend those as soon as this 
DSP_A/_B mode is settled.

>
> But I fear this change makes it into DSP_B with inverted FS polarity.
> Register srgr1 defines the FS length and it's active low. I think this
> will be correct if you switch the polarity in
> omap_mcbsp_dai_set_dai_fmt.

As I written in the introduction mail, one has to verify and pick the correct 
pair of DSP_A/_B mode and FS/clock polarity in order to have correct config...
I think it is acceptable to assume, that whoever writes such a board file 
should have at least this level of understanding of the FS/bitclock and how 
the data is driven and how the data is sampled.

Also I have provided sample configurations for the osk5912 board file - which 
is the only one at the moment using DSP mode on omap platform.

>
> At least defining pulse witdth with FWID(0) is more clear than FWID
> (wlen * channels - 2) :-)

I think this is the only way to implement the DSP_B mode correctly in omap-
mcbsp. Again, you need to pick the correct FS/clock polarity, but that is kind 
of simple.

>
>
> Jarkko

-- 
Péter


More information about the Alsa-devel mailing list