I'm working on an audio dsp board with a Cirrus CS42448 codec and an Esp32 at the center, targeted at the audio hardware market. The codec uses TDM to move 8 channels of data over 1 pin. The other Esp32 pins are in use for the user interface.
I was surprised to find that there is no TDM support in the i2s driver, and am eager to get it working for my application.
What are the next steps I should take? It seems like adding TDM support to i2s.c/h is the proper approach. Is this a feature that will eventually be added to the esp-idf? I am happy to help implement it but don't know much about low-level dma programming :/
If anyone can point me in the right direction or offer advice I'd be most grateful.
Thanks!
For reference, here's the TDM frame I am trying to move through the i2s bus:
