[alsa-devel] imx-ssi.c & SND_SOC_DAIFMT_I2S

Mark Brown broonie at opensource.wolfsonmicro.com
Thu May 27 02:56:47 CEST 2010

On Wed, May 26, 2010 at 11:34:08AM +0200, Eric B?nard wrote:

> while trying to get a TI TLV320AIC23B codec configured as I2S master to 
> work with an i.MX27 using the latest git kernel, I noticed there may be 
> a problem in the slave I2S setting in imx-ssi.c

> Please find two captures of the I2S bus signals :
> - http://eukrea.com/tmp/initial_i2s.png : this is not an I2S signal, 
> both left & right are sent while Frame Sync is high (so I only get mono 
> output)
> - http://eukrea.com/tmp/i2s_slave.png : when I set I2S_MODE to 0x2 in 
> SCR register (scr |= SSI_SCR_NET | 0x40; at line 101 of imx-ssi.c), thus 
> setting the SSI in "I2S slave mode", I get a real I2S signal as shown on 
> this capture.

What are these captures actually of?  The current mainline driver does
not support master mode so whatever you're capturing won't have been
generated by the i.MX.  If you've implemented master mode it'd be nice
to post the patch for this...

> Am I wrong here ?
> Shouldn't we use the I2S slave mode of the SSI instead of what is done 
> actually ?

If I remember correctly the I2S slave mode isn't exactly I2S compliant
either and is actually just setting up similar settings to override
other registers.  I could be wrong, or this could have changed in later

Most of the generic serial ports with an I2S mode aren't actually doing
proper I2S but are rather configuring things that look close to it -
it's common for them to not be able to tolerate extra BCLKs, for

More information about the Alsa-devel mailing list