2025-09-22 6:56 AM
Hi
I have stm32mp157c in my custom board i connect sai2 to codec(tlv320aic), i config sai2a as master (WITHOUT MASTER CLK OUTPUT) and sai2b as synchronous slave, mclk for codec come from rcc mco1 and this is my dts:
2025-09-23 1:49 AM
Hello @jacob-sorber,
According to my understanding of your DT, SAI provides FS and SCK, but not MCLK, which is provided by mco1 to the codec : I'am not sure we can consider SAI as master.
I would recommand to move frame-master and bitclock-master under the codec so it is fully master, and keep sai2b as slave of sai2a.
BR,
Christophe
2025-09-24 2:11 AM - edited 2025-09-24 2:14 AM
Hi
I have to use stm32mp1 as (sai2) as master beacause if set codec (tlv320) as master it need a clock (MCLK) with special frequency that mco1 can't reproduce, (its (tlv320) drvier force mco1 to reproduce a clk and stm32mp1 mco1 can't be set to that value so mp1 hangs)
also in stm32h7 I use this codec (tlv320) and connect sai2 and sai is master in tx and rx path and everything is OK in capture and playback (but in baremetal)