wm8976 codec

root@phyCORE-AM335x:~ amixer controls
numid=38,iface=MIXER,name='Headphone Playback Switch'
numid=39,iface=MIXER,name='Headphone Playback Volume'
numid=37,iface=MIXER,name='PCM Playback Volume'
numid=55,iface=MIXER,name='Mic PGA L2 Switch'
numid=56,iface=MIXER,name='Mic PGA MICN Switch'
numid=57,iface=MIXER,name='Mic PGA MICP Switch'
numid=3,iface=MIXER,name='ADC Companding'
numid=6,iface=MIXER,name='ADC Inversion Switch'
numid=8,iface=MIXER,name='Capture Boost(+20dB)'
numid=10,iface=MIXER,name='Capture PGA Volume'
numid=9,iface=MIXER,name='Capture PGA ZC Switch'
numid=7,iface=MIXER,name='Capture Volume'
numid=1,iface=MIXER,name='Digital Loopback Switch'
numid=19,iface=MIXER,name='ALC Capture Attack'
numid=18,iface=MIXER,name='ALC Capture Decay'
numid=15,iface=MIXER,name='ALC Capture Hold'
numid=12,iface=MIXER,name='ALC Capture Max Gain'
numid=13,iface=MIXER,name='ALC Capture Min Gain'
numid=17,iface=MIXER,name='ALC Capture Mode'
numid=20,iface=MIXER,name='ALC Capture Noise Gate Switch'
numid=21,iface=MIXER,name='ALC Capture Noise Gate Threshold'
numid=16,iface=MIXER,name='ALC Capture Target'
numid=14,iface=MIXER,name='ALC Capture ZC Switch'
numid=11,iface=MIXER,name='ALC Enable Switch'
numid=53,iface=MIXER,name='Boost Mixer AuxL Volume'
numid=54,iface=MIXER,name='Boost Mixer L2 Volume'
numid=52,iface=MIXER,name='Boost Mixer Mic PGA Switch'
numid=2,iface=MIXER,name='DAC Companding'
numid=22,iface=MIXER,name='Eq-3D Mode Switch'
numid=23,iface=MIXER,name='Eq1 Cut-Off Frequency'
numid=24,iface=MIXER,name='Eq1 Volume'
numid=25,iface=MIXER,name='Eq2 BandWidth Switch'
numid=26,iface=MIXER,name='Eq2 Centre Frequency'
numid=27,iface=MIXER,name='Eq2 Volume'
numid=28,iface=MIXER,name='Eq3 BandWidth Switch'
numid=29,iface=MIXER,name='Eq3 Centre Frequency'
numid=30,iface=MIXER,name='Eq3 Volume'
numid=31,iface=MIXER,name='Eq4 BandWidth Switch'
numid=32,iface=MIXER,name='Eq4 Centre Frequency'
numid=33,iface=MIXER,name='Eq4 Volume'
numid=34,iface=MIXER,name='Eq5 BandWidth Switch'
numid=35,iface=MIXER,name='Eq5 Centre Frequency'
numid=36,iface=MIXER,name='Eq5 Volume'
numid=5,iface=MIXER,name='High Pass Cut Off'
numid=4,iface=MIXER,name='High Pass Filter Switch'
numid=63,iface=MIXER,name='Left Mixer Bypass Playback Switch'
numid=64,iface=MIXER,name='Left Mixer Left Aux Switch'
numid=61,iface=MIXER,name='Left Mixer Left Playback Switch'
numid=62,iface=MIXER,name='Left Mixer Right Playback Switch'
numid=49,iface=MIXER,name='Out3 Mixer Out3 BypassADC Switch'
numid=51,iface=MIXER,name='Out3 Mixer Out3 LeftDac Switch'
numid=50,iface=MIXER,name='Out3 Mixer Out3 LeftMixer Switch'
numid=48,iface=MIXER,name='Out3 Mixer Out3 Out4Mixer Switch'
numid=47,iface=MIXER,name='Out3 Mixer VMID'
numid=44,iface=MIXER,name='Out4 Mixer Out4 LeftDac Switch'
numid=43,iface=MIXER,name='Out4 Mixer Out4 LeftMixer Switch'
numid=46,iface=MIXER,name='Out4 Mixer Out4 RightDac Switch'
numid=45,iface=MIXER,name='Out4 Mixer Out4 RightMixer Switch'
numid=42,iface=MIXER,name='Out4 Mixer VMID'
numid=58,iface=MIXER,name='Right Mixer Left Playback Switch'
numid=60,iface=MIXER,name='Right Mixer Right Aux Switch'
numid=59,iface=MIXER,name='Right Mixer Right Playback Switch'
numid=40,iface=MIXER,name='Speaker Playback Switch'
numid=41,iface=MIXER,name='Speaker Playback Volume'

