Using I2S in Colibri iMX8X (About MCLK)

Hi team,

I’m a bit confused about how should be the proper routing for I2S and an audio codec.

A customer is looking to use

ADMA.SAI1.RXC  (unneeded?)
ADMA.SAI1.RXD
ADMA.SAI1.TXC
ADMA.SAI1.TXD
ADMA.SAI1.TXFS

signals to drive a SGTL5000 or a CS4270 audio codec for digital audio (I2S).

However, we are not sure about the need for MCLK for the codec. Should this be provided from the module as well, from an external oscillator or doesn’t need to be used at all (unlikely)?

The customer understanding is that they might have to use pin 44 for ADMA.ACM.MCLK_IN1 for this, disabling the standard interface for the LCD, so they are quite worried.

Thanks and regards,
Alvaro.

The audio codec needs a master clock. It can be provided either from the module (if you have any MCLK free) or an external oscillator can be used. The ADMA.SAI1.RXC is not a master clock. This signal is an optional bit clock for the receiving data stream. In conjunction with the SGTL5000, this clock is not needed. The RX and TX stream uses the same bit clock, the SAI1.TXC.

What they need is an MCLK_OUT for the codec. The MCLK_IN1 is not going to work. There are two MCLK_OUT available at pin 56 and 68. If these two pins are not available, I recommend an external Oscillator.