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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
3,325 次查看
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

标签 (2)
标记 (4)
0 项奖励
回复
1 解答
2,435 次查看
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 项奖励
回复
4 回复数
2,435 次查看
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 项奖励
回复
2,435 次查看
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 项奖励
回复
2,436 次查看
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 项奖励
回复
2,435 次查看
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 项奖励
回复