summarylogtreecommitdiffstats
path: root/sof-soundwire_tas2783.conf
blob: 59ccd2c7ed1af1c73bb4e04c31c896c1fdfab176 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# TAS2783 Use case Configuration for sof-soundwire card

SectionDevice."Speaker" {
    Comment "Speaker"

	# 'Speaker Switch' is the machine-driver DAPM mute gating the SOF speaker path.
	# Upstream UCM only toggles it inside the headset-codec Speaker section (rt721
	# etc.), which is gated by MultiSpeakerShadow ~ rt721. On PX13 the shadow is
	# tas2783, so that section never activates and 'Speaker Switch' stays off.
	# Other speaker amps (rt1318, cs35l56-bridge, rt1316) handle this themselves —
	# do the same here.
	#
	# PX13 (HN7306EA) physical wiring: tas2783-1 is left speaker, tas2783-2 is right.
	#
	# 'Amp Playback Switch' is the TAS2783 power-amp output stage. Nothing else
	# powers it: PipeWire drives only 'Speaker Playback Switch' (the digital mute,
	# the PlaybackMixerElem), so the amp stays at its driver-default off and the
	# speakers are silent unless this sequence enables it.
	EnableSequence [
		cset "name='Speaker Switch' on"
		cset "name='tas2783-1 Amp Playback Switch' 1"
		cset "name='tas2783-2 Amp Playback Switch' 1"
		cset "name='tas2783-1 Channel Playback' Left"
		cset "name='tas2783-2 Channel Playback' Right"
	]

	DisableSequence [
		cset "name='tas2783-1 Amp Playback Switch' 0"
		cset "name='tas2783-2 Amp Playback Switch' 0"
		cset "name='Speaker Switch' off"
	]

    Value {
        PlaybackPriority 100
        PlaybackPCM "hw:${CardId},2"
        PlaybackMixer "default:${CardId}"
        PlaybackMixerElem "${var:SpeakerMixerElem}"
    }
}