I am using iMx6q and trying to read data from phone input and SLIC IC. The IC is giving proper 8-bit Mu Law data at its DTX pin. The communication protocol between is I2S and is operating with parameters PCLK=512kHz and FSync=8kHz.
The processor is the master, and I am using ALSA subset utilities (aplay.c userspace application C code) to read and write data on the PCM bus. I am able to write the data onto the chip successfully, but read from it is an issue, and the ALSA program gives the error of Broken pipe from Audio interface.
The 32-bit word from the PCM channel should be masked out as a 8-bit data and then loopbacked to the same VoIP, and later sent to some other interface.
If anyone has interfaced telephonic system, and successfully read 8-bit data from it using bit masking, please help me out.
(Please don't share any documentation as a reply. I have been studying every single reference manual of NXP for the past year, and have got idea of SSI, fsl-dai, audio clocking and PCM timing diagrams. I have referred to the ref manual and reached upto here)
As I understand two problems are mentioned in this question:
1) how to get 8-bit PCM data in hardware, using some masking options ;
2) how to avoid the error of Broken pipe from Audio interface.
Hardly the first issue can be resolved (in hardware).
As for the Broken pipe - perhaps it makes sense to consider double buffering
scheme (with relatively big buffers for data).
Have a great day,
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
So far, I have not found any utility in iMx to resolve the issue of masking audio data. (I am using SSI driver currently.)
Double circular ping-pong buffers of size 1024 Bytes are being used for read/write, and the data is received for other soundcard SGTL. But for the telephonic IC, there is some form of data which is received at iMx which it is not able to capture, and hence ALSA shows broken pipe.
I have exhausted my options of trial from the userspace for SLIC IC, data recieve. Is there any type of configuration which could be missing in the fsl-ssi-dai kernel space, that is stopping this I2S data transfer. (I am able to send data from processor to the SLIC IC but not able to receive anything from the chip.)