[PATCH] wm8962: add a simple DMIC enable control
Charles Keepax
ckeepax at opensource.cirrus.com
Thu Feb 3 12:05:18 CET 2022
On Thu, Feb 03, 2022 at 10:57:44AM +0100, Martin Kepplinger wrote:
> Am Mittwoch, dem 02.02.2022 um 13:35 +0000 schrieb Charles Keepax:
> > On Wed, Feb 02, 2022 at 12:55:04PM +0100, Martin Kepplinger wrote:
> > > Am Mittwoch, dem 02.02.2022 um 10:46 +0000 schrieb Charles Keepax:
> > > > On Wed, Feb 02, 2022 at 11:17:34AM +0100, Martin Kepplinger
> > > > wrote:
> > > > > Am Mittwoch, dem 02.02.2022 um 09:53 +0000 schrieb Charles
> > > > > Keepax:
> > > > > > On Tue, Feb 01, 2022 at 04:01:13PM +0100, Martin Kepplinger
> > > > > > wrote:
> > > Volume / sensitivity of Analog input is too low, I saw that before.
> > > What would you try to change that?
> > >
> >
> > Hmm... you say you saw this before? I assume the input volume
> > is always low, not just low sometimes? I would probably start by
> > checking the voltage you have on the micbias, make sure that is
> > as expected. Does the signal coming into the IN3R pin look low on
> > a scope or is it just the level after it has been through the ADC
> > on the chip that seems low?
>
> Literally *no* effort went into this yet :) All I see is when I set the
> "headset mic" volume to max in gnome settings, the recorded volume is
> something like "almost usable", so that's off a bit.
>
> I can't easily measure, but different headset mics produce similar
> volume.
>
No problem keep me posted any additional tests/info you guys get
might help out here. Looking through your routing I think you are
sending the mic directly to the speaker, I would definitely test
capturing the signal over the I2S as well to confirm it is
consistently a low volume on both paths.
> :) thank you very much so far. You already really helped. We can even
> make the mic available now (to enable manually by the user) while we
> look into the volume and detection.
>
Happy to help, please feel free to keep the questions/debug info
coming.
> numid=11,iface=MIXER,name='Capture Switch'
> ; type=BOOLEAN,access=rw------,values=2
> : values=off,off
Ermm.... this should be muting the input PGA? I wouldn't expect
any input from the analogue here.
> numid=10,iface=MIXER,name='Capture Volume'
> ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
> : values=29,29
> | dBscale-min=-23.25dB,step=0.75dB,mute=0
This is the PGA volume on the inputs and appears to be set to
-1.5dB. Not sure if that might be part of the problem?
> numid=23,iface=MIXER,name='DAC Monomix Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=on
> numid=9,iface=MIXER,name='Digital Capture Volume'
> ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
> : values=116,116
> | dBscale-min=-72.00dB,step=0.75dB,mute=1
This looks set to +15dB at the moment, so presumably no problem
here.
> numid=84,iface=MIXER,name='INPGAR IN1R Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=off
This is a total random hunch and might just be my unfamilarity
with the chip. But I would definitely try a test with this switch
turned on. From the input circuitry diagrams in the data sheet
kinda looks like it will be needed to connect one side of the
input PGA to the grounded output in your schematic.
> numid=85,iface=MIXER,name='INPGAR IN2R Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=off
> numid=86,iface=MIXER,name='INPGAR IN3R Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=on
> numid=87,iface=MIXER,name='INPGAR IN4R Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=off
> numid=2,iface=MIXER,name='Input Mixer Switch'
> ; type=BOOLEAN,access=rw------,values=2
> : values=off,on
> numid=94,iface=MIXER,name='Input Mode'
> ; type=ENUMERATED,access=rw------,values=1,items=2
> ; Item #0 'Analog'
> ; Item #1 'Digital'
> : values=1
Ah... I think you have the wrong path configured here. This
appears to be coming from the digital mics. Just to confirm it is
the analog mics you are having issues with?
> numid=91,iface=MIXER,name='MIXINR IN2R Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=off
> numid=6,iface=MIXER,name='MIXINR IN2R Volume'
> ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
> : values=7
> | dBscale-min=-15.00dB,step=3.00dB,mute=0
> numid=92,iface=MIXER,name='MIXINR IN3R Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=off
> numid=8,iface=MIXER,name='MIXINR IN3R Volume'
> ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
> : values=0
> | dBscale-min=-15.00dB,step=3.00dB,mute=0
> numid=93,iface=MIXER,name='MIXINR PGA Switch'
> ; type=BOOLEAN,access=rw------,values=1
> : values=on
> numid=7,iface=MIXER,name='MIXINR PGA Volume'
> ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
> : values=7
> | dBrange-
> rangemin=0,,rangemax=1
> | dBscale-min=0.00dB,step=6.00dB,mute=0
> rangemin=2,,rangemax=2
> | dBscale-min=13.00dB,step=13.00dB,mute=0
> rangemin=3,,rangemax=4
> | dBscale-min=18.00dB,step=2.00dB,mute=0
> rangemin=5,,rangemax=5
> | dBscale-min=24.00dB,step=0.00dB,mute=0
> rangemin=6,,rangemax=7
> | dBscale-min=27.00dB,step=3.00dB,mute=0
>
Plenty of gain on the PGA.
> numid=65,iface=MIXER,name='Speaker Switch'
> ; type=BOOLEAN,access=rw------,values=2
> : values=on,off
> numid=64,iface=MIXER,name='Speaker Volume'
> ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
> : values=121,121
> | dBscale-min=-121.00dB,step=1.00dB,mute=1
Thanks,
Charles
More information about the Alsa-devel
mailing list