I am trying to configure the imx6 ssi to transmit 8 channels in network mode (TDM). I have a DSP that is providing frame sync (one clock bit) and bit clock to the imx6 (both are confirmed working). Frame sync is 48khz, bit clock is 6.144mhz (8 channels, 16 bits per channel)
SSI_SCR = 0x118 (network mode enabled, Synchronous mode selected, Two-channel mode enabled.)
SSI_STCR = 0x38F (Transmit frame sync is initiated one bit before the data is transmitted, one clock bit, active low frame sync, falling edge data, transmit FIFO 0 enabled, transmit FIFO 1 enabled, LSB Aligned)
SSI_STCCR = 0x4E700 (PM = 0, DC = 7, Word Length Control = 7, PSR = 0, DIV2 = 1)
In imx-ssi.c structure snd_soc_dai_driver_imx_ssi_dai I changed channels_min = 8 and channels_max = 8
In imx-pcm-dma-mx2.c structure snd_imx_hardware I changed channels_min = 8 and channels_max = 8
I use aplay to play a wav file, and get no data on the data line, aplay hangs. I should add that I did have this configured as I2S Slave (2 channel) with the DSP setup appropriately and that did work. Now that I'm trying to switch to network mode and 8 channels, I can't seem to get any data out.
Any advice/links/info would be greatly appreciated.
Hi, I'm sorry. I'm tring yet.
I would like use the same configuration of SGTL5000 (ssi) and show the new sample in the dma buffer. Now I have same problem to extract the correct sample.
Have you a solution or way?
Hi j-g , there are no examples for network mode with i.MX6, however one can look
at other i.MX processors examples (note, AUDMUX and SSI modules
are basically identical with minor modifications).
For ssi network mode please look at i.MX27 PDK examples,
check pdk10_imx27_Linux_RM.pdf (included in Doc bundle link below)
Table 20-1 "AUDMUX Source Files", sect.20.5 "Programming Interface (Exported API)"
For network mode one needs to set correctly also AUDMUX, for
better understanding it may be useful application note below
"Programming Audio Applications in the i.MX21"