blob: 9c780a0bbf52fde5ac9e26fa0c7f0916f65c53ee (
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
40
41
42
43
44
45
46
47
48
|
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}"
PlaybackChannels 2
}
}
|