[PATCH] wm8962: add a simple DMIC enable control

Martin Kepplinger martin.kepplinger at puri.sm
Mon Feb 7 11:49:32 CET 2022


Am Freitag, dem 04.02.2022 um 17:21 +0000 schrieb Charles Keepax:
> On Fri, Feb 04, 2022 at 10:43:53AM +0100, Martin Kepplinger wrote:
> > yes my bad :) If I may, just let me describe my situation again and
> > see
> > whether anything else comes to your mind.
> > 
> > It's weird but I when I set "Capture Volume" to 60 instead of 29, I
> > didn't hear a difference.
> > 
> > So far I don't hear a difference when setting "INPGAR IN1R Switch"
> > on.
> > 
> > Does "Value" in this ucm description make any sense to you?
> 
> Mostly a couple comments inline.
> 
> > 
> > EnableSequence
> > [                                                      
> >                 cset "name='Digital Capture Volume'
> > 127,127"          
> >                 cset "name='Capture Volume'
> > 63,63"                    
> >                 cset "name='MIXINR IN3R Switch'
> > on"                   
> >                 cset "name='MIXINR IN3R Volume'
> > 7"                    
> >                 cset "name='INPGAR IN1R Switch'
> > on"                   
> >                 cset "name='Input Mode'
> > Analog"                       
> 
> Little hard to say without the rest of the ucm file (happy to
> have a look at that if you had a handy link?), but this
> looks a bit weird. Why are you connecting the MIXINR IN3R stuff
> here, you want to go through the PGA most likely?

sure, this is the changing (force-pushing) file I'm working on:
https://source.puri.sm/martin.kepplinger/librem5-base/-/blob/headset/default/audio/ucm2/Librem_5/HiFi.conf


> 
> >        
> > ]                                                             
> >                                                                    
> >    
> > DisableSequence
> > [                                                     
> >                 cset "name='INPGAR IN1R Switch'
> > off"                  
> >                 cset "name='MIXINR IN3R Switch'
> > off"                  
> >                 cset "name='MIXINR IN3R Volume'
> > 0"                    
> >                 cset "name='Input Mode'
> > Digital"                      
> >        
> > ]                                                             
> >                                                                    
> >    
> > Value
> > {                                                               
> >                 CapturePriority
> > "100"                                 
> >                 CaptureChannels
> > "2"                                   
> >                 CaptureSwitch "name='MIXINR IN3R
> > Volume'"             
> 
> This should probably be CaptureVolume, rather than CaptureSwitch.
> 
> >                 CaptureSwitch "name='MIXINR IN3R
> > Switch'"             
> >                 CapturePCM
> > "hw:${CardId},0"                           
> >                 JackControl "Headphones
> > Jack"                         
> 
> Assuming your machine driver creates an appropriately named
> control.
> 
> >         }
> > 
> > 
> > Let me just append the correct amixer contents where I hear my
> > usual
> > "quiet and bad signal" recording:
> 
> > numid=11,iface=MIXER,name='Capture Switch'
> >   ; type=BOOLEAN,access=rw------,values=2
> >   : values=off,off
> 
> This still looks weird, I wouldn't expect you would hear anything
> with the "Capture Switch" off, it mutes the PGA. Can you confirm
> if this is on whilst you are actually capturing audio?

you're right. I append my current setting, now while gnome audio
settings are open (where the signal volume is shown), then it's on.

> 
> > numid=84,iface=MIXER,name='INPGAR IN1R Switch'
> >   ; type=BOOLEAN,access=rw------,values=1
> >   : values=on
> 
> I definitely would consider turning this on as just a test thing
> not a recommendation on how the part should be used, until we see
> if it helps. It was just a weird hunch, I feel the routing is
> probably more sensible without it.

removed that.

> 
> > numid=92,iface=MIXER,name='MIXINR IN3R Switch'
> >   ; type=BOOLEAN,access=rw------,values=1
> >   : values=on
> > numid=93,iface=MIXER,name='MIXINR PGA Switch'
> >   ; type=BOOLEAN,access=rw------,values=1
> >   : values=on
> 
> I don't think you should have both the IN3R and PGA switches
> enabled at once. I would suggest only using the PGA switch.
> 
> Ok, I think what is happening here is you have both of
> these connected, and because you have the PGA muted, you are
> only hearing the unboosted mic signal coming through MIXINR
> IN3R. This would explain both why the Capture Volume has no
> effect and why your signal is quiet.

ok. I keep MIXINR IN3R Switch disabled now and the volume is indeed
high now, and I control volume using

CaptureSwitch "name='Capture Volume'"

Volume itself indeed is good now. Recorded voice is very "metallic" and
"shallow" if you know what I mean - and distorted when using MAX
volume. The gnome audio recorder doesn't show *any* signal in the UI,
so that must still be kind of bad - even though I understand recorded
voice way better now than before.

> 
> Thanks,
> Charles

thanks for all the time and help, and sorry for all the wrong amixer
output I sent you,

                                 martin

-------------- next part --------------
numid=1,iface=CARD,name='Headphones Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=on
numid=30,iface=MIXER,name='Headphone Aux Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=7,step=0
  : values=0,0
  | dBscale-min=-7.00dB,step=1.00dB,mute=0
numid=31,iface=MIXER,name='Headphone Mixer Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=29,iface=MIXER,name='Headphone ZC Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=28,iface=MIXER,name='Headphone Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=27,iface=MIXER,name='Headphone 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
numid=25,iface=MIXER,name='ADC High Performance Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=22,iface=MIXER,name='ADC L/R Swap Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=24,iface=MIXER,name='ADC Monomix Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=15,iface=MIXER,name='Capture HPF Cutoff'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=0
numid=14,iface=MIXER,name='Capture HPF Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Hi-fi'
  ; Item #1 'Application'
  : values=0
numid=13,iface=MIXER,name='Capture HPF Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=17,iface=MIXER,name='Capture LHPF Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'LPF'
  ; Item #1 'HPF'
  : values=0
numid=16,iface=MIXER,name='Capture LHPF Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=12,iface=MIXER,name='Capture ZC Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=11,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=10,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=63,63
  | dBscale-min=-23.25dB,step=0.75dB,mute=0
numid=50,iface=MIXER,name='3D Coefficients'
  ; type=BYTES,access=rw------,values=8
  : values=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
numid=49,iface=MIXER,name='3D Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=63,iface=MIXER,name='ALC Coefficients'
  ; type=BYTES,access=rw------,values=8
  : values=0x00,0x7b,0x00,0x00,0x1c,0x32,0x32,0x00
numid=62,iface=MIXER,name='ALC Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=26,iface=MIXER,name='Beep Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=15,step=0
  : values=0
  | dBscale-min=-96.00dB,step=6.00dB,mute=1
numid=20,iface=MIXER,name='DAC High Performance Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=21,iface=MIXER,name='DAC L/R Swap Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=23,iface=MIXER,name='DAC Monomix Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=52,iface=MIXER,name='DF1 Coefficients'
  ; type=BYTES,access=rw------,values=14
  : values=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
numid=51,iface=MIXER,name='DF1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=54,iface=MIXER,name='DRC Coefficients'
  ; type=BYTES,access=rw------,values=10
  : values=0x00,0x0c,0x09,0x25,0x00,0x00,0x00,0x00,0x00,0x00
numid=53,iface=MIXER,name='DRC Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=9,iface=MIXER,name='Digital Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
  : values=100,100
  | dBscale-min=-72.00dB,step=0.75dB,mute=1
numid=19,iface=MIXER,name='Digital Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=127,step=0
  : values=100,100
  | dBscale-min=-72.00dB,step=0.75dB,mute=1
