mirror of https://gitee.com/openkylin/linux.git
ASoC: max98090: Fix digital microphone
Commite409dfbfcc
("ASoC: dapm: Add a few supply widget sanity checks") broke digital microphone support in max98090.c: max98090 i2c-193C9890:00: Conditional paths are not supported for supply widgets (DMICL_ENA -> [DMIC] -> DMIC Mux) max98090 i2c-193C9890:00: ASoC: no dapm match for DMICL_ENA --> DMIC --> DMIC Mux max98090 i2c-193C9890:00: ASoC: Failed to add route DMICL_ENA -> DMIC -> DMIC Mux max98090 i2c-193C9890:00: Conditional paths are not supported for supply widgets (DMICR_ENA -> [DMIC] -> DMIC Mux) max98090 i2c-193C9890:00: ASoC: no dapm match for DMICR_ENA --> DMIC --> DMIC Mux max98090 i2c-193C9890:00: ASoC: Failed to add route DMICR_ENA -> DMIC -> DMIC Mux Problem is partially caused by commitf69e3caa9e
("ASoC: max98090: Enable both DMIC channels also when using mono configuration") which connects "DMICL_ENA" and "DMICR_ENA" supply widgets to "DMIC Mux". Fix the breakage by revertingf69e3caa9e
and then by adding additional "DMICR_ENA" to "DMICL" and "DMICL_ENA" to "DMICR" cross-connections. This disconnects these supply widgets from the mux and makes sure that both DMIC data channels are still enabled together. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
ece509c109
commit
4cf703a7bc
|
@ -1311,6 +1311,10 @@ static const struct snd_soc_dapm_route max98090_dapm_routes[] = {
|
||||||
{"MIC1 Input", NULL, "MIC1"},
|
{"MIC1 Input", NULL, "MIC1"},
|
||||||
{"MIC2 Input", NULL, "MIC2"},
|
{"MIC2 Input", NULL, "MIC2"},
|
||||||
|
|
||||||
|
{"DMICL", NULL, "DMICL_ENA"},
|
||||||
|
{"DMICL", NULL, "DMICR_ENA"},
|
||||||
|
{"DMICR", NULL, "DMICL_ENA"},
|
||||||
|
{"DMICR", NULL, "DMICR_ENA"},
|
||||||
{"DMICL", NULL, "AHPF"},
|
{"DMICL", NULL, "AHPF"},
|
||||||
{"DMICR", NULL, "AHPF"},
|
{"DMICR", NULL, "AHPF"},
|
||||||
|
|
||||||
|
@ -1368,8 +1372,6 @@ static const struct snd_soc_dapm_route max98090_dapm_routes[] = {
|
||||||
{"DMIC Mux", "ADC", "ADCR"},
|
{"DMIC Mux", "ADC", "ADCR"},
|
||||||
{"DMIC Mux", "DMIC", "DMICL"},
|
{"DMIC Mux", "DMIC", "DMICL"},
|
||||||
{"DMIC Mux", "DMIC", "DMICR"},
|
{"DMIC Mux", "DMIC", "DMICR"},
|
||||||
{"DMIC Mux", "DMIC", "DMICL_ENA"},
|
|
||||||
{"DMIC Mux", "DMIC", "DMICR_ENA"},
|
|
||||||
|
|
||||||
{"LBENL Mux", "Normal", "DMIC Mux"},
|
{"LBENL Mux", "Normal", "DMIC Mux"},
|
||||||
{"LBENL Mux", "Loopback", "LTENL Mux"},
|
{"LBENL Mux", "Loopback", "LTENL Mux"},
|
||||||
|
|
Loading…
Reference in New Issue