Hi Mark
These are v2 of multi Component support.
On below HW case, we would like to use it as "2 Cards", but unfortunately it is impossible in intuitive way, or possible but not intuitive way. In reality, it is handled as "1 big Card" today.
+-- basic board --------+ |+--------+ | || CPU ch0| <--> CodecA | || ch1| <-+ | |+--------+ | | +-------------|---------+ +-- expansion board ----+ | | | | +-> CodecB| +-----------------------+
To handling it as intuitive "2 Cards", this patch-set adds multi Component support.
To enable this patch-set, I included [01/15] patch into this patch-set which is posted but not yet accepted.
v1 -> v2 - include [01/15] patch into this patch-set - add related member to To - add DT member to [14/15][15/15]
Link: https://lore.kernel.org/all/87a6b6cofh.wl-kuninori.morimoto.gx@renesas.com/ Link: https://lore.kernel.org/r/87r0q5blta.wl-kuninori.morimoto.gx@renesas.com Link: https://lore.kernel.org/r/20230623-asoc-fix-meson-probe-v1-1-82b2c2ec5ca4@ke...
Kuninori Morimoto (15): ASoC: soc-core: protect dlc->of_node under mutex ASoC: soc-core.c: initialize dlc on snd_soc_get_dai_id() ASoC: soc-core.c: cleanup soc_dai_link_sanity_check() ASoC: soc-dai.c: add DAI get/match functions ASoC: soc-core.c: enable multi Component ASoC: soc-core.c: add snd_soc_get_dai_via_args() ASoC: soc-core.c: add snd_soc_dlc_use_cpu_as_platform() ASoC: soc-core.c: add snd_soc_copy_dai_args() ASoC: simple-card-utils.c: enable multi Component support ASoC: simple-card.c: enable multi Component support ASoC: rsnd: use DAI driver ID instead of DAI ID ASoC: rsnd: cleanup rsnd_dai_of_node() ASoC: rsnd: enable multi Component support for Audio Graph Card/Card2 ASoC: dt-bindings: renesas,rsnd.yaml: add common port-def ASoC: dt-bindings: renesas,rsnd.yaml: enable multi ports for multi Component support
.../bindings/sound/renesas,rsnd.yaml | 60 ++-- include/sound/simple_card_utils.h | 5 +- include/sound/soc-dai.h | 3 + include/sound/soc.h | 6 + sound/soc/generic/audio-graph-card.c | 2 +- sound/soc/generic/audio-graph-card2.c | 2 +- sound/soc/generic/simple-card-utils.c | 23 +- sound/soc/generic/simple-card.c | 20 +- sound/soc/sh/rcar/core.c | 146 +++++++--- sound/soc/sh/rcar/rsnd.h | 4 + sound/soc/soc-core.c | 273 +++++++++++++----- 11 files changed, 378 insertions(+), 166 deletions(-)