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

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

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."Mic" {
	Comment "Digital 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='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"
	]

	Value {
		CapturePriority 100
		CapturePCM "hw:${CardId},1"
	}
}

SectionDevice."Headset" {
	Comment "Headset Microphone"

	ConflictingDevice [
		"Mic"
	]

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

Include.hdmi.File "/Intel/broxton-rt298/Hdmi.conf"
