# Use case Configuration for sof-soundwire card

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

			If.lrswitch {
				Condition {
					Type ControlExists
					Control "name='rt712 OT23 L Switch'"
				}
				True {
					EnableSequence [
						cset "name='rt712 OT23 L Switch' on"
						cset "name='rt712 OT23 R Switch' on"
						cset "name='Speaker Switch' on"
					]
					DisableSequence [
						cset "name='rt712 OT23 L Switch' off"
						cset "name='rt712 OT23 R Switch' off"
						cset "name='Speaker Switch' off"
					]
				}
				False {
					EnableSequence [
						cset "name='rt712 FU06 Switch' on"
						cset "name='Speaker Switch' on"
					]
					DisableSequence [
						cset "name='rt712 FU06 Switch' off"
						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 Mono Microphone"

	EnableSequence [
		cset "name='rt712 FU0F Capture Switch' on"
	]

	DisableSequence [
		cset "name='rt712 FU0F Capture Switch' off"
	]

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

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

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

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

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