[alsa-devel] ASoC: Two codecs on a single CPU DAI
petr at barix.com
Tue May 20 15:08:25 CEST 2014
I'm writing a driver for a custom DaVinci board, which has two codecs
(Wolfson and STA323 amplifier) connected to the same CPU DAI. The
intention is that both codecs always play the same audio, only the
volume/mixer settings are controlled separately. In addition to that the
design is atypical by the fact, that the Wolfson is the clock master. So
in order to play audio on the amplifier the Wolfson must be initialized
My question is: how to reflect this architecture in a SOC platform driver?
As the first approach I tried to create two DAI links, one for each
codec. That worked if audio was first played on the Wolfson link (clock
master was initialized) and then on the second link, using the same
But in fact I would need only one DAI link to both. So then I tried to
make just one link to Wolfson and put the amplifier as an "aux_dev".
However there I need to set hw_params and format for the amplifier codec
DAI and those functions were not called. In fact there was no codec DAI
created for the amplifier. I've also seen that one can define rtd_aux
runtimes, but have nowhere found how to use it.
Could someone please help me?
Thanks a lot
Petr Kulhavy, MSc
More information about the Alsa-devel