[alsa-devel] How to transfer more than 2 channels between i.MX25 & AD1938 using SSI?
s.hauer at pengutronix.de
Fri Aug 27 13:45:12 CEST 2010
On Wed, Aug 25, 2010 at 04:39:51PM +0200, Sven Zeisberg wrote:
> 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
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the Alsa-devel