add all project files
This commit is contained in:
parent
d8bb6220a3
commit
57b9cc640c
|
@ -0,0 +1,11 @@
|
||||||
|
obj-m := wm8960.o
|
||||||
|
|
||||||
|
all:
|
||||||
|
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
|
||||||
|
|
||||||
|
clean:
|
||||||
|
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
|
||||||
|
|
||||||
|
install:
|
||||||
|
sudo cp wm8960.ko /lib/modules/$(shell uname -r)
|
||||||
|
sudo depmod -a
|
|
@ -0,0 +1,758 @@
|
||||||
|
state.ALSA {
|
||||||
|
control.1 {
|
||||||
|
iface MIXER
|
||||||
|
name 'PCM Playback Volume'
|
||||||
|
value -2000
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '-10239 - 400'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 400
|
||||||
|
dbvalue.0 -2000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.2 {
|
||||||
|
iface MIXER
|
||||||
|
name 'PCM Playback Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.3 {
|
||||||
|
iface MIXER
|
||||||
|
name 'PCM Playback Route'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 2'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.4 {
|
||||||
|
iface PCM
|
||||||
|
name 'IEC958 Playback Default'
|
||||||
|
value '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type IEC958
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.5 {
|
||||||
|
iface PCM
|
||||||
|
name 'IEC958 Playback Con Mask'
|
||||||
|
value '0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||||
|
comment {
|
||||||
|
access read
|
||||||
|
type IEC958
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.6 {
|
||||||
|
iface PCM
|
||||||
|
name 'IEC958 Playback PCM Stream'
|
||||||
|
value '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
|
||||||
|
comment {
|
||||||
|
access 'read write inactive'
|
||||||
|
type IEC958
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.seeedvoicecard {
|
||||||
|
control.1 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Capture Volume'
|
||||||
|
value.0 58
|
||||||
|
value.1 58
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 2
|
||||||
|
range '0 - 63'
|
||||||
|
dbmin -1725
|
||||||
|
dbmax 3000
|
||||||
|
dbvalue.0 2625
|
||||||
|
dbvalue.1 2625
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.2 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Capture Volume ZC Switch'
|
||||||
|
value.0 0
|
||||||
|
value.1 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 2
|
||||||
|
range '0 - 1'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.3 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Capture Switch'
|
||||||
|
value.0 true
|
||||||
|
value.1 true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.4 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Input Boost Mixer LINPUT3 Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 600
|
||||||
|
dbvalue.0 -9999999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.5 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Input Boost Mixer LINPUT2 Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 600
|
||||||
|
dbvalue.0 -9999999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.6 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Input Boost Mixer RINPUT3 Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 600
|
||||||
|
dbvalue.0 -9999999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.7 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Input Boost Mixer RINPUT2 Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 600
|
||||||
|
dbvalue.0 -9999999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.8 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Input Boost Mixer RINPUT1 Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 3'
|
||||||
|
dbmin 0
|
||||||
|
dbmax 2900
|
||||||
|
dbvalue.0 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.9 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Input Boost Mixer LINPUT1 Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 3'
|
||||||
|
dbmin 0
|
||||||
|
dbmax 2900
|
||||||
|
dbvalue.0 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.10 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Playback Volume'
|
||||||
|
value.0 255
|
||||||
|
value.1 255
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 2
|
||||||
|
range '0 - 255'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 0
|
||||||
|
dbvalue.0 0
|
||||||
|
dbvalue.1 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.11 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Headphone Playback Volume'
|
||||||
|
value.0 103
|
||||||
|
value.1 103
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 2
|
||||||
|
range '0 - 127'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 600
|
||||||
|
dbvalue.0 -1800
|
||||||
|
dbvalue.1 -1800
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.12 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Headphone Playback ZC Switch'
|
||||||
|
value.0 false
|
||||||
|
value.1 false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.13 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Speaker Playback Volume'
|
||||||
|
value.0 127
|
||||||
|
value.1 127
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 2
|
||||||
|
range '0 - 127'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 600
|
||||||
|
dbvalue.0 600
|
||||||
|
dbvalue.1 600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.14 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Speaker Playback ZC Switch'
|
||||||
|
value.0 false
|
||||||
|
value.1 false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.15 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Speaker DC Volume'
|
||||||
|
value 4
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.16 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Speaker AC Volume'
|
||||||
|
value 5
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 5'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.17 {
|
||||||
|
iface MIXER
|
||||||
|
name 'PCM Playback -6dB Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.18 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ADC Polarity'
|
||||||
|
value 'No Inversion'
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 'No Inversion'
|
||||||
|
item.1 'Left Inverted'
|
||||||
|
item.2 'Right Inverted'
|
||||||
|
item.3 'Stereo Inversion'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.19 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ADC High Pass Filter Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.20 {
|
||||||
|
iface MIXER
|
||||||
|
name 'DAC Polarity'
|
||||||
|
value 'No Inversion'
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 'No Inversion'
|
||||||
|
item.1 'Left Inverted'
|
||||||
|
item.2 'Right Inverted'
|
||||||
|
item.3 'Stereo Inversion'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.21 {
|
||||||
|
iface MIXER
|
||||||
|
name 'DAC Deemphasis Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.22 {
|
||||||
|
iface MIXER
|
||||||
|
name '3D Filter Upper Cut-Off'
|
||||||
|
value High
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 High
|
||||||
|
item.1 Low
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.23 {
|
||||||
|
iface MIXER
|
||||||
|
name '3D Filter Lower Cut-Off'
|
||||||
|
value Low
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 Low
|
||||||
|
item.1 High
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.24 {
|
||||||
|
iface MIXER
|
||||||
|
name '3D Volume'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 15'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.25 {
|
||||||
|
iface MIXER
|
||||||
|
name '3D Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.26 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Function'
|
||||||
|
value Off
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 Off
|
||||||
|
item.1 Right
|
||||||
|
item.2 Left
|
||||||
|
item.3 Stereo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.27 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Max Gain'
|
||||||
|
value 7
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.28 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Target'
|
||||||
|
value 4
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 15'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.29 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Min Gain'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.30 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Hold Time'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 15'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.31 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Mode'
|
||||||
|
value ALC
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 ALC
|
||||||
|
item.1 Limiter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.32 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Decay'
|
||||||
|
value 3
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 15'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.33 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ALC Attack'
|
||||||
|
value 2
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 15'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.34 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Noise Gate Threshold'
|
||||||
|
value 0
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 31'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.35 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Noise Gate Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.36 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ADC PCM Capture Volume'
|
||||||
|
value.0 195
|
||||||
|
value.1 195
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 2
|
||||||
|
range '0 - 255'
|
||||||
|
dbmin -9999999
|
||||||
|
dbmax 3000
|
||||||
|
dbvalue.0 0
|
||||||
|
dbvalue.1 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.37 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Output Mixer Boost Bypass Volume'
|
||||||
|
value 2
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -2100
|
||||||
|
dbmax 0
|
||||||
|
dbvalue.0 -1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.38 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Output Mixer LINPUT3 Volume'
|
||||||
|
value 2
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -2100
|
||||||
|
dbmax 0
|
||||||
|
dbvalue.0 -1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.39 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Output Mixer Boost Bypass Volume'
|
||||||
|
value 5
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -2100
|
||||||
|
dbmax 0
|
||||||
|
dbvalue.0 -600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.40 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Output Mixer RINPUT3 Volume'
|
||||||
|
value 2
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type INTEGER
|
||||||
|
count 1
|
||||||
|
range '0 - 7'
|
||||||
|
dbmin -2100
|
||||||
|
dbmax 0
|
||||||
|
dbvalue.0 -1500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.41 {
|
||||||
|
iface MIXER
|
||||||
|
name 'ADC Data Output Select'
|
||||||
|
value 'Left Data = Left ADC; Right Data = Right ADC'
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 'Left Data = Left ADC; Right Data = Right ADC'
|
||||||
|
item.1 'Left Data = Left ADC; Right Data = Left ADC'
|
||||||
|
item.2 'Left Data = Right ADC; Right Data = Right ADC'
|
||||||
|
item.3 'Left Data = Right ADC; Right Data = Left ADC'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.42 {
|
||||||
|
iface MIXER
|
||||||
|
name 'DAC Mono Mix'
|
||||||
|
value Stereo
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type ENUMERATED
|
||||||
|
count 1
|
||||||
|
item.0 Stereo
|
||||||
|
item.1 Mono
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.43 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Boost Mixer LINPUT2 Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.44 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Boost Mixer LINPUT3 Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.45 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Boost Mixer LINPUT1 Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.46 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Boost Mixer RINPUT2 Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.47 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Boost Mixer RINPUT3 Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.48 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Boost Mixer RINPUT1 Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.49 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Input Mixer Boost Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.50 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Input Mixer Boost Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.51 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Output Mixer PCM Playback Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.52 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Output Mixer LINPUT3 Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.53 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Left Output Mixer Boost Bypass Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.54 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Output Mixer PCM Playback Switch'
|
||||||
|
value true
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.55 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Output Mixer RINPUT3 Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.56 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Right Output Mixer Boost Bypass Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.57 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Mono Output Mixer Left Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
control.58 {
|
||||||
|
iface MIXER
|
||||||
|
name 'Mono Output Mixer Right Switch'
|
||||||
|
value false
|
||||||
|
comment {
|
||||||
|
access 'read write'
|
||||||
|
type BOOLEAN
|
||||||
|
count 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
dtoverlay -r seeed-voicecard
|
||||||
|
dtc -@ -I dts -O dtb -o seeed-voicecard.dtbo seeed-voicecard-overlay.dts
|
||||||
|
cp seeed-voicecard.dtbo /boot/overlays
|
||||||
|
dtoverlay seeed-voicecard
|
|
@ -0,0 +1,123 @@
|
||||||
|
/dts-v1/;
|
||||||
|
/plugin/;
|
||||||
|
|
||||||
|
/ {
|
||||||
|
compatible = "brcm,bcm2708";
|
||||||
|
|
||||||
|
fragment@0 {
|
||||||
|
target = <&i2s>;
|
||||||
|
__overlay__ {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fragment@1 {
|
||||||
|
target-path="/";
|
||||||
|
__overlay__ {
|
||||||
|
wm8960_mclk: wm8960_mclk {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
clock-frequency = <12288000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fragment@2 {
|
||||||
|
target = <&i2c1>;
|
||||||
|
__overlay__ {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
wm8960: wm8960{
|
||||||
|
compatible = "wlf,wm8960";
|
||||||
|
reg = <0x1a>;
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
AVDD-supply = <&vdd_5v0_reg>;
|
||||||
|
DVDD-supply = <&vdd_3v3_reg>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fragment@3 {
|
||||||
|
target = <&sound>;
|
||||||
|
master_overlay: __dormant__ {
|
||||||
|
compatible = "simple-audio-card";
|
||||||
|
simple-audio-card,format = "i2s";
|
||||||
|
simple-audio-card,name = "seeed-voicecard";
|
||||||
|
simple-audio-card,bitclock-master = <&dailink0_master>;
|
||||||
|
simple-audio-card,frame-master = <&dailink0_master>;
|
||||||
|
status = "okay";
|
||||||
|
simple-audio-card,widgets =
|
||||||
|
"Microphone", "Mic Jack",
|
||||||
|
"Line", "Line In",
|
||||||
|
"Line", "Line Out",
|
||||||
|
"Speaker", "Speaker",
|
||||||
|
"Headphone", "Headphone Jack";
|
||||||
|
simple-audio-card,routing =
|
||||||
|
"Headphone Jack", "HP_L",
|
||||||
|
"Headphone Jack", "HP_R",
|
||||||
|
"Speaker", "SPK_LP",
|
||||||
|
"Speaker", "SPK_LN",
|
||||||
|
"LINPUT1", "Mic Jack",
|
||||||
|
"LINPUT3", "Mic Jack",
|
||||||
|
"RINPUT1", "Mic Jack",
|
||||||
|
"RINPUT2", "Mic Jack";
|
||||||
|
|
||||||
|
|
||||||
|
simple-audio-card,cpu {
|
||||||
|
sound-dai = <&i2s>;
|
||||||
|
};
|
||||||
|
dailink0_master: simple-audio-card,codec {
|
||||||
|
sound-dai = <&wm8960>;
|
||||||
|
clocks = <&wm8960_mclk>;
|
||||||
|
clock-names = "mclk";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fragment@4 {
|
||||||
|
target = <&sound>;
|
||||||
|
slave_overlay: __overlay__ {
|
||||||
|
compatible = "simple-audio-card";
|
||||||
|
simple-audio-card,format = "i2s";
|
||||||
|
simple-audio-card,name = "seeed-voicecard";
|
||||||
|
status = "okay";
|
||||||
|
simple-audio-card,widgets =
|
||||||
|
"Microphone", "Mic Jack",
|
||||||
|
"Line", "Line In",
|
||||||
|
"Line", "Line Out",
|
||||||
|
"Speaker", "Speaker",
|
||||||
|
"Headphone", "Headphone Jack";
|
||||||
|
simple-audio-card,routing =
|
||||||
|
"Headphone Jack", "HP_L",
|
||||||
|
"Headphone Jack", "HP_R",
|
||||||
|
"Speaker", "SPK_LP",
|
||||||
|
"Speaker", "SPK_LN",
|
||||||
|
"LINPUT1", "Mic Jack",
|
||||||
|
"LINPUT3", "Mic Jack",
|
||||||
|
"RINPUT1", "Mic Jack",
|
||||||
|
"RINPUT2", "Mic Jack";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
simple-audio-card,cpu {
|
||||||
|
sound-dai = <&i2s>;
|
||||||
|
};
|
||||||
|
dailink0_slave: simple-audio-card,codec {
|
||||||
|
sound-dai = <&wm8960>;
|
||||||
|
clocks = <&wm8960_mclk>;
|
||||||
|
clock-names = "mclk";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
__overrides__ {
|
||||||
|
alsaname = <&master_overlay>,"simple-audio-card,name",
|
||||||
|
<&slave_overlay>,"simple-audio-card,name";
|
||||||
|
compatible = <&wm8960>,"compatible";
|
||||||
|
master = <0>,"=2!3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue