# Usecase for stereo playback Speaker and Headset, Recording on DMIC and Headset MIC.
# For Audio in I2S mode on Intel SKYLAKE/KABYLAKE 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."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"
	]

	DisableSequence [
	]
	Value {
		PlaybackChannels "2"
		PlaybackPriority "1"
		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"
	]

	DisableSequence [
	]
	Value {
		PlaybackChannels "2"
		PlaybackPriority "1"
		JackHWMute "Headphones"
	}
}

SectionDevice."Headset" {
	Comment "Headset Mic"

	ConflictingDevice [
		"dmiccap"
	]
	EnableSequence [
		cset "name='media0_out mo codec0_in mi Switch' 1"
		cset "name='ADC0 Capture Switch' 1,1"
		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 {
		CaptureChannels "2"
		CapturePriority "2"
		JackControl "Mic Jack"
	}
}


SectionDevice."dmiccap" {
	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='ADC0 Capture Switch' 0,0"
		cset "name='Mic Jack Switch' 0"
		cset "name='ADC 0 Mux' 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='ADC0 Capture Switch' 1,1"
		cset "name='Mic Jack Switch' 1"
		cset "name='ADC 0 Mux' 2"
	]
	Value {
		CaptureChannels "2"
		CapturePriority "2"
	}
}

