# Use case Configuration for Acer Iconia Tab A500

SectionVerb {
	EnableSequence [
		# WM8903 Output Configuration
		cset "name='Digital Playback Volume' 80"
		cset "name='Headphone Volume' 42"
		cset "name='Line Out Volume' 42"
		cset "name='DAC Boost Volume' 0"

		# WM8903 Output Routing
		cset "name='Left Output Mixer DACL Switch' on"
		cset "name='Left Output Mixer DACR Switch' off"
		cset "name='Right Output Mixer DACL Switch' off"
		cset "name='Right Output Mixer DACR Switch' on"

		# WM8903 Input Configuration
		cset "name='Digital Capture Volume' 120"
		cset "name='DRC Compressor Threshold Volume' 124"
		cset "name='DRC Compressor Slope R0' 1"
		cset "name='DRC Compressor Slope R1' 1"
		cset "name='DRC Maximum Gain Volume' 1"
		cset "name='DRC Minimum Gain Volume' 0"
		cset "name='DRC Volume' 13"

		# WM8903 Input Routing
		cset "name='Left Input PGA Switch' on"
		cset "name='Right Input PGA Switch' on"

		# Tegra-specific switches
		cset "name='Int Spk Switch' on"
		cset "name='Int Mic Switch' on"
	]
}

SectionDevice."Speakers" {
	Comment "Speakers"

	ConflictingDevice [
		"Headphones"
	]

	EnableSequence [
		cset "name='Headphone Switch' off"
		cset "name='Line Out Switch' on"
	]

	Value {
		PlaybackPCM "hw:${CardId}"
		PlaybackMixerElem "Line Out"
	}
}

SectionDevice."Headphones" {
	Comment "Headphones"

	ConflictingDevice [
		"Speakers"
	]

	EnableSequence [
		cset "name='Line Out Switch' off"
		cset "name='Headphone Switch' on"
	]

	Value {
		PlaybackPCM "hw:${CardId}"
		PlaybackMixerElem "Headphone"
		JackControl "Headphone Jack"
	}
}

SectionDevice."InternalMic" {
	Comment "Internal Microphone"

	ConflictingDevice [
		"HeadsetMic"
	]

	EnableSequence [
		cset "name='Left Input PGA Volume' 31"
		cset "name='Right Input PGA Volume' 31"
		cset "name='Left Input Inverting Mux' IN1L"
		cset "name='Right Input Inverting Mux' IN1R"
		cset "name='DRC Switch' on"
	]

	Value {
		CapturePCM "hw:${CardId}"
		CaptureMixerElem "Digital"
	}
}

SectionDevice."HeadsetMic" {
	Comment "Headset Microphone"

	ConflictingDevice [
		"InternalMic"
	]

	EnableSequence [
		cset "name='Left Input PGA Volume' 25"
		cset "name='Right Input PGA Volume' 25"
		cset "name='Left Input Inverting Mux' IN2L"
		cset "name='Right Input Inverting Mux' IN2R"
		cset "name='DRC Switch' off"
	]

	Value {
		CapturePCM "hw:${CardId}"
		CaptureMixerElem "Digital"
		JackControl "Mic Jack"
	}
}
