[alsa-devel] Does ASoC support sound card with multiple interfaces?

Ashish Chavan ashish.chavan at kpitcummins.com
Wed Jan 4 06:36:53 CET 2012

> >   I have a codec with multiple TX and RX channels. In ASoC tree, I have
> > seen examples where these kind of codecs are implemented as multichannel
> > codecs. Instead I want it to be treated as card with multiple
> Yes, this is totally supported.  There are quite a few examples of this
> in the tree.  Your CODEC driver should just implement one DAI per audio
> interface.


I am looking at some of the examples in the tree and have a small query.
I want to know how alsa-utils (aplay, arecord) will behave when a codec
driver supports multiple DAIs. For example, let's assume that a codec
driver implements two DAIs, both capable of doing stereo playback. Then
I try to play two files simultaneously using aplay, e.g.

$ aplay x.wav
$ aplay y.wav

AFAIK first "aplay" will result in play back on default interface/DAI
(i.e. 0). What will happen with second aplay? Will it automatically find
a free DAI to playback? or it is mandatory to explicitly specify the
PCM/card # for second aplay?

Similarly what will happen in case of arecord when a codec supports
multiple DAIs capable of capturing?

More information about the Alsa-devel mailing list