Hi Sven,
On Wed, Aug 25, 2010 at 04:39:51PM +0200, Sven Zeisberg wrote:
Hi,
has anybody succeeded to transfer more than 2 audio channels between i.MX25 and a CODEC throught the i.MX25 SSI Port?
We have succeeded to set the CODEC (AD1938) as Master to the required mode (TDM with 8 Timeslots and 32 Bit per Timeslot). However, as soon as we start to play a wav file with aplay, we can see on the logic analyzer that the data format on the SSI lines is reset to a stereo mode (2 channels with frame sync changing level between channels).
In the imx-ssi driver, I can see that .channel_max = 2 - therefore my question: does this driver support more than two channels at all?
You have to call snd_soc_dai_set_tdm_slot() with the correct parameters. This function is currently relatively untested, so expect bugs here. I would try something like:
snd_soc_dai_set_tdm_slot(cpu_dai, 0xfffff00, 0xfffff00, 8, 32);
slot_width is currently not handled in this function, this may be wrong. I don't know whether a slot length of 32bit is supported at all in the hardware.
I only tested this driver with 2 channels since I have no access to a codec supporting something else.
Hope that helps
Sascha