I need to implement a 4-in/4-out USB audio using an LPC5516. I am working with the LPC55S16-EVK and started with the hid_audio_unified_freertos example. This example has 2-in/2-out, but I was able to modify the audio playback logic based on the 5.1 example available as part of the audio_speaker example (and AN12939) to get more playback channels.
Now I need to get the additional audio data out via I2S, instead of just sending out 2 channels and dropping the rest of the data the way the audio_speaker example works. This would be fairly easy if I could use the TDM mode and the extra channel pairs available with Flexcomm 6 & 7, but I need two separate data lines for I2S input and output (4 data lines total) to connect with my existing audio hardware which only supports I2S or Left-justified formats.
Are there any examples that demonstrate how to run multiple I2S Flexcomm channels in parallel using DMA? I'm not worried about the I2S signal sharing (I've got that setup), I'm trying to figure out how to get DMA (and maybe interrupts) setup when running multiple channels in lock-step. It seems like I would only want one interrupt and DMA callback for all channels, but I'm not seeing anything obvious in the SDK for I2S or the DMA that guarantees the channels will all start simultaneously if I'm enabling more than one channel.