]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: max98090/91: adding the two virtual Mux widgets in the routes
authorSharique Mohammad <sharq0406@gmail.com>
Mon, 3 Nov 2025 09:16:48 +0000 (10:16 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 3 Nov 2025 13:14:18 +0000 (13:14 +0000)
The two virtual multiplexers are now part of the alsa routing.
The "DMIC M1 Mux" now sits between the primary digital mics
"DMICL"/"DMICR" and the virtual multiplexer "DMIC Mux". And
"DMIC M2 Mux" sits between the secondary digital mics
"DMIC2L"/"DMIC2R" and the audio out interfaces
"AIFOUT2L"/"AIFOUT2R". This patch makes sure that the M1 and
M2 mics can be switched On/Off independently, by default both
will be enabled.

Signed-off-by: Sharique Mohammad <sharq0406@gmail.com>
Link: https://patch.msgid.link/20251103091648.771947-1-sharq0406@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max98090.c

index 562c4067c8e7ee335a3848c7671865b0995b5b6a..b63186feca05e48e890c872f0f602ab37aada190 100644 (file)
@@ -1325,10 +1325,12 @@ static const struct snd_soc_dapm_route max98090_dapm_routes[] = {
        {"ADCL", NULL, "SHDN"},
        {"ADCR", NULL, "SHDN"},
 
+       {"DMIC M1 Mux", "Enable", "DMICL"},
+       {"DMIC M1 Mux", "Enable", "DMICR"},
+
        {"DMIC Mux", "ADC", "ADCL"},
        {"DMIC Mux", "ADC", "ADCR"},
-       {"DMIC Mux", "DMIC", "DMICL"},
-       {"DMIC Mux", "DMIC", "DMICR"},
+       {"DMIC Mux", "DMIC", "DMIC M1 Mux"},
 
        {"LBENL Mux", "Normal", "DMIC Mux"},
        {"LBENL Mux", "Loopback", "LTENL Mux"},
@@ -1453,6 +1455,11 @@ static const struct snd_soc_dapm_route max98091_dapm_routes[] = {
        {"DMIC3", NULL, "DMIC34_HPF"},
        {"DMIC4", NULL, "DMIC34_HPF"},
 
+       {"DMIC M2 Mux", "Enable", "DMIC3"},
+       {"DMIC M2 Mux", "Enable", "DMIC4"},
+
+       {"AIFOUT2L", NULL, "DMIC M2 Mux"},
+       {"AIFOUT2R", NULL, "DMIC M2 Mux"},
        {"AIFOUT2L", NULL, "SHDN"},
        {"AIFOUT2R", NULL, "SHDN"},
        {"AIFOUT2L", NULL, "SDOEN"},