[alsa-devel] WM9712 - Big and little endian format conversion.

Mark Brown broonie at opensource.wolfsonmicro.com
Wed May 13 19:59:59 CEST 2009

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.

More information about the Alsa-devel mailing list