pmaports/device/testing/device-pine64-pinephonepro/ucm/VoiceCall.conf

233 lines
6.4 KiB
Text

SectionVerb {
EnableSequence [
### Default rt5640 configuration, copied from /codecs/rt5640/EnableSeq.conf ###
# RT5640 default output routing
# cset "name='DAC MIXL INF1 Switch' on"
# cset "name='DAC MIXR INF1 Switch' on"
cset "name='Stereo DAC MIXL DAC L1 Switch' on"
cset "name='Stereo DAC MIXR DAC R1 Switch' on"
cset "name='Stereo DAC MIXL DAC L2 Switch' on"
cset "name='Stereo DAC MIXR DAC R2 Switch' on"
# cset "name='OUT MIXL DAC L1 Switch' on"
# cset "name='OUT MIXR DAC R1 Switch' on"
# cset "name='SPK MIXL DAC L1 Switch' on"
# cset "name='SPK MIXR DAC R1 Switch' on"
# uncomment to enable swap between AIF1 and AIF2
# warning: can only work with SSP0 firmware enabled
cset "name='SDI select' 0"
cset "name='DAI select' 0"
#cset "name='SDI select' 1"
#cset "name='DAI select' 1"
cset "name='DAC2 Playback Switch' on"
# Input Configuration
cset "name='Stereo ADC1 Mux' ADC"
cset "name='Stereo ADC2 Mux' DMIC1"
cset "name='ADC Capture Switch' on"
cset "name='Mono ADC L1 Mux' ADCL"
cset "name='Mono ADC R1 Mux' ADCR"
cset "name='Mono ADC L2 Mux' DMIC L1"
cset "name='Mono ADC R2 Mux' DMIC R1"
cset "name='Mono ADC Capture Switch' on"
# The second 'Mono ADC' path does not have a 'Boost Gain',
# set this to 0dB so that the volume of the AIF1 and AIF2 paths is equal.
cset "name='ADC Boost Gain' 0"
# Set IN1/IN3 internal mic boost to 8 (max)
# Set IN2 headset-mic boost to 1, headset mics are quite loud
cset "name='IN1 Boost' 8"
cset "name='IN2 Boost' 1"
# cset "name='IN3 Boost' 8"
# Start with all controls which are used by the individual
# input/output Enable/DisableSequences off
cset "name='RECMIXL BST1 Switch' off"
cset "name='RECMIXR BST1 Switch' off"
# cset "name='RECMIXL BST2 Switch' off"
cset "name='RECMIXR BST2 Switch' off"
cset "name='RECMIXL BST3 Switch' off"
# cset "name='RECMIXR BST3 Switch' off"
cset "name='Stereo ADC MIXL ADC1 Switch' off"
cset "name='Stereo ADC MIXR ADC1 Switch' off"
cset "name='Stereo ADC MIXL ADC2 Switch' off"
cset "name='Stereo ADC MIXR ADC2 Switch' off"
cset "name='Mono ADC MIXL ADC1 Switch' off"
cset "name='Mono ADC MIXR ADC1 Switch' off"
cset "name='Mono ADC MIXL ADC2 Switch' off"
cset "name='Mono ADC MIXR ADC2 Switch' off"
# Turn off playback switches by default, otherwise both Speaker
# and headphones are playing audio initially until headphones are
# re-inserted.
cset "name='HP L Playback Switch' off"
cset "name='HP R Playback Switch' off"
cset "name='Speaker L Playback Switch' off"
cset "name='Speaker R Playback Switch' off"
### PinePhonePro specific configuration ###
# Get audio only from the microphones, not the system
cset "name='DAC MIXL INF1 Switch' off"
cset "name='DAC MIXR INF1 Switch' off"
cset "name='DAC MIXL Stereo ADC Switch' on"
cset "name='DAC MIXR Stereo ADC Switch' on"
# Route headset mic to the left channel and modem audio
# to the right channel
cset "name='RECMIXL BST2 Switch' on"
cset "name='RECMIXR BST3 Switch' on"
# Set capture volume to 0dB so modem audio doesn't overdrive the ADC
cset "name='ADC Capture Volume' 47"
cset "name='Mono ADC Capture Volume' 47"
# Modem audio is line level, no need to boost this signal
cset "name='IN3 Boost' 0"
# MONO output is used as IN3 here, so make sure it's disabled
cset "name='Mono Playback Switch' off"
# Set playback volumes to 0dB
cset "name='HP Playback Volume' 31"
cset "name='Speaker Playback Volume' 31"
# Limit amplification factor of earpiece amplifier so sound stays clear
cset "name='Class D SPK Ratio Control' 1.66x"
# Loopback IN3 to earpiece/speaker/headphones
cset "name='OUT MIXR REC MIXR Switch' on"
cset "name='SPK MIXR OUT MIXR Switch' on"
# Send the left channel (microphones) to the modem through DAC L1
cset "name='LOUT MIX DAC L1 Switch' on"
# Don't use DAC R1 nor the OUTVOL blocks as we use them for
# routing audio from the modem
cset "name='LOUT MIX DAC R1 Switch' off"
cset "name='LOUT MIX OUTVOL L Switch' off"
cset "name='LOUT MIX OUTVOL R Switch' off"
# Disable left channel for SPK (earpiece) and HP (speaker/headphones)
# outputs as we're only routing modem audio to the right channel
cset "name='SPOL MIX SPKVOL L Switch' off"
cset "name='HP L Playback Switch' off"
]
DisableSequence [
# Reset output routing
cset "name='DAC MIXL Stereo ADC Switch' off"
cset "name='DAC MIXR Stereo ADC Switch' off"
cset "name='OUT MIXR REC MIXR Switch' off"
cset "name='SPK MIXR OUT MIXR Switch' off"
cset "name='LOUT MIX DAC L1 Switch' off"
# Reset ADC input routing
cset "name='RECMIXL BST2 Switch' off"
cset "name='RECMIXR BST3 Switch' off"
]
Value {
TQ "VoiceCall"
}
}
SectionDevice."Earpiece" {
Comment "Internal Earpiece"
ConflictingDevice [
"Speaker"
]
EnableSequence [
# Send right channel to left as it's mono only
cset "name='SPOL MIX SPKVOL R Switch' on"
cset "name='Speaker Channel Switch' on"
cset "name='Speaker L Playback Switch' on"
]
DisableSequence [
cset "name='Speaker Channel Switch' off"
cset "name='Speaker L Playback Switch' off"
]
Value {
PlaybackPriority 300
PlaybackPCM "hw:${CardId}"
PlaybackMixerElem "Speaker"
PlaybackVolume "Speaker Playback Volume"
PlaybackMasterElem "DAC1"
}
}
SectionDevice."Speaker" {
Comment "Internal Speaker"
ConflictingDevice [
"Earpiece"
]
EnableSequence [
cset "name='HPO MIX HPVOL Switch' on"
cset "name='HP Channel Switch' on"
cset "name='HP R Playback Switch' on"
]
DisableSequence [
cset "name='HP Channel Switch' off"
cset "name='HP R Playback Switch' off"
]
Value {
PlaybackPriority 100
PlaybackPCM "hw:${CardId}"
JackControl "Headphone Jack"
PlaybackMixerElem "HP"
PlaybackVolume "HP Playback Volume"
PlaybackMasterElem "DAC1"
}
}
SectionDevice."DigitalMic" {
Comment "Internal Microphone"
EnableSequence [
cset "name='Stereo ADC MIXL ADC2 Switch' on"
]
DisableSequence [
cset "name='Stereo ADC MIXL ADC2 Switch' off"
]
Value {
CapturePriority 200
CapturePCM "hw:${CardId}"
CaptureMixerElem "ADC"
CaptureVolume "ADC Capture Volume"
CaptureSwitch "ADC Capture Switch"
}
}
SectionDevice."HeadsetMic" {
Comment "Headset Microphone"
EnableSequence [
cset "name='Stereo ADC MIXL ADC1 Switch' on"
]
DisableSequence [
cset "name='Stereo ADC MIXL ADC1 Switch' off"
]
Value {
CapturePriority 100
CapturePCM "hw:${CardId}"
CaptureMixerElem "ADC"
CaptureVolume "ADC Capture Volume"
CaptureSwitch "ADC Capture Switch"
}
}