[alsa-devel] Need general idea how to architect driver for multi-codec board

Mark Brown broonie at opensource.wolfsonmicro.com
Sat May 28 03:34:16 CEST 2011

On Fri, May 27, 2011 at 02:36:58PM -0700, Caleb Crome wrote:

> However, I'm still having problems getting the system set up with more than
> 2 channels.  the rx51 and speyside don't quite do the same thing as far as I
> can tell:  the rx51 is close -- it very nearly brings up the 'b' codec in
> the aic34, but I don't see how the TDM is set -- it appears to still be a
> stereo configuration.

There's an API for configuring TDM - snd_soc_dai_set_tdm slot.

> Do I need multiple snd_soc_dai_links when configuring?  In hw_params, I only

Yes, you will.  Or invent a new interface.  The current APIs provide
point to point links between interfaces.  If you're trying to do
something different then you'll need to extend the core to support what
you need.

> seem to get 1 codec dai_link, so I can't set the TDM slots there.

What makes you say that?

> Or are the extra codecs in the daisy chain considered 'aux' devices?  I

No.  aux devices have no digital links.  In addition to looking at the
existing code you'll also find a lot of background information if you
look through the revision control history...

More information about the Alsa-devel mailing list