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

Sergej Sawazki ssawazki at gmx.de
Sun Sep 28 19:20:15 CEST 2014


Am 27.09.2014 um 19:17 schrieb Lars-Peter Clausen:
> 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
>
>
Lars, Benoit,

many thanks, 'snd_soc_dai_link_component' works like a charm.

  - Sergej



More information about the Alsa-devel mailing list