]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
bytcr-wm5102: Add support for speakers connected to HPOUT2
authorHans de Goede <hdegoede@redhat.com>
Sat, 21 Oct 2023 21:16:13 +0000 (23:16 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 31 Oct 2023 15:38:31 +0000 (16:38 +0100)
On the Lenovo Yoga Tab 3 YT3-X90 the speaker amplifiers are connected
to the HPOUT2 output pins instead of the the SPK output pins.

Check for "cfg-spk:hpout2" in the components string which indicates
this setup and add a ucm2/codecs/wm5102/HPOut2-Speaker.conf file
for this setup.

Link: https://lore.kernel.org/alsa-devel/20231021211614.115152-1-hdegoede@redhat.com/
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/Intel/bytcr-wm5102/HiFi.conf
ucm2/codecs/wm5102/EnableSeq.conf
ucm2/codecs/wm5102/HPOut2-Speaker.conf [new file with mode: 0644]

index 1269868fd0ac11ec8a598d7a13c3803ee5c1d22d..2afc7572a137be464163bfc24f0e6a3d91d70bec 100644 (file)
@@ -21,7 +21,16 @@ SectionVerb {
        }
 }
 
-Include.spk.File "/codecs/wm5102/Speaker.conf"
+If.spk {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "cfg-spk:hpout2"
+       }
+       True.Include.hpout2.File "/codecs/wm5102/HPOut2-Speaker.conf"
+       False.Include.spk.File "/codecs/wm5102/Speaker.conf"
+}
+
 Include.hp.File "/codecs/wm5102/HeadPhones.conf"
 Include.mic.File "/codecs/wm5102/IN3-InternalMic.conf"
 Include.headset.File "/codecs/wm5102/IN1-HeadsetMic.conf"
index 6a857a2f7f0bb0b6e301d2383fdc7c2936413df1..87cb3bb9d63afca264a61b32d299629589c1d0c6 100644 (file)
@@ -4,6 +4,8 @@ EnableSequence [
        cset "name='SPKOUTR Input 1' AIF1RX2"
        cset "name='HPOUT1L Input 1' AIF1RX1"
        cset "name='HPOUT1R Input 1' AIF1RX2"
+       cset "name='HPOUT2L Input 1' AIF1RX1"
+       cset "name='HPOUT2R Input 1' AIF1RX2"
 
        # Both mics are quite soft by default, boost then
        cset "name='IN1L Volume' 28"
diff --git a/ucm2/codecs/wm5102/HPOut2-Speaker.conf b/ucm2/codecs/wm5102/HPOut2-Speaker.conf
new file mode 100644 (file)
index 0000000..375f9ba
--- /dev/null
@@ -0,0 +1,22 @@
+SectionDevice."Speaker" {
+       Comment "Speakers"
+
+       Value {
+               PlaybackPriority 100
+               PlaybackPCM "hw:${CardId}"
+       }
+
+       ConflictingDevice [
+               "Headphones"
+       ]
+
+       EnableSequence [
+               cset "name='HPOUT2 Digital Switch' on"
+               cset "name='Speaker Switch' on"
+       ]
+
+       DisableSequence [
+               cset "name='HPOUT2 Digital Switch' off"
+               cset "name='Speaker Switch' off"
+       ]
+}