# Based on https://github.com/Midas-Mainline/android_device_midas_common/blob/lineage-18.1/configs/audio.i9300.xml SectionVerb { EnableSequence [ cdev "hw:Midas" # do not change the adc & dac source of AIF2 cset "name='AIF2DACL Source' 0" cset "name='AIF2DACR Source' 0" cset "name='AIF2ADCL Source' 0" cset "name='AIF2ADCR Source' 1" # AIF1->DAC1 cset "name='DAC1 Switch' 1" # general cset "name='IN1L ZC Switch' 0" cset "name='IN1R ZC Switch' 0" cset "name='IN2L ZC Switch' 0" cset "name='IN2R ZC Switch' 0" cset "name='Output ZC Switch' 0" cset "name='Speaker ZC Switch' 0" cset "name='Headphone ZC Switch' 0" # AIF1->DAC1 cset "name='DAC1L Mixer AIF1.1 Switch' 1" cset "name='DAC1R Mixer AIF1.1 Switch' 1" cset "name='DAC1 Switch' 1" # ADC->AIF2 cset "name='AIF2DAC2L Mixer Left Sidetone Switch' 1" cset "name='AIF2DAC2L Mixer Right Sidetone Switch' 0" cset "name='AIF2DAC2R Mixer Left Sidetone Switch' 0" cset "name='AIF2DAC2R Mixer Right Sidetone Switch' 1" cset "name='DAC2 Left Sidetone Volume' 12" cset "name='DAC2 Right Sidetone Volume' 12" cset "name='DAC2 Switch' 1" # DAC1->HP cset "name='Left Headphone Mux' Mixer" cset "name='Right Headphone Mux' Mixer" # DAC1->SPKL/R->SPKL/R Boost->SPK cset "name='SPKL DAC1 Switch' 1" cset "name='SPKR DAC1 Switch' 1" cset "name='SPKL Boost SPKL Switch' 1" cset "name='SPKL Boost SPKR Switch' 1" cset "name='SPKR Boost SPKL Switch' 0" cset "name='SPKR Boost SPKR Switch' 0" cset "name='Speaker Mixer Volume' 3" # DAC->Output mixer->Earpiece cset "name='Left Output Mixer DAC Switch' 1" cset "name='Right Output Mixer DAC Switch' 1" cset "name='Earpiece Mixer Left Output Switch' 1" cset "name='Earpiece Mixer Right Output Switch' 1" cset "name='Earpiece Switch' 1" # LINEOUT cset "name='LINEOUT2N Mixer Left Output Switch' 1" cset "name='LINEOUT2P Mixer Right Output Switch' 1" cset "name='LINEOUT1N Mixer Right Output Switch' 1" cset "name='LINEOUT1P Mixer Left Output Switch' 1" # Input mixer->ADC->AIF1.1 cset "name='AIF1ADC1L Mixer ADC/DMIC Switch' 1" cset "name='AIF1ADC1R Mixer ADC/DMIC Switch' 1" # Main Mic->IN1LP/N->Input Mixer with +30dB at mixer cset "name='IN1L PGA IN1LP Switch' 1" cset "name='IN1L PGA IN1LN Switch' 1" cset "name='MIXINL IN1L Volume' 1" cset "name='IN1L Switch' 1" # Sub Mic->IN1RP/N->Input Mixer with +30dB at mixer cset "name='IN1R PGA IN1RP Switch' 1" cset "name='IN1R PGA IN1RN Switch' 1" cset "name='MIXINR IN1R Volume' 1" cset "name='IN1R Switch' 1" # FM Radio->IN2RP/N->Input Mixer with +30dB at mixer cset "name='IN2R PGA IN2RP Switch' 1" cset "name='IN2R PGA IN2RN Switch' 1" cset "name='MIXINR IN2R Volume' 1" cset "name='IN2R Switch' 1" # Ear Mic->IN2LP/N->Input Mixer with +30dB at mixer cset "name='IN2L PGA IN2LP Switch' 1" cset "name='IN2L PGA IN2LN Switch' 1" cset "name='MIXINL IN2L Volume' 1" cset "name='IN2L Switch' 1" # Input mixer->ADC->AIF1 cset "name='AIF1ADC1L Mixer ADC/DMIC Switch' 1" cset "name='AIF1ADC1R Mixer ADC/DMIC Switch' 1" cset "name='ADCL Mux' ADC" # HPF on to take out some bounce cset "name='Sidetone HPF Switch' 0" # Work around core issue cset "name='ADCL Mux' DMIC" cset "name='ADCL Mux' ADC" cset "name='ADCR Mux' DMIC" cset "name='ADCR Mux' ADC" # AIF2ADCDAT to AIF3ADC mux cset "name='AIF3ADC Mux' 1" # Default all outputs off cset "name='HP Switch' 0" cset "name='SPK Switch' 0" cset "name='RCV Switch' 0" cset "name='LINE Switch' 0" cset "name='HDMI Switch' 0" # Default all inputs off cset "name='Main Mic Switch' 0" cset "name='Sub Mic Switch' 0" cset "name='Headset Mic Switch' 0" cset "name='FM In Switch' 0" # EQ Switches cset "name='AIF1DAC1 EQ Switch' 1" cset "name='AIF1DAC1 EQ1 Volume' 9" cset "name='AIF1DAC1 EQ2 Volume' 7" cset "name='AIF1DAC1 EQ3 Volume' 10" cset "name='AIF1DAC1 EQ4 Volume' 13" cset "name='AIF1DAC1 EQ5 Volume' 12" cset "name='Headphone Volume' 50" cset "name='AIF1DAC1 Volume' 96" cset "name='AIF1 Boost Volume' 0" cset "name='DAC1 Volume' 96" cset "name='Left Output Mixer DAC Volume' 7" cset "name='Right Output Mixer DAC Volume' 7" ] DisableSequence [ ] } SectionDevice."Speaker" { Comment "Built-in speaker" EnableSequence [ cset "name='SPK Switch' 1" cset "name='AIF1DAC1 Volume' 96" cset "name='AIF1 Boost Volume' 0" cset "name='DAC1 Volume' 96" cset "name='Left Output Mixer DAC Volume' 7" cset "name='Right Output Mixer DAC Volume' 7" cset "name='SPKL DAC1 Volume' 1" cset "name='SPKR DAC1 Volume' 1" cset "name='Speaker Mixer Volume' 3" cset "name='Speaker Boost Volume' 4" cset "name='Speaker Volume' 57" ] DisableSequence [ cset "name='SPK Switch' 0" cset "name='Speaker Mixer Volume' 1" cset "name='Speaker Volume' 0" ] Value { PlaybackVolume "Speaker Volume" PlaybackSwitch "SPK Switch" PlaybackChannels 2 PlaybackPCM "hw:${CardId}" } } SectionDevice."BackInternalMicrophone" { Comment "Back Internal Microphone" EnableSequence [ cset "name='Sub Mic Switch' 1" cset "name='IN1R Volume' 22" cset "name='MIXINR IN1R Switch' 1" cset "name='MIXINR IN1R Volume' 1" cset "name='AIF1ADCR Source' 1" cset "name='AIF2ADCR Source' 1" cset "name='AIF1ADC1 HPF Mode' 1" cset "name='AIF1ADC1 HPF Switch' 1" cset "name='AIF1ADC1 Volume' 96" ] DisableSequence [ cset "name='Sub Mic Switch' 0" cset "name='MIXINR IN1R Switch' 0" cset "name='IN1R Volume' 10" ] Value { CapturePCM "hw:${CardId}" CaptureChannels 2 CaptureVolume "IN1R Volume" } } SectionDevice."HeadsetIn" { Comment "Headset Input" EnableSequence [ cset "name='MIXINL IN1L Switch' 0" cset "name='MIXINR IN1R Switch' 0" cset "name='Headset Mic Switch' 1" cset "name='IN2L Volume' 22" cset "name='MIXINL IN2L Switch' 1" cset "name='MIXINL IN2L Volume' 1" cset "name='AIF1ADC1 HPF Mode' 1" cset "name='AIF1ADC1 HPF Switch' 1" cset "name='AIF1ADC1 Volume' 96" cset "name='AIF1ADCL Source' 0" cset "name='AIF1ADCR Source' 0" cset "name='AIF2ADCL Source' 0" ] DisableSequence [ cset "name='Headset Mic Switch' 0" cset "name='IN2L Volume' 10" cset "name='MIXINL IN2L Switch' 0" cset "name='MIXINL IN2L Volume' 0" cset "name='AIF1ADC1 HPF Mode' 0" cset "name='AIF1ADC1 HPF Switch' 0" cset "name='AIF1ADC1 Volume' 96" ] Value { CapturePCM "hw:${CardId}" CaptureChannels 2 CaptureVolume "IN2L Volume" } }