From: Lars-Peter Clausen Date: Sun, 28 Jun 2009 21:06:35 +0000 (+0000) Subject: freerunner-alsa-scenarios: Add state files for kernel 2.6.30+ X-Git-Url: http://git.openwrt.org/ubox.git?a=commitdiff_plain;h=d82af1f4ba8da0d843e31c054f96c91466f4ed86;p=openwrt%2Fsvn-archive%2Ffeeds.git freerunner-alsa-scenarios: Add state files for kernel 2.6.30+ SVN-Revision: 16614 --- diff --git a/phone/freerunner-alsa-scenarios/Makefile b/phone/freerunner-alsa-scenarios/Makefile index 5060968..d929340 100644 --- a/phone/freerunner-alsa-scenarios/Makefile +++ b/phone/freerunner-alsa-scenarios/Makefile @@ -19,6 +19,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_REV) include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/kernel.mk define Package/freerunner-alsa-scenarios SECTION:=phone @@ -26,6 +27,15 @@ define Package/freerunner-alsa-scenarios TITLE:=alsa audio scenarios for the openmoko neo freerunner endef +ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.30)),1) +define Build/Prepare + $(INSTALL_DIR) $(PKG_BUILD_DIR) + $(INSTALL_DATA) \ + ./files/* \ + $(PKG_BUILD_DIR) +endef +endif + define Build/Configure endef diff --git a/phone/freerunner-alsa-scenarios/files/capturehandset.state b/phone/freerunner-alsa-scenarios/files/capturehandset.state new file mode 100644 index 0000000..1481764 --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/capturehandset.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value true + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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.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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value 'Analogue Mix Left' + } + control.67 { + 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.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value false + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value false + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value false + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value false + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value false + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value false + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value true + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value true + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value true + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value true + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value true + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value true + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value true + } +} diff --git a/phone/freerunner-alsa-scenarios/files/gsmhandset.state b/phone/freerunner-alsa-scenarios/files/gsmhandset.state new file mode 100644 index 0000000..d13b4d6 --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/gsmhandset.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + control.1 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'PCM Volume' + value.0 0 + value.1 0 + } + control.2 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'ADC Capture Volume' + value.0 0 + value.1 0 + } + control.3 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 127' + iface MIXER + name 'Headphone Playback Volume' + value.0 0 + value.1 0 + } + control.4 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 127' + iface MIXER + name 'Speaker Playback Volume' + value.0 116 + value.1 116 + } + control.5 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 127' + iface MIXER + name 'Mono Playback Volume' + value 110 + } + control.6 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Bypass Playback Volume' + value.0 7 + value.1 7 + } + control.7 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Sidetone Playback Volume' + value.0 0 + value.1 0 + } + control.8 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Voice Playback Volume' + value.0 0 + value.1 0 + } + 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 0 + } + control.12 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'Mono Sidetone Playback Volume' + value 6 + } + control.13 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'Mono Voice Playback Volume' + value 0 + } + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'Treble Volume' + value 0 + } + 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 0 + value.1 0 + } + 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 0 + value.1 0 + } + 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 false + } + control.28 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'ALC Capture Target Volume' + value 0 + } + control.29 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'ALC Capture Max Volume' + value 0 + } + 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 0 + } + control.33 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'ALC Capture Decay Time' + value 0 + } + control.34 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'ALC Capture Attack Time' + value 0 + } + 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 'Mute ADC Output' + } + 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 2 + } + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value true + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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 'Right 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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value Stereo + } + control.67 { + 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.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value true + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value false + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value true + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value false + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value true + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value false + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value true + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value true + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value true + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value true + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value true + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value false + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value false + } +} diff --git a/phone/freerunner-alsa-scenarios/files/gsmheadset.state b/phone/freerunner-alsa-scenarios/files/gsmheadset.state new file mode 100644 index 0000000..d9ebfa2 --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/gsmheadset.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + control.1 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'PCM Volume' + value.0 0 + value.1 0 + } + control.2 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'ADC Capture Volume' + value.0 0 + value.1 0 + } + control.3 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 127' + iface MIXER + name 'Headphone Playback Volume' + value.0 96 + value.1 96 + } + control.4 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 127' + iface MIXER + name 'Speaker Playback Volume' + value.0 0 + value.1 0 + } + control.5 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 127' + iface MIXER + name 'Mono Playback Volume' + value 103 + } + control.6 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Bypass Playback Volume' + value.0 7 + value.1 7 + } + control.7 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Sidetone Playback Volume' + value.0 0 + value.1 0 + } + control.8 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Voice Playback Volume' + value.0 0 + value.1 0 + } + 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 0 + } + control.12 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'Mono Sidetone Playback Volume' + value 5 + } + control.13 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'Mono Voice Playback Volume' + value 0 + } + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'Treble Volume' + value 0 + } + 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 0 + value.1 0 + } + 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 0 + value.1 0 + } + 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 false + } + control.28 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'ALC Capture Target Volume' + value 0 + } + control.29 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'ALC Capture Max Volume' + value 0 + } + 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 0 + } + control.33 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'ALC Capture Decay Time' + value 0 + } + control.34 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'ALC Capture Attack Time' + value 0 + } + 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 'Mute ADC Output' + } + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value true + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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.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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value Stereo + } + control.67 { + 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.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value true + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value false + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value true + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value false + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value true + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value true + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value true + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value true + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value true + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value true + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value false + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value true + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value false + } +} diff --git a/phone/freerunner-alsa-scenarios/files/gsmspeakerout.state b/phone/freerunner-alsa-scenarios/files/gsmspeakerout.state new file mode 100644 index 0000000..b88e5fc --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/gsmspeakerout.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + control.1 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'PCM Volume' + value.0 0 + value.1 0 + } + control.2 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'ADC Capture Volume' + value.0 0 + value.1 0 + } + 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 0 + value.1 0 + } + control.5 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 127' + iface MIXER + name 'Mono Playback Volume' + value 103 + } + control.6 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Bypass Playback Volume' + value.0 7 + value.1 7 + } + control.7 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Sidetone Playback Volume' + value.0 0 + value.1 0 + } + control.8 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 7' + iface MIXER + name 'Voice Playback Volume' + value.0 0 + value.1 0 + } + 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 0 + } + control.12 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'Mono Sidetone Playback Volume' + value 6 + } + control.13 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'Mono Voice Playback Volume' + value 0 + } + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'Treble Volume' + value 0 + } + 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 0 + value.1 0 + } + 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 0 + value.1 0 + } + 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 false + } + control.28 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'ALC Capture Target Volume' + value 0 + } + control.29 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 7' + iface MIXER + name 'ALC Capture Max Volume' + value 0 + } + 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 0 + } + control.33 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'ALC Capture Decay Time' + value 0 + } + control.34 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'ALC Capture Attack Time' + value 0 + } + 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 'Mute ADC Output' + } + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value true + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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 2' + } + 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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value Stereo + } + control.67 { + 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.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value true + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value false + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value true + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value false + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value true + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value false + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value true + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value true + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value true + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value true + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value true + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value true + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value true + } +} diff --git a/phone/freerunner-alsa-scenarios/files/headset.state b/phone/freerunner-alsa-scenarios/files/headset.state new file mode 100644 index 0000000..6dc335d --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/headset.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + control.1 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'PCM Volume' + value.0 235 + value.1 235 + } + 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 0 + value.1 0 + } + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'Treble Volume' + value 0 + } + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value false + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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.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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value Stereo + } + control.67 { + 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.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value false + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value true + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value false + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value true + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value false + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value true + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value false + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value false + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value false + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value false + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value false + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value true + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value false + } +} diff --git a/phone/freerunner-alsa-scenarios/files/stereoout.state b/phone/freerunner-alsa-scenarios/files/stereoout.state new file mode 100644 index 0000000..6539909 --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/stereoout.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + control.1 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'PCM Volume' + value.0 235 + value.1 235 + } + 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 0 + value.1 0 + } + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'Treble Volume' + value 0 + } + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value false + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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.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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value Stereo + } + control.67 { + 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.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value false + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value true + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value false + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value true + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value false + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value true + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value false + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value false + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value false + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value false + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value false + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value true + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value true + } +} diff --git a/phone/freerunner-alsa-scenarios/files/voip-handset.state b/phone/freerunner-alsa-scenarios/files/voip-handset.state new file mode 100644 index 0000000..b4417ab --- /dev/null +++ b/phone/freerunner-alsa-scenarios/files/voip-handset.state @@ -0,0 +1,885 @@ +state.neo1973gta02 { + control.1 { + comment.access 'read write' + comment.type INTEGER + comment.count 2 + comment.range '0 - 255' + iface MIXER + name 'PCM Volume' + value.0 235 + value.1 235 + } + 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 0 + value.1 0 + } + 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 - 15' + iface MIXER + name 'Bass Volume' + value 0 + } + control.18 { + comment.access 'read write' + comment.type INTEGER + comment.count 1 + comment.range '0 - 15' + iface MIXER + name 'Treble Volume' + value 0 + } + 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 47 + value.1 47 + } + 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 2 + } + 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 Switch' + iface MIXER + name 'ADC Data Select' + value Stereo + } + control.52 { + comment.access 'read write' + comment.type ENUMERATED + comment.count 1 + comment.item.0 'Non Inverted' + comment.item.1 Inverted + iface MIXER + name 'ROUT2 Phase' + value Inverted + } + control.53 { + 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.54 { + 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.55 { + 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.56 { + 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.57 { + 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.58 { + 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.59 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Line Capture Switch' + value false + } + control.60 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic2 Capture Switch' + value false + } + control.61 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Mic1 Capture Switch' + value false + } + control.62 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'ALC Mixer Rx Capture Switch' + value false + } + control.63 { + 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.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 Sidetone + iface MIXER + name 'Capture Right Mux' + value PGA + } + control.65 { + 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.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 Right Mixer' + value 'Analogue Mix Right' + } + control.67 { + 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 Right' + } + control.68 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Voice Capture Switch' + value false + } + control.69 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Left Capture Switch' + value false + } + control.70 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Playback Mixer Right Capture Switch' + value false + } + control.71 { + 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.72 { + 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.73 { + 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.74 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Left Playback Switch' + value false + } + control.75 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Right Playback Switch' + value false + } + control.76 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Voice Playback Switch' + value false + } + control.77 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Sidetone Playback Switch' + value false + } + control.78 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Mono Mixer Bypass Playback Switch' + value false + } + control.79 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Voice Playback Switch' + value false + } + control.80 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Sidetone Playback Switch' + value false + } + control.81 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Right Playback Switch' + value true + } + control.82 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Right Mixer Bypass Playback Switch' + value false + } + control.83 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Voice Playback Switch' + value false + } + control.84 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Sidetone Playback Switch' + value false + } + control.85 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Left Playback Switch' + value true + } + control.86 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Left Mixer Bypass Playback Switch' + value false + } + control.87 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Stereo Out Switch' + value false + } + control.88 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line Out Switch' + value false + } + control.89 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'GSM Line In Switch' + value false + } + control.90 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Headset Mic Switch' + value false + } + control.91 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Mic Switch' + value true + } + control.92 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Handset Spk Switch' + value true + } + control.93 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp State Switch' + value true + } + control.94 { + comment.access 'read write' + comment.type BOOLEAN + comment.count 1 + iface MIXER + name 'Amp Spk Switch' + value true + } +}