Skip to content

Instantly share code, notes, and snippets.

@valpackett
Last active May 19, 2026 00:55
Show Gist options
  • Select an option

  • Save valpackett/3ee15e2c99effbaf0680457c7df628c0 to your computer and use it in GitHub Desktop.

Select an option

Save valpackett/3ee15e2c99effbaf0680457c7df628c0 to your computer and use it in GitHub Desktop.
motorola-dubai ucm2 wip
# /usr/share/alsa/ucm2/Motorola/dubai/dubai.conf
Syntax 4
LibraryConfig.remap.Config {
ctl.default.map."name='Amplifier Playback Volume'" {
"name='Amplifier L PCM Playback Volume'".vindex.0 0
"name='Amplifier R PCM Playback Volume'".vindex.1 0
}
}
SectionUseCase."HiFi" {
File "/Motorola/dubai/HiFi.conf"
Comment "HiFi quality Music."
}
SectionUseCase."Voice Call" {
File "/Motorola/dubai/VoiceCall.conf"
Comment "Ass quality Voice."
}
BootSequence [
cset "name='HPHL Volume' 20"
cset "name='HPHR Volume' 20"
cset "name='ADC1 Volume' 12"
cset "name='ADC2 Volume' 12"
cset "name='ADC3 Volume' 12"
]
Include.card-init.File "/lib/card-init.conf"
Include.ctl-remap.File "/lib/ctl-remap.conf"
Include.wcd-init.File "/codecs/wcd937x/init.conf"
# /usr/share/alsa/ucm2/Motorola/dubai/HiFi.conf
SectionVerb {
EnableSequence [
cset "name='SEN_MI2S_RX Audio Mixer MultiMedia1' 1"
cset "name='MultiMedia3 Mixer TX_CODEC_DMA_TX_3' 1"
cset "name='ADC1 Switch' 0"
cset "name='ADC2 Switch' 0"
cset "name='ADC3 Switch' 0"
cset "name='ADC1_MIXER Switch' 0"
cset "name='ADC2_MIXER Switch' 0"
]
DisableSequence [
cset "name='SEN_MI2S_RX Audio Mixer MultiMedia1' 0"
cset "name='MultiMedia3 Mixer TX_CODEC_DMA_TX_3' 0"
]
Value {
TQ "Music"
}
}
SectionDevice."Speaker" {
Comment "Speaker playback"
Value {
PlaybackChannels 2
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
PlaybackMixer "default:${CardId}"
PlaybackVolume "Amplifier Playback Volume"
}
}
SectionDevice."Mic1" {
Comment "Top Microphone"
ConflictingDevice [
"Mic3"
]
Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic0EnableSeq.conf"
Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/SoundwireMicDisableSeq.conf"
EnableSequence [
cset "name='ADC1_MIXER Switch' 1"
cset "name='ADC1 Switch' 1"
cset "name='TX_DEC0 Volume' 84"
]
DisableSequence [
cset "name='ADC1_MIXER Switch' 0"
cset "name='ADC1 Switch' 0"
]
Value {
CaptureChannels 1
CapturePriority 200
CapturePCM "hw:${CardId},2"
CaptureMixerElem "ADC1"
CaptureVolume "ADC1 Volume"
}
}
SectionDevice."Mic3" {
Comment "Bottom Microphone"
ConflictingDevice [
"Mic1"
]
#Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic1EnableSeq.conf"
Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/SoundwireMicDisableSeq.conf"
EnableSequence [
cset "name='TX DEC0 MUX' SWR_MIC"
cset "name='TX SMIC MUX0' SWR_MIC4"
cset "name='TX_AIF1_CAP Mixer DEC0' 1"
cset "name='DEC0 MODE' ADC_DEFAULT"
cset "name='TX_DEC0 Volume' 84"
# ]
# EnableSequence [
cset "name='ADC2 Switch' 1"
cset "name='ADC2_MIXER Switch' 1"
cset "name='ADC2 MUX' INP3"
]
DisableSequence [
cset "name='ADC2_MIXER Switch' 0"
cset "name='ADC2 Switch' 0"
]
Value {
CaptureChannels 1
CapturePriority 200
CapturePCM "hw:${CardId},2"
#CaptureMixerElem "ADC2"
#CaptureVolume "ADC2 Volume"
}
}
# /usr/share/alsa/ucm2/Motorola/dubai/VoiceCall.conf
SectionVerb {
EnableSequence [
cset "name='SEN_MI2S_RX Audio Mixer MultiMedia1' 1"
cset "name='MultiMedia3 Mixer TX_CODEC_DMA_TX_3' 1"
cset "name='SEN_MI2S_RX Voice Mixer VoiceMMode1' 1"
cset "name='VoiceMMode1 Capture Mixer TX_CODEC_DMA_TX_3' 1"
cset "name='ADC1 Switch' 0"
cset "name='ADC2 Switch' 0"
cset "name='ADC3 Switch' 0"
cset "name='ADC1_MIXER Switch' 0"
cset "name='ADC2_MIXER Switch' 0"
]
DisableSequence [
cset "name='VoiceMMode1 Capture Mixer TX_CODEC_DMA_TX_3' 0"
cset "name='SEN_MI2S_RX Voice Mixer VoiceMMode1' 0"
cset "name='MultiMedia3 Mixer TX_CODEC_DMA_TX_3' 0"
cset "name='SEN_MI2S_RX Audio Mixer MultiMedia1' 0"
]
Value {
TQ "Voice"
}
}
SectionDevice."Earpiece" {
Comment "Earpiece"
EnableSequence [
cset "name='Amplifier L Profile Set' Receiver"
cset "name='Amplifier R Profile Set' Receiver"
cset "name='Amplifier L PCM Playback Volume' 0"
exec "systemctl --user start q6voiced2@Rhw:${CardId},4"
]
DisableSequence [
exec "systemctl --user stop q6voiced2@Rhw:${CardId},4"
cset "name='Amplifier L Profile Set' Music"
cset "name='Amplifier R Profile Set' Music"
]
Value {
PlaybackChannels 1
PlaybackPriority 200
PlaybackPCM "hw:${CardId},0"
PlaybackMixer "default:${CardId}"
PlaybackVolume "Amplifier R PCM Playback Volume"
}
}
SectionDevice."Speaker" {
Comment "Speaker"
EnableSequence [
exec "systemctl --user start q6voiced2@Rhw:${CardId},4"
]
DisableSequence [
exec "systemctl --user stop q6voiced2@Rhw:${CardId},4"
]
Value {
PlaybackChannels 1
PlaybackPriority 100
PlaybackPCM "hw:${CardId},0"
PlaybackMixer "default:${CardId}"
PlaybackVolume "Amplifier Playback Volume"
}
}
SectionDevice."Mic3" {
Comment "Bottom Microphone"
#Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic1EnableSeq.conf"
Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/SoundwireMicDisableSeq.conf"
EnableSequence [
cset "name='TX DEC0 MUX' SWR_MIC"
cset "name='TX SMIC MUX0' SWR_MIC4"
cset "name='TX_AIF1_CAP Mixer DEC0' 1"
cset "name='DEC0 MODE' ADC_DEFAULT"
cset "name='TX_DEC0 Volume' 84"
# ]
# EnableSequence [
cset "name='ADC2 Switch' 1"
cset "name='ADC2_MIXER Switch' 1"
cset "name='ADC2 MUX' INP3"
exec "systemctl --user start q6voiced2@Thw:${CardId},4"
]
DisableSequence [
exec "systemctl --user stop q6voiced2@Thw:${CardId},4"
cset "name='ADC2_MIXER Switch' 0"
cset "name='ADC2 Switch' 0"
]
Value {
CaptureChannels 1
CapturePriority 200
CapturePCM "hw:${CardId},2"
# CaptureMixerElem "ADC2"
# CaptureVolume "ADC2 Volume"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment