# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
# For Audio in I2S mode on Intel Broxton platforms

SectionVerb {

	EnableSequence [
		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
	]

	Value {
		TQ "HiFi"
		CapturePCM "hw:${CardId},1"
		PlaybackPCM "hw:${CardId},0"
	}
}

SectionDevice."DigitalMic" {
	Comment "DMIC Stereo"

	ConflictingDevice [
		"Headset"
	]

	EnableSequence [
		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
		cset "name='media0_out mo codec0_in mi Switch' 0"
		cset "name='Mic Jack Switch' 0"

	]

	DisableSequence [
		cset "name='media0_out mo codec0_in mi Switch' 1"
		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
		cset "name='Mic Jack Switch' 1"
		cset "name='ADC 0 Mux' 0"
	]
}

SectionDevice."Headphones" {
	Comment "Headphones"

	ConflictingDevice [
		"Speaker"
	]

	EnableSequence [
		cset "name='HPO L Switch' 1"
		cset "name='HPO R Switch' 1"
		cset "name='Headphone Jack Switch' 1"
		cset "name='Speaker Playback Switch' 0,0"
	]

	Value {
		JackControl "Headphone Jack"
		JackHWMute "Speaker"
	}
}

SectionDevice."Speaker" {
	Comment "Speaker"

	ConflictingDevice [
		"Headphones"
	]

	EnableSequence [
		cset "name='SPO Switch' 1"
		cset "name='Speaker Playback Switch' 1,1"
		cset "name='Speaker Switch' 1"
		cset "name='HPO L Switch' 0"
		cset "name='HPO R Switch' 0"
	]

	Value {
		JackHWMute "Headphones"
	}
}

SectionDevice."Headset" {
	Comment "Headset Mic"

	ConflictingDevice [
		"DigitalMic"
	]

	EnableSequence [
		cset "name='media0_out mo codec0_in mi Switch' 1"
		cset "name='ADC0 Capture Volume' 105,105"
		cset "name='ADC 0 Mux' 0"
		cset "name='Mic Jack Switch' 1"
		cset "name='media0_out mo dmic01_hifi_in mi Switch' 0"
	]

	DisableSequence [
		cset "name='media0_out mo dmic01_hifi_in mi Switch' 1"
		cset "name='media0_out mo codec0_in mi Switch' 0"
	]

	Value {
		JackControl "Mic Jack"
	}
}
