ASoC: mediatek: mt8186: support DSP downlink
authorChunxu Li <chunxu.li@mediatek.com>
Thu, 18 Aug 2022 02:51:11 +0000 (10:51 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 19 Aug 2022 12:19:50 +0000 (13:19 +0100)
1. add DSP downlink link widget
2. add DSP to I2S route path

Signed-off-by: Chunxu Li <chunxu.li@mediatek.com>
Link: https://lore.kernel.org/r/20220818025113.17144-2-chunxu.li@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/mt8186/mt8186-afe-pcm.c
sound/soc/mediatek/mt8186/mt8186-dai-i2s.c

index eb729ab..d7e94e6 100644 (file)
@@ -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"),
index d7a2271..e553a55 100644 (file)
@@ -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"},