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@nokia.com wrote:
Use correct DSP_B mode configuration for omap-mcbsp.
Signed-off-by: Peter Ujfalusi peter.ujfalusi@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);
break; }regs->srgr1 |= FWID(0);
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