Hello,
I successfully reproduced on EVK
I removed the jumper on J61 and connected a wire from the MCU side of R775 (SAI1_RXD[2]) to J61 on codec side (SAI1_RXD[0])
It mean that ADCDAT of WM8960 is connected to GPIO_DISP_B2_01.
I use the demo code from SDK "boards/evkmimxrt1170/demo_apps/sai/cm7" and do the following change
diff --git a/boards/evkmimxrt1170/demo_apps/sai/cm7/board.h b/boards/evkmimxrt1170/demo_apps/sai/cm7/board.h
index 790dbf5e..d8816bdf 100644
--- a/boards/evkmimxrt1170/demo_apps/sai/cm7/board.h
+++ b/boards/evkmimxrt1170/demo_apps/sai/cm7/board.h
@@ -122,7 +122,7 @@
#define BOARD_ARDUINO_I2C_IRQ (LPI2C1_IRQn)
#define BOARD_ARDUINO_I2C_INDEX (1)
-#define BOARD_HAS_SDCARD (1U)
+#define BOARD_HAS_SDCARD (0U)
/* @Brief Board accelerator sensor configuration */
#define BOARD_ACCEL_I2C_BASEADDR LPI2C5
diff --git a/boards/evkmimxrt1170/demo_apps/sai/cm7/pin_mux.c b/boards/evkmimxrt1170/demo_apps/sai/cm7/pin_mux.c
index 32343576..d4941b89 100644
--- a/boards/evkmimxrt1170/demo_apps/sai/cm7/pin_mux.c
+++ b/boards/evkmimxrt1170/demo_apps/sai/cm7/pin_mux.c
@@ -79,6 +79,9 @@ void BOARD_InitPins(void) {
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_20_SAI1_RX_DATA00, /* GPIO_AD_20 is configured as SAI1_RX_DATA00 */
1U); /* Software Input On Field: Force input path of pad GPIO_AD_20 */
+ IOMUXC_SetPinMux(
+ IOMUXC_GPIO_DISP_B2_01_SAI1_TX_DATA02, /* GPIO_DISP_B2_01 is configured as SAI1_TX_DATA02 */
+ 1U); /* Software Input On Field: Input Path is determined by functionality */
IOMUXC_SetPinMux(
IOMUXC_GPIO_AD_21_SAI1_TX_DATA00, /* GPIO_AD_21 is configured as SAI1_TX_DATA00 */
1U); /* Software Input On Field: Force input path of pad GPIO_AD_21 */
diff --git a/boards/evkmimxrt1170/demo_apps/sai/cm7/sai.c b/boards/evkmimxrt1170/demo_apps/sai/cm7/sai.c
index 1a62ffb1..470f3e7c 100644
--- a/boards/evkmimxrt1170/demo_apps/sai/cm7/sai.c
+++ b/boards/evkmimxrt1170/demo_apps/sai/cm7/sai.c
@@ -331,11 +331,13 @@ int main(void)
SAI_TransferRxCreateHandleEDMA(DEMO_SAI, &rxHandle, rxCallback, NULL, &dmaRxHandle);
/* I2S mode configurations */
- SAI_GetClassicI2SConfig(&saiConfig, DEMO_AUDIO_BIT_WIDTH, kSAI_Stereo, 1U << DEMO_SAI_CHANNEL);
+ SAI_GetClassicI2SConfig(&saiConfig, DEMO_AUDIO_BIT_WIDTH, kSAI_Stereo, 0x7);
saiConfig.syncMode = DEMO_SAI_TX_SYNC_MODE;
saiConfig.masterSlave = DEMO_SAI_MASTER_SLAVE;
+ saiConfig.channelMask = kSAI_Channel0Mask;
SAI_TransferTxSetConfigEDMA(DEMO_SAI, &txHandle, &saiConfig);
saiConfig.syncMode = DEMO_SAI_RX_SYNC_MODE;
+ saiConfig.channelMask = kSAI_Channel2Mask;
SAI_TransferRxSetConfigEDMA(DEMO_SAI, &rxHandle, &saiConfig);
/* set bit clock divider */
If I look with the oscilloscope, I get the same result, data is 0.3V when high