root@phyCORE-AM335x:~ amixer contents
numid=38,iface=MIXER,name='Headphone Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=39,iface=MIXER,name='Headphone Playback Volume'
  ; type=INTEGER,access=rw------,values=2,min=0,max=62,step=0
  : values=59,59
numid=37,iface=MIXER,name='PCM Playback Volume'
  ; type=INTEGER,access=rw------,values=2,min=0,max=127,step=0
  : values=127,127
numid=55,iface=MIXER,name='Mic PGA L2 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=56,iface=MIXER,name='Mic PGA MICN Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=57,iface=MIXER,name='Mic PGA MICP Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=3,iface=MIXER,name='ADC Companding'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'Off'
  ; Item #1 'NC'
  ; Item #2 'u-law'
  ; Item #3 'A-law'
  : values=1
numid=6,iface=MIXER,name='ADC Inversion Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=off,off
numid=8,iface=MIXER,name='Capture Boost(+20dB)'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=10,iface=MIXER,name='Capture PGA Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=63,step=0
  : values=59
numid=9,iface=MIXER,name='Capture PGA ZC Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=7,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=255,step=0
  : values=255
numid=1,iface=MIXER,name='Digital Loopback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=19,iface=MIXER,name='ALC Capture Attack'
  ; type=INTEGER,access=rw------,values=1,min=0,max=15,step=0
  : values=8
numid=18,iface=MIXER,name='ALC Capture Decay'
  ; type=INTEGER,access=rw------,values=1,min=0,max=15,step=0
  : values=0
numid=15,iface=MIXER,name='ALC Capture Hold'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=0
numid=12,iface=MIXER,name='ALC Capture Max Gain'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=4
numid=13,iface=MIXER,name='ALC Capture Min Gain'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=3
numid=17,iface=MIXER,name='ALC Capture Mode'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'ALC'
  ; Item #1 'Limiter'
  : values=0
numid=20,iface=MIXER,name='ALC Capture Noise Gate Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=21,iface=MIXER,name='ALC Capture Noise Gate Threshold'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=2
numid=16,iface=MIXER,name='ALC Capture Target'
  ; type=INTEGER,access=rw------,values=1,min=0,max=15,step=0
  : values=9
numid=14,iface=MIXER,name='ALC Capture ZC Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=11,iface=MIXER,name='ALC Enable Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=53,iface=MIXER,name='Boost Mixer AuxL Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=0
numid=54,iface=MIXER,name='Boost Mixer L2 Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=0
numid=52,iface=MIXER,name='Boost Mixer Mic PGA Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=2,iface=MIXER,name='DAC Companding'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 'Off'
  ; Item #1 'NC'
  ; Item #2 'u-law'
  ; Item #3 'A-law'
  : values=1
numid=22,iface=MIXER,name='Eq-3D Mode Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Capture'
  ; Item #1 'Playback'
  : values=0
numid=23,iface=MIXER,name='Eq1 Cut-Off Frequency'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 '80Hz'
  ; Item #1 '105Hz'
  ; Item #2 '135Hz'
  ; Item #3 '175Hz'
  : values=3
numid=24,iface=MIXER,name='Eq1 Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=31,step=0
  : values=13
numid=25,iface=MIXER,name='Eq2 BandWidth Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Narrow'
  ; Item #1 'Wide'
  : values=0
numid=26,iface=MIXER,name='Eq2 Centre Frequency'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 '230Hz'
  ; Item #1 '300Hz'
  ; Item #2 '385Hz'
  ; Item #3 '500Hz'
  : values=0
numid=27,iface=MIXER,name='Eq2 Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=31,step=0
  : values=12
numid=28,iface=MIXER,name='Eq3 BandWidth Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Narrow'
  ; Item #1 'Wide'
  : values=0
numid=29,iface=MIXER,name='Eq3 Centre Frequency'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 '650Hz'
  ; Item #1 '850Hz'
  ; Item #2 '1.1kHz'
  ; Item #3 '1.4kHz'
  : values=1
numid=30,iface=MIXER,name='Eq3 Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=31,step=0
  : values=12
numid=31,iface=MIXER,name='Eq4 BandWidth Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Narrow'
  ; Item #1 'Wide'
  : values=0
numid=32,iface=MIXER,name='Eq4 Centre Frequency'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 '1.8kHz'
  ; Item #1 '2.4kHz'
  ; Item #2 '3.2kHz'
  ; Item #3 '4.1kHz'
  : values=1
