# Use case Configuration for ASUS Transformer Pad TF300T
# Written by Svyatoslav Ryhel <clamor95@gmail.com>

SectionVerb {
	EnableSequence [
		cset "name='HPF Switch' on"
		cset "name='HPF Mode' Voice 1"

		cset "name='DRC Switch' on"
		cset "name='Digital Capture Volume' 127"

		cset "name='Headphone Switch' off"
		cset "name='Headphone ZC Switch' off"
		cset "name='Headphone Volume' 45"

		cset "name='Line Out Switch' on"
		cset "name='Line Out ZC Switch' off"
		cset "name='Line Out Volume' 57"

		cset "name='Speaker Switch' off"
		cset "name='Speaker ZC Switch' off"
		cset "name='Speaker Volume' 60"

		cset "name='Int Spk Switch' on"
		cset "name='Int Mic Switch' off"

		cset "name='ADC Input' DMIC"

		cset "name='Left Speaker Mixer DACL Switch' on"
		cset "name='Right Speaker Mixer DACR Switch' on"
	]
}

SectionDevice."Speakers" {
	Comment "Speakers"

	ConflictingDevice [
		"Headphones"
	]

	EnableSequence [
		cset "name='Speaker Switch' on"
		cset "name='Int Spk Switch' on"
	]

	DisableSequence [
		cset "name='Int Spk Switch' off"
		cset "name='Speaker Switch' off"
	]

	Value {
		PlaybackPCM "hw:${CardId}"
		PlaybackChannels 2
		PlaybackPriority 200
		PlaybackVolume "Speaker Volume"
		PlaybackSwitch "Speaker Switch"
	}
}

SectionDevice."Headphones" {
	Comment "Headphones"

	ConflictingDevice [
		"Speakers"
	]

	EnableSequence [
		cset "name='Headphone Switch' on"
	]

	DisableSequence [
		cset "name='Headphone Switch' off"
	]

	Value {
		PlaybackPCM "hw:${CardId}"
		PlaybackChannels 2
		PlaybackPriority 100
		PlaybackVolume "Headphone Volume"
		PlaybackSwitch "Headphone Switch"

		JackControl "Headphone Jack"
	}
}

SectionDevice."InternalMic" {
	Comment "Internal Microphone"

	ConflictingDevice [
		"HeadsetMic"
	]

	EnableSequence [
		cset "name='ADC Input' DMIC"
		cset "name='Digital Capture Volume' 127"
		cset "name='Int Mic Switch' on"
		cset "name='Left Input Mux' IN2L"
		cset "name='Left Input Inverting Mux' IN1L"
		cset "name='Left Input PGA Switch' off"
		cset "name='Left Input PGA Common Mode Switch' on"
		cset "name='Right Capture Mux' Right"
		cset "name='Right Input PGA Switch' off"
	]

	DisableSequence [
		cset "name='Int Mic Switch' off"
	]

	Value {
		CapturePCM "hw:${CardId}"
		CaptureChannels 2
	}
}

SectionDevice."HeadsetMic" {
	Comment "Headset Microphone"

	ConflictingDevice [
		"InternalMic"
	]

	EnableSequence [
		cset "name='ADC Input' ADC"
		cset "name='Digital Capture Volume' 116"
		cset "name='Int Mic Switch' off"
		cset "name='Left Input Mux' IN1L"
		cset "name='Left Input Inverting Mux' IN2L"
		cset "name='Left Input PGA Switch' on"
		cset "name='Left Input PGA Common Mode Switch' off"
		cset "name='Right Capture Mux' Left"
		cset "name='Right Input PGA Switch' on"
	]

	DisableSequence [
		cset "name='Int Mic Switch' on"
	]

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