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

SectionVerb {
  	EnableSequence [
                cdev "hw:PandaBoard"
		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='SDT DL Volume' 120"
	]

	DisableSequence [
                cdev "hw:PandaBoard"
		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='SDT DL Volume' 0"
	]

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

SectionDevice."Headset".0 {
	Comment "PandaBoard 3.5mm Headset"
	
	EnableSequence [
                cdev "hw:PandaBoard"
                cset "name='Headset Left Playback' 1"
                cset "name='Headset Right Playback' 1"
                cset "name='Headset Playback Volume' 13"
	]

	DisableSequence [
                cdev "hw:PandaBoard"
		cset "name='Headset Right Playback' 0"
		cset "name='Headset Left Playback' 0"
                cset "name='Headset Playback Volume' 0"
	]
}
