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.
Thanks.
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?