On Wed, May 13, 2009 at 01:55:43PM -0400, Jon Smirl wrote:
I have three areas specifying audio formats. The WM9712 AC97 codec is S16_LE. My DMA hardware is S32_BE. All samples need to be in 32b words even if they are 8,16,24b. The cpu's AC97 system sends the first 20 big endian bits down the AC97 link in the proper order.
How can I force the DMA engine setting to override what the codec is saying? Or should the codec be changed to specify all bit lengths and both endians?
In this specific case there's now a standard define for the AC97 codecs to use for the formats in current ASoC, add all the formats supported by your CPU to that and all the AC97 codecs will pick it up automatically. It's called SND_SOC_STD_AC97_FMTS, defined in the DAI header file.