summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2007-07-07 12:46:37 +0000
committerMichael Lauer <mickey@vanille-media.de>2007-07-07 12:46:37 +0000
commite9dc7e34e62c3a99571bbaa4e92e670718b03827 (patch)
treeaf561cfef06e275539f7fdd3847eb5ea2bec276e /packages
parent4d26a6472e6564031c78d8a9bae2c1effb1cd67a (diff)
add alsa-states, containing the machine specific alsa states.
TODO: Find out how to interact with the alsa-state package regarding the default state
Diffstat (limited to 'packages')
-rw-r--r--packages/alsa/alsa-states/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-states/fic-gta01/.mtn2git_empty0
-rw-r--r--packages/alsa/alsa-states/fic-gta01/capturehandset.state900
-rw-r--r--packages/alsa/alsa-states/fic-gta01/captureheadset.state900
-rw-r--r--packages/alsa/alsa-states/fic-gta01/gsmbluetooth.state900
-rw-r--r--packages/alsa/alsa-states/fic-gta01/gsmhandset.state900
-rw-r--r--packages/alsa/alsa-states/fic-gta01/gsmheadset.state900
-rw-r--r--packages/alsa/alsa-states/fic-gta01/stereoout.state897
-rw-r--r--packages/alsa/alsa-states_0.0.0.bb13
9 files changed, 5410 insertions, 0 deletions
diff --git a/packages/alsa/alsa-states/.mtn2git_empty b/packages/alsa/alsa-states/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/alsa/alsa-states/.mtn2git_empty
diff --git a/packages/alsa/alsa-states/fic-gta01/.mtn2git_empty b/packages/alsa/alsa-states/fic-gta01/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/.mtn2git_empty
diff --git a/packages/alsa/alsa-states/fic-gta01/capturehandset.state b/packages/alsa/alsa-states/fic-gta01/capturehandset.state
new file mode 100644
index 0000000000..4a55f09035
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/capturehandset.state
@@ -0,0 +1,900 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 2
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 23
+ value.1 23
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Off
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 3
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 2'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Line 2'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value true
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value false
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value false
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 0
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 0
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value Off
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'Capture Handset'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value false
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
diff --git a/packages/alsa/alsa-states/fic-gta01/captureheadset.state b/packages/alsa/alsa-states/fic-gta01/captureheadset.state
new file mode 100644
index 0000000000..3a27323b25
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/captureheadset.state
@@ -0,0 +1,900 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 2
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 23
+ value.1 23
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Off
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 3
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 3
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 2'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Line 2'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value true
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value false
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value false
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 0
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 0
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value Off
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'Capture Headset'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value false
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
diff --git a/packages/alsa/alsa-states/fic-gta01/gsmbluetooth.state b/packages/alsa/alsa-states/fic-gta01/gsmbluetooth.state
new file mode 100644
index 0000000000..a0c0c95ea6
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/gsmbluetooth.state
@@ -0,0 +1,900 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 2
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 23
+ value.1 23
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 false
+ value.1 false
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Off
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 0'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Line 2'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value true
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value 'Analogue Mix Left'
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value true
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value false
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value false
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 0
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 0
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value Off
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'GSM Bluetooth'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value false
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
diff --git a/packages/alsa/alsa-states/fic-gta01/gsmhandset.state b/packages/alsa/alsa-states/fic-gta01/gsmhandset.state
new file mode 100644
index 0000000000..a83141fcbb
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/gsmhandset.state
@@ -0,0 +1,900 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 2
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 24
+ value.1 24
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 true
+ value.1 true
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 1
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Stereo
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 7
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 0'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Rx Mix'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Rx Mix'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value true
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value Stereo
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value Stereo
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value true
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value false
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value true
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value false
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value true
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 31
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 31
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value 'Call Speaker'
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'GSM Handset'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value false
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value true
+ }
+}
diff --git a/packages/alsa/alsa-states/fic-gta01/gsmheadset.state b/packages/alsa/alsa-states/fic-gta01/gsmheadset.state
new file mode 100644
index 0000000000..e732b77db8
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/gsmheadset.state
@@ -0,0 +1,900 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 102
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 0
+ value.1 0
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 4
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 4
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 4
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 23
+ value.1 23
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 false
+ value.1 false
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 5
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Off
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 5
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value Inverted
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 3
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 0'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Rx Mix'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Rx Mix'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value true
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Mic 1'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value Stereo
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value Stereo
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value true
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value false
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value true
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value false
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value true
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 30
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 15
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value Headphones
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ comment.item.6 'Capture Handset'
+ comment.item.7 'Capture Headset'
+ comment.item.8 'Capture Bluetooth'
+ iface MIXER
+ name 'Neo Mode'
+ value 'GSM Headset'
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value false
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
diff --git a/packages/alsa/alsa-states/fic-gta01/stereoout.state b/packages/alsa/alsa-states/fic-gta01/stereoout.state
new file mode 100644
index 0000000000..c27b78bb27
--- /dev/null
+++ b/packages/alsa/alsa-states/fic-gta01/stereoout.state
@@ -0,0 +1,897 @@
+state.neo1973 {
+ control.1 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'PCM Volume'
+ value.0 255
+ value.1 255
+ }
+ control.2 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 255'
+ iface MIXER
+ name 'ADC Capture Volume'
+ value.0 195
+ value.1 195
+ }
+ control.3 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Headphone Playback Volume'
+ value.0 127
+ value.1 127
+ }
+ control.4 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Speaker Playback Volume'
+ value.0 121
+ value.1 121
+ }
+ control.5 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 127'
+ iface MIXER
+ name 'Mono Playback Volume'
+ value 121
+ }
+ control.6 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bypass Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.7 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.8 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Playback Volume'
+ value.0 2
+ value.1 2
+ }
+ control.9 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Headphone Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.10 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Speaker Playback ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.11 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Bypass Playback Volume'
+ value 2
+ }
+ control.12 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Sidetone Playback Volume'
+ value 2
+ }
+ control.13 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Mono Voice Playback Volume'
+ value 2
+ }
+ control.14 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Playback ZC Switch'
+ value false
+ }
+ control.15 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Linear Control'
+ comment.item.1 'Adaptive Boost'
+ iface MIXER
+ name 'Bass Boost'
+ value 'Linear Control'
+ }
+ control.16 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '130Hz @ 48kHz'
+ comment.item.1 '200Hz @ 48kHz'
+ comment.item.2 '100Hz @ 16kHz'
+ comment.item.3 '400Hz @ 48kHz'
+ comment.item.4 '100Hz @ 8kHz'
+ comment.item.5 '200Hz @ 8kHz'
+ iface MIXER
+ name 'Bass Filter'
+ value '130Hz @ 48kHz'
+ }
+ control.17 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Bass Volume'
+ value 0
+ }
+ control.18 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Treble Volume'
+ value 7
+ }
+ control.19 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '8kHz'
+ comment.item.1 '4kHz'
+ iface MIXER
+ name 'Treble Cut-off'
+ value '8kHz'
+ }
+ control.20 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Sidetone Capture Volume'
+ value.0 2
+ value.1 2
+ }
+ control.21 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'Voice Sidetone Capture Volume'
+ value 2
+ }
+ control.22 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 2
+ comment.range '0 - 63'
+ iface MIXER
+ name 'Capture Volume'
+ value.0 23
+ value.1 23
+ }
+ control.23 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture ZC Switch'
+ value.0 false
+ value.1 false
+ }
+ control.24 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 2
+ iface MIXER
+ name 'Capture Switch'
+ value.0 false
+ value.1 false
+ }
+ control.25 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '3.4Hz @ 48kHz'
+ comment.item.1 '82Hz @ 16k'
+ comment.item.2 '82Hz @ 8kHz'
+ comment.item.3 '170Hz @ 8kHz'
+ iface MIXER
+ name 'Capture Filter Select'
+ value '3.4Hz @ 48kHz'
+ }
+ control.26 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 HiFi
+ comment.item.1 Voice
+ iface MIXER
+ name 'Capture Filter Cut-off'
+ value HiFi
+ }
+ control.27 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture Filter Switch'
+ value true
+ }
+ control.28 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Target Volume'
+ value 3
+ }
+ control.29 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 7'
+ iface MIXER
+ name 'ALC Capture Max Volume'
+ value 7
+ }
+ control.30 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 Right
+ comment.item.2 Left
+ comment.item.3 Stereo
+ iface MIXER
+ name 'ALC Capture Function'
+ value Off
+ }
+ control.31 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture ZC Switch'
+ value false
+ }
+ control.32 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Hold Time'
+ value 15
+ }
+ control.33 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Decay Time'
+ value 12
+ }
+ control.34 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name 'ALC Capture Attack Time'
+ value 2
+ }
+ control.35 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'ALC Capture NG Threshold'
+ value 0
+ }
+ control.36 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Constant PGA Gain'
+ comment.item.1 'Mute ADC Output'
+ iface MIXER
+ name 'ALC Capture NG Type'
+ value 'Constant PGA Gain'
+ }
+ control.37 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Capture NG Switch'
+ value false
+ }
+ control.38 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Capture
+ comment.item.1 Playback
+ iface MIXER
+ name '3D Function'
+ value Capture
+ }
+ control.39 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '2.2kHz'
+ comment.item.1 '1.5kHz'
+ iface MIXER
+ name '3D Upper Cut-off'
+ value '2.2kHz'
+ }
+ control.40 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 '200Hz'
+ comment.item.1 '500Hz'
+ iface MIXER
+ name '3D Lower Cut-off'
+ value '200Hz'
+ }
+ control.41 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 15'
+ iface MIXER
+ name '3D Volume'
+ value 0
+ }
+ control.42 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name '3D Switch'
+ value false
+ }
+ control.43 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Capture 6dB Attenuate'
+ value false
+ }
+ control.44 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback 6dB Attenuate'
+ value false
+ }
+ control.45 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 None
+ comment.item.1 '32kHz'
+ comment.item.2 '44.1kHz'
+ comment.item.3 '48kHz'
+ iface MIXER
+ name De-emphasis
+ value None
+ }
+ control.46 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 Mono
+ iface MIXER
+ name 'Playback Mono Mix'
+ value Stereo
+ }
+ control.47 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Non Inverted'
+ comment.item.1 Inverted
+ iface MIXER
+ name 'Playback Phase'
+ value 'Non Inverted'
+ }
+ control.48 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic2 Capture Volume'
+ value 0
+ }
+ control.49 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 3'
+ iface MIXER
+ name 'Mic1 Capture Volume'
+ value 0
+ }
+ control.50 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'DAI 0'
+ comment.item.1 'DAI 1'
+ comment.item.2 'DAI 2'
+ comment.item.3 'DAI 3'
+ iface MIXER
+ name 'DAI Mode'
+ value 'DAI 0'
+ }
+ control.51 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Left ADC'
+ comment.item.2 'Right ADC'
+ comment.item.3 'Channel Swap'
+ iface MIXER
+ name 'ADC Data Select'
+ value Stereo
+ }
+ control.52 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Mic 1'
+ comment.item.1 'Mic 2'
+ comment.item.2 'Mic 3'
+ iface MIXER
+ name 'Mic Selection Mux'
+ value 'Mic 1'
+ }
+ control.53 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'RXP - RXN'
+ comment.item.1 'RXP + RXN'
+ comment.item.2 RXP
+ comment.item.3 RXN
+ iface MIXER
+ name 'Rx Mixer'
+ value 'RXP - RXN'
+ }
+ control.54 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1 + 2'
+ comment.item.1 'Line 1 - 2'
+ comment.item.2 'Line 1'
+ comment.item.3 'Line 2'
+ iface MIXER
+ name 'Line Mixer'
+ value 'Line 1 + 2'
+ }
+ control.55 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line Mix'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Mono Mux'
+ value 'Line Mix'
+ }
+ control.56 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 2'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Right Mux'
+ value 'Line 2'
+ }
+ control.57 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Line 1'
+ comment.item.1 'Rx Mix'
+ iface MIXER
+ name 'Line Left Mux'
+ value 'Line 1'
+ }
+ control.58 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Line Capture Switch'
+ value false
+ }
+ control.59 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic2 Capture Switch'
+ value false
+ }
+ control.60 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Mic1 Capture Switch'
+ value false
+ }
+ control.61 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'ALC Mixer Rx Capture Switch'
+ value false
+ }
+ control.62 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Left PGA'
+ comment.item.1 'Mic 1'
+ comment.item.2 'Mic 2'
+ comment.item.3 'Right PGA'
+ iface MIXER
+ name 'Mic Sidetone Mux'
+ value 'Left PGA'
+ }
+ control.63 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Sidetone
+ iface MIXER
+ name 'Capture Right Mux'
+ value PGA
+ }
+ control.64 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 PGA
+ comment.item.1 'Line or RXP-RXN'
+ comment.item.2 Line
+ iface MIXER
+ name 'Capture Left Mux'
+ value PGA
+ }
+ control.65 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Right Mixer'
+ value Stereo
+ }
+ control.66 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Stereo
+ comment.item.1 'Analogue Mix Left'
+ comment.item.2 'Analogue Mix Right'
+ comment.item.3 'Digital Mono Mix'
+ iface MIXER
+ name 'Capture Left Mixer'
+ value Stereo
+ }
+ control.67 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Voice Capture Sw'
+ value false
+ }
+ control.68 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Left Capture Swi'
+ value false
+ }
+ control.69 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Playback Mixer Right Capture Sw'
+ value false
+ }
+ control.70 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 'Capture ST'
+ comment.item.2 LOUT2
+ iface MIXER
+ name 'Out4 Mux'
+ value VREF
+ }
+ control.71 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 VREF
+ comment.item.1 ROUT2
+ comment.item.2 'Left + Right'
+ iface MIXER
+ name 'Out3 Mux'
+ value VREF
+ }
+ control.72 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 'Inverted Mono 1'
+ comment.item.1 Left
+ comment.item.2 Right
+ comment.item.3 'Left + Right'
+ iface MIXER
+ name 'Mono 2 Mux'
+ value 'Inverted Mono 1'
+ }
+ control.73 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Left Playback Switch'
+ value false
+ }
+ control.74 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Right Playback Switc'
+ value false
+ }
+ control.75 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Voice Playback Switc'
+ value false
+ }
+ control.76 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.77 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Mono Mixer Bypass Playback Swit'
+ value false
+ }
+ control.78 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Voice Playback Swit'
+ value false
+ }
+ control.79 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Sidetone Playback S'
+ value false
+ }
+ control.80 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Right Playback Swit'
+ value true
+ }
+ control.81 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Right Mixer Bypass Playback Swi'
+ value false
+ }
+ control.82 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Voice Playback Switc'
+ value false
+ }
+ control.83 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Sidetone Playback Sw'
+ value false
+ }
+ control.84 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Left Playback Switch'
+ value true
+ }
+ control.85 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Left Mixer Bypass Playback Swit'
+ value false
+ }
+ control.86 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Left Playback Volume'
+ value 21
+ }
+ control.87 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Right Playback Volume'
+ value 21
+ }
+ control.88 {
+ comment.access 'read write'
+ comment.type INTEGER
+ comment.count 1
+ comment.range '0 - 31'
+ iface MIXER
+ name 'Amp Mono Playback Volume'
+ value 0
+ }
+ control.89 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'Call Speaker'
+ comment.item.2 'Stereo Speakers'
+ comment.item.3 'Stereo Speakers + Headphones'
+ comment.item.4 Headphones
+ iface MIXER
+ name 'Amp Mode'
+ value 'Stereo Speakers + Headphones'
+ }
+ control.90 {
+ comment.access 'read write'
+ comment.type ENUMERATED
+ comment.count 1
+ comment.item.0 Off
+ comment.item.1 'GSM Handset'
+ comment.item.2 'GSM Headset'
+ comment.item.3 'GSM Bluetooth'
+ comment.item.4 Speakers
+ comment.item.5 Headphones
+ iface MIXER
+ name 'Neo Mode'
+ value Headphones
+ }
+ control.91 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Spk 3D Playback Switch'
+ value false
+ }
+ control.92 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp HP 3d Playback Switch'
+ value false
+ }
+ control.93 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Fast Wakeup Playback Switch'
+ value false
+ }
+ control.94 {
+ comment.access 'read write'
+ comment.type BOOLEAN
+ comment.count 1
+ iface MIXER
+ name 'Amp Earpiece 6dB Playback Switch'
+ value false
+ }
+}
diff --git a/packages/alsa/alsa-states_0.0.0.bb b/packages/alsa/alsa-states_0.0.0.bb
new file mode 100644
index 0000000000..28c40b3fea
--- /dev/null
+++ b/packages/alsa/alsa-states_0.0.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Machine specific alsa state files"
+SECTION = "base"
+LICENSE = "MIT"
+PR = "r0"
+
+SRC_URI = "file://*.state"
+
+do_install () {
+ install -d ${D}${sysconfdir}/alsa
+ install -m 0644 ${WORKDIR}/*.state ${D}${sysconfdir}/alsa
+}
+
+FILES_${PN} += "${sysconfdir}/alsa/*"