numid=33,iface=MIXER,name='Eq4 Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=31,step=0
  : values=12
numid=34,iface=MIXER,name='Eq5 BandWidth Switch'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'Narrow'
  ; Item #1 'Wide'
  : values=0
numid=35,iface=MIXER,name='Eq5 Centre Frequency'
  ; type=ENUMERATED,access=rw------,values=1,items=4
  ; Item #0 '5.3kHz'
  ; Item #1 '6.9kHz'
  ; Item #2 '9kHz'
  ; Item #3 '11.7kHz'
  : values=1
numid=36,iface=MIXER,name='Eq5 Volume'
  ; type=INTEGER,access=rw------,values=1,min=0,max=31,step=0
  : values=12
numid=5,iface=MIXER,name='High Pass Cut Off'
  ; type=INTEGER,access=rw------,values=1,min=0,max=7,step=0
  : values=0
numid=4,iface=MIXER,name='High Pass Filter Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=63,iface=MIXER,name='Left Mixer Bypass Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=64,iface=MIXER,name='Left Mixer Left Aux Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=61,iface=MIXER,name='Left Mixer Left Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=62,iface=MIXER,name='Left Mixer Right Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=49,iface=MIXER,name='Out3 Mixer Out3 BypassADC Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=51,iface=MIXER,name='Out3 Mixer Out3 LeftDac Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=50,iface=MIXER,name='Out3 Mixer Out3 LeftMixer Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=48,iface=MIXER,name='Out3 Mixer Out3 Out4Mixer Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=47,iface=MIXER,name='Out3 Mixer VMID'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=44,iface=MIXER,name='Out4 Mixer Out4 LeftDac Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=43,iface=MIXER,name='Out4 Mixer Out4 LeftMixer Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=46,iface=MIXER,name='Out4 Mixer Out4 RightDac Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=45,iface=MIXER,name='Out4 Mixer Out4 RightMixer Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=42,iface=MIXER,name='Out4 Mixer VMID'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=58,iface=MIXER,name='Right Mixer Left Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=60,iface=MIXER,name='Right Mixer Right Aux Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
numid=59,iface=MIXER,name='Right Mixer Right Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=40,iface=MIXER,name='Speaker Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=41,iface=MIXER,name='Speaker Playback Volume'
  ; type=INTEGER,access=rw------,values=2,min=0,max=62,step=0
  : values=59,59

 root@phyCORE-AM335x:~ amixer scontents
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 62
  Mono:
  Front Left: Playback 59 [95%] [on]
  Front Right: Playback 59 [95%] [on]
Simple mixer control 'Speaker',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 62
  Mono:
  Front Left: Playback 59 [95%] [on]
  Front Right: Playback 59 [95%] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 127 [100%]
  Front Right: Playback 127 [100%]
Simple mixer control 'Mic PGA L2',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Mic PGA MICN',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Mic PGA MICP',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cvolume-joined penum
  Capture channels: Mono
  Limits: Capture 0 - 255
  Mono: Capture 255 [100%]
Simple mixer control 'Capture Boost(+20dB)',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Capture PGA',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 63
  Mono: 63 [100%]
Simple mixer control 'Capture PGA ZC',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'ADC Companding',0
  Capabilities: enum
  Items: 'Off' 'NC' 'u-law' 'A-law'
  Item0: 'NC'
Simple mixer control 'ADC Inversion',0
  Capabilities: pswitch penum
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [off]
  Front Right: Playback [off]
Simple mixer control 'ALC Capture Attack',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 15
  Mono: 8 [53%]
Simple mixer control 'ALC Capture Decay',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 15
  Mono: 0 [0%]
Simple mixer control 'ALC Capture Hold',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 0 [0%]
Simple mixer control 'ALC Capture Max Gain',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 4 [57%]
Simple mixer control 'ALC Capture Min Gain',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 3 [43%]
Simple mixer control 'ALC Capture Mode',0
  Capabilities: enum
  Items: 'ALC' 'Limiter'
  Item0: 'ALC'
Simple mixer control 'ALC Capture Noise Gate',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'ALC Capture Noise Gate Threshold',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 2 [29%]
Simple mixer control 'ALC Capture Target',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 15
  Mono: 9 [60%]
Simple mixer control 'ALC Capture ZC',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'ALC Enable',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'Boost Mixer AuxL',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 0 [0%]
Simple mixer control 'Boost Mixer L2',0
  Capabilities: volume volume-joined penum
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 7
  Mono: 0 [0%]

原文地址:https://www.cnblogs.com/zym0805/p/3898122.html