Hello,
I am a newbie in I2S interface for audio codec chips. I need to connect a codec WM8974 of Cirrus/Wolfson, which has a mono audio speaker and a microphone. The WM8974 has the following digital I/O pinout:
I2S Interface:
- ADCDAT (O): ADC digital audio data output
- DACDAT (I): DAC digital audio data input
- FRAME (I/O): DAC and ADC sample rate clock or frame sync
- BCLK (I/O): Digital audio port clock
- MCLK (I): Master clock input
Control Interface (2-Wire / 3-Wire):
- CSB/GPIO (I/O): 3-Wire MPU chip select or general purpose input/output pin.
- SCLK (I): 3-Wire MPU clock Input / 2-Wire MPU Clock Input
- SDIN (I/O): 3-Wire MPU data Input / 2-Wire MPU Data Input
- MODE (I): Control interface mode selection pin.
In one hand, I am going to set the Control Interface to 2-Wire (MODE=low) in order to use the Vybrid I2C interface (SCLK / SDATA). This is quite easy.
On the order hand, regarding the I2S interface, if I am going to use the codec as slave, theoretically, I will connect the Vybrid as follows:
Vybrid Codec
--------- --------
SAIx_RX_DATA <---- ADCDAT
SAIx_TX_DATA ----> DACDAT
SAIx_TX_BCLK ----> BCLK
SAIx_TX_SYNC ----> FRAME
If I connect the audio codec as master, the pinout connection will be:
Vybrid Codec
--------- --------
SAIx_RX_DATA <---- ADCDAT
SAIx_TX_DATA ----> DACDAT
SAIx_RX_BCLK <---- BCLK
SAIx_RX_SYNC <---- FRAME
My question is if these connections are OK for use of the SAI/I2S interfaces (SAI0, SAI1, ...) of the Vybrid VF6xx.
Kind Regards,
Juan.