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

Caleb Crome caleb at crome.org
Wed May 11 20:29:16 CEST 2011

Well, that does sound easier than rewriting the whole thing.  I'll give it a
go at instantiating multiple codecs.

Would this be 'substreams' or is that something else?

Sorry to be ignorant, but I'm a newbie to kernel development (I've
successfully brought up GPIOs and the I2C mux on my board, so I at least
have some simple stuff under my belt).

Thanks again,

On Wed, May 11, 2011 at 10:50 AM, Mark Brown <
broonie at opensource.wolfsonmicro.com> wrote:

> On Wed, May 11, 2011 at 10:31:15AM -0700, Caleb Crome wrote:
> > 1)  Simply instantiate multiple TLV320IAC33 codec drivers, as the AIC33
> > driver is already written.
> Yes.
> >     This seems like it won't work because I'd end up with multiple
> > user-space 'cards', yet I want the card to appear as a single 16-channel
> > sound card.  Also, when you start one PCM interface for one codec, they
> No, you shouldn't.  You'll end up with a single card.
> > would all start automatically, which I imagine the linux system wouldn't
> > get.  Also, the PCM interface needs to be configured differently for each
> > codec (the TDM offset must be 0, 16, 32, 48, etc. bits).
> The TDM stuff should be configured with the existing TDM API (you may
> need to implement this in the CODEC driver).

More information about the Alsa-devel mailing list