Is it possible to internally route the I2S signals in the RT595 from the Flexcomm1 input pins J15 (I2S BCLK) and H12 (I2S WS) to the Flexcomm4 output pins A12 (BCLK) and B11 (WS)? If so, how should this be configured?
HW connection:
External I2S audio source -> RT595 I2S input -> RT595 I2S output -> External I2S Speaker AMP
--RT595 I2S input side (Flexcomm1):
I2S BCLK -> [J15] PIO0_7/FC1_SCK (FUNC1)
I2S WS -> [H12] PIO0_8/FC1_TXD_SCL_MISO_WS (FUNC1)
I2S Data -> [H17] PIO0_9/FC1_RXD_SDA_MOSI_DATA (FUNC1)
--RT595 I2S output side (Flexcomm4):
I2S BCLK -> [A12] PIO0_28/ I2S_BRIDGE_CLK_OUT (FUNC5)
I2S WS -> [B11] PIO0_29/ I2S_BRIDGE_WS_OUT (FUNC5)
I2S Data -> [D14]PIO0_30/FC4_RXD_SDA_MOSI_DATA (FUNC1)
For BCLK and WS, we prefer to directly pass these native signals from the RT595 input pins (J15/H12) to the output pins (A12/B11), rather than regenerating them inside the RT595, to keep the “Ext. I2S → RT595 → Ext. AMP” signal path synchronized to the external BCLK/WS.
Below is my current configuration; however, it is not working, and I do not observe any signal on A12/B11.
1. Set FC1 J15/H12 as FUNC1 in pin_mux.c
2. Set FC4 A12/B11 as FUNC5
3. Configure bridge
----------------------------------------------------------------
/* --- I2S BRIDGE: route external Flexcomm1 SCK/WS to Flexcomm4 and bridge pins --- */
I2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0, kI2S_BRIDGE_SignalSCK, kI2S_BRIDGE_Flexcomm1);
I2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0, kI2S_BRIDGE_SignalWS, kI2S_BRIDGE_Flexcomm1);
I2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4, kI2S_BRIDGE_SignalSCK, kI2S_BRIDGE_ShareSet0);
I2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4, kI2S_BRIDGE_SignalWS, kI2S_BRIDGE_ShareSet0);
/* --- Init RX Interface (I2S1, Slave, from External I2S) --- */
I2S_RxGetDefaultConfig(&rxFromExti2sConfig);
rxFromExti2sConfig.masterSlave = kI2S_MasterSlaveNormalSlave;
I2S_RxInit(I2S1, &rxFromExti2sConfig);
/* --- Init TX Interface (I2S4, Slave, to speaker Amp) --- */
I2S_TxGetDefaultConfig(&txToAMPConfig);
txToAMPConfig.masterSlave = kI2S_MasterSlaveNormalSlave;
I2S_TxInit(I2S4, &txToAMPConfig);
----------------------------------------------------------------
Platform: RT595 (MIMXRT595SFFOCR / BGA249)
SDK: v25.6
Any suggestion would be greatly appreciated.