[alsa-devel] ASoC: Two codecs on a single CPU DAI

Lars-Peter Clausen lars at metafoo.de
Tue May 20 15:46:12 CEST 2014

On 05/20/2014 03:08 PM, Petr Kulhavy wrote:
> Hi,
> 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 as well.
> 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 sampling rate.
> 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?


Benoit is currently working on adding support for this to the ASoC 
framework, see this patch series: 

- Lars

More information about the Alsa-devel mailing list