48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
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}"
|
|
}
|
|
}
|