пн, 27 бер. 2023 р. о 13:14 Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> пише: > > On Mon, Mar 27, 2023 at 11:37:05AM +0300, Svyatoslav Ryhel wrote: > > пн, 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. > > > > The two should be basically equivalent when the controls are set > right, your patch has: > > DMIC -> ADCL > > The current code has > > DMIC -> Left ADC Input -> ADCL > > The only difference is that Left ADC Input sets the ADC_DIG_MIC > bit, but the datasheet clearly indicates that should be > necessary for digital mics to work. Does your system definitely > have DMICs? Without that bit set the decimator should still be > connected to the analogue front end. > You are correct, this patch is not needed. It appears that the issue was not in routing but in wm8903 gpio configuration. DMICDAT works as intended. > Thanks, > Charles