@@ -1359,6 +1359,9 @@ static const struct snd_soc_dapm_widget mt8186_memif_widgets[] = {
SND_SOC_DAPM_MUX("UL5_IN_MUX", SND_SOC_NOPM, 0, 0,
&ul5_in_mux_control),
+ SND_SOC_DAPM_MIXER("DSP_DL1_VIRT", SND_SOC_NOPM, 0, 0, NULL, 0),
+ SND_SOC_DAPM_MIXER("DSP_DL2_VIRT", SND_SOC_NOPM, 0, 0, NULL, 0),
+
SND_SOC_DAPM_INPUT("UL1_VIRTUAL_INPUT"),
SND_SOC_DAPM_INPUT("UL2_VIRTUAL_INPUT"),
SND_SOC_DAPM_INPUT("UL3_VIRTUAL_INPUT"),
@@ -658,9 +658,15 @@ static const struct snd_soc_dapm_route mtk_dai_i2s_routes[] = {
{"I2S1_CH1", "DL1_CH1 Switch", "DL1"},
{"I2S1_CH2", "DL1_CH2 Switch", "DL1"},
+ {"I2S1_CH1", "DL1_CH1 Switch", "DSP_DL1_VIRT"},
+ {"I2S1_CH2", "DL1_CH2 Switch", "DSP_DL1_VIRT"},
+
{"I2S1_CH1", "DL2_CH1 Switch", "DL2"},
{"I2S1_CH2", "DL2_CH2 Switch", "DL2"},
+ {"I2S1_CH1", "DL2_CH1 Switch", "DSP_DL2_VIRT"},
+ {"I2S1_CH2", "DL2_CH2 Switch", "DSP_DL2_VIRT"},
+
{"I2S1_CH1", "DL3_CH1 Switch", "DL3"},
{"I2S1_CH2", "DL3_CH2 Switch", "DL3"},
@@ -728,9 +734,15 @@ static const struct snd_soc_dapm_route mtk_dai_i2s_routes[] = {
{"I2S3_CH1", "DL1_CH1 Switch", "DL1"},
{"I2S3_CH2", "DL1_CH2 Switch", "DL1"},
+ {"I2S3_CH1", "DL1_CH1 Switch", "DSP_DL1_VIRT"},
+ {"I2S3_CH2", "DL1_CH2 Switch", "DSP_DL1_VIRT"},
+
{"I2S3_CH1", "DL2_CH1 Switch", "DL2"},
{"I2S3_CH2", "DL2_CH2 Switch", "DL2"},
+ {"I2S3_CH1", "DL2_CH1 Switch", "DSP_DL2_VIRT"},
+ {"I2S3_CH2", "DL2_CH2 Switch", "DSP_DL2_VIRT"},
+
{"I2S3_CH1", "DL3_CH1 Switch", "DL3"},
{"I2S3_CH2", "DL3_CH2 Switch", "DL3"},
1. add DSP downlink link widget 2. add DSP to I2S route path Signed-off-by: Chunxu Li <chunxu.li@mediatek.com> --- sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 3 +++ sound/soc/mediatek/mt8186/mt8186-dai-i2s.c | 12 ++++++++++++ 2 files changed, 15 insertions(+)