# Use case Configuration for SPRD DOLPHIN HiFi audio playback and capture


######### Main Verb Config #################

SectionVerb {

	EnableSequence [
		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		# VBC Switch to DSP
		cset "name='VBC Switch' 1"

		#DAC gain
		cset "name='DACL Playback Volume' 7"
		cset "name='DACR Playback Volume' 7"

		#ADC gain
		cset "name='ADCL Capture Volume' 56"
		cset "name='ADCR Capture Volume' 56"

	]

	DisableSequence [
		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		# VBC Switch to ARM
		cset "name='VBC Switch' 1"

	]

	# ALSA PCM
	Value {
		TQ "Loopback"
		# ALSA PCM device for Voice
		PlaybackPCM "hw:sprdphone,1"
		CapturePCM "hw:sprdphone,1"
	}
}

########### Speaker Device Options ################

SectionDevice."Speaker" {
	Comment "sprdphone Speaker playback"

	EnableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SPVLOOP=1,1,9,0,0,0;\\r\" > /dev/stty_td0"

		# gain setting
		cset "name='SPKL Playback Volume' 7"
		cset "name='SPKR Playback Volume' 7"

		# sprdphone speaker playback path
		cset "name='SPKL Mixer DACLSPKL Switch' 1"
		cset "name='SPKL Mixer DACRSPKL Switch' 1"
		cset "name='Speaker Function' 1"

		# sprdphone capture path
		cset "name='ADCL Mixer MainMICADCL Switch' 1"
		cset "name='ADCR Mixer MainMICADCR Switch' 1"
		cset "name='Mic Function' 1"
	]

	DisableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SPVLOOP=0,1,9,0,0,0;\\r\" > /dev/stty_td0"

		# sprdphone speaker playback path
		cset "name='Speaker Function' 0"
		cset "name='SPKL Mixer DACLSPKL Switch' 0"
		cset "name='SPKL Mixer DACRSPKL Switch' 0"

		# sprdphone capture path
		cset "name='Mic Function' 0"
		cset "name='ADCL Mixer MainMICADCL Switch' 0"
		cset "name='ADCR Mixer MainMICADCR Switch' 0"
	]

	Value {
		# Default ALSA volume gain and mute kcontrols
		PlaybackPCM "hw:sprdphone,1"
		CapturePCM "hw:sprdphone,1"

	}
}

###### Headphones Devices Options ############

SectionDevice."Headphones" {
	Comment "SPRD DOLPHIN 3.5mm Headphones playback"

	EnableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SPVLOOP=1,2,9,0,0,0;\\r\" > /dev/stty_td0"

		#gain setting
		cset "name='HPL Playback Volume' 13"
		cset "name='HPL Playback Volume' 13"

		# sprdphone playback path
		cset "name='HPL Mixer DACLHPL Switch' 1"
		cset "name='HPR Mixer DACRHPR Switch' 1"
		cset "name='HeadPhone Function' 1"

		# sprdphone headphone mic capture path
		cset "name='ADCL Mixer HPMICADCL Switch' 1"
		cset "name='ADCR Mixer HPMICADCR Switch' 1"
		cset "name='HP Mic Function' 1"
	]

	DisableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SPVLOOP=0,2,9,0,0,0;\\r\" > /dev/stty_td0"

		# sprdphone playback path
		cset "name='HeadPhone Function' 0"
		cset "name='HPL Mixer DACLHPL Switch' 0"
		cset "name='HPR Mixer DACRHPR Switch' 0"


		# sprdphone headphone mic capture path
		cset "name='HP Mic Function' 0"
		cset "name='ADCL Mixer HPMICADCL Switch' 0"
		cset "name='ADCR Mixer HPMICADCR Switch' 0"
	]

	Value {
		# Default ALSA volume gain and mute kcontrols
		PlaybackPCM "hw:sprdphone,1"
		CapturePCM "hw:sprdphone,1"
	}
}

SectionDevice."Headphones_3pole" {
	Comment "SPRD DOLPHIN 3.5mm Headphones 3_pole"

	EnableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SSAM=2;\\r\" > /dev/stty_td0"

		#gain setting
		cset "name='HPL Playback Volume' 10"
		cset "name='HPR Playback Volume' 10"

		# sprdphone playback path
		cset "name='HPL Mixer DACLHPL Switch' 1"
		cset "name='HPR Mixer DACRHPR Switch' 1"
		cset "name='HeadPhone Function' 1"

		# sprdphone capture path
		cset "name='ADCL Mixer MainMICADCL Switch' 1"
		cset "name='ADCR Mixer MainMICADCR Switch' 1"
		cset "name='Mic Function' 1"

	]

	DisableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		# sprdphone playback path
		cset "name='HeadPhone Function' 0"
		cset "name='HPL Mixer DACLHPL Switch' 0"
		cset "name='HPR Mixer DACRHPR Switch' 0"

		# sprdphone capture path
		cset "name='Mic Function' 0"
		cset "name='ADCL Mixer MainMICADCL Switch' 0"
		cset "name='ADCR Mixer MainMICADCR Switch' 0"
	]

	Value {
		# Default ALSA volume gain and mute kcontrols
		PlaybackPCM "hw:sprdphone,1"
		CapturePCM "hw:sprdphone,1"
	}
}

########### Earpiece Device Options ################

SectionDevice."Earpiece" {
	Comment "Earpiece playback"

	EnableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SPVLOOP=1,0,9,0,0,0;\\r\" > /dev/stty_td0"

		#gain setting
		cset "name='EAR Playback Volume' 7"

		# sprdphone playback path
		cset "name='Earpiece Function' 1"

		# sprdphone capture path
		cset "name='ADCL Mixer MainMICADCL Switch' 1"
		cset "name='ADCR Mixer MainMICADCR Switch' 1"
		cset "name='Mic Function' 1"


	]

	DisableSequence [

		# Set sprdphone device for following cset commands
		cdev "hw:sprdphone"

		#send at to modem
		#exec "echo -e \"AT+SPVLOOP=0,0,9,0,0,0;\\r\" > /dev/stty_td0"

		# sprdphone playback path
		cset "name='Mic Function' 0"
		cset "name='ADCL Mixer MainMICADCL Switch' 0"
		cset "name='ADCR Mixer MainMICADCR Switch' 0"

		# sprdphone playback path
		cset "name='Earpiece Function' 0"
	]

	Value {
		# Default ALSA volume gain and mute kcontrols
		PlaybackPCM "hw:sprdphone,1"
		CapturePCM "hw:sprdphone,1"
	}
}
