Skip to content

Instantly share code, notes, and snippets.

@ford-prefect
Created September 24, 2020 21:20
Show Gist options
  • Save ford-prefect/3f59b1ba0191647dfc18ad9f1e3a3a91 to your computer and use it in GitHub Desktop.
Save ford-prefect/3f59b1ba0191647dfc18ad9f1e3a3a91 to your computer and use it in GitHub Desktop.
Fedora 32 sof-hda-dsp UCM config
# Use case Configuration for sof-hda-dsp
SectionVerb {
EnableSequence [
cset "name='Auto-Mute Mode' 'Disabled'"
]
}
SectionDevice."Headphones" {
Comment "Headphones"
EnableSequence [
cset "name='Headphone Playback Switch' on"
]
DisableSequence [
cset "name='Headphone Playback Switch' off"
]
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId}"
PlaybackMixerElem "Headphone"
PlaybackMasterElem "Master"
PlaybackVolume "Headphone Playback Volume"
PlaybackSwitch "Headphone Playback Switch"
If.jack {
Condition {
Type ControlExists
Control "iface=CARD,name='Headphone Mic Jack'"
}
True {
JackControl "Headphone Mic Jack"
}
False {
JackControl "Headphone Jack"
}
}
}
}
SectionDevice."Speaker" {
Comment "Speaker"
If.seq {
Condition {
Type ControlExists
Control "name='Bass Speaker Playback Switch'"
}
True {
EnableSequence [
cset "name='Speaker Playback Switch' on"
cset "name='Bass Speaker Playback Switch' on"
]
DisableSequence [
cset "name='Speaker Playback Switch' off"
cset "name='Bass Speaker Playback Switch' off"
]
}
False {
EnableSequence [
cset "name='Speaker Playback Switch' on"
]
DisableSequence [
cset "name='Speaker Playback Switch' off"
]
}
}
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId}"
PlaybackMixerElem "Speaker"
PlaybackMasterElem "Master"
PlaybackVolume "Speaker Playback Volume"
PlaybackSwitch "Speaker Playback Switch"
}
}
If.monomic {
Condition {
Type ControlExists
Control "name='Input Source'"
ControlEnum "Headphone Mic"
}
After.SectionDevice "Mic1"
True {
SectionDevice."Mic2" {
Comment "Headphones Stereo Microphone"
ConflictingDevice [
"Headset"
]
EnableSequence [
cset "name='Input Source' 'Headphone Mic'"
]
Value {
CapturePriority 200
<sof-hda-dsp/HDA-Capture-value.conf>
JackControl "Headphone Mic Jack"
}
}
SectionDevice."Headset" {
Comment "Headset Mono Microphone"
EnableSequence [
cset "name='Input Source' Headset Mic"
]
Value {
CapturePriority 300
<sof-hda-dsp/HDA-Capture-value.conf>
JackControl "Headphone Mic Jack"
}
}
}
False {
SectionDevice."Mic2" {
Comment "Headphones Stereo Microphone"
Value {
CapturePriority 200
<sof-hda-dsp/HDA-Capture-value.conf>
JackControl "Mic Jack"
}
}
}
}
SectionDevice."Mic1" {
Comment "Digital Microphone"
Value {
CapturePriority 100
CapturePCM "hw:${CardId},6"
If.chn {
Condition {
Type String
Haystack "${CardComponents}"
Needle "cfg-dmics:4"
}
True {
CaptureChannels 4
}
}
If.vol {
Condition {
Type ControlExists
Control "name='Dmic0 Capture Switch'"
}
True {
CaptureMixerElem "Dmic0"
CaptureVolume "Dmic0 Capture Volume"
CaptureSwitch "Dmic0 Capture Switch"
}
False {
# v1.3 SOF firmware
CaptureMixerElem "PGA10.0 10 Master"
CaptureVolume "PGA10.0 10 Master Capture Volume"
}
}
}
}
<sof-hda-dsp/Hdmi.conf>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment