[alsa-devel] ASoC: How to connect a single CPU DAI to two codecs?

Lars-Peter Clausen lars at metafoo.de
Sat Sep 27 19:17:24 CEST 2014


On 09/27/2014 03:33 PM, Sergej Sawazki wrote:
> Hello,
>
> I'm writing an ALSA SoC machine driver for a board that has two mono codecs
> (left and right audio channel). Each codec is controlled over I2C and has
> itsown address.Both codecs are connected to the same I2S CPU DAI (as shown
> below).
>
>      +--------- (adr: 0x1a) -----+
>      |                           |
>      |             +--------> codec_1 ----> (left channel audio)
>      |             |
>     I2C    I2S ----+
>      |             |
>      |             +--------> codec_2 ----> (right channel audio)
>      |                           |
>      +--------- (adr: 0x1b) -----+
>
> Can someone give me some advice on how to setup the 'snd_soc_card' and
> 'snd_soc_dai_link' in this case? Do I need two dai_links with the same
> 'cpu_dai_name' and 'platform_name'?
>
> Are there examples for such a configuration? I didn't had much luck in
> finding one in the mainline?
>
> Any help would be highly appreciated.  Thanks!

Hi,

Support for multiple CODEC DAIs on the same link has recently been added by 
Benoit. See commit 88bd870f ("ASoC: core: Add initial support for DAI 
multicodec"). You now have the possibility to specify multiple CODEC DAIs in 
the link using the snd_soc_dai_link_component struct.

- Lars




More information about the Alsa-devel mailing list