Patchwork [4/4] alsa-state: add iphone3g support

login
register
mail settings
Submitter Denis Carikli
Date Dec. 7, 2010, 2:32 p.m.
Message ID <1291732373-17953-5-git-send-email-GNUtoo@no-log.org>
Download mbox | patch
Permalink /patch/8/
State Accepted
Headers show

Comments

Denis Carikli - Dec. 7, 2010, 2:32 p.m.
The state file has 121 controls(yes 121).
So this patch makes sound work out of the box, without
  making the user mess with this 121 controls(if he does he would
  spend hours trying to figure out how to make it work)

Signed-off-by: Chris 'Lopi' Spehn <chris.spehn@gmail.com>
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
---
 recipes/alsa/alsa-state.bb                    |    2 +-
 recipes/alsa/alsa-state/iphone3g/asound.state | 1084 +++++++++++++++++++++++++
 2 files changed, 1085 insertions(+), 1 deletions(-)
 create mode 100644 recipes/alsa/alsa-state/iphone3g/asound.state
Stefan Schmidt - Dec. 9, 2010, 2:35 p.m.
Hello.

On Tue, 2010-12-07 at 15:32, Denis 'GNUtoo' Carikli wrote:
> The state file has 121 controls(yes 121).
> So this patch makes sound work out of the box, without
>   making the user mess with this 121 controls(if he does he would
>   spend hours trying to figure out how to make it work)
> 
> Signed-off-by: Chris 'Lopi' Spehn <chris.spehn@gmail.com>
> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>

Acked-by: Stefan Schmidt <stefan@datenfreihafen.org>

regards
Stefan Schmidt

Patch

diff --git a/recipes/alsa/alsa-state.bb b/recipes/alsa/alsa-state.bb
index e78d004..de97681 100644
--- a/recipes/alsa/alsa-state.bb
+++ b/recipes/alsa/alsa-state.bb
@@ -7,7 +7,7 @@ 
 DESCRIPTION = "Alsa Scenario Files"
 LICENSE = "MIT"
 PV = "0.2.0"
