--- Begin Message ---
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.
Thanks,
Charles
--- End Message ---