I think the SAI section for the K64F (and variants) needs some clarification with regards to the Frame Sync With. The prose in the manual claims TDM support, but I cannot see from the manual how you can get a proper frame sync as you cannot set the width to a large enough value.
I don't think the TDM capability based upon what is in the register description. For example, let’s say I am trying to configure for an 8-channel TDM (for example a cirrus logic CS5368). This requires a word length of 32-bits and 8 words per frame. This means that the frame sync should be active for 4 words (128 bits).
Let’s consider the setup for a receiver. I am assume, BCLK MCLK and FRAME SYNC are generated *externally* by an ADC.
RCR4 setups up the frame sync. I can set FRSZ (bits 20-16) as 7 (gives me 8 words per frame).
The problem is in SYWD. (Bits 12-8). It claims that I can on set the value in bits and the width cannot be longer than the 1st word of the frame. This is not an issue for I2S or PCM. It appears that you cannot support TDM with the SAI. The frame sync must be able to a width of ½ of the total number of words. 4 words (128 bits).
Can someone confirm this?