vendor/rockchip/common/phone/codec/asound_phonepad_rt5625.conf

2746 lines
66 KiB
Plaintext
Executable File

# Android ALSA configuration file for RK29/RK28 reference platform using the rt5625(codec) ASoC audio.
##
## Mixer Devices
##
ctl.AndroidOut{
type hw
card 0
}
ctl.AndroidIn{
type hw
card 0
}
ctl.AndroidPlayback {
type hw
}
ctl.AndroidRecord {
type hw
}
pcm.AndroidPlayback {
type hw
}
##
## # Speaker
##
pcm.AndroidPlayback_Speaker_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Left HP Mixer DAC Playback Switch'
value off
}
{
name 'Right HP Mixer DAC Playback Switch'
value off
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 50
value.1 50
}
#---------------end----------------------------
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
# VoIP & AEC on:
# startup AEC
{
name 'VoIP Check'
value on
}
{
name 'VoDSP AEC'
value 'Enable'
}
{
name 'RxDP Enable Switch'
value off
}
# downstream: I2S IN -> SRC1 -> RxDP MUX -> VODSP
{
name 'SRC1 Enable Switch'
value on
}
{
name 'RxDP src select Mux'
value 'SRC1 Output'
}
# upstream MIC1 -> ADC_R -> PDM -> VODSP -> TxDP -> SRC2 -> IIS MUX -> I2S OUT
{
name 'ADCR fun select Control'
value 'PDM Slave'
}
{
name 'SRC2 Enable Switch'
value on
}
{
name 'SRC2 src select Mux'
value 'TxDP'
}
{
name 'IIS src select Mux'
value 'SRC2 Output'
}
{
name 'VoIP Switch'
value on
}
]
}
}
pcm.AndroidPlayback_Speaker_voip {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Left HP Mixer DAC Playback Switch'
value off
}
{
name 'Right HP Mixer DAC Playback Switch'
value off
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 50
value.1 50
}
#---------------end----------------------------
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
# VoIP & AEC on:
# startup AEC
{
name 'VoIP Check'
value on
}
{
name 'VoDSP AEC'
value 'Enable'
}
{
name 'RxDP Enable Switch'
value off
}
# downstream: I2S IN -> SRC1 -> RxDP MUX -> VODSP
{
name 'SRC1 Enable Switch'
value on
}
{
name 'RxDP src select Mux'
value 'SRC1 Output'
}
# upstream MIC1 -> ADC_R -> PDM -> VODSP -> TxDP -> SRC2 -> IIS MUX -> I2S OUT
{
name 'ADCR fun select Control'
value 'PDM Slave'
}
{
name 'SRC2 Enable Switch'
value on
}
{
name 'SRC2 src select Mux'
value 'TxDP'
}
{
name 'IIS src select Mux'
value 'SRC2 Output'
}
{
name 'VoIP Switch'
value on
}
]
}
}
pcm.AndroidPlayback_Speaker_incall{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'AUXOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'PLL Switch'
value '11.2896->22.5792'
}
{
name 'Phone Differential Input Control'
value 'Enable'
}
{
name 'AUXOUT mode switch'
value 'Differential mode'
}
{
name 'MIC1 Differential Input Control'
value 'Enable'
}
# boost 0db max value 3
{
name 'MIC1 Boost'
value 0
}
# gain 9db max volume 31
{
name 'PCM Capture Volume'
value.0 17
value.1 17
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# 3G Switch
{
name '3G Switch'
value on
}
# startup AEC
{
name 'VoDSP AEC'
value 'Enable'
}
# phone in -> spk mixer-> SPKOUT
{
name 'SPK Mixer Phone Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Phone Playback Volume'
value 25
}
#---------------end----------------------------
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
# phone in -> Left rec mixer -> ADC_L -> RxDP MUX -> RxDP -> VoDSP
{
name 'Left Rec Mixer Phone Capture Switch'
value on
}
{
name 'ADCL fun select Control'
value 'VoDSP'
}
{
name 'RxDP src select Mux'
value 'ADCL to VoDSP'
}
{
name 'RxDP Enable Switch'
value on
}
# mic1 -> Right rec mixer -> ADC_R -> PDM -> vodsp -> TxDP -> VDAC MUX -> VDAC -> mono mixer -> auxout
{
name 'Right Rec Mixer Mic1 Capture Switch'
value on
}
{
name 'ADCR fun select Control'
value 'PDM Slave'
}
{
name 'VDAC src Mux'
value 'TxDP'
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
{
name 'Mono Mixer Voice DAC Playback Switch'
value on
}
{
name 'AUX Vol Input Mux'
value 'Mono Mixer'
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Mic1 Playback Volume'
value 23
}
#---------------end----------------------------
#max volume 31
{
name 'AUXOUT Playback Volume'
value.0 29
value.1 29
}
{
name 'AUXOUT Playback Switch'
value.0 on
value.1 on
}
# Close VoIP & BT
{
name 'SRC1 Enable Switch'
value off
}
{
name 'SRC2 Enable Switch'
value off
}
{
name 'Right Rec Mixer Phone Capture Switch'
value off
}
{
name 'ADC Switch'
value off
}
{
name 'DAC Switch'
value off
}
{
name 'PCM src select Mux'
value 'TxDP'
}
]
}
}
pcm.AndroidPlayback_Speaker_ringtone{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
#HP close
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 63
value.1 63
}
#---------------end----------------------------
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
]
}
}
##
## # Earpiece(SPK)
##
pcm.AndroidPlayback_Earpiece_normal{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
# close Earpiece_incall
{
name '3G Switch'
value off
}
{
name 'VoDSP AEC'
value 'Disable'
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Mono Mixer Voice DAC Playback Switch'
value off
}
# close Bluetooth_incall
{
name 'BT Switch'
value off
}
{
name 'Right Rec Mixer Phone Capture Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Earpiece_voip{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
# close Earpiece_incall
{
name '3G Switch'
value off
}
{
name 'VoDSP AEC'
value 'Disable'
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Mono Mixer Voice DAC Playback Switch'
value off
}
# close Bluetooth_incall
{
name 'BT Switch'
value off
}
{
name 'Right Rec Mixer Phone Capture Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Earpiece_incall{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'AUXOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'PLL Switch'
value '11.2896->22.5792'
}
{
name 'Phone Differential Input Control'
value 'Enable'
}
{
name 'AUXOUT mode switch'
value 'Differential mode'
}
{
name 'MIC1 Differential Input Control'
value 'Enable'
}
# boost 0db max value 3
{
name 'MIC1 Boost'
value 0
}
# gain 9db max volume 31
{
name 'PCM Capture Volume'
value.0 17
value.1 17
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# 3G Switch
{
name '3G Switch'
value on
}
# startup AEC
{
name 'VoDSP AEC'
value 'Enable'
}
# phone in -> spk mixer-> SPKOUT
{
name 'SPK Mixer Phone Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Phone Playback Volume'
value 25
}
#---------------end----------------------------
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
# phone in -> Left rec mixer -> ADC_L -> RxDP MUX -> RxDP -> VoDSP
{
name 'Left Rec Mixer Phone Capture Switch'
value on
}
{
name 'ADCL fun select Control'
value 'VoDSP'
}
{
name 'RxDP src select Mux'
value 'ADCL to VoDSP'
}
{
name 'RxDP Enable Switch'
value on
}
# mic1 -> Right rec mixer -> ADC_R -> PDM -> vodsp -> TxDP -> VDAC MUX -> VDAC -> mono mixer -> auxout
{
name 'Right Rec Mixer Mic1 Capture Switch'
value on
}
{
name 'ADCR fun select Control'
value 'PDM Slave'
}
{
name 'VDAC src Mux'
value 'TxDP'
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
{
name 'Mono Mixer Voice DAC Playback Switch'
value on
}
{
name 'AUX Vol Input Mux'
value 'Mono Mixer'
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Mic1 Playback Volume'
value 23
}
#---------------end----------------------------
#max volume 31
{
name 'AUXOUT Playback Volume'
value.0 29
value.1 29
}
{
name 'AUXOUT Playback Switch'
value.0 on
value.1 on
}
# Close VoIP & BT
{
name 'SRC1 Enable Switch'
value off
}
{
name 'SRC2 Enable Switch'
value off
}
{
name 'Right Rec Mixer Phone Capture Switch'
value off
}
{
name 'ADC Switch'
value off
}
{
name 'DAC Switch'
value off
}
{
name 'PCM src select Mux'
value 'TxDP'
}
]
}
}
pcm.AndroidPlayback_Earpiece_ringtone{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
#HP close
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 63
value.1 63
}
#---------------end----------------------------
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
]
}
}
##
## # Headphone
##
pcm.AndroidPlayback_Headphone_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value off
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 50
value.1 50
}
#---------------end----------------------------
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 27
value.1 27
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# VoIP:
{
name 'Headset VoIP Check'
value on
}
{
name 'VoDSP AEC'
value 'Disable'
}
# check VoIP
{
name 'RxDP Enable Switch'
value off
}
{
name 'ADCR fun select Control'
value 'Stereo ADC'
}
{
name 'IIS src select Mux'
value 'ADC'
}
{
name 'Headset VoIP Switch'
value on
}
# close Headset_incall
{
name 'Headset 3G Switch'
value off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Headphone_voip {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value off
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 50
value.1 50
}
#---------------end----------------------------
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 27
value.1 27
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# VoIP:
{
name 'Headset VoIP Check'
value on
}
{
name 'VoDSP AEC'
value 'Disable'
}
# check VoIP
{
name 'RxDP Enable Switch'
value off
}
{
name 'ADCR fun select Control'
value 'Stereo ADC'
}
{
name 'IIS src select Mux'
value 'ADC'
}
{
name 'Headset VoIP Switch'
value on
}
# close Headset_incall
{
name 'Headset 3G Switch'
value off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Headphone_incall{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# 3G Switch
{
name 'Headset 3G Switch'
value on
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'AUXOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Phone Differential Input Control'
value 'Enable'
}
{
name 'AUXOUT mode switch'
value 'Differential mode'
}
{
name 'MIC1 Differential Input Control'
value 'Enable'
}
#boost 30db max value 3
{
name 'MIC1 Boost'
value 2
}
{
name 'VoDSP AEC'
value 'Disable'
}
# Disable 3G AEC
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'VDAC src Mux'
value 'TxDC'
}
# phone in -> hp mixer-> HPOUT
{
name 'Mono HP Mixer Phone Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Phone Playback Volume'
value 23
}
#---------------end----------------------------
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 23
value.1 23
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# mic1 -> mono mixer -> auxout
{
name 'Mono Mixer Voice DAC Playback Switch'
value off
}
{
name 'Mono Mixer Mic1 Playback Switch'
value on
}
{
name 'AUX Vol Input Mux'
value 'Mono Mixer'
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Mic1 Playback Volume'
value 23
}
#---------------end----------------------------
#max volume 31
{
name 'AUXOUT Playback Volume'
value.0 29
value.1 29
}
{
name 'AUXOUT Playback Switch'
value.0 on
value.1 on
}
# Close VoIP & BT
{
name 'SRC1 Enable Switch'
value off
}
{
name 'SRC2 Enable Switch'
value off
}
{
name 'Right Rec Mixer Phone Capture Switch'
value off
}
{
name 'ADC Switch'
value off
}
{
name 'DAC Switch'
value off
}
{
name 'PCM src select Mux'
value 'TxDP'
}
]
}
}
pcm.AndroidPlayback_Speaker_Headphone_normal{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 63
value.1 63
}
#---------------end----------------------------
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 23
value.1 23
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
#close VoIP:
{
name 'Headset VoIP Check'
value off
}
{
name 'VoDSP AEC'
value 'Disable'
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'Headset VoIP Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Speaker_Headphone_ringtone{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 63
value.1 63
}
#---------------end----------------------------
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 23
value.1 23
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
#close VoIP:
{
name 'Headset VoIP Check'
value off
}
{
name 'VoDSP AEC'
value 'Disable'
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'Headset VoIP Switch'
value off
}
]
}
}
##
## # Headset
##
pcm.AndroidPlayback_Headset_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value off
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 50
value.1 50
}
#---------------end----------------------------
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 27
value.1 27
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# VoIP:
{
name 'Headset VoIP Check'
value on
}
{
name 'VoDSP AEC'
value 'Disable'
}
# check VoIP
{
name 'RxDP Enable Switch'
value off
}
{
name 'ADCR fun select Control'
value 'Stereo ADC'
}
{
name 'IIS src select Mux'
value 'ADC'
}
{
name 'Headset VoIP Switch'
value on
}
# close Headset_incall
{
name 'Headset 3G Switch'
value off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Headset_voip {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'SPK Mixer DAC Mixer Playback Switch'
value off
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 50
value.1 50
}
#---------------end----------------------------
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 27
value.1 27
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# VoIP:
{
name 'Headset VoIP Check'
value on
}
{
name 'VoDSP AEC'
value 'Disable'
}
# check VoIP
{
name 'RxDP Enable Switch'
value off
}
{
name 'ADCR fun select Control'
value 'Stereo ADC'
}
{
name 'IIS src select Mux'
value 'ADC'
}
{
name 'Headset VoIP Switch'
value on
}
# close Headset_incall
{
name 'Headset 3G Switch'
value off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Headset_incall{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# 3G Switch
{
name 'Headset 3G Switch'
value on
}
{
name 'SPKOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'AUXOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Phone Differential Input Control'
value 'Enable'
}
{
name 'AUXOUT mode switch'
value 'Differential mode'
}
#-----------add by sxj-------------------------
{
name 'MIC2 Differential Input Control'
value 'Enable'
}
#---------------end----------------------------
#boost 30db max value 3
{
name 'MIC2 Boost'
value 2
}
{
name 'VoDSP AEC'
value 'Disable'
}
# Disable 3G AEC
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'VDAC src Mux'
value 'TxDC'
}
# phone in -> hp mixer-> HPOUT
{
name 'Mono HP Mixer Phone Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Phone Playback Volume'
value 23
}
#---------------end----------------------------
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 23
value.1 23
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# mic2 -> mono mixer -> auxout
{
name 'Mono Mixer Voice DAC Playback Switch'
value off
}
{
name 'Mono Mixer Mic2 Playback Switch'
value on
}
{
name 'AUX Vol Input Mux'
value 'Mono Mixer'
}
#-----------add by sxj-------------------------
#max volume 31
{
name 'Mic2 Playback Volume'
value 23
}
#---------------end----------------------------
#max volume 31
{
name 'AUXOUT Playback Volume'
value.0 29
value.1 29
}
{
name 'AUXOUT Playback Switch'
value.0 on
value.1 on
}
# Close VoIP & BT
{
name 'SRC1 Enable Switch'
value off
}
{
name 'SRC2 Enable Switch'
value off
}
{
name 'Right Rec Mixer Phone Capture Switch'
value off
}
{
name 'ADC Switch'
value off
}
{
name 'DAC Switch'
value off
}
{
name 'PCM src select Mux'
value 'TxDP'
}
]
}
}
pcm.AndroidPlayback_Speaker_Headset_normal{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 63
value.1 63
}
#---------------end----------------------------
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 23
value.1 23
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
#close VoIP:
{
name 'Headset VoIP Check'
value off
}
{
name 'VoDSP AEC'
value 'Disable'
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'Headset VoIP Switch'
value off
}
]
}
}
pcm.AndroidPlayback_Speaker_Headset_ringtone{
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
#close phone in
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'Playback Switch'
value on
}
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
#-----------add by sxj-------------------------
#max volume 63
{
name 'PCM Playback Volume'
value.0 63
value.1 63
}
#---------------end----------------------------
# I2S IN -> DAC -> hp mixer -> HPOUT
{
name 'DAC fun Mux'
value 'Stereo DAC'
}
{
name 'Left HP Mixer DAC Playback Switch'
value on
}
{
name 'Right HP Mixer DAC Playback Switch'
value on
}
{
name 'HPL Vol Input Mux'
value 'HP Mixer'
}
{
name 'HPR Vol Input Mux'
value 'HP Mixer'
}
#max volume 31
{
name 'HPOUT Playback Volume'
value.0 23
value.1 23
}
{
name 'HPOUT Playback Switch'
value.0 on
value.1 on
}
# I2S IN -> DAC -> spk mixer -> SPKOUT
{
name 'SPK Mixer DAC Mixer Playback Switch'
value on
}
{
name 'SPK Vol Input Mux'
value 'SPK Mixer'
}
#max volume 31
{
name 'SPKOUT Playback Volume'
value.0 31
value.1 31
}
{
name 'SPKOUT Playback Switch'
value.0 on
value.1 on
}
#close VoIP:
{
name 'Headset VoIP Check'
value off
}
{
name 'VoDSP AEC'
value 'Disable'
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'Headset VoIP Switch'
value off
}
]
}
}
##
## # AndroidCapture
##
pcm.AndroidCapture {
type hooks
slave.pcm default
hooks.0 {
type ctl_elems
hook_args [
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
{
name 'Record Switch'
value on
}
# MIC1 & MIC2 -> ADC rec mixer -> ADCL/R -> IIS MUX -> I2S OUT
{
name 'MIC1 Differential Input Control'
value 'Enable'
}
# boost 20db
{
name 'MIC1 Boost'
value 1
}
{
name 'MIC2 Boost'
value 1
}
# gain 19.5db max value 31
{
name 'PCM Capture Volume'
value.0 24
value.1 24
}
{
name 'Left Rec Mixer Mic1 Capture Switch'
value on
}
{
name 'Right Rec Mixer Mic1 Capture Switch'
value on
}
{
name 'Left Rec Mixer Mic2 Capture Switch'
value on
}
{
name 'Right Rec Mixer Mic2 Capture Switch'
value on
}
{
name 'ADCL fun select Control'
value 'Stereo ADC'
}
{
name 'ADCR fun select Control'
value 'Stereo ADC'
}
{
name 'IIS src select Mux'
value 'ADC'
}
# VoIP:
# check VoIP
{
name 'Capture VoIP Check'
value on
}
# upstream MIC1 -> ADC_R -> PDM -> VODSP -> TxDP -> SRC2 -> IIS MUX -> I2S OUT
{
name 'ADCR fun select Control'
value 'PDM Slave'
}
#johnny-3-9
{
name 'SRC2 Enable Switch'
value on
}
{
name 'SRC2 src select Mux'
value 'TxDP'
}
{
name 'IIS src select Mux'
value 'SRC2 Output'
}
# VoIP switch
{
name 'Capture VoIP Switch'
value on
}
]
}
}
##
## # BT
##
pcm.AndroidPlayback_Bluetooth_incall {
type hooks
slave {
pcm{
type hw
card 0
device 1
}
#rate 8000
}
hooks.0 {
type ctl_elems
hook_args [
{
name 'Mono Mixer ADCL Playback Switch'
value off
}
{
name 'Mono Mixer ADCR Playback Switch'
value off
}
{
name 'Left HP Mixer ADC Playback Switch'
value off
}
{
name 'Right HP Mixer ADC Playback Switch'
value off
}
# BT Switch
{
name 'BT Switch'
value on
}
{
name 'HPOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'AUXOUT Playback Switch'
value.0 off
value.1 off
}
{
name 'Phone Differential Input Control'
value 'Enable'
}
# 0db
{
name 'PCM Capture Volume'
value.0 11
value.1 11
}
# stop AEC
{
name 'VoDSP AEC'
value 'Disable'
}
# phone in -> Right rec mixer -> ADC_R -> PCM MUX -> PCM
{
name 'ADC Switch'
value on
}
{
name 'Right Rec Mixer Phone Capture Switch'
value on
}
{
name 'ADCR fun select Control'
value 'Voice ADC'
}
{
name 'PCM src select Mux'
value 'ADCR'
}
# PCM -> VDAC MUX -> VDAC -> mono mixer -> auxout
{
name 'DAC Switch'
value on
}
{
name 'VDAC src Mux'
value 'Voice PCM'
}
{
name 'Mono Mixer Voice DAC Playback Switch'
value on
}
{
name 'AUX Vol Input Mux'
value 'Mono Mixer'
}
{
name 'AUXOUT Playback Volume'
value.0 29
value.1 29
}
{
name 'AUXOUT Playback Switch'
value.0 on
value.1 on
}
# Close VoIP & 3G
{
name 'SRC1 Enable Switch'
value off
}
{
name 'SRC2 Enable Switch'
value off
}
{
name 'Left Rec Mixer Phone Capture Switch'
value off
}
{
name 'RxDP Enable Switch'
value off
}
{
name 'SPK Mixer Phone Playback Switch'
value off
}
{
name 'Mono HP Mixer Phone Playback Switch'
value off
}
{
name 'Mono Mixer Mic2 Playback Switch'
value off
}
{
name 'ADCL fun select Control'
value 'Stereo ADC'
}
]
}
}
pcm.AndroidPlayback_Bluetooth_normal {
type hooks
slave {
pcm{
type hw
card 0
device 1
}
}
hooks.0 {
type ctl_elems
hook_args [
]
}
}
##
## # HDMI
##
pcm.AndroidPlayback_Speaker_HDMI_normal{
type hooks
slave.pcm{
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Ext Spk Switch' value false}
{ name 'Headphone Jack Switch' value false}
]
}
}
pcm.AndroidPlayback_HDMI_normal{
type hooks
slave.pcm{
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Ext Spk Switch' value false}
{ name 'Headphone Jack Switch' value false}
]
}
}