# Use case Configuration for sof-hda-dsp SectionVerb { If.automute { Condition { Type ControlExists Control "name='Auto-Mute Mode'" } True { EnableSequence [ cset "name='Auto-Mute Mode' 'Disabled'" ] } } } SectionDevice."Headphones" { Comment "Headphones" If.headphone_switch { Condition { Type ControlExists Control "name='Headphone Playback Switch'" } True { 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 JackControl "Headphone Mic Jack" } } SectionDevice."Headset" { Comment "Headset Mono Microphone" EnableSequence [ cset "name='Input Source' Headset Mic" ] Value { CapturePriority 300 JackControl "Headphone Mic Jack" } } } False { SectionDevice."Mic2" { Comment "Headphones Stereo Microphone" Value { CapturePriority 200 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" } } } }