[alsa-devel] [PATCH] ASoC: tlv320aic3x: Fix mono

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Mon Jan 28 22:03:40 CET 2013


On Sunday, January 27, 2013 3:58:47 AM, Mark Brown wrote:
> On Sat, Jan 26, 2013 at 03:17:01PM +0100, Benoît Thébaudeau wrote:
> > On Saturday, January 26, 2013 9:55:14 AM, Mark Brown wrote:
> > I've only tested with I²S (imx-ssi). But for all the available DAI modes,
> > the
> > data sheet gives the encoding for both stereo channels (from p. 21), and
> > nowhere
> > it says that mono is an option for DAI:
> 
> I2S isn't really relevant here, it's not possible to clock I2S as a mono
> interface.
> 
> > I will retest with DSP modes if you prefer.
> 
> Yes, please.

I have now tested all the DAI formats compatible with both imx-ssi and
tlv320aic3x, i.e.:
 - I2S | NB_NF | CBM_CFM,
 - DSP_A | IB_NF | CBM_CFM,
 - DSP_B | IB_NF | CBM_CFM,
 - LEFT_J | NB_NF | CBM_CFM.

In all cases, stereo works just fine.

As to mono, setting .channels_min to 2 also always works fine (as expected, but
not interesting here).

For mono with .channels_min = 1 (i.e. without this patch), I have tried with:

1) snd_soc_dai_set_tdm_slot(cpu_dai, 0xffffffc, 0xffffffc, 2, 0);
-> all DAI formats: wrong sample rate for L/R, playing twice too fast

2) snd_soc_dai_set_tdm_slot(cpu_dai, 0xffffffe, 0xffffffe, 1, 0);
-> all DAI formats: nothing on R, wrong sample rate for L, playing twice too
   fast, plus loud noise superimposed for LEFT_J

So, I don't see how to avoid this patch.

I will send a reworded update.

Best regards,
Benoît


More information about the Alsa-devel mailing list