ASoC: added WSA2 support on targets with more than two spkrs

Add wsa2 backend dai links only in platforms
which has 4 wsa speakers.

add 2 to the device index parsed from hardware device id
of wsa slave to match the dai names in the msm_dailink.h

Change-Id: Iffe43842123526f4925f9d5bcd8dff0317bac7a7
Signed-off-by: Junkai Cai <junkai@codeaurora.org>
This commit is contained in:
Junkai Cai
2021-03-08 14:04:10 -08:00
committed by Gerrit - the friendly Code Review server
parent 3ae97cf8fa
commit 647c4b4898
4 changed files with 149 additions and 100 deletions

View File

@@ -54,31 +54,22 @@ SND_SOC_DAILINK_DEFS(auxpcm_tx,
SND_SOC_DAILINK_DEFS(wsa_dma_rx0,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_rx1"),
// COMP_CODEC("lpass-cdc", "wsa2_macro_rx1"),
COMP_CODEC("wsa-codec1", "wsa_rx1"),
COMP_CODEC("wsa-codec2", "wsa_rx2"),
COMP_CODEC("wsa-codec3", "wsa_rx3"),
COMP_CODEC("wsa-codec4", "wsa_rx4")),
COMP_CODEC("wsa-codec2", "wsa_rx2")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa_dma_rx1,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_rx_mix"),
// COMP_CODEC("lpass-cdc", "wsa2_macro_rx_mix"),
COMP_CODEC("wsa-codec1", "wsa_rx1"),
COMP_CODEC("wsa-codec2", "wsa_rx2"),
COMP_CODEC("wsa-codec3", "wsa_rx3"),
COMP_CODEC("wsa-codec4", "wsa_rx4")),
COMP_CODEC("wsa-codec2", "wsa_rx2")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa_dma_tx1,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_echo"),
// COMP_CODEC("lpass-cdc", "wsa2_macro_echo"),
COMP_CODEC("wsa-codec1", "wsa_rx1"),
COMP_CODEC("wsa-codec2", "wsa_rx2"),
COMP_CODEC("wsa-codec3", "wsa_rx3"),
COMP_CODEC("wsa-codec4", "wsa_rx4")),
COMP_CODEC("wsa-codec2", "wsa_rx2")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa2_dma_rx0,
@@ -102,6 +93,36 @@ SND_SOC_DAILINK_DEFS(wsa2_dma_tx1,
COMP_CODEC("wsa-codec4", "wsa_rx4")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa_wsa2_dma_rx0,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_rx1"),
COMP_CODEC("lpass-cdc", "wsa2_macro_rx1"),
COMP_CODEC("wsa-codec1", "wsa_rx1"),
COMP_CODEC("wsa-codec2", "wsa_rx2"),
COMP_CODEC("wsa-codec3", "wsa_rx3"),
COMP_CODEC("wsa-codec4", "wsa_rx4")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa_wsa2_dma_rx1,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_rx_mix"),
COMP_CODEC("lpass-cdc", "wsa2_macro_rx_mix"),
COMP_CODEC("wsa-codec1", "wsa_rx1"),
COMP_CODEC("wsa-codec2", "wsa_rx2"),
COMP_CODEC("wsa-codec3", "wsa_rx3"),
COMP_CODEC("wsa-codec4", "wsa_rx4")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa_wsa2_dma_tx1,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_echo"),
COMP_CODEC("lpass-cdc", "wsa2_macro_echo"),
COMP_CODEC("wsa-codec1", "wsa_rx1"),
COMP_CODEC("wsa-codec2", "wsa_rx2"),
COMP_CODEC("wsa-codec3", "wsa_rx3"),
COMP_CODEC("wsa-codec4", "wsa_rx4")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(rx_dma_rx0,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "rx_macro_rx1"),
@@ -309,6 +330,12 @@ SND_SOC_DAILINK_DEFS(wsa2_vi_feedback,
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa2_macro_vifeedback")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(wsa_wsa2_vi_feedback,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("lpass-cdc", "wsa_macro_vifeedback"),
COMP_CODEC("lpass-cdc", "wsa2_macro_vifeedback")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(tavil_i2s_rx1,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("tavil_codec", "tavil_i2s_rx1")),