]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
ucm2: Qualcomm: add TUXEDO Elite 14 support
authorSrinivas Kandagatla <srini@kernel.org>
Wed, 19 Mar 2025 14:25:58 +0000 (15:25 +0100)
committerJaroslav Kysela <perex@perex.cz>
Fri, 5 Dec 2025 08:38:27 +0000 (09:38 +0100)
TUXEDO Elite 14 Gen1 Supports:
- 4 speakers
- 2 dmics
- Headset
- Display ports

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/638
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Signed-off-by: Ettore Chimenti <ettore.chimenti@linaro.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf [new file with mode: 0644]
ucm2/Qualcomm/x1e80100/TUXEDO-Elite-14.conf [new file with mode: 0644]
ucm2/conf.d/x1e80100/TUXEDO-TUXEDOElite14Gen1-2.0-TXEM14QX4NM.conf [new symlink]

diff --git a/ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf b/ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf
new file mode 100644 (file)
index 0000000..bd85f4a
--- /dev/null
@@ -0,0 +1,141 @@
+# Use case configuration for X1E80100.
+# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
+
+SectionVerb {
+       EnableSequence [
+               cset "name='DISPLAY_PORT_RX_0 Audio Mixer MultiMedia1' 0"
+               cset "name='DISPLAY_PORT_RX_2 Audio Mixer MultiMedia1' 0"
+               cset "name='RX_CODEC_DMA_RX_0 Audio Mixer MultiMedia1' 1"
+               cset "name='WSA_CODEC_DMA_RX_0 Audio Mixer MultiMedia2' 1"
+               cset "name='MultiMedia3 Mixer TX_CODEC_DMA_TX_3' 1"
+               cset "name='MultiMedia4 Mixer VA_CODEC_DMA_TX_0' 1"
+       ]
+
+       Include.wsae.File "/codecs/wsa884x/four-speakers/DefaultEnableSeq.conf"
+       Include.wsm1e.File "/codecs/qcom-lpass/wsa-macro/Wsa1SpeakerEnableSeq.conf"
+       Include.wsm2e.File "/codecs/qcom-lpass/wsa-macro/Wsa2SpeakerEnableSeq.conf"
+
+       Value {
+               TQ "HiFi"
+       }
+}
+
+SectionDevice."Speaker" {
+       Comment "Speaker playback"
+
+       Include.wsmspk1e.File "/codecs/qcom-lpass/wsa-macro/Wsa1SpeakerEnableSeq.conf"
+       Include.wsmspk2e.File "/codecs/qcom-lpass/wsa-macro/Wsa2SpeakerEnableSeq.conf"
+       Include.wsmspk1d.File "/codecs/qcom-lpass/wsa-macro/Wsa1SpeakerDisableSeq.conf"
+       Include.wsmspk2d.File "/codecs/qcom-lpass/wsa-macro/Wsa2SpeakerDisableSeq.conf"
+       Include.wsaspk.File "/codecs/wsa884x/four-speakers/SpeakerSeq.conf"
+
+       Value {
+               PlaybackChannels 4
+               PlaybackPriority 100
+               PlaybackPCM "hw:${CardId},1"
+               PlaybackMixer "default:${CardId}"
+               PlaybackMixerElem "Speakers"
+       }
+}
+
+SectionDevice."Headphones" {
+       Comment "Headphones playback"
+
+       ConflictingDevice [
+               "HDMI0"
+               "HDMI2"
+       ]
+
+       Include.wcdhpe.File "/codecs/wcd938x/HeadphoneEnableSeq.conf"
+       Include.wcdhpd.File "/codecs/wcd938x/HeadphoneDisableSeq.conf"
+       Include.rxmhpe.File "/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.conf"
+       Include.rxmhpd.File "/codecs/qcom-lpass/rx-macro/HeadphoneDisableSeq.conf"
+
+       Value {
+               PlaybackPriority 200
+               PlaybackPCM "hw:${CardId},0"
+               PlaybackMixer "default:${CardId}"
+               PlaybackMixerElem "HP"
+               JackControl "Headphone Jack"
+       }
+}
+
+SectionDevice."Headset" {
+       Comment "Headset microphone"
+
+       Include.wcdmice.File "/codecs/wcd938x/HeadphoneMicEnableSeq.conf"
+       Include.wcdmicd.File "/codecs/wcd938x/HeadphoneMicDisableSeq.conf"
+       Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic1EnableSeq.conf"
+       Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/SoundwireMicDisableSeq.conf"
+
+       Value {
+               CapturePriority 200
+               CapturePCM "hw:${CardId},2"
+               CaptureMixerElem "ADC2"
+               JackControl "Mic Jack"
+       }
+}
+
+SectionDevice."Mic" {
+       Comment "Internal microphones"
+
+       Include.vadm0e.File "/codecs/qcom-lpass/va-macro/DMIC0EnableSeq.conf"
+       Include.vadm0d.File "/codecs/qcom-lpass/va-macro/DMIC0DisableSeq.conf"
+       Include.vadm1e.File "/codecs/qcom-lpass/va-macro/DMIC1EnableSeq.conf"
+       Include.vadm1d.File "/codecs/qcom-lpass/va-macro/DMIC1DisableSeq.conf"
+
+       Value {
+               CapturePriority 100
+               CapturePCM "hw:${CardId},3"
+       }
+}
+
+SectionDevice."HDMI0" {
+       Comment "USB/DisplayPort 0 playback"
+
+       ConflictingDevice [
+               "Headphones"
+               "HDMI2"
+       ]
+
+       EnableSequence [
+               cset "name='RX_CODEC_DMA_RX_0 Audio Mixer MultiMedia1' 0"
+               cset "name='DISPLAY_PORT_RX_0 Audio Mixer MultiMedia1' 1"
+               cset "name='DISPLAY_PORT_RX_2 Audio Mixer MultiMedia1' 0"
+       ]
+
+       DisableSequence [
+               cset "name='DISPLAY_PORT_RX_0 Audio Mixer MultiMedia1' 0"
+       ]
+
+       Value {
+               PlaybackPriority 200
+               PlaybackPCM "hw:${CardId},0"
+               JackControl "DP0 Jack"
+       }
+}
+
+SectionDevice."HDMI2" {
+       Comment "HDMI playback"
+
+       ConflictingDevice [
+               "Headphones"
+               "HDMI0"
+       ]
+
+       EnableSequence [
+               cset "name='RX_CODEC_DMA_RX_0 Audio Mixer MultiMedia1' 0"
+               cset "name='DISPLAY_PORT_RX_0 Audio Mixer MultiMedia1' 0"
+               cset "name='DISPLAY_PORT_RX_2 Audio Mixer MultiMedia1' 1"
+       ]
+
+       DisableSequence [
+               cset "name='DISPLAY_PORT_RX_2 Audio Mixer MultiMedia1' 0"
+       ]
+
+       Value {
+               PlaybackPriority 200
+               PlaybackPCM "hw:${CardId},0"
+               JackControl "DP2 Jack"
+       }
+}
diff --git a/ucm2/Qualcomm/x1e80100/TUXEDO-Elite-14.conf b/ucm2/Qualcomm/x1e80100/TUXEDO-Elite-14.conf
new file mode 100644 (file)
index 0000000..c96c5d7
--- /dev/null
@@ -0,0 +1,19 @@
+Syntax 4
+
+SectionUseCase."HiFi" {
+       File "/Qualcomm/x1e80100/Elite-14-HiFi.conf"
+       Comment "HiFi quality Music."
+}
+
+BootSequence [
+       cset "name='HPHL Volume' 20"
+       cset "name='HPHR Volume' 20"
+       cset "name='ADC2 Volume' 10"
+]
+
+Include.card-init.File "/lib/card-init.conf"
+Include.ctl-remap.File "/lib/ctl-remap.conf"
+Include.wcd-init.File "/codecs/wcd938x/init.conf"
+Include.wsa-init.File "/codecs/wsa884x/two-speakers/init.conf"
+Include.wsam-init.File "/codecs/qcom-lpass/wsa-macro/init.conf"
+Include.rxm-init.File "/codecs/qcom-lpass/rx-macro/init.conf"
diff --git a/ucm2/conf.d/x1e80100/TUXEDO-TUXEDOElite14Gen1-2.0-TXEM14QX4NM.conf b/ucm2/conf.d/x1e80100/TUXEDO-TUXEDOElite14Gen1-2.0-TXEM14QX4NM.conf
new file mode 120000 (symlink)
index 0000000..74d8c6e
--- /dev/null
@@ -0,0 +1 @@
+../../Qualcomm/x1e80100/TUXEDO-Elite-14.conf
\ No newline at end of file