пн, 27 бер. 2023 р. о 11:32 Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> пише: > > On Sat, Mar 25, 2023 at 10:36:43AM +0200, Svyatoslav Ryhel wrote: > > Add DMIC input and routing. > > > > Tested-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx> # ASUS TF300T > > Signed-off-by: Svyatoslav Ryhel <clamor95@xxxxxxxxx> > > --- > > sound/soc/codecs/wm8903.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c > > index 41346e5ec5ad..9c2f0aadcff3 100644 > > --- a/sound/soc/codecs/wm8903.c > > +++ b/sound/soc/codecs/wm8903.c > > @@ -9,7 +9,6 @@ > > * > > * TODO: > > * - TDM mode configuration. > > - * - Digital microphone support. > > */ > > > > #include <linux/module.h> > > @@ -816,6 +815,7 @@ SND_SOC_DAPM_INPUT("IN2L"), > > SND_SOC_DAPM_INPUT("IN2R"), > > SND_SOC_DAPM_INPUT("IN3L"), > > SND_SOC_DAPM_INPUT("IN3R"), > > +SND_SOC_DAPM_INPUT("DMIC"), > > SND_SOC_DAPM_INPUT("DMICDAT"), > > There is already a datapath for the DMIC here, DMICDAT. Are you > sure you don't just need to set the "Left/Right ADC Input" muxes > correctly through the ALSA controls? > I will check once more, but so far I was not able to set the mic to work with DMICDAT. Only with this patch. Best regards, Svyatoslav R. > > > > SND_SOC_DAPM_OUTPUT("HPOUTL"), > > @@ -996,6 +996,9 @@ static const struct snd_soc_dapm_route wm8903_intercon[] = { > > { "AIFTXL", NULL, "Left Capture Mux" }, > > { "AIFTXR", NULL, "Right Capture Mux" }, > > > > + { "ADCL", NULL, "DMIC" }, > > + { "ADCR", NULL, "DMIC" }, > > + > > And at any rate these should not be directly connected to the > ADC you need some muxing to indicate whether the DMIC or AMICs > are active. Which the DMICDAT path appears to already have. > > Thanks, > Charles