From 154c602e89fb0da142eac57142569766be606148 Mon Sep 17 00:00:00 2001 From: Srinivas Kandagatla Date: Wed, 19 Mar 2025 15:25:58 +0100 Subject: [PATCH] ucm2: Qualcomm: add TUXEDO Elite 14 support 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 Signed-off-by: Ettore Chimenti Signed-off-by: Jaroslav Kysela --- ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf | 141 ++++++++++++++++++ ucm2/Qualcomm/x1e80100/TUXEDO-Elite-14.conf | 19 +++ ...EDO-TUXEDOElite14Gen1-2.0-TXEM14QX4NM.conf | 1 + 3 files changed, 161 insertions(+) create mode 100644 ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf create mode 100644 ucm2/Qualcomm/x1e80100/TUXEDO-Elite-14.conf create mode 120000 ucm2/conf.d/x1e80100/TUXEDO-TUXEDOElite14Gen1-2.0-TXEM14QX4NM.conf diff --git a/ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf b/ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf new file mode 100644 index 0000000..bd85f4a --- /dev/null +++ b/ucm2/Qualcomm/x1e80100/Elite-14-HiFi.conf @@ -0,0 +1,141 @@ +# Use case configuration for X1E80100. +# Author: Srinivas Kandagatla + +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 index 0000000..c96c5d7 --- /dev/null +++ b/ucm2/Qualcomm/x1e80100/TUXEDO-Elite-14.conf @@ -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 index 0000000..74d8c6e --- /dev/null +++ b/ucm2/conf.d/x1e80100/TUXEDO-TUXEDOElite14Gen1-2.0-TXEM14QX4NM.conf @@ -0,0 +1 @@ +../../Qualcomm/x1e80100/TUXEDO-Elite-14.conf \ No newline at end of file -- 2.47.3