numid=41,iface=MIXER,name='EQ Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=42,iface=MIXER,name='EQ1 Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=12,12
  | dBscale-min=-12.00dB,step=1.00dB,mute=0
numid=43,iface=MIXER,name='EQ2 Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=12,12
  | dBscale-min=-12.00dB,step=1.00dB,mute=0
numid=44,iface=MIXER,name='EQ3 Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=12,12
  | dBscale-min=-12.00dB,step=1.00dB,mute=0
numid=45,iface=MIXER,name='EQ4 Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=12,12
  | dBscale-min=-12.00dB,step=1.00dB,mute=0
numid=46,iface=MIXER,name='EQ5 Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=31,step=0
  : values=13,13
  | dBscale-min=-12.00dB,step=1.00dB,mute=0
numid=47,iface=MIXER,name='EQL Coefficients'
  ; type=BYTES,access=rw------,values=36
  : values=0x0f,0xca,0x04,0x00,0x00,0xd8,0x1e,0xb5,0xf1,0x45,0x0b,0x75,0x01,0xc5,0x1c,0x58,0xf3,0x73,0x0a,0x54,0x05,0x58,0x16,0x8e,0xf8,0x29,0x07,0xad,0x11,0x03,0x05,0x64,0x05,0x59,0x40,0x00
numid=48,iface=MIXER,name='EQR Coefficients'
  ; type=BYTES,access=rw------,values=36
  : values=0x0f,0xca,0x04,0x00,0x00,0xd8,0x1e,0xb5,0xf1,0x45,0x0b,0x75,0x01,0xc5,0x1c,0x58,0xf3,0x73,0x0a,0x54,0x05,0x58,0x16,0x8e,0xf8,0x29,0x07,0xad,0x11,0x03,0x05,0x64,0x05,0x59,0x40,0x00
numid=61,iface=MIXER,name='HD Bass Coefficients'
  ; type=BYTES,access=rw------,values=60
  : values=0x00,0x02,0xbd,0x12,0x00,0x7c,0x58,0x6c,0x00,0x53,0x81,0x21,0x00,0x3f,0x8b,0xd8,0x00,0x32,0xf5,0x2d,0x00,0x65,0xac,0x8c,0x00,0x6b,0xe0,0x87,0x00,0x72,0x14,0x83,0x00,0x72,0x14,0x83,0x00,0x43,0x35,0x25,0x00,0x06,0x6a,0x4a,0x00,0x43,0x60,0x79,0x00,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x59,0x99,0x9a
numid=60,iface=MIXER,name='HD Bass Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=59,iface=MIXER,name='HPF Coefficients'
  ; type=BYTES,access=rw------,values=2
  : values=0x00,0x00
numid=57,iface=MIXER,name='HPF1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=58,iface=MIXER,name='HPF2 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=97,iface=MIXER,name='HPMIXL DACL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=98,iface=MIXER,name='HPMIXL DACR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=101,iface=MIXER,name='HPMIXL IN4L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=32,iface=MIXER,name='HPMIXL IN4L 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=102,iface=MIXER,name='HPMIXL IN4R Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=33,iface=MIXER,name='HPMIXL IN4R 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=99,iface=MIXER,name='HPMIXL MIXINL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=34,iface=MIXER,name='HPMIXL MIXINL Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=100,iface=MIXER,name='HPMIXL MIXINR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=35,iface=MIXER,name='HPMIXL MIXINR Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=103,iface=MIXER,name='HPMIXR DACL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=104,iface=MIXER,name='HPMIXR DACR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=107,iface=MIXER,name='HPMIXR IN4L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=36,iface=MIXER,name='HPMIXR IN4L 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=108,iface=MIXER,name='HPMIXR IN4R Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=37,iface=MIXER,name='HPMIXR IN4R 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=105,iface=MIXER,name='HPMIXR MIXINL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=38,iface=MIXER,name='HPMIXR MIXINL Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=106,iface=MIXER,name='HPMIXR MIXINR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=39,iface=MIXER,name='HPMIXR MIXINR Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=109,iface=MIXER,name='HPOUTL PGA'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC'
  ; Item #1 'Mixer'
  : values=0
