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

Pedro I. Sanchez psanchez at fosstel.com
Mon Aug 31 19:30:05 CEST 2009

On Mon, 31 Aug 2009 14:16:06 +0100, Mark Brown
<broonie at opensource.wolfsonmicro.com> wrote:
> 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 :)
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

Pedro I. Sanchez

What if the codecs are different? My board has a playback-only device
(TAS5709) and a capture-only device (PCM1800). Would it be OK to implement
a single machine driver with num_dai=2? Or would you suggest to implement
two different sound cards?


More information about the Alsa-devel mailing list