We're working on connecting up to 3 stereo codecs (all the same, and will be clocked at same frequency, bitdepth, etc) to the 1060 SAI peripherals. We see that we can do this individually with SAI1, SAI2, and SAI3. However, we were thinking that we could use the multi-channel configuration of SAI1 for 2 of the codecs by using the 4 data lines SAI1.TX_DATA, SAI1.TX_DATA, SAI1.RX_DATA, and SAI1.RX_DATA, respectively. This could save a couple of pins since the BCLK and SYNC lines could be shared between those 2 codecs.
However, the documentation isn't clear whether, or how this is supported, and configuring the SAI peripheral for this operation. For example, the IMXRT1020RM.pdf has information about FIFO Combine (184.108.40.206), as well as info about registers TDR0-3 (220.127.116.11), whereas IMXRT1060RM.pdf is missing this information. The app note AN12090.pdf has information about setting up multi-channel, but refers to registers that aren't documented on the 1060.
NXP, can you clarify 1060 multi-channel SAI1 implementation and operation? Is the documentation incorrect - that is, are the registers and operation actually the same as 1020 (and even 1050)? If different, what is the operation? Thanks in advance for your help.
Thank you for your reply.
Does this mean that 1060 SAI documentation is incorrect? Please see "Table 36-1 Audio Interface Summary" in the 1060 reference manual IMXRT1060RM.pdf; it specifically says there are 4 TX and 4 RX lines.
Does this mean that 1060 SAI1 is not the same as SAI1 on 1020 and 1050?
Sorry for the late response for it.
No. the documentation should be correct. For SAI1 it has 4 TX and 4 RX lines. In generally,Regardless of the channel, as long as TX0 has been used, the remaining TX1, TX2, and TX3 cannot be connected to codec (unless it is working on 7.1 channel).If you want to work on 7.1 channel, then you need RT to be Master, provide BIT CLOCK, LRCLK out, and use 4 codecs at the same time, then TX0 one codec, TX1 one, TX2 one, TX3 one. Each line is stereo.
However, such a usage is too small, followed by a multi-channel codec . For example CS42888, this codec