numid=110,iface=MIXER,name='HPOUTR PGA'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC'
  ; Item #1 'Mixer'
  : values=0
numid=80,iface=MIXER,name='INPGAL IN1L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=81,iface=MIXER,name='INPGAL IN2L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=82,iface=MIXER,name='INPGAL IN3L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=83,iface=MIXER,name='INPGAL IN4L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=84,iface=MIXER,name='INPGAR IN1R Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
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=0
numid=88,iface=MIXER,name='MIXINL IN2L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=3,iface=MIXER,name='MIXINL IN2L 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=89,iface=MIXER,name='MIXINL IN3L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=5,iface=MIXER,name='MIXINL IN3L 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=90,iface=MIXER,name='MIXINL PGA Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=4,iface=MIXER,name='MIXINL 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

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

numid=111,iface=MIXER,name='SPKOUTL Mixer DACL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=72,iface=MIXER,name='SPKOUTL Mixer DACL Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=0
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=112,iface=MIXER,name='SPKOUTL Mixer DACR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=73,iface=MIXER,name='SPKOUTL Mixer DACR Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=0
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=115,iface=MIXER,name='SPKOUTL Mixer IN4L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=68,iface=MIXER,name='SPKOUTL Mixer IN4L 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=116,iface=MIXER,name='SPKOUTL Mixer IN4R Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=69,iface=MIXER,name='SPKOUTL Mixer IN4R 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=113,iface=MIXER,name='SPKOUTL Mixer MIXINL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=70,iface=MIXER,name='SPKOUTL Mixer MIXINL Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=114,iface=MIXER,name='SPKOUTL Mixer MIXINR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=71,iface=MIXER,name='SPKOUTL Mixer MIXINR Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=123,iface=MIXER,name='SPKOUTL PGA'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC'
  ; Item #1 'Mixer'
  : values=1
numid=117,iface=MIXER,name='SPKOUTR Mixer DACL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=78,iface=MIXER,name='SPKOUTR Mixer DACL Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=0
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=118,iface=MIXER,name='SPKOUTR Mixer DACR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=79,iface=MIXER,name='SPKOUTR Mixer DACR Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=0
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=121,iface=MIXER,name='SPKOUTR Mixer IN4L Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=74,iface=MIXER,name='SPKOUTR Mixer IN4L 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=122,iface=MIXER,name='SPKOUTR Mixer IN4R Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=75,iface=MIXER,name='SPKOUTR Mixer IN4R 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=119,iface=MIXER,name='SPKOUTR Mixer MIXINL Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=76,iface=MIXER,name='SPKOUTR Mixer MIXINL Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=120,iface=MIXER,name='SPKOUTR Mixer MIXINR Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=77,iface=MIXER,name='SPKOUTR Mixer MIXINR Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=1,step=0
  : values=1
  | dBscale-min=-6.00dB,step=6.00dB,mute=0
numid=124,iface=MIXER,name='SPKOUTR PGA'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'DAC'
  ; Item #1 'Mixer'
  : values=1
numid=95,iface=MIXER,name='STL'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'None'
  ; Item #1 'Left'
  ; Item #2 'Right'
  : values=0
numid=96,iface=MIXER,name='STR'
  ; type=ENUMERATED,access=rw------,values=1,items=3
  ; Item #0 'None'
  ; Item #1 'Left'
  ; Item #2 'Right'
  : values=0
numid=18,iface=MIXER,name='Sidetone Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=12,step=0
  : values=0,0
  | dBscale-min=-36.00dB,step=3.00dB,mute=0
