Hello
We Have A Project About Smart Speaker Designed With I.MX6UL. Due To Our Design Requires To Configure 3 I2S Interface For Audio Routing And Considering Here Is Only One MCLK Provide By The Processor Therefore We Decide To Set 3 Sets Of (SAI) I2S As Slaves And Using One External Codec TLV320AIC3106-Q1 As Master For All Audio Devices. Please See Following Clock Tree:
Here Are 2 Problems Need Your Helps To Resolve:
First Problem Is In NXP OEM BSP The I2S Interfaces Are All Set Up As Master And Only One I2S Is Configured For Codec. Local FAE From Distributor Told Us Theoretically The I.MX6UL Is Capable Of Supporting 3 I2S And Can Be Set Up As Either Master / Slave But No One Has Ever Try That Before. So He Cannot Help For Further Technical Support For This. That's Why I'm Here Posting The Questions . We Need Your Helps To Provide Some Sample Codes / Application Notes / Instruction Us How To Set The IOs For Wanted Slave.
Second Problem Is We Need I.MX6UL For Audio Routing. For Example
SAI 1 RX TO SAI 2 TX
SAI 2 RX TO SAI 1 TX
SAI 3 RX TO SAI 1 TX
SAI 3 RX TO SAI 2 TX
Can You Show Some Sample Codes / Provide Documents / Instructions That Can Tell How To Use ALSA / AUDMUX For Doing That Routing?
Thanks
Hi alighieri
one can look at sai2 wm8960 example, make in similar way configuration for other sai.
Please pay attention to "codec-master" dts property in
Use Chapter 16 Porting Audio Codecs i.MX Porting Guide
Chapter 7 Audio i.MX Linux Reference Manual
Best regards
igor
Ignor
I Need You Provide Sample Codes / Application Notes For Audio Routing Through I.MX6UL. The Example That You Provided Is Only For Master / Slave Configuration. Here Is No Instance For AUDIMUX Switch / Audio Routing By I.MX6UL.
Thanks