# command-line sequence to switch playback/capture # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev Headphone # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev Speakers # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev HeadsetMic # alsaucm -c sof-chtmax98090 set _verb HiFi set _enadev InternalMic SectionVerb { EnableSequence [ cdev "hw:sofchtmax98090" cset "name='Left Speaker Mixer Left DAC Switch' on" cset "name='Right Speaker Mixer Right DAC Switch' on" cset "name='Digital EQ 3 Band Switch' off" cset "name='Digital EQ 5 Band Switch' off" cset "name='Digital EQ 7 Band Switch' off" cset "name='Biquad Switch' off" cset "name='Filter Mode' Music" cset "name='ADC Oversampling Rate' 0" cset "name='DMIC Mux' DMIC" cset "name='MIC2 Mux' IN34" cset "name='MIC2 Volume' 10" cset "name='MIC2 Boost Volume' 0" cset "name='ADCR Boost Volume' 4" cset "name='ADCL Boost Volume' 4" cset "name='ADCR Volume' 11" cset "name='ADCL Volume' 11" cset "name='Headphone Volume' 10" cset "name='Speaker Volume' 10" cset "name='Speaker Left Mixer Volume' 3" cset "name='Speaker Right Mixer Volume' 3" cset "name='Record Path DC Blocking' on" cset "name='Playback Path DC Blocking' on" cset "name='Headphone Left Switch' off" cset "name='Headphone Right Switch' off" cset "name='Headphone Switch' off" cset "name='Speaker Left Switch' off" cset "name='Speaker Right Switch' off" cset "name='Ext Spk Switch' off" cset "name='Headset Mic Switch' off" cset "name='Int Mic Switch' off" ] DisableSequence [ ] # ALSA PCM Value { # ALSA PCM device for HiFi PlaybackPCM "hw:sofchtmax98090" CapturePCM "hw:sofchtmax98090" } } SectionDevice."Headphone" { Comment "Headphone" ConflictingDevice [ "Speakers" ] Value { JackControl "Headphone Jack" JackHWMute "Speakers" } EnableSequence [ cdev "hw:sofchtmax98090" cset "name='Headphone Left Switch' on" cset "name='Headphone Right Switch' on" cset "name='Headphone Switch' on" ] DisableSequence [ cdev "hw:sofchtmax98090" cset "name='Headphone Left Switch' off" cset "name='Headphone Right Switch' off" cset "name='Headphone Switch' off" ] Value { PlaybackChannels 2 } } SectionDevice."Speakers" { Comment "Speakers" ConflictingDevice [ "Headphone" ] EnableSequence [ cdev "hw:sofchtmax98090" cset "name='Speaker Left Switch' on" cset "name='Speaker Right Switch' on" cset "name='Ext Spk Switch' on" ] DisableSequence [ cdev "hw:sofchtmax98090" cset "name='Speaker Left Switch' off" cset "name='Speaker Right Switch' off" cset "name='Ext Spk Switch' off" ] Value { PlaybackChannels 2 } } SectionDevice."HeadsetMic" { Comment "Headset Mic" Value { JackControl "Headset Mic Jack" #FIXME CaptureControl "MIC2" } ConflictingDevice [ "InternalMic" ] EnableSequence [ cdev "hw:sofchtmax98090" cset "name='Headset Mic Switch' on" cset "name='DMIC Mux' ADC" cset "name='Record Path DC Blocking' on" ] DisableSequence [ cdev "hw:sofchtmax98090" cset "name='Headset Mic Switch' off" cset "name='DMIC Mux' DMIC" cset "name='Record Path DC Blocking' off" ] Value { CaptureChannels 2 } } SectionDevice."InternalMic" { Comment "Internal Mic" Value { #FIXME CaptureControl "MIC2" } ConflictingDevice [ "HeadsetMic" ] EnableSequence [ cdev "hw:sofchtmax98090" cset "name='Int Mic Switch' on" cset "name='DMIC Mux' DMIC" cset "name='Record Path DC Blocking' off" ] DisableSequence [ cdev "hw:sofchtmax98090" cset "name='Int Mic Switch' off" cset "name='DMIC Mux' ADC" cset "name='Record Path DC Blocking' on" ] Value { CaptureChannels 2 } }