r1438 - in trunk/oe/packages/alsa: . files

mickey at sita.openmoko.org mickey at sita.openmoko.org
Tue Mar 20 15:41:05 CET 2007


Author: mickey
Date: 2007-03-20 15:41:04 +0100 (Tue, 20 Mar 2007)
New Revision: 1438

Added:
   trunk/oe/packages/alsa/files/
   trunk/oe/packages/alsa/files/capturehandset.state
   trunk/oe/packages/alsa/files/captureheadset.state
   trunk/oe/packages/alsa/files/gsmbluetooth.state
   trunk/oe/packages/alsa/files/gsmhandset.state
   trunk/oe/packages/alsa/files/gsmheadset.state
   trunk/oe/packages/alsa/files/stereoout.state
Modified:
   trunk/oe/packages/alsa/alsa-state_svn.bb
Log:
oe/alsa: fix PACKAGE_ARCH, add improved alsa states into repository


Modified: trunk/oe/packages/alsa/alsa-state_svn.bb
===================================================================
--- trunk/oe/packages/alsa/alsa-state_svn.bb	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/alsa-state_svn.bb	2007-03-20 14:41:04 UTC (rev 1438)
@@ -1,23 +1,19 @@
 DESCRIPTION = "ALSA state files"
+LICENSE = "MIT"
 SECTION = "base"
-PR = "r0"
+PR = "r1"
 
-SRC_URI = "http://opensource.wolfsonmicro.com/~gg/neo1973/capturehandset.state \
-           http://opensource.wolfsonmicro.com/~gg/neo1973/captureheadset.state \
-           http://opensource.wolfsonmicro.com/~gg/neo1973/gsmbluetooth.state \
-           http://opensource.wolfsonmicro.com/~gg/neo1973/gsmhandset.state \
-           http://opensource.wolfsonmicro.com/~gg/neo1973/gsmheadset.state \
-           http://opensource.wolfsonmicro.com/~gg/neo1973/stereoout.state"
+SRC_URI = "file://capturehandset.state \
+           file://captureheadset.state \
+           file://gsmbluetooth.state \
+           file://gsmhandset.state \
+           file://gsmheadset.state \
+           file://stereoout.state"
 
-FILES_${PN} += "${sysconfdir}/alsa/*"
-
 do_install () {
-	install -d ${D}${sysconfdir} \
-		   ${D}${sysconfdir}/alsa
-	install -m 0644 ${WORKDIR}/capturehandset.state ${D}${sysconfdir}/alsa/
-	install -m 0644 ${WORKDIR}/captureheadset.state ${D}${sysconfdir}/alsa/
-	install -m 0644 ${WORKDIR}/gsmbluetooth.state ${D}${sysconfdir}/alsa/
-	install -m 0644 ${WORKDIR}/gsmhandset.state ${D}${sysconfdir}/alsa/
-	install -m 0644 ${WORKDIR}/gsmheadset.state ${D}${sysconfdir}/alsa/
-	install -m 0644 ${WORKDIR}/stereoout.state ${D}${sysconfdir}/alsa/
+	install -d ${D}${sysconfdir}/alsa
+	install -m 0644 ${WORKDIR}/*.state ${D}${sysconfdir}/alsa
 }
+
+PACKAGE_ARCH = "all"
+FILES_${PN} += "${sysconfdir}/alsa/*"

Added: trunk/oe/packages/alsa/files/capturehandset.state
===================================================================
--- trunk/oe/packages/alsa/files/capturehandset.state	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/files/capturehandset.state	2007-03-20 14:41:04 UTC (rev 1438)
@@ -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
+	}
+}

Added: trunk/oe/packages/alsa/files/captureheadset.state
===================================================================
--- trunk/oe/packages/alsa/files/captureheadset.state	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/files/captureheadset.state	2007-03-20 14:41:04 UTC (rev 1438)
@@ -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
+	}
+}

Added: trunk/oe/packages/alsa/files/gsmbluetooth.state
===================================================================
--- trunk/oe/packages/alsa/files/gsmbluetooth.state	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/files/gsmbluetooth.state	2007-03-20 14:41:04 UTC (rev 1438)
@@ -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
+	}
+}

Added: trunk/oe/packages/alsa/files/gsmhandset.state
===================================================================
--- trunk/oe/packages/alsa/files/gsmhandset.state	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/files/gsmhandset.state	2007-03-20 14:41:04 UTC (rev 1438)
@@ -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
+	}
+}

Added: trunk/oe/packages/alsa/files/gsmheadset.state
===================================================================
--- trunk/oe/packages/alsa/files/gsmheadset.state	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/files/gsmheadset.state	2007-03-20 14:41:04 UTC (rev 1438)
@@ -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
+	}
+}

Added: trunk/oe/packages/alsa/files/stereoout.state
===================================================================
--- trunk/oe/packages/alsa/files/stereoout.state	2007-03-20 13:15:17 UTC (rev 1437)
+++ trunk/oe/packages/alsa/files/stereoout.state	2007-03-20 14:41:04 UTC (rev 1438)
@@ -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 15
+	}
+	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 '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
+	}
+}





More information about the commitlog mailing list