numid=40,iface=MIXER,name='Speaker Boost Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=7,step=0
  : values=6
  | dBrange-
    rangemin=0,,rangemax=6
      | dBscale-min=0.00dB,step=1.50dB,mute=0
    rangemin=7,,rangemax=7
      | dBscale-min=12.00dB,step=0.00dB,mute=0

numid=67,iface=MIXER,name='Speaker Mixer Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=65,iface=MIXER,name='Speaker Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,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
numid=66,iface=MIXER,name='Speaker ZC Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=56,iface=MIXER,name='VSS Coefficients'
  ; type=BYTES,access=rw------,values=296
  : values=0x00,0x8c,0x02,0x00,0x00,0x35,0x07,0x00,0x00,0x3a,0x41,0x00,0x00,0x8b,0x7d,0x00,0x00,0x3a,0x41,0x00,0x00,0x8c,0xfe,0xe8,0x00,0x78,0x00,0x00,0x00,0x3f,0xb2,0x60,0x00,0x2d,0x18,0x18,0x00,0x20,0x00,0x00,0x00,0xf1,0x83,0x40,0x00,0xfb,0x83,0x00,0x00,0xee,0xae,0xc0,0x00,0xfb,0xac,0x40,0x00,0xf1,0x7f,0x80,0x00,0xf4,0x3b,0x40,0x00,0xf5,0xfb,0x00,0x00,0xea,0x10,0xc0,0x00,0xfc,0xc5,0x80,0x00,0xe2,0x75,0xc0,0x00,0x04,0xb4,0x80,0x00,0xd4,0xf9,0x80,0x00,0x04,0x91,0x40,0x00,0xd8,0xa4,0x80,0x00,0x02,0x3d,0xc0,0x00,0xcf,0x7a,0x80,0x00,0xdc,0x06,0x00,0x00,0xf2,0xda,0xc0,0x00,0xba,0xf3,0x40,0x00,0x0a,0x79,0x40,0x00,0x1c,0x06,0x80,0x00,0xfd,0x2d,0x00,0x00,0x1c,0xe8,0x40,0x00,0x0d,0xdc,0x40,0x00,0xfc,0x9d,0x00,0x00,0x09,0x55,0x80,0x00,0xfe,0x7e,0x80,0x00,0x0e,0xab,0x40,0x00,0xf9,0x98,0x80,0x00,0x09,0x87,0xc0,0x00,0xfd,0x2c,0x40,0x00,0x09,0x48,0x00,0x00,0x03,0x5f,0x40,0x00,0x00,0x87,0x00,0x00,0xfa,0xe4,0xc0,0x00,0x00,0x0b,0x40,0x00,0x04,0xe1,0x80,0x00,0x01,0x1f,0x40,0x00,0xf8,0xb0,0x00,0x00,0xfb,0xcb,0xc0,0x00,0x04,0xf3,0x80,0x00,0x07,0xdf,0x40,0x00,0xff,0x07,0x00,0x00,0xef,0xd7,0x00,0x00,0xfb,0xaf,0x40,0x00,0x10,0x8a,0x80,0x00,0x11,0x07,0xc0,0x00,0xe0,0x08,0x00,0x00,0xd2,0x76,0x00,0x00,0x20,0xcf,0x40,0x00,0x30,0x23,0x40,0x00,0xfd,0x69,0xc0,0x00,0x28,0x35,0x00,0x00,0x06,0x33,0x00,0x00,0xd9,0xf6,0xc0,0x00,0xf3,0x33,0x40,0x00,0x0f,0x42,0x00,0x00,0x04,0x0c,0x80,0x00,0xfb,0x3f,0x80,0x00,0xf7,0x57,0xc0,0x00,0x03,0x54,0x00,0x00,0x00,0xc6,0xc0,0x00,0x03,0x12,0xc0,0x00,0xfd,0x85,0x80
numid=55,iface=MIXER,name='VSS Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off


More information about the Alsa-devel mailing list