File: //usr/share/alsa/ucm2/codecs/rt5651/MonoSpeaker.conf
SectionDevice."Speaker" {
Comment "Mono Speaker"
ConflictingDevice [
"Headphones"
]
EnableSequence [
# On most (all?) devices with a single / mono speaker an
# amplifier with a differential input connected between LOUT
# right and left is used. We deal with this by silencing the
# right output and mixing left + right to the left output.
#
# An alternative approach for devices using the differential
# setup would be to set bit 15 of register 5 in the codec,
# which turns the stereo unbalanced line out into a mono
# balanced line out.
#
# This possibility was discovered after we already shipped the
# current solution and the current solution has the advantage
# of also working on devices which only use LOUT left in
# unbalanced mode. The net result is the same for devices using
# the differential setup, so we just stick with what we have.
cset "name='Stereo DAC MIXR DAC R1 Switch' off"
cset "name='Stereo DAC MIXL DAC R1 Switch' on"
cset "name='Speaker Switch' on"
cset "name='LOUT L Playback Switch' on"
# Done after turning the speaker on to keep the bias and clk on
cset "name='Headphone Switch' off"
cset "name='HPO L Playback Switch' off"
cset "name='HPO R Playback Switch' off"
]
DisableSequence [
# Disabling the switches is done by the Speaker EnableSeq
# Undo mono mapping
cset "name='Stereo DAC MIXL DAC R1 Switch' off"
cset "name='Stereo DAC MIXR DAC R1 Switch' on"
]
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId}"
}
}