[alsa-devel] [PATCH v2] davinci-mcasp: Add support for multichannel playback

Mike Looijmans mike.looijmans at topic.nl
Fri Mar 8 08:29:49 CET 2013

On 03/06/2013 12:19 PM, Bedia, Vaibhav wrote:
> On Wed, Mar 06, 2013 at 16:27:15, Mark Brown wrote:
>> On Wed, Mar 06, 2013 at 10:54:52AM +0000, Bedia, Vaibhav wrote:
>>> Since you are using a multichannel codec things are a lot simplified for you :)
>>> Someone might want to hook up multiple codecs to get multi-channel behavior.
>>> There will be only 1 CPU DAI but there can be upto 16 CODEC DAIs operating in
>>> sync. I haven't really followed the recent ASoC changes so I don't know whether
>>> something like this can be handled right now.
>>> Mark, Liam,
>>> Any suggestions?
>> Nobody with any interest in such systems has stepped up to work on the
>> framework, and of course relatively little CPU hardware supports
>> multiple streams on a single DAI.
> Ok. Thinking more on this I guess the situation I described above will indeed be a rare
> case. There would be additional complexity in ensuring that the codecs are always operating
> in sync. It would perhaps be simpler to cascade the codecs (if supported) and use only one
> interface to transfer the data. Or just use multichannel codec like Michal and Daniel
> are doing.

I have 9 codecs connected, and the main problem to solve was to get the 
system to start ALL of them instead of just one.

I solved that by creating a "multiplex" codec, which in itself doesn't 
do anything. It exports a mixer where you can switch on/off the codecs 
you want to use, and it forwards all commands (_ops) to the codecs that 
are enabled. The serializer settings are sent to the asp driver as if 
they are TDM masks (using the bits to enable serializers instead).

In userland you see 10 codecs, you can use each separately, or use the 
10th codec (the multiplexer) to use any combination of other codecs.

Mike Looijmans - Topic Automation

More information about the Alsa-devel mailing list