# command-line sequence to switch playback/capture # alsaucm -c chtmax98090 set _verb HiFi set _enadev Headphone # alsaucm -c chtmax98090 set _verb HiFi set _enadev Speakers # alsaucm -c chtmax98090 set _verb HiFi set _enadev HeadsetMic # alsaucm -c chtmax98090 set _verb HiFi set _enadev InternalMic SectionVerb { EnableSequence [ cdev "hw:chtmax98090" # media mixer settings # compress cset "name='media0_in Gain 0 Switch' on" cset "name='media0_in Gain 0 Volume' 0" # normal cset "name='media1_in Gain 0 Switch' on" cset "name='media1_in Gain 0 Volume' 0" # deep buffer cset "name='media3_in Gain 0 Switch' on" cset "name='media3_in Gain 0 Volume' 0" cset "name='media0_out mix 0 media0_in Switch' on" cset "name='media0_out mix 0 media1_in Switch' on" cset "name='media0_out mix 0 media2_in Switch' off" cset "name='media0_out mix 0 media3_in Switch' on" cset "name='pcm0_in Gain 0 Switch' on" cset "name='pcm0_in Gain 0 Volume' 0" cset "name='pcm1_in Gain 0 Switch' off" cset "name='pcm1_in Gain 0 Volume' 0%" # codec0_out settings (used if ssp2 is connected to aif1) cset "name='codec_out0 mix 0 pcm0_in Switch' on" cset "name='codec_out0 Gain 0 Switch' on" cset "name='codec_out0 Gain 0 Volume' 0" # input settings # pcm1_out settings # input used when SSP2 is connected cset "name='codec_in0 Gain 0 Switch' on" cset "name='codec_in0 Gain 0 Volume' 0" cset "name='pcm1_out mix 0 codec_in0 Switch' on" cset "name='pcm1_out Gain 0 Switch' on" cset "name='pcm1_out Gain 0 Volume' 0" 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" # following 2 lines commented by gabriel_3 # cset "name='Headphone Volume' 10" # cset "name='Speaker Volume' 10" # following 2 lines added by gabriel_3 (volume values modified) cset "name='Headphone Volume' 25" cset "name='Speaker Volume' 32" 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:chtmax98090" CapturePCM "hw:chtmax98090" } } SectionDevice."Headphone" { Comment "Headphone" ConflictingDevice [ "Speakers" ] Value { JackControl "Headphone Jack" JackHWMute "Speakers" } EnableSequence [ cdev "hw:chtmax98090" cset "name='Headphone Left Switch' on" cset "name='Headphone Right Switch' on" cset "name='Headphone Switch' on" ] DisableSequence [ cdev "hw:chtmax98090" 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:chtmax98090" cset "name='Speaker Left Switch' on" cset "name='Speaker Right Switch' on" cset "name='Ext Spk Switch' on" ] DisableSequence [ cdev "hw:chtmax98090" 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 { # FIXME CaptureControl "MIC2" # following 3 lines added by gabriel_3: it fixes the FIXME above CapturePriority 200 CapturePCM "hw:chtmax98090" JackControl "Headset Mic Jack" } ConflictingDevice [ "InternalMic" ] EnableSequence [ cdev "hw:chtmax98090" cset "name='Headset Mic Switch' on" cset "name='DMIC Mux' ADC" cset "name='Record Path DC Blocking' on" # following two lines added by gabriel_3 cset "name='Left ADC Mixer MIC2 Switch' on" cset "name='Right ADC Mixer MIC2 Switch' on" ] DisableSequence [ cdev "hw:chtmax98090" cset "name='Headset Mic Switch' off" cset "name='DMIC Mux' DMIC" cset "name='Record Path DC Blocking' off" # following two lines added by gabriel_3 cset "name='Left ADC Mixer MIC2 Switch' off" cset "name='Right ADC Mixer MIC2 Switch' off" ] Value { CaptureChannels 2 } } SectionDevice."InternalMic" { Comment "Internal Mic" Value { # FIXME CaptureControl "MIC2" # following two line added by gabriel_3: it fixes the FIXME above CapturePriority 100 CapturePCM "hw:chtmax98090" } ConflictingDevice [ "HeadsetMic" ] EnableSequence [ cdev "hw:chtmax98090" cset "name='Int Mic Switch' on" cset "name='DMIC Mux' DMIC" cset "name='Record Path DC Blocking' off" ] DisableSequence [ cdev "hw:chtmax98090" cset "name='Int Mic Switch' off" cset "name='DMIC Mux' ADC" cset "name='Record Path DC Blocking' on" ] Value { CaptureChannels 2 } }