]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: core: Add initial support for DAI multicodec
authorBenoit Cousson <bcousson@baylibre.com>
Tue, 8 Jul 2014 21:19:34 +0000 (23:19 +0200)
committerMark Brown <broonie@linaro.org>
Wed, 16 Jul 2014 21:58:49 +0000 (22:58 +0100)
commitded5f8b247cb168668fd86aeced2ce6d5b61df09
tree329d25b67e687f6905e51b989db62c7268986fb1
parent4129fbf9e5b0b953a4db9fdb308d29c0e1746cf6
ASoC: core: Add initial support for DAI multicodec

DAI link assumes a one to one mapping between CPU DAI and CODEC. In
some cases, the same CPU DAI can be connected to several codecs.
This is the case for example, if you connect two mono codecs to the
same I2S link in order to have a stereo card.
The current ASoC implementation does not allow such setup.

Add support for DAI links composed of a single CPU DAI and multiple
CODECs. Sound cards have to pass the CODECs array in the corresponding
DAI link through a new 'snd_soc_dai_link_component' struct. Each CODEC in
this array is described in the same manner single CODEC DAIs are
(either DT/OF node or codec_name).

Multi-codec links are not supported in the case of CODEC to CODEC links.
Just print a warning if it happens.

Based on an original code done by Misael.

Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
include/sound/soc-dai.h
include/sound/soc.h
sound/soc/soc-core.c