Patchwork [meta-fsl-arm,2/2] alsa-state: Add default state values for mx5/mx6/mxs

login
register
mail settings
Submitter Daiane Angolini
Date Oct. 14, 2013, 6:08 p.m.
Message ID <1381774138-31036-2-git-send-email-daiane.angolini@freescale.com>
Download mbox | patch
Permalink /patch/59855/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Daiane Angolini - Oct. 14, 2013, 6:08 p.m.
In order to create asound.state:

* alsamixer - adjust any parameter (i.e. volume)
* alsactl store - copy the current alsa parameters to
/var/lib/alsa/asound.state
* use asound.state as new default value

Change-Id: I4a313d8250207d13dd1c193a353f93b4f5b6f74e
Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
---
 recipes-bsp/alsa-state/alsa-state/mx5/asound.state |  139 +++
 recipes-bsp/alsa-state/alsa-state/mx6/asound.state | 1264 ++++++++++++++++++++
 recipes-bsp/alsa-state/alsa-state/mxs/asound.state |  191 +++
 3 files changed, 1594 insertions(+)
 create mode 100644 recipes-bsp/alsa-state/alsa-state/mx5/asound.state
 create mode 100644 recipes-bsp/alsa-state/alsa-state/mx6/asound.state
 create mode 100644 recipes-bsp/alsa-state/alsa-state/mxs/asound.state

Patch

diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.state b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
new file mode 100644
index 0000000..7c13a88
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
@@ -0,0 +1,139 @@ 
+state.imx3stack {
+	control.1 {
+		iface MIXER
+		name 'MIC GAIN'
+		value '0dB'
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 '0dB'
+			item.1 '20dB'
+			item.2 '30dB'
+			item.3 '40dB'
+		}
+	}
+	control.2 {
+		iface MIXER
+		name 'Capture Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 15'
+		}
+	}
+	control.3 {
+		iface MIXER
+		name 'Capture Vol Reduction'
+		value 'No Change'
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 'No Change'
+			item.1 'Reduced by 6dB'
+		}
+	}
+	control.4 {
+		iface MIXER
+		name 'Playback Volume'
+		value.0 192
+		value.1 192
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 192'
+		}
+	}
+	control.5 {
+		iface MIXER
+		name 'Headphone Volume'
+		value.0 127
+		value.1 127
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 127'
+		}
+	}
+	control.6 {
+		iface MIXER
+		name 'DAC Mux'
+		value DAC
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 DAC
+			item.1 LINE_IN
+		}
+	}
+	control.7 {
+		iface MIXER
+		name 'ADC Mux'
+		value LINE_IN
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 MIC_IN
+			item.1 LINE_IN
+		}
+	}
+	control.8 {
+		iface MIXER
+		name ASRC
+		value disable
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 disable
+			item.1 '32KHz'
+			item.2 '44.1KHz'
+			item.3 '48KHz'
+			item.4 '96KHz'
+		}
+	}
+	control.9 {
+		iface MIXER
+		name 'Jack Function'
+		value on
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 off
+			item.1 on
+		}
+	}
+	control.10 {
+		iface MIXER
+		name 'Speaker Function'
+		value on
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 off
+			item.1 on
+		}
+	}
+	control.11 {
+		iface MIXER
+		name 'Line In Function'
+		value off
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 off
+			item.1 on
+		}
+	}
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.state b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
new file mode 100644
index 0000000..4dcbc4c
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
@@ -0,0 +1,1264 @@ 
+state.wm8962audio {
+	control.1 {
+		iface MIXER
+		name 'Input Mixer Switch'
+		value.0 true
+		value.1 true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.2 {
+		iface MIXER
+		name 'MIXINL IN2L Volume'
+		value 5
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 0
+		}
+	}
+	control.3 {
+		iface MIXER
+		name 'MIXINL PGA Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin 0
+			dbmax 3000
+			dbvalue.0 0
+		}
+	}
+	control.4 {
+		iface MIXER
+		name 'MIXINL IN3L Volume'
+		value 5
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 0
+		}
+	}
+	control.5 {
+		iface MIXER
+		name 'MIXINR IN2R Volume'
+		value 5
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 0
+		}
+	}
+	control.6 {
+		iface MIXER
+		name 'MIXINR PGA Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin 0
+			dbmax 3000
+			dbvalue.0 0
+		}
+	}
+	control.7 {
+		iface MIXER
+		name 'MIXINR IN3R Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.8 {
+		iface MIXER
+		name 'Digital Capture Volume'
+		value.0 108
+		value.1 108
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 127'
+			dbmin -9999999
+			dbmax 2325
+			dbvalue.0 900
+			dbvalue.1 900
+		}
+	}
+	control.9 {
+		iface MIXER
+		name 'Capture Volume'
+		value.0 47
+		value.1 47
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 63'
+			dbmin -2325
+			dbmax 2400
+			dbvalue.0 1200
+			dbvalue.1 1200
+		}
+	}
+	control.10 {
+		iface MIXER
+		name 'Capture Switch'
+		value.0 true
+		value.1 true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.11 {
+		iface MIXER
+		name 'Capture ZC Switch'
+		value.0 true
+		value.1 true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.12 {
+		iface MIXER
+		name 'Capture HPF Switch'
+		value true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.13 {
+		iface MIXER
+		name 'Capture HPF Mode'
+		value Hi-fi
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 Hi-fi
+			item.1 Application
+		}
+	}
+	control.14 {
+		iface MIXER
+		name 'Capture HPF Cutoff'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+		}
+	}
+	control.15 {
+		iface MIXER
+		name 'Capture LHPF Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.16 {
+		iface MIXER
+		name 'Capture LHPF Mode'
+		value LPF
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 LPF
+			item.1 HPF
+		}
+	}
+	control.17 {
+		iface MIXER
+		name 'Sidetone Volume'
+		value.0 0
+		value.1 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 12'
+			dbmin -3600
+			dbmax 0
+			dbvalue.0 -3600
+			dbvalue.1 -3600
+		}
+	}
+	control.18 {
+		iface MIXER
+		name 'Digital Playback Volume'
+		value.0 96
+		value.1 96
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 127'
+			dbmin -9999999
+			dbmax 2325
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.19 {
+		iface MIXER
+		name 'DAC High Performance Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.20 {
+		iface MIXER
+		name 'ADC High Performance Switch'
+		value true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.21 {
+		iface MIXER
+		name 'Beep Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 15'
+			dbmin -9999999
+			dbmax -600
+			dbvalue.0 -9999999
+		}
+	}
+	control.22 {
+		iface MIXER
+		name 'Headphone Volume'
+		value.0 118
+		value.1 118
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 127'
+			dbmin -9999999
+			dbmax 600
+			dbvalue.0 -300
+			dbvalue.1 -300
+		}
+	}
+	control.23 {
+		iface MIXER
+		name 'Headphone Switch'
+		value.0 true
+		value.1 true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.24 {
+		iface MIXER
+		name 'Headphone ZC Switch'
+		value.0 false
+		value.1 false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.25 {
+		iface MIXER
+		name 'Headphone Aux Volume'
+		value.0 7
+		value.1 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 7'
+			dbmin -700
+			dbmax 0
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.26 {
+		iface MIXER
+		name 'Headphone Mixer Switch'
+		value.0 false
+		value.1 false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.27 {
+		iface MIXER
+		name 'HPMIXL IN4L Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.28 {
+		iface MIXER
+		name 'HPMIXL IN4R Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.29 {
+		iface MIXER
+		name 'HPMIXL MIXINL Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.30 {
+		iface MIXER
+		name 'HPMIXL MIXINR Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.31 {
+		iface MIXER
+		name 'HPMIXR IN4L Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.32 {
+		iface MIXER
+		name 'HPMIXR IN4R Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.33 {
+		iface MIXER
+		name 'HPMIXR MIXINL Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.34 {
+		iface MIXER
+		name 'HPMIXR MIXINR Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.35 {
+		iface MIXER
+		name 'Speaker Boost Volume'
+		value 3
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin 0
+			dbmax 1200
+			dbvalue.0 450
+		}
+	}
+	control.36 {
+		iface MIXER
+		name 'EQ Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.37 {
+		iface MIXER
+		name 'EQ1 Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 31'
+			dbmin -1200
+			dbmax 1900
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.38 {
+		iface MIXER
+		name 'EQ2 Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 31'
+			dbmin -1200
+			dbmax 1900
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.39 {
+		iface MIXER
+		name 'EQ3 Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 31'
+			dbmin -1200
+			dbmax 1900
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.40 {
+		iface MIXER
+		name 'EQ4 Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 31'
+			dbmin -1200
+			dbmax 1900
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.41 {
+		iface MIXER
+		name 'EQ5 Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 31'
+			dbmin -1200
+			dbmax 1900
+			dbvalue.0 0
+			dbvalue.1 0
+		}
+	}
+	control.42 {
+		iface MIXER
+		name 'VSS Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.43 {
+		iface MIXER
+		name 'HPF1 Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.44 {
+		iface MIXER
+		name 'HPF2 Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.45 {
+		iface MIXER
+		name 'HD Bass Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.46 {
+		iface MIXER
+		name 'Speaker Volume'
+		value.0 114
+		value.1 114
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 127'
+			dbmin -9999999
+			dbmax 600
+			dbvalue.0 -700
+			dbvalue.1 -700
+		}
+	}
+	control.47 {
+		iface MIXER
+		name 'Speaker Switch'
+		value.0 true
+		value.1 true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.48 {
+		iface MIXER
+		name 'Speaker ZC Switch'
+		value.0 false
+		value.1 false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.49 {
+		iface MIXER
+		name 'Speaker Mixer Switch'
+		value.0 false
+		value.1 false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 2
+		}
+	}
+	control.50 {
+		iface MIXER
+		name 'SPKOUTL Mixer IN4L Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.51 {
+		iface MIXER
+		name 'SPKOUTL Mixer IN4R Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.52 {
+		iface MIXER
+		name 'SPKOUTL Mixer MIXINL Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.53 {
+		iface MIXER
+		name 'SPKOUTL Mixer MIXINR Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.54 {
+		iface MIXER
+		name 'SPKOUTL Mixer DACL Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 -600
+		}
+	}
+	control.55 {
+		iface MIXER
+		name 'SPKOUTL Mixer DACR Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 -600
+		}
+	}
+	control.56 {
+		iface MIXER
+		name 'SPKOUTR Mixer IN4L Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.57 {
+		iface MIXER
+		name 'SPKOUTR Mixer IN4R Volume'
+		value 7
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 7'
+			dbmin -1500
+			dbmax 600
+			dbvalue.0 600
+		}
+	}
+	control.58 {
+		iface MIXER
+		name 'SPKOUTR Mixer MIXINL Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.59 {
+		iface MIXER
+		name 'SPKOUTR Mixer MIXINR Volume'
+		value 1
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 0
+		}
+	}
+	control.60 {
+		iface MIXER
+		name 'SPKOUTR Mixer DACL Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 -600
+		}
+	}
+	control.61 {
+		iface MIXER
+		name 'SPKOUTR Mixer DACR Volume'
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 1'
+			dbmin -600
+			dbmax 0
+			dbvalue.0 -600
+		}
+	}
+	control.62 {
+		iface MIXER
+		name 'SPKOUTR PGA'
+		value DAC
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 DAC
+			item.1 Mixer
+		}
+	}
+	control.63 {
+		iface MIXER
+		name 'SPKOUTL PGA'
+		value DAC
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 DAC
+			item.1 Mixer
+		}
+	}
+	control.64 {
+		iface MIXER
+		name 'SPKOUTR Mixer DACL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.65 {
+		iface MIXER
+		name 'SPKOUTR Mixer DACR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.66 {
+		iface MIXER
+		name 'SPKOUTR Mixer MIXINL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.67 {
+		iface MIXER
+		name 'SPKOUTR Mixer MIXINR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.68 {
+		iface MIXER
+		name 'SPKOUTR Mixer IN4L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.69 {
+		iface MIXER
+		name 'SPKOUTR Mixer IN4R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.70 {
+		iface MIXER
+		name 'SPKOUTL Mixer DACL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.71 {
+		iface MIXER
+		name 'SPKOUTL Mixer DACR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.72 {
+		iface MIXER
+		name 'SPKOUTL Mixer MIXINL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.73 {
+		iface MIXER
+		name 'SPKOUTL Mixer MIXINR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.74 {
+		iface MIXER
+		name 'SPKOUTL Mixer IN4L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.75 {
+		iface MIXER
+		name 'SPKOUTL Mixer IN4R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.76 {
+		iface MIXER
+		name 'HPOUTR PGA'
+		value DAC
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 DAC
+			item.1 Mixer
+		}
+	}
+	control.77 {
+		iface MIXER
+		name 'HPOUTL PGA'
+		value DAC
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 DAC
+			item.1 Mixer
+		}
+	}
+	control.78 {
+		iface MIXER
+		name 'HPMIXR DACL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.79 {
+		iface MIXER
+		name 'HPMIXR DACR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.80 {
+		iface MIXER
+		name 'HPMIXR MIXINL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.81 {
+		iface MIXER
+		name 'HPMIXR MIXINR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.82 {
+		iface MIXER
+		name 'HPMIXR IN4L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.83 {
+		iface MIXER
+		name 'HPMIXR IN4R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.84 {
+		iface MIXER
+		name 'HPMIXL DACL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.85 {
+		iface MIXER
+		name 'HPMIXL DACR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.86 {
+		iface MIXER
+		name 'HPMIXL MIXINL Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.87 {
+		iface MIXER
+		name 'HPMIXL MIXINR Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.88 {
+		iface MIXER
+		name 'HPMIXL IN4L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.89 {
+		iface MIXER
+		name 'HPMIXL IN4R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.90 {
+		iface MIXER
+		name STR
+		value None
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 None
+			item.1 Right
+			item.2 Left
+		}
+	}
+	control.91 {
+		iface MIXER
+		name STL
+		value None
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 None
+			item.1 Right
+			item.2 Left
+		}
+	}
+	control.92 {
+		iface MIXER
+		name 'MIXINR IN2R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.93 {
+		iface MIXER
+		name 'MIXINR IN3R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.94 {
+		iface MIXER
+		name 'MIXINR PGA Switch'
+		value true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.95 {
+		iface MIXER
+		name 'MIXINL IN2L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.96 {
+		iface MIXER
+		name 'MIXINL IN3L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.97 {
+		iface MIXER
+		name 'MIXINL PGA Switch'
+		value true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.98 {
+		iface MIXER
+		name 'INPGAR IN1R Switch'
+		value true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.99 {
+		iface MIXER
+		name 'INPGAR IN2R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.100 {
+		iface MIXER
+		name 'INPGAR IN3R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.101 {
+		iface MIXER
+		name 'INPGAR IN4R Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.102 {
+		iface MIXER
+		name 'INPGAL IN1L Switch'
+		value true
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.103 {
+		iface MIXER
+		name 'INPGAL IN2L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.104 {
+		iface MIXER
+		name 'INPGAL IN3L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.105 {
+		iface MIXER
+		name 'INPGAL IN4L Switch'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+}
diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.state b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
new file mode 100644
index 0000000..d508cc3
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
@@ -0,0 +1,191 @@ 
+state.mxsevk {
+	control.1 {
+		iface MIXER
+		name 'MIC GAIN'
+		value '0dB'
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 '0dB'
+			item.1 '20dB'
+			item.2 '30dB'
+			item.3 '40dB'
+		}
+	}
+	control.2 {
+		iface MIXER
+		name 'Capture Volume'
+		value.0 12
+		value.1 12
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 15'
+		}
+	}
+	control.3 {
+		iface MIXER
+		name 'Capture Vol Reduction'
+		value 'No Change'
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 'No Change'
+			item.1 'Reduced by 6dB'
+		}
+	}
+	control.4 {
+		iface MIXER
+		name 'Playback Volume'
+		value.0 156
+		value.1 156
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 192'
+		}
+	}
+	control.5 {
+		iface MIXER
+		name 'Headphone Volume'
+		value.0 127
+		value.1 127
+		comment {
+			access 'read write'
+			type INTEGER
+			count 2
+			range '0 - 127'
+		}
+	}
+	control.6 {
+		iface MIXER
+		name 'DAC Mux'
+		value DAC
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 DAC
+			item.1 LINE_IN
+		}
+	}
+	control.7 {
+		iface MIXER
+		name 'ADC Mux'
+		value MIC_IN
+		comment {
+			access 'read write'
+			type ENUMERATED
+			count 1
+			item.0 MIC_IN
+			item.1 LINE_IN
+		}
+	}
+}
+state.mxsevk_1 {
+	control.1 {
+		iface MIXER
+		name PRO
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.2 {
+		iface MIXER
+		name AUDIO
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.3 {
+		iface MIXER
+		name COPY
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.4 {
+		iface MIXER
+		name PRE
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.5 {
+		iface MIXER
+		name CC
+		value 0
+		comment {
+			access 'read write'
+			type INTEGER
+			count 1
+			range '0 - 127'
+		}
+	}
+	control.6 {
+		iface MIXER
+		name L
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.7 {
+		iface MIXER
+		name V
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.8 {
+		iface MIXER
+		name 'USER DATA'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.9 {
+		iface MIXER
+		name 'AUTO MUTE'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+	control.10 {
+		iface MIXER
+		name 'V CONFIG'
+		value false
+		comment {
+			access 'read write'
+			type BOOLEAN
+			count 1
+		}
+	}
+}