AnsweredAssumed Answered

IMX8M-mini : (TDM) How to generate SAI frame Sync from bitclock ?

Question asked by Clément Duval on May 28, 2019
Latest reply on May 29, 2019 by Clément Duval

Hello everybody,


I am using the iMX8M-mini to acquire sound from 16 TDM microphones (ics52000).
I am using an external codec to drive a very low-jitter bitclock which is meant to go on both ics52000 and iMX8. However this external codec is not able to generate a frame clock based on 16 channels so I have to do this inside iMX8.

Bellow my device tree (sorry I did'nt find how to include code so I put an image)

Linux device tree

For information my mics are working well if I generate bitclock and frame clock from internal IMX8 codec without external codec : (mode SND_SOC_DAIFMT_CBM_CFM)
   simple-audio-card,bitclock-master = <&imx8_dai>
   simple-audio-card,frame-master = <&imx8_dai>
Moreover if I try the mode SND_SOC_DAIFMT_CBM_CFS only the bitclock is generated in that mode

   simple-audio-card,bitclock-master = <&imx8_dai>
   simple-audio-card,frame-master = <&ics52000>

I don't know what i missed, my bitclock seems clean but it looks like the SAI don't manage to generate frameclock based on it.

For now I am trying 8kHz sample rate which gave me a 4.096MHz bitclock.

Bitclock 4.096MHz

Hope you can help me on this issue.



Clément Duval