I am trying to get a mono codec up and running (WM8974, mono, no register read available) on a custom board (with WEC7) and I'm having an issue with the tx delay bit.
If I add the 1-bit delay in, as required by the I2S timing, the frame sync isn't taking it into account, so the LSB is written to the other channel (see img).
I have the McASP0 as the master using the 25MHz AUXCLK, and the issue shows up with any sample rate I tried. The only way to get it to fit is to have a 0-bit delay, which I think the codec doesn't like (it starts muting the output port). I tried setting the SR output to 20bits, which stopped the leaking, but I doubt that is working for the codec receiver end.
20-bit config: (16-bit has the AHCLKXDIV at 9 instead of 7)
WFIFOCTL 0x00010101
FMT 0x00018094
AFSCTL 0x00000113
ACLKCTL 0x001800a7
CLKCHK 0x00ff0008
AHCLKCTL 0x00188006
XMASK 0x0000FFFF
I've dug through all the OMAP-L138 and DSP e2e posts, and looked at the ALSA code, and SW code and I don't see anything that looks different from what I'm doing in the setup of the clocks.
Any assistance in tracking this issue down would be greatly appreciated!
//Chris