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

SectionVerb {
  	EnableSequence [
                cdev "hw:PandaBoardES"
		cset "name='DL1 Mixer Multimedia' 1"
		cset "name='Sidetone Mixer Playback' 1"
                cset "name='DL1 PDM Switch' 1"
		cset "name='DL1 Media Playback Volume' 90,90"
                cset "name='SDT DL Volume' 120"
	]

	DisableSequence [
                cdev "hw:PandaBoardES"
		cset "name='DL1 Mixer Multimedia' 0"
		cset "name='Sidetone Mixer Playback' 0"
                cset "name='DL1 PDM Switch' 0"
		cset "name='DL1 Media Playback Volume' 0,0"
                cset "name='SDT DL Volume' 0"
	]

	# Optional TQ and ALSA PCMs
	Value {
		TQ "Music"
		PlaybackPCM "hw:0,6"
	}
}

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

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