# 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"
	}
}

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 {
		PlaybackPriority 200
		PlaybackPCM "hw:${CardId}"
		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 {
		PlaybackPriority 100
		PlaybackPCM "hw:${CardId}"
		JackHWMute "Headphones"
	}
}

SectionDevice."Headset" {
	Comment "Headset Microphone"

	ConflictingDevice [
		"Mic"
	]
	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 {
		CapturePriority 200
		CapturePCM "hw:${CardId},1"
		JackControl "Mic Jack"
	}
}

SectionDevice."Mic" {
	Comment "Digital Stereo Microphone"

	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 {
		CapturePriority 100
		CapturePCM "hw:${CardId},1"
	}
}

<skylake-rt286/Hdmi1.conf>
<skylake-rt286/Hdmi2.conf>
