On Thu, 16 Apr 2009 23:35:20 +0200 ext Troy Kisky troy.kisky@boundarydevices.com wrote:
Arun KS wrote:
But when I2S is used there is no audio on Right channel(left channel is working fine). Thinks something is missing on tlv320aic23 driver.
This sounds like the same problem Davinci has. From a comment in davinci-i2s.c
case SND_SOC_DAIFMT_I2S: /* Davinci doesn't support TRUE I2S, but some codecs will have * the left and right channels contiguous. This allows * dsp_a mode to be used with an inverted normal frame clk. * If your codec is master and does not have contiguous * channels, then you will have sound on only one channel. * Try using a different mode, or codec as slave. * * The TLV320AIC33 is an example of a codec where this works. * It has a variable bit clock frequency allowing it to have * valid data on every bit clock. * * The TLV320AIC23 is an example of a codec where this does not * work. It has a fixed bit clock frequency with progressively * more empty bit clock slots between channels as the sample * rate is lowered. */
Interesting codec. Arun, how is the right channel working with I2S if you try to run with higher rate? E.g. aplay -r [48000 | 96000] /dev/urandom
The I2S mode setup in tlv320aic23_set_dai_fmt looks correct.
Jarkko