Skip to content

Commit

Permalink
Qualcomm: Add SM8550 HDK HiFi config
Browse files Browse the repository at this point in the history
Add UCM2 configs for the Qualcomm SM8550-HDK Board to handle:
- on-board Speakers
- Headphones speakers
- Headphones Microphones
- Top and Bottom on-board Microphones

Tested with PulseAudio 16.1

Signed-off-by: Neil Armstrong <[email protected]>
  • Loading branch information
superna9999 committed Feb 1, 2024
1 parent fca9024 commit 71180d5
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 0 deletions.
99 changes: 99 additions & 0 deletions ucm2/Qualcomm/sm8550/HDK/HiFi.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
SectionVerb {
EnableSequence [
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"
]

Include.wsae.File "/codecs/wsa884x/two-speakers/DefaultEnableSeq.conf"

Value {
TQ "HiFi"
}
}

SectionDevice."Speaker" {
Comment "Speaker playback"

Include.wcdspk1e.File "/codecs/qcom-lpass/wsa-macro/SpeakerEnableSeq.conf"
Include.wcdspk1d.File "/codecs/qcom-lpass/wsa-macro/SpeakerDisableSeq.conf"
Include.wsaspkd.File "/codecs/wsa884x/two-speakers/SpeakerSeq.conf"

Value {
PlaybackChannels 2
PlaybackPriority 100
PlaybackPCM "hw:${CardId},1"
PlaybackMixer "default:${CardId}"
}
}

SectionDevice."Headphones" {
Comment "Headphones playback"

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 Digital"
JackControl "Headphone Jack"
JackHWMute "Speaker"
}
}

SectionDevice."Top" {
Comment "Top Microphone"

Include.wcdmice.File "/codecs/wcd938x/AnalogMic1EnableSeq.conf"
Include.wcdmicd.File "/codecs/wcd938x/AnalogMic1DisableSeq.conf"
# WCD938x ADC1 is routed to TX SWR_INPUT0
Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic0EnableSeq.conf"
Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/SoundwireMicDisableSeq.conf"

Value {
CaptureChannels 1
CapturePriority 200
CapturePCM "hw:${CardId},2"
CaptureMixerElem "ADC1"
}
}

SectionDevice."Mic" {
Comment "Mic"

Include.wcdmice.File "/codecs/wcd938x/HeadphoneMicEnableSeq.conf"
Include.wcdmicd.File "/codecs/wcd938x/HeadphoneMicDisableSeq.conf"
# WCD938x ADC2 is routed to TX SWR_INPUT1
Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic1EnableSeq.conf"
Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/HeadphoneMicDisableSeq.conf"

Value {
CapturePriority 100
CapturePCM "hw:${CardId},2"
CaptureMixerElem "ADC2"
JackControl "Mic Jack"
JackHWMute "Top"
JackHWMute "Bottom"
}
}

SectionDevice."Bottom" {
Comment "Bottom Microphone"

Include.wcdmice.File "/codecs/wcd938x/AnalogMic5EnableSeq.conf"
Include.wcdmicd.File "/codecs/wcd938x/AnalogMic5DisableSeq.conf"
# WCD938x ADC4 is routed to TX SWR_INPUT1
Include.txmhpe.File "/codecs/qcom-lpass/tx-macro/SoundwireMic1EnableSeq.conf"
Include.txmhpd.File "/codecs/qcom-lpass/tx-macro/SoundwireMicDisableSeq.conf"

Value {
CaptureChannels 1
CapturePriority 100
CapturePCM "hw:${CardId},2"
CaptureMixerElem "ADC1"
}
}
13 changes: 13 additions & 0 deletions ucm2/Qualcomm/sm8550/HDK/SM8550-HDK.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Syntax 4

SectionUseCase."HiFi" {
File "/Qualcomm/sm8550/HDK/HiFi.conf"
Comment "HiFi quality Music."
}

Include.card-init.File "/lib/card-init.conf"
Include.ctl-remap.File "/lib/ctl-remap.conf"
Include.codec-init.File "/codecs/wsa884x/two-speakers/init.conf"
Include.codec-init.File "/codecs/wcd938x/init.conf"
Include.codec-init.File "/codecs/qcom-lpass/wsa-macro/init.conf"
Include.codec-init.File "/codecs/qcom-lpass/rx-macro/init.conf"
1 change: 1 addition & 0 deletions ucm2/conf.d/sm8550/SM8550-HDK.conf

0 comments on commit 71180d5

Please sign in to comment.