i.MX7 SAI connection when i.MX7 is I2S slave.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX7 SAI connection when i.MX7 is I2S slave.

Jump to solution
2,106 Views
satoshishimoda
Senior Contributor I

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.

i.MX7_Master.png

Then, when i.MX7 is I2S slave, how connect SAI interface with a external codec?
Which of the following image is correct?

i.MX7_Slave.png

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

Labels (2)
Tags (4)
0 Kudos
1 Solution
1,216 Views
art
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
1,216 Views
kwelsh
Contributor I

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?

0 Kudos
1,216 Views
art
NXP Employee
NXP Employee

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.

0 Kudos
1,217 Views
art
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,216 Views
gonewithwind-peter
Senior Contributor I

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

0 Kudos