# Use case Configuration for sof-soundwire card

If.codecmic {
	Condition {
		Type RegexMatch
		Regex "(rt721(-sdca)?)"
		String "${var:MultiMicShadow}"
	}
	True {
		SectionDevice."Mic" {
			Comment	"SoundWire microphones"

			EnableSequence [
				cset "name='rt721 FU1E Capture Switch' 1"
			]

			DisableSequence [
				cset "name='rt721 FU1E Capture Switch' 0"
			]

			Value {
				CapturePriority 100
				CapturePCM "hw:${CardId},4"
				CaptureSwitch "rt721 FU1E Capture Switch"
				CaptureVolume "rt721 FU1E Capture Volume"
				CaptureMixerElem "rt721 FU1E"
			}
		}
	}
}

If.codecspk {
	Condition {
		Type RegexMatch
		Regex "(rt721(-sdca)?)"
		String "${var:MultiSpeakerShadow}"
	}
	True {
		SectionDevice."Speaker" {
			Comment "Speaker"

			EnableSequence [
				cset "name='Speaker Switch' on"
			]

			DisableSequence [
				cset "name='Speaker Switch' off"
			]

			Value {
				PlaybackPriority 100
				PlaybackPCM "hw:${CardId},2"
			}
		}
	}
}

SectionDevice."Headphones" {
	Comment	"Headphones"

	EnableSequence [
		cset "name='Headphone Switch' on"
	]

	DisableSequence [
		cset "name='Headphone Switch' off"
	]

	Value {
	      PlaybackPriority 200
	      PlaybackPCM "hw:${CardId}"
	      JackControl "Headphone Jack"
	}
}

SectionDevice."Headset" {
	Comment "Headset Microphone"

	EnableSequence [
		cset "name='rt721 FU0F Capture Switch' 1"
	]

	DisableSequence [
		cset "name='rt721 FU0F Capture Switch' 0"
	]

	Value {
		CapturePriority 200
		CapturePCM "hw:${CardId},1"
		JackControl "Headset Mic Jack"
		CaptureSwitch "rt721 FU0F Capture Switch"
		CaptureVolume "rt721 FU0F Capture Volume"
		CaptureMixerElem "rt721 FU0F"
	}
}
