}
<rt5651/Speaker.conf>
+<rt5651/MonoSpeaker.conf>
<rt5651/HeadPhones.conf>
-
<rt5651/IN1-InternalMic.conf>
<rt5651/IN2-InternalMic.conf>
<rt5651/IN12-InternalMic.conf>
cset "name='LOUT L Playback Switch' off"
cset "name='LOUT R Playback Switch' off"
cset "name='Stereo DAC MIXL DAC L1 Switch' on"
+cset "name='Stereo DAC MIXL DAC R1 Switch' off"
+cset "name='Stereo DAC MIXR DAC L1 Switch' off"
cset "name='Stereo DAC MIXR DAC R1 Switch' on"
cset "name='Stereo1 ADC MIXR ADC1 Switch' on"
cset "name='Stereo1 ADC MIXR ADC2 Switch' on"
ucmdir = $(alsaconfigdir)/ucm/rt5651
ucm_DATA = EnableSeq.conf HeadPhones.conf IN1-InternalMic.conf \
IN2-InternalMic.conf IN12-InternalMic.conf IN3-HeadsetMic.conf \
- Speaker.conf
+ Speaker.conf MonoSpeaker.conf
EXTRA_DIST = $(ucm_DATA)
--- /dev/null
+SectionDevice."MonoSpeaker" {
+ Comment "Mono Speaker"
+
+ ConflictingDevice [
+ "Speaker"
+ "Headphones"
+ ]
+
+ EnableSequence [
+ cdev "hw:bytcrrt5651"
+
+ # Map left and right input on left
+ 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 [
+ cdev "hw:bytcrrt5651"
+ # 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 {
+ PlaybackChannels "2"
+ }
+}