# Use case Configuration for TI SDP4430 HiFi Music
# By Liam Girdwood <lrg@slimlogic.co.uk>

SectionVerb {
  	EnableSequence [
                cdev "hw:SDP4430"
                cset "name='AMIC_UL PDM Switch' 1"
                cset "name='Sidetone Mixer Capture' 1"
                cset "name='MUX_VX0' 9"
                cset "name='MUX_VX1' 10"
		cset "name='DL1 Mixer Voice' 1"
		cset "name='Sidetone Mixer Playback' 1"
                cset "name='DL1 PDM Switch' 1"
		cset "name='DL1 Voice Playback Volume' 90,90"
                cset "name='Capture Volume' 4"
                cset "name='Capture Mixer Voice Capture' 90,90"
                cset "name='SDT DL Volume' 120"
	]


	DisableSequence [
                cdev "hw:SDP4430"
                cset "name='AMIC_UL PDM Switch' 0"
                cset "name='Sidetone Mixer Capture' 0"
                cset "name='MUX_VX0' 0"
                cset "name='MUX_VX1' 0"
		cset "name='DL1 Mixer Voice' 0"
		cset "name='Sidetone Mixer Playback' 0"
                cset "name='DL1 PDM Switch' 0"
		cset "name='DL1 Voice Playback Volume' 0,0"
                cset "name='Capture Volume' 0"
		cset "name='DL1 Voice Playback Volume' 0,0"
                cset "name='SDT DL Volume' 0"
	]

	# Optional TQ and ALSA PCMs
	Value {
		TQ "Voice"
                CapturePCM "hw:0,2"
		PlaybackPCM "hw:0,2"
	}
}

SectionDevice."Headset".0 {
	Comment "SDP4430 3.5mm Headset"
	
	EnableSequence [
                cdev "hw:SDP4430"
                cset "name='Analog Left Capture Route' 0"
                cset "name='Analog Right Capture Route' 0"
                cset "name='Capture Preamplifier Volume' 2"
                cset "name='HS Left Playback' 1"
                cset "name='HS Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
	]

	DisableSequence [
                cdev "hw:SDP4430"
                cset "name='Analog Left Capture Route' 3"
                cset "name='Analog Right Capture Route' 3"
                cset "name='Capture Preamplifier Volume' 0"
		cset "name='HS Right Playback' 0"
		cset "name='HS Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
	]
}

