Hi community,
I have a question about i.MX7 SAI.
I want to confirm i.MX7 SAI connection.
I understand I2S master generate a bit clock and a frame sync and provide them to I2S slave.
When i.MX7 is I2S master, I think it should be the attached image.
Then, when i.MX7 is I2S slave, how connect SAI interface with a external codec?
Which of the following image is correct?
I believe the both connections are no problem for i.MX6 since i.MX6 has AUDMUX, but i.MX7 does not have AUDMUX.
And I think i.MX7 SABRE uses the left one also since BSP supports "CODEC as I2S Slave" as per Table 28-2 of Linux Reference Manual (Rev.0, 08.2016 for L4.1.15_1.2.0-ga), but I don't understand how RXC and RXFS are used if my understanding is correct.
Best Regards,
Satoshi Shimoda
Solved! Go to Solution.
The physical connection between the i.MX7 SAI port and an external audio codec for Slave mode is exactly the same as for Master mode. The only difference is that, when the SAI port operates in Slave mode, the bit clock and Frame Sync signals are provided externally by an audio codec.
The RXC and RXFS signals can be used for both Master and Slave modes, when the Transmitter and Receiver sections of the SAI port operate asynchronously, even possibly with different bit clock and samling rates.
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
satoshishimoda Did you get this to work? Did you use the connection on the left in your diagram?
art In the iMX Pin Tool, sai_tx_bclk is marked as Output (only). I assume it can be an input, is that correct? Can you point me to an example where iMX7 is I2S slave, where there is no MCLK, just a BCLK_IN, LRCLK_IN and DOUT?
Q. I assume it can be an input, is that correct?
A. Yes, this is correct.
Unfortunately, don't have any ready to use example.
The physical connection between the i.MX7 SAI port and an external audio codec for Slave mode is exactly the same as for Master mode. The only difference is that, when the SAI port operates in Slave mode, the bit clock and Frame Sync signals are provided externally by an audio codec.
The RXC and RXFS signals can be used for both Master and Slave modes, when the Transmitter and Receiver sections of the SAI port operate asynchronously, even possibly with different bit clock and samling rates.
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
as the second picture connection,do you have the patch for i2s slave mode(fs and clock as input pin) for file fsl_sai.c ? or the patch for dts?
Thanks