# Use case Configuration for sof-soundwire card

LibraryConfig.remap.Config {
	ctl.default.map {
		"name='Speaker Playback Switch'" {
			"name='AMPL Speaker Switch'".vindex.0 0
			"name='AMPR Speaker Switch'".vindex.1 0
		}
		"name='Speaker Playback Volume'" {
			"name='AMPL Speaker Volume'".vindex.0 0
			"name='AMPR Speaker Volume'".vindex.1 0
		}
	}
}

SectionDevice."Speaker" {
	Comment "Speaker"

	ConflictingDevice [
		"Headphones"
	]

	EnableSequence [
		cset "name='cs42l43 Speaker L Input 1' 'ASPRX1'"
		cset "name='cs42l43 Speaker R Input 1' 'ASPRX2'"
		cset "name='cs42l43 ASPTX1 Input' 'DP5RX1'"
		cset "name='cs42l43 ASPTX2 Input' 'DP5RX2'"

		cset "name='AMPL ASP1 TX1 Source' 'DSP1TX1'"
		cset "name='AMPL ASP1 TX2 Source' 'None'"
		cset "name='AMPL ASP1 TX3 Source' 'None'"
		cset "name='AMPL ASP1 TX4 Source' 'None'"

		cset "name='AMPR ASP1 TX1 Source' 'None'"
		cset "name='AMPR ASP1 TX2 Source' 'DSP1TX1'"
		cset "name='AMPR ASP1 TX3 Source' 'None'"
		cset "name='AMPR ASP1 TX4 Source' 'None'"

		cset "name='cs42l43 Speaker Digital Switch' 1"
		cset "name='cs42l43 Speaker Digital Volume' 128"
	]

	DisableSequence [
		cset "name='cs42l43 Speaker Digital Switch' 0"

		cset "name='AMPL ASP1 TX2 Source' 'None'"
		cset "name='AMPR ASP1 TX1 Source' 'None'"

		cset "name='cs42l43 ASPTX1 Input' 'None'"
		cset "name='cs42l43 ASPTX2 Input' 'None'"
		cset "name='cs42l43 Speaker L Input 1' 'None'"
		cset "name='cs42l43 Speaker R Input 1' 'None'"
	]

	Value {
		PlaybackPriority 100
		PlaybackPCM "hw:${CardId},0"
		PlaybackMixer "default:${CardId}"
		PlaybackMixerElem "Speaker"
	}
}