-PR = "r21"
+PR = "r22"
 
 SRC_URI = "\
   file://asound.conf \
diff --git a/recipes/alsa/alsa-state/iphone3g/asound.state b/recipes/alsa/alsa-state/iphone3g/asound.state
new file mode 100644
index 0000000..192620c
--- /dev/null
+++ b/recipes/alsa/alsa-state/iphone3g/asound.state
@@ -0,0 +1,1084 @@ 
+state.iPhoneSound {
+	control.1 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN12 PGA Boost'
+		value false
+	}
+	control.2 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN34 PGA Boost'
+		value false
+	}
+	control.3 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN12 PGA Boost'
+		value false
+	}
+	control.4 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN34 PGA Boost'
+		value false
+	}
+	control.5 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'LOMIX LIN3 Bypass Volume'
+		value 7
+	}
+	control.6 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'LOMIX RIN12 PGA Bypass Volume'
+		value 7
+	}
+	control.7 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'LOMIX LIN12 PGA Bypass Volume'
+		value 7
+	}
+	control.8 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'LOMIX RIN3 Bypass Volume'
+		value 7
+	}
+	control.9 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'LOMIX AINRMUX Bypass Volume'
+		value 7
+	}
+	control.10 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'LOMIX AINLMUX Bypass Volume'
+		value 7
+	}
+	control.11 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'ROMIX RIN3 Bypass Volume'
+		value 7
+	}
+	control.12 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'ROMIX LIN12 PGA Bypass Volume'
+		value 7
+	}
+	control.13 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'ROMIX RIN12 PGA Bypass Volume'
+		value 7
+	}
+	control.14 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'ROMIX LIN3 Bypass Volume'
+		value 7
+	}
+	control.15 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'ROMIX AINLMUX Bypass Volume'
+		value 7
+	}
+	control.16 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin 0
+		comment.dbmax -2100
+		iface MIXER
+		name 'ROMIX AINRMUX Bypass Volume'
+		value 7
+	}
+	control.17 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 127'
+		comment.dbmin -7300
+		comment.dbmax 600
+		iface MIXER
+		name 'LOUT Volume'
+		value 127
+	}
+	control.18 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOUT ZC'
+		value true
+	}
+	control.19 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 127'
+		comment.dbmin -7300
+		comment.dbmax 600
+		iface MIXER
+		name 'ROUT Volume'
+		value 127
+	}
+	control.20 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROUT ZC'
+		value true
+	}
+	control.21 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 127'
+		comment.dbmin -7300
+		comment.dbmax 600
+		iface MIXER
+		name 'LOPGA Volume'
+		value 121
+	}
+	control.22 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOPGA ZC Switch'
+		value true
+	}
+	control.23 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 127'
+		comment.dbmin -7300
+		comment.dbmax 600
+		iface MIXER
+		name 'ROPGA Volume'
+		value 121
+	}
+	control.24 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROPGA ZC Switch'
+		value true
+	}
+	control.25 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LON Mute Switch'
+		value true
+	}
+	control.26 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOP Mute Switch'
+		value true
+	}
+	control.27 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOP Attenuation Switch'
+		value false
+	}
+	control.28 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RON Mute Switch'
+		value true
+	}
+	control.29 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROP Mute Switch'
+		value true
+	}
+	control.30 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROP Attenuation Switch'
+		value false
+	}
+	control.31 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT3 Mute Switch'
+		value true
+	}
+	control.32 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT3 Attenuation Switch'
+		value false
+	}
+	control.33 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT4 Mute Switch'
+		value true
+	}
+	control.34 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT4 Attenuation Switch'
+		value false
+	}
+	control.35 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'Speaker Mode Switch'
+		value true
+	}
+	control.36 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 3'
+		iface MIXER
+		name 'Speaker Output Attenuation Volume'
+		value 0
+	}
+	control.37 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 127'
+		iface MIXER
+		name 'Speaker PGA Volume'
+		value 127
+	}
+	control.38 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Speaker DC Boost Volume'
+		value 0
+	}
+	control.39 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		iface MIXER
+		name 'Speaker AC Boost Volume'
+		value 0
+	}
+	control.40 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 255'
+		comment.dbmin -7163
+		comment.dbmax 0
+		iface MIXER
+		name 'Left DAC Digital Volume'
+		value 192
+	}
+	control.41 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 255'
+		comment.dbmin -7163
+		comment.dbmax 0
+		iface MIXER
+		name 'Right DAC Digital Volume'
+		value 192
+	}
+	control.42 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 None
+		comment.item.1 'Left ADC'
+		comment.item.2 'Right ADC'
+		iface MIXER
+		name 'Left Digital Sidetone'
+		value None
+	}
+	control.43 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 None
+		comment.item.1 'Left ADC'
+		comment.item.2 'Right ADC'
+		iface MIXER
+		name 'Right Digital Sidetone'
+		value None
+	}
+	control.44 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 15'
+		comment.dbmin -3600
+		comment.dbmax 0
+		iface MIXER
+		name 'Left Digital Sidetone Volume'
+		value 0
+	}
+	control.45 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 15'
+		comment.dbmin -3600
+		comment.dbmax 0
+		iface MIXER
+		name 'Right Digital Sidetone Volume'
+		value 0
+	}
+	control.46 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ADC Digital High Pass Filter Switch'
+		value true
+	}
+	control.47 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 'Hi-fi mode'
+		comment.item.1 'Voice mode 1'
+		comment.item.2 'Voice mode 2'
+		iface MIXER
+		name 'ADC HPF Mode'
+		value 'Hi-fi mode'
+	}
+	control.48 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 255'
+		comment.dbmin -7163
+		comment.dbmax 1763
+		iface MIXER
+		name 'Left ADC Digital Volume'
+		value 192
+	}
+	control.49 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 255'
+		comment.dbmin -7163
+		comment.dbmax 1763
+		iface MIXER
+		name 'Right ADC Digital Volume'
+		value 192
+	}
+	control.50 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 31'
+		comment.dbmin -1650
+		comment.dbmax 3000
+		iface MIXER
+		name 'LIN12 Volume'
+		value 11
+	}
+	control.51 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN12 ZC Switch'
+		value false
+	}
+	control.52 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN12 Mute Switch'
+		value true
+	}
+	control.53 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 31'
+		comment.dbmin -1650
+		comment.dbmax 3000
+		iface MIXER
+		name 'LIN34 Volume'
+		value 11
+	}
+	control.54 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN34 ZC Switch'
+		value false
+	}
+	control.55 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN34 Mute Switch'
+		value true
+	}
+	control.56 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 31'
+		comment.dbmin -1650
+		comment.dbmax 3000
+		iface MIXER
+		name 'RIN12 Volume'
+		value 11
+	}
+	control.57 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN12 ZC Switch'
+		value false
+	}
+	control.58 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN12 Mute Switch'
+		value true
+	}
+	control.59 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 31'
+		comment.dbmin -1650
+		comment.dbmax 3000
+		iface MIXER
+		name 'RIN34 Volume'
+		value 11
+	}
+	control.60 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN34 ZC Switch'
+		value false
+	}
+	control.61 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN34 Mute Switch'
+		value true
+	}
+	control.62 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX Left ADC Bypass Switch'
+		value false
+	}
+	control.63 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX Right ADC Bypass Switch'
+		value false
+	}
+	control.64 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX LIN3 Bypass Switch'
+		value false
+	}
+	control.65 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX RIN3 Bypass Switch'
+		value false
+	}
+	control.66 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX LIN12 PGA Bypass Switch'
+		value false
+	}
+	control.67 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX RIN12 PGA Bypass Switch'
+		value false
+	}
+	control.68 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROMIX ROMIX Right DAC Switch'
+		value false
+	}
+	control.69 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RONMIX RONMIX Right Mixer PGA Switch'
+		value false
+	}
+	control.70 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RONMIX RONMIX Left Mixer PGA Switch'
+		value false
+	}
+	control.71 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RONMIX RONMIX Inverted ROP Switch'
+		value false
+	}
+	control.72 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROPMIX ROPMIX Left Mic Bypass Switch'
+		value false
+	}
+	control.73 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROPMIX ROPMIX Right Mic Bypass Switch'
+		value false
+	}
+	control.74 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'ROPMIX ROPMIX Right Mixer PGA Switch'
+		value false
+	}
+	control.75 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT4MIX OUT4MIX Right Out PGA Switch'
+		value false
+	}
+	control.76 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT4MIX OUT4MIX RIN4/RXP Bypass Switch'
+		value false
+	}
+	control.77 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX LIN2 Bypass Switch'
+		value false
+	}
+	control.78 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX LADC Bypass Switch'
+		value false
+	}
+	control.79 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX Left Mixer PGA Switch'
+		value false
+	}
+	control.80 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX Left DAC Switch'
+		value true
+	}
+	control.81 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX Right DAC Switch'
+		value true
+	}
+	control.82 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX Right Mixer PGA Switch'
+		value false
+	}
+	control.83 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX RADC Bypass Switch'
+		value false
+	}
+	control.84 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'SPKMIX SPKMIX RIN2 Bypass Switch'
+		value false
+	}
+	control.85 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT3MIX OUT3MIX LIN4/RXN Bypass Switch'
+		value false
+	}
+	control.86 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'OUT3MIX OUT3MIX Left Out PGA Switch'
+		value false
+	}
+	control.87 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOPMIX LOPMIX Right Mic Bypass Switch'
+		value false
+	}
+	control.88 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOPMIX LOPMIX Left Mic Bypass Switch'
+		value false
+	}
+	control.89 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOPMIX LOPMIX Left Mixer PGA Switch'
+		value false
+	}
+	control.90 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LONMIX LONMIX Left Mixer PGA Switch'
+		value false
+	}
+	control.91 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LONMIX LONMIX Right Mixer PGA Switch'
+		value false
+	}
+	control.92 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LONMIX LONMIX Inverted LOP Switch'
+		value false
+	}
+	control.93 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX Right ADC Bypass Switch'
+		value false
+	}
+	control.94 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX Left ADC Bypass Switch'
+		value false
+	}
+	control.95 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX RIN3 Bypass Switch'
+		value false
+	}
+	control.96 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX LIN3 Bypass Switch'
+		value false
+	}
+	control.97 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX RIN12 PGA Bypass Switch'
+		value false
+	}
+	control.98 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX LIN12 PGA Bypass Switch'
+		value false
+	}
+	control.99 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LOMIX LOMIX Left DAC Switch'
+		value false
+	}
+	control.100 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 'INMIXR Mix'
+		comment.item.1 'RXVOICE Mix'
+		comment.item.2 'DIFFINR Mix'
+		iface MIXER
+		name AIRNMUX
+		value 'INMIXR Mix'
+	}
+	control.101 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin -1200
+		comment.dbmax 600
+		iface MIXER
+		name 'INMIXR Record Right Volume'
+		value 0
+	}
+	control.102 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin -1200
+		comment.dbmax 600
+		iface MIXER
+		name 'INMIXR RIN2 Volume'
+		value 0
+	}
+	control.103 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'INMIXR RINPGA12 Switch'
+		value false
+	}
+	control.104 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'INMIXR RINPGA34 Switch'
+		value false
+	}
+	control.105 {
+		comment.access 'read write'
+		comment.type ENUMERATED
+		comment.count 1
+		comment.item.0 'INMIXL Mix'
+		comment.item.1 'RXVOICE Mix'
+		comment.item.2 'DIFFINL Mix'
+		iface MIXER
+		name AILNMUX
+		value 'INMIXL Mix'
+	}
+	control.106 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin -1200
+		comment.dbmax 600
+		iface MIXER
+		name 'INMIXL Record Left Volume'
+		value 0
+	}
+	control.107 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 7'
+		comment.dbmin -1200
+		comment.dbmax 600
+		iface MIXER
+		name 'INMIXL LIN2 Volume'
+		value 0
+	}
+	control.108 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'INMIXL LINPGA12 Switch'
+		value false
+	}
+	control.109 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'INMIXL LINPGA34 Switch'
+		value false
+	}
+	control.110 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN34 PGA RIN3 Switch'
+		value false
+	}
+	control.111 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN34 PGA RIN4 Switch'
+		value false
+	}
+	control.112 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN12 PGA RIN1 Switch'
+		value false
+	}
+	control.113 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'RIN12 PGA RIN2 Switch'
+		value false
+	}
+	control.114 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN34 PGA LIN3 Switch'
+		value false
+	}
+	control.115 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN34 PGA LIN4 Switch'
+		value false
+	}
+	control.116 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN12 PGA LIN1 Switch'
+		value false
+	}
+	control.117 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'LIN12 PGA LIN2 Switch'
+		value false
+	}
+        control.118 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'Speaker ZC'
+		value true
+        }
+	control.119 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 1
+		comment.range '0 - 3'
+		iface MIXER
+		name 'Mic Short Circuit Current Detect Threshold'
+		value 0
+	}
+	control.120 {
+		comment.access 'read write'
+		comment.type BOOLEAN
+		comment.count 1
+		iface MIXER
+		name 'Mic Enable Switch'
+		value false
+	}
+	control.121 {
+		comment.access 'read write'
+		comment.type INTEGER
+		comment.count 2
+		comment.range '0 - 127'
+		comment.dbmin -7300
+		comment.dbmax 600
+		iface MIXER
+		name 'Headphone Volume'
+		value.0 127
+		value.1 127
+	}
+}