TDM in slave mode


Active member
Quick question, has anyone managed to get TDM working in slave mode, i.e receive the BCLK, FSYNC and DATA from an external source?

It seems that it hasn't been done yet from the previous thread:

My goal is to receive TDM from another board and select a specific channel from the TDM for multichannel purpose (and do some DSP in the middle).
It seems like the only solution at the moment would be hardware with another codec that can select the channel (e.g, and route the analog output to my CS4228 codec's connected to the Teensy as audio in....

Thanks, Ben
If you read the whole other thread, you will see TDM in slave mode has been done (at that time on T3.6, but also on T4.1)
Hi W,

I assume you refer to the comment you made on Nov 12, 2020:

I did use TDM in slave mode
or better, I used the MCLK as clock to a ADC that was set into master mode and received the data via TDM slave (yes one can do that)
The code for T3.6 is along the line...

Now this is well beyond my level, but am I right in thinking that this acq_init function should be called instead of config_tdm in output_tdm.cpp?

Could you explain briefly how it does the configuration for TDM as slave, and sets the clocks and data from inputs?

And are you saying this code should work for a T4 also?