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.