[alsa-devel] How to support multiple audio codecs on a single board

Mark Brown broonie at opensource.wolfsonmicro.com
Mon Aug 31 15:16:06 CEST 2009

On Mon, Aug 31, 2009 at 02:48:55PM +0530, Aggarwal, Anuj wrote:

> I have 3 instances of AIC23 on my board and all are connected to 
> different I2C/McBSP and hence can be used independently. How should 
> I use/modify the current AIC23 driver and write the asoc board-specific
> file to enable all the AIC23 instances? Is there any similar 
> implementation in the audio subsystem which I can look as a reference?

This is not currently supported; it needs a lot of work in the core to
allow multiple CODEC drivers to coexist.  Things like and the
presentation of controls to user space can't really cope at the minute.
It's a bit easier in your case since you essentially have three sound
cards (rather than one card with multiple CODECS) but there's still a
bit of work needed around device registration.

For now you'll need to write three machine drivers only one of which is
permitted to be loaded at once; once the core has this support added
you'll then be able to load all three at once and have the three appear
as separate sound cards.  If you'd like to contribute the core support
that'd be excellent :)

More information about the Alsa-devel mailing list