aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergiu Cozma <lssjbrolli@gmail.com>2015-03-28 23:09:49 +0200
committerSergiu Cozma <lssjbrolli@gmail.com>2015-03-28 23:09:49 +0200
commit5d8e07568ee80a0c561d5c20b894e16f8430773b (patch)
tree0aa8c0c91b11132a19cc00b801e7bfb90e90160e
parentb51f05b90f701707fb9c7c094bd4ad71cb96d038 (diff)
klimtlte: mixer_paths closer to stock and small tweaks for our device
Change-Id: Ic8caba881cfcc56a9481b7f6274cea68d1ba548e
-rw-r--r--audio/audio_hw.c2
-rw-r--r--audio/mixer_paths.xml866
-rw-r--r--audio/routing.h52
3 files changed, 417 insertions, 503 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 35cac29..40857ef 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -1892,7 +1892,7 @@ struct audio_module HAL_MODULE_INFO_SYM = {
.module_api_version = AUDIO_MODULE_API_VERSION_0_1,
.hal_api_version = HARDWARE_HAL_API_VERSION,
.id = AUDIO_HARDWARE_MODULE_ID,
- .name = "JA audio HW HAL",
+ .name = "KlimtLTE audio HW HAL",
.author = "The CyanogenMod Project",
.methods = &hal_module_methods,
},
diff --git a/audio/mixer_paths.xml b/audio/mixer_paths.xml
index a3509d6..ea1f6b9 100644
--- a/audio/mixer_paths.xml
+++ b/audio/mixer_paths.xml
@@ -1,10 +1,10 @@
<mixer>
<!--
INOUT_MAP {
- <ctl name="Earpiece", "Builtin Mic", "Back Mic" />
+ <ctl name="Earpiece", "Builtin Mic", "Third Mic"/>
<ctl name="Speaker", "Back Mic", "Third Mic" />
<ctl name="Headset Out", "Headset In" />
- <ctl name="Headphone", "Builtin Mic" />
+ <ctl name="Headphone", "Builtin Mic", "Third Mic" />
<ctl name="SCO Headset Out", "SCO Headset In" />
<ctl name="SCO", "SCO Headset In" />
<ctl name="SCO Carkit", "SCO Headset In" />
@@ -19,477 +19,391 @@ INPUT_CHANNEL_MAP {
}
-->
- <!-- Initial mixer settings -->
-
- <!-- Noise gate control -->
- <ctl name="Noise Gate Switch" value="0" />,
- <ctl name="HPOUT1L NG HPOUT1L Switch" value="0" />
- <ctl name="HPOUT1R NG HPOUT1R Switch" value="0" />
- <ctl name="HPOUT2L NG HPOUT2L Switch" value="0" />
- <ctl name="HPOUT2R NG HPOUT2R Switch" value="0" />
- <ctl name="EPOUT NG EPOUT Switch" value="0" />
- <ctl name="SPKOUTL NG SPKOUTL Switch" value="0" />
- <ctl name="SPKOUTR NG SPKOUTR Switch" value="0" />
- <ctl name="SPKDAT1L NG SPKDAT1L Switch" value="0" />
- <ctl name="SPKDAT1R NG SPKDAT1R Switch" value="0" />
- <ctl name="Noise Gate Threshold Volume" value="3" />
-
- <!-- Analog output AMP -->
- <!-- AP Side is mixed to Input 1 of each out mixer -->
- <!-- RCV(Mono) -->
- <ctl name="EPOUT Input 1" value="AIF1RX1" />
- <ctl name="EPOUT Input 2" value="AIF1RX2" />
- <ctl name="EPOUT Digital Switch" value="1" />
-
- <!-- SPK(Mono) -->
- <ctl name="SPKOUTL Input 1" value="AIF1RX1" />
- <ctl name="SPKOUTL Input 2" value="AIF1RX2" />
- <ctl name="Speaker Digital Switch" value="1" />
-
- <!-- HP(stereo) -->
- <ctl name="HPOUT1L Input 1" value="AIF1RX1" />
- <ctl name="HPOUT1R Input 1" value="AIF1RX2" />
- <ctl name="HPOUT1 Digital Switch" value="1" />
-
- <!-- VPS(stereo) -->
- <ctl name="HPOUT2L Input 1" value="AIF1RX1" />
- <ctl name="HPOUT2R Input 1" value="AIF1RX2" />
- <ctl name="OUT2 Digital Switch" value="1" />
-
- <!-- BT <-AP(use input 1) -->
- <!-- ASRC2(RX domain) -->
- <ctl name="ASRC2L Input" value="AIF2RX1" />
- <ctl name="ASRC2R Input" value="AIF2RX2" />
-
- <!-- Currently use i2c dual mono(both L/R) -->
- <!-- CP->RCV -->
- <ctl name="EPOUT Input 3" value="None" />
-
- <!-- CP->SPK -->
- <ctl name="SPKOUTL Input 3" value="None" />
-
- <!-- CP->HP -->
- <ctl name="HPOUT1L Input 2" value="None" />
- <ctl name="HPOUT1R Input 2" value="None" />
-
- <!-- CP->BT -->
- <ctl name="AIF3TX1 Input 2" value="AIF2RX1" />
- <ctl name="AIF3TX2 Input 2" value="AIF2RX2" />
-
- <!-- Route all mics via LHPF1 -->
- <!-- need to move modifier field -->
- <ctl name="LHPF1 Mode" value="High-pass" />
- <ctl name="LHPF2 Mode" value="High-pass" />
-
- <!-- BT mic->CP -->
- <ctl name="AIF2TX1 Input 2" value="AIF3RX1" />
- <ctl name="AIF2TX2 Input 2" value="AIF3RX2" />
-
- <!-- Stereo recording from mics -->
- <!-- need to move channeltype -->
-
- <!-- Gain for main and headset mics -->
- <ctl name="IN1L Volume" value="30" />
- <ctl name="IN1R Volume" value="30" />
-
- <!-- Gain for sub and 3rd mic -->
- <ctl name="IN2L Volume" value="30" />
- <ctl name="IN2R Volume" value="30" />
-
- <!-- Mics to AIF2TX -->
- <ctl name="ASRC1L Input" value="LHPF1" />
- <ctl name="ASRC1R Input" value="LHPF2" />
- <ctl name="AIF2TX1 Input 1" value="ASRC1L" />
- <ctl name="AIF2TX2 Input 1" value="ASRC1R" />
-
- <!-- BT<-CP(use input 2) -->
- <ctl name="AIF1TX1 Input 2" value="ASRC2L" />
- <ctl name="AIF1TX2 Input 2" value="ASRC2R" />
-
- <!-- LHPF1 & 2 filter -->
- <ctl name="LHPF1 COEFF FILTER" value="130Hz" />
- <ctl name="LHPF2 COEFF FILTER" value="130Hz" />
-
- <!-- common digital volume -->
- <!-- don't change this common volume -->
- <ctl name="AIF1TX1 Input 1 Volume" value="32" />
- <ctl name="AIF1TX1 Input 2 Volume" value="32" />
- <ctl name="AIF1TX1 Input 3 Volume" value="32" />
- <ctl name="AIF1TX1 Input 4 Volume" value="32" />
- <ctl name="AIF1TX2 Input 1 Volume" value="32" />
- <ctl name="AIF1TX2 Input 2 Volume" value="32" />
- <ctl name="AIF1TX2 Input 3 Volume" value="32" />
- <ctl name="AIF1TX2 Input 4 Volume" value="32" />
- <ctl name="AIF1TX3 Input 1 Volume" value="32" />
- <ctl name="AIF1TX3 Input 2 Volume" value="32" />
- <ctl name="AIF1TX3 Input 3 Volume" value="32" />
- <ctl name="AIF1TX3 Input 4 Volume" value="32" />
- <ctl name="AIF1TX4 Input 1 Volume" value="32" />
- <ctl name="AIF1TX4 Input 2 Volume" value="32" />
- <ctl name="AIF1TX4 Input 3 Volume" value="32" />
- <ctl name="AIF1TX4 Input 4 Volume" value="32" />
- <ctl name="AIF1TX5 Input 1 Volume" value="32" />
- <ctl name="AIF1TX5 Input 2 Volume" value="32" />
- <ctl name="AIF1TX5 Input 3 Volume" value="32" />
- <ctl name="AIF1TX5 Input 4 Volume" value="32" />
- <ctl name="AIF1TX6 Input 1 Volume" value="32" />
- <ctl name="AIF1TX6 Input 2 Volume" value="32" />
- <ctl name="AIF1TX6 Input 3 Volume" value="32" />
- <ctl name="AIF1TX6 Input 4 Volume" value="32" />
- <ctl name="AIF1TX7 Input 1 Volume" value="32" />
- <ctl name="AIF1TX7 Input 2 Volume" value="32" />
- <ctl name="AIF1TX7 Input 3 Volume" value="32" />
- <ctl name="AIF1TX7 Input 4 Volume" value="32" />
- <ctl name="AIF1TX8 Input 1 Volume" value="32" />
- <ctl name="AIF1TX8 Input 2 Volume" value="32" />
- <ctl name="AIF1TX8 Input 3 Volume" value="32" />
- <ctl name="AIF1TX8 Input 4 Volume" value="32" />
- <ctl name="AIF2TX1 Input 1 Volume" value="32" />
- <ctl name="AIF2TX1 Input 2 Volume" value="32" />
- <ctl name="AIF2TX1 Input 3 Volume" value="32" />
- <ctl name="AIF2TX1 Input 4 Volume" value="32" />
- <ctl name="AIF2TX2 Input 1 Volume" value="32" />
- <ctl name="AIF2TX2 Input 2 Volume" value="32" />
- <ctl name="AIF2TX2 Input 3 Volume" value="32" />
- <ctl name="AIF2TX2 Input 4 Volume" value="32" />
- <ctl name="AIF3TX1 Input 1 Volume" value="32" />
- <ctl name="AIF3TX1 Input 2 Volume" value="32" />
- <ctl name="AIF3TX1 Input 3 Volume" value="32" />
- <ctl name="AIF3TX1 Input 4 Volume" value="32" />
- <ctl name="AIF3TX2 Input 1 Volume" value="32" />
- <ctl name="AIF3TX2 Input 2 Volume" value="32" />
- <ctl name="AIF3TX2 Input 3 Volume" value="32" />
- <ctl name="AIF3TX2 Input 4 Volume" value="32" />
-
- <ctl name="Input Ramp Up" value="8ms/6dB" />
-
- <ctl name="RCV Switch" value="0" />
- <ctl name="SPK Switch" value="0" />
- <ctl name="HP Switch" value="0" />
- <ctl name="VPS Switch" value="0" />
- <ctl name="HDMI Switch" value="0" />
- <ctl name="Main Mic Switch" value="0" />
- <ctl name="Sub Mic Switch" value="0" />
- <ctl name="3rd Mic Switch" value="0" />
- <ctl name="Headset Mic Switch" value="0" />
-
- <ctl name="AIF2 Mode" value="Master" />
-
- <!-- Channels -->
-
- <path name="channel-left">
- <ctl name="AIF1TX1 Input 1" value="LHPF1" />
- <ctl name="AIF1TX2 Input 1" value="LHPF1" />
- <ctl name="ASRC1L Input" value="LHPF1" />
- <ctl name="ASRC1R Input" value="LHPF1" />
- </path>
-
- <path name="channel-right">
- <ctl name="AIF1TX1 Input 1" value="LHPF2" />
- <ctl name="AIF1TX2 Input 1" value="LHPF2" />
- <ctl name="ASRC1L Input" value="LHPF2" />
- <ctl name="ASRC1R Input" value="LHPF2" />
- </path>
-
- <path name="channel-stereo">
- <ctl name="AIF1TX1 Input 1" value="LHPF1" />
- <ctl name="AIF1TX2 Input 1" value="LHPF2" />
- <ctl name="ASRC1L Input" value="LHPF1" />
- <ctl name="ASRC1R Input" value="LHPF2" />
- </path>
-
- <path name="channel-none">
- <ctl name="AIF3TX1 Input 1" value="ASRC1L" />
- <ctl name="AIF3TX2 Input 1" value="ASRC1R" />
- <ctl name="ASRC1L Input" value="AIF1RX1" />
- <ctl name="ASRC1R Input" value="AIF1RX2" />
- </path>
-
- <!-- Volume -->
-
- <path name="speaker-volume">
- <ctl name="Speaker Digital Volume" value="144" />
- </path>
-
- <!-- Paths that roughly correspond to devices -->
-
- <path name="speaker">
- <ctl name="SPK Switch" value="1" />
- </path>
-
- <path name="earpiece">
- <ctl name="RCV Switch" value="1" />
- </path>
-
- <path name="headphones">
- <ctl name="HP Switch" value="1" />
- </path>
-
- <path name="sco-out">
- <ctl name="AIF3TX1 Input 2" value="AIF2RX1" />
- <ctl name="AIF3TX2 Input 2" value="AIF2RX2" />
- </path>
-
- <path name="dock">
- <ctl name="VPS Switch" value="1" />
- </path>
-
- <path name="aux-digital">
- <ctl name="HDMI Switch" value="1" />
- </path>
-
- <path name="aif2-stereo-mic">
- <ctl name="AIF2TX1 Input 1" value="ASRC1L" />
- <ctl name="AIF2TX2 Input 1" value="ASRC1R" />
- </path>
-
- <path name="builtin-mic">
- <ctl name="Main Mic Switch" value="1" />
- <ctl name="LHPF1 Input 1" value="IN1L" />
- <ctl name="IN1L Volume" value="18" />
- <ctl name="LHPF1 Input 1 Volume" value="32" />
- <ctl name="IN1L Digital Volume" value="128" />
- </path>
-
- <path name="back-mic">
- <ctl name="Sub Mic Switch" value="1" />
- <ctl name="LHPF2 Input 1" value="IN2L" />
- <ctl name="IN2L Volume" value="17" />
- <ctl name="LHPF2 Input 1 Volume" value="32" />
- <ctl name="IN2L Digital Volume" value="128" />
- </path>
-
- <path name="third-mic">
- <ctl name="3rd Mic Switch" value="1" />
- <ctl name="LHPF1 Input 1" value="IN2R" />
- <ctl name="IN2R Volume" value="20" />
- <ctl name="LHPF1 Input 1 Volume" value="32" />
- <ctl name="IN2R Digital Volume" value="128" />
- </path>
-
- <path name="headset-in">
- <ctl name="Headset Mic Switch" value="1" />
- <ctl name="HPOUT1L Input 3" value="None" />
- <ctl name="HPOUT1R Input 3" value="None" />
- <ctl name="LHPF1 Input 1" value="IN1R" />
- <ctl name="IN1R Volume" value="30" />
- <ctl name="IN1R Digital Volume" value="128" />
- </path>
-
- <path name="sco-in">
- <ctl name="AIF2TX1 Input 2" value="AIF3RX1" />
- <ctl name="AIF2TX2 Input 2" value="AIF3RX2" />
- <ctl name="ASRC2L Input" value="AIF3RX1" />
- <ctl name="ASRC2R Input" value="AIF3RX2" />
- <ctl name="AIF2TX1 Input 1" value="None" />
- <ctl name="AIF2TX2 Input 1" value="None" />
- </path>
-
- <!-- Paths used by HAL -->
-
- <!-- Playback paths -->
- <path name="voice-speaker">
- <path name="speaker" />
- <ctl name="Speaker Digital Volume" value="144" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="SPKOUTL Input 3" value="ASRC2L" />
- </path>
-
- <path name="voice-earpiece">
- <path name="earpiece" />
- <ctl name="EPOUT Digital Volume" value="128" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="EPOUT Input 3" value="ASRC2L" />
- </path>
-
- <path name="voice-headphones">
- <path name="headphones" />
- <ctl name="Noise Gate Switch" value="0" />
- <ctl name="HPOUT1 Digital Volume" value="108" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="HPOUT1L Input 2" value="ASRC2L" />
- <ctl name="HPOUT1R Input 2" value="ASRC2R" />
- </path>
-
- <path name="voice-speaker-wb">
- <path name="speaker" />
- <ctl name="Speaker Digital Volume" value="144" />
- <ctl name="SPKOUTL Input 1 Volume" value="10" />
- <ctl name="SPKOUTL Input 2 Volume" value="10" />
- <ctl name="SPKOUTL Input 3 Volume" value="32" />
- <ctl name="SPKOUTL Input 4 Volume" value="32" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="SPKOUTL Input 3" value="ASRC2L" />
- </path>
-
- <path name="voice-earpiece-wb">
- <path name="earpiece" />
- <ctl name="EPOUT Digital Volume" value="128" />
- <ctl name="EPOUT Input 1 Volume" value="32" />
- <ctl name="EPOUT Input 2 Volume" value="32" />
- <ctl name="EPOUT Input 3 Volume" value="32" />
- <ctl name="EPOUT Input 4 Volume" value="32" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="EPOUT Input 3" value="ASRC2L" />
- </path>
-
- <path name="voice-headphones-wb">
- <path name="headphones" />
- <ctl name="Noise Gate Switch" value="0" />
- <ctl name="HPOUT1 Digital Volume" value="108" />
- <ctl name="HPOUT1L Input 1 Volume" value="32" />
- <ctl name="HPOUT1R Input 1 Volume" value="32" />
- <ctl name="HPOUT1L Input 2 Volume" value="32" />
- <ctl name="HPOUT1R Input 2 Volume" value="32" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="HPOUT1L Input 2" value="ASRC2L" />
- <ctl name="HPOUT1R Input 2" value="ASRC2R" />
- </path>
-
- <path name="media-speaker">
- <path name="speaker" />
- <path name="speaker-volume" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="SPKOUTL Input 3" value="ASRC2L" />
- </path>
-
- <path name="media-earpiece">
- <path name="earpiece" />
- <ctl name="AIF2 Mode" value="Slave" />
- <ctl name="EPOUT Input 3" value="ASRC2L" />
- </path>
-
- <path name="media-headphones">
- <path name="headphones" />
- </path>
-
- <path name="voice-rec-speaker">
- <path name="speaker" />
- <path name="speaker-volume" />
- </path>
-
- <path name="voice-rec-headphones">
- <path name="headphones" />
- </path>
-
- <path name="communication-speaker">
- <path name="speaker" />
- </path>
-
- <path name="communication-earpiece">
- <path name="earpiece" />
- </path>
-
- <path name="communication-headphones">
- <path name="headphones" />
- </path>
-
- <path name="speaker-and-headphones">
- <path name="speaker" />
- <path name="headphones" />
- </path>
-
- <path name="bt-sco-headset">
- <path name="sco-out" />
- <ctl name="AIF2 Mode" value="Slave" />
- </path>
-
- <path name="bt-sco-headset-wb">
- <path name="sco-out" />
- <ctl name="AIF2 Mode" value="Slave" />
- </path>
-
- <!-- Capture paths -->
-
- <path name="voice-main-mic">
- <path name="channel-stereo" />
- <path name="aif2-stereo-mic" />
- <path name="builtin-mic" />
- <path name="back-mic" />
- <ctl name="IN1L Volume" value="25" />
- <ctl name="IN2L Volume" value="25" />
- </path>
-
- <path name="voice-main-mic-wb">
- <path name="channel-stereo" />
- <path name="aif2-stereo-mic" />
- <path name="builtin-mic" />
- <path name="back-mic" />
- <ctl name="IN1L Volume" value="25" />
- <ctl name="IN2L Volume" value="25" />
- </path>
-
- <path name="voice-speaker-main-mic">
- <path name="channel-stereo" />
- <path name="aif2-stereo-mic" />
- <path name="back-mic" />
- <path name="third-mic" />
- <ctl name="IN2L Volume" value="23" />
- <ctl name="IN2R Volume" value="23" />
- </path>
-
- <path name="voice-headset-mic">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="headset-in" />
- </path>
-
- <path name="voice-headset-mic-wb">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="headset-in" />
- </path>
-
- <path name="media-main-mic">
- <path name="channel-stereo" />
- <path name="aif2-stereo-mic" />
- <path name="builtin-mic" />
- <path name="back-mic" />
- </path>
-
- <path name="media-second-mic">
- <path name="channel-right" />
- <path name="aif2-stereo-mic" />
- <path name="back-mic" />
- </path>
-
- <path name="media-headset-mic">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="headset-in" />
- </path>
-
- <path name="voice-rec-main-mic">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="builtin-mic" />
- </path>
-
- <path name="communication-main-mic">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="builtin-mic" />
- </path>
-
- <path name="bt-sco-mic">
- <path name="channel-none" />
- <path name="sco-in" />
- </path>
-
- <path name="voice-rec-headset-mic">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="headset-in" />
- </path>
-
- <path name="communication-headset-mic">
- <path name="channel-left" />
- <path name="aif2-stereo-mic" />
- <path name="headset-in" />
- </path>
-
- <path name="none">
- <!-- Empty path -->
- </path>
-
-</mixer> \ No newline at end of file
+ <!-- Initial mixer settings -->
+ <!-- Noise gate control -->
+ <ctl name="Noise Gate Switch" value="0"/>
+ <ctl name="HPOUT1L NG HPOUT1L Switch" value="0"/>
+ <ctl name="HPOUT1R NG HPOUT1R Switch" value="0"/>
+ <ctl name="HPOUT2L NG HPOUT2L Switch" value="0"/>
+ <ctl name="HPOUT2R NG HPOUT2R Switch" value="0"/>
+ <ctl name="EPOUT NG EPOUT Switch" value="0"/>
+ <ctl name="SPKOUTL NG SPKOUTL Switch" value="0"/>
+ <ctl name="SPKOUTR NG SPKOUTR Switch" value="0"/>
+ <ctl name="SPKDAT1L NG SPKDAT1L Switch" value="0"/>
+ <ctl name="SPKDAT1R NG SPKDAT1R Switch" value="0"/>
+ <ctl name="Noise Gate Threshold Volume" value="3"/>
+
+ <!-- Analog output AMP -->
+ <!-- Speaker -->
+ <ctl name="SPKOUTL Input 1" value="AIF1RX1"/>
+ <ctl name="SPKOUTR Input 1" value="AIF1RX2"/>
+ <ctl name="SPKOUTL Input 2" value="None"/>
+ <ctl name="SPKOUTR Input 3" value="None"/>
+ <ctl name="Speaker Digital Switch" value="1"/>
+
+ <!-- Headphones/Headset -->
+ <ctl name="HPOUT1L Input 1" value="AIF1RX1"/>
+ <ctl name="HPOUT1R Input 1" value="AIF1RX2"/>
+ <ctl name="HPOUT1 Digital Switch" value="1"/>
+ <!-- Earpiece(Mono) -->
+ <ctl name="EPOUT Input 1" value="AIF1RX1"/>
+ <ctl name="EPOUT Input 2" value="AIF1RX2"/>
+ <ctl name="EPOUT Digital Switch" value="1"/>
+ <!-- LineOut(stereo) -->
+ <ctl name="HPOUT2L Input 1" value="AIF1RX1"/>
+ <ctl name="HPOUT2R Input 1" value="AIF1RX2"/>
+ <ctl name="OUT2 Digital Switch" value="1"/>
+ <!-- BT <-AP(use input 1) -->
+ <!-- ASRC2(RX domain) -->
+ <ctl name="ASRC2L Input" value="AIF2RX1"/>
+ <ctl name="ASRC2R Input" value="AIF2RX2"/>
+ <!-- CP->BT -->
+ <ctl name="AIF3TX1 Input 2" value="AIF2RX1"/>
+ <ctl name="AIF3TX2 Input 2" value="AIF2RX2"/>
+ <!-- Route all mics via LHPF1 -->
+ <!-- need to move modifier field -->
+ <ctl name="LHPF1 Mode" value="High-pass"/>
+ <ctl name="LHPF2 Mode" value="High-pass"/>
+ <!-- BT mic->CP -->
+ <ctl name="AIF2TX1 Input 2" value="AIF3RX1"/>
+ <ctl name="AIF2TX2 Input 2" value="AIF3RX2"/>
+ <!-- Stereo recording from mics -->
+ <!-- need to move channeltype -->
+ <!-- Gain for main and headset mics -->
+ <ctl name="IN1L Volume" value="30"/>
+ <ctl name="IN1R Volume" value="30"/>
+ <!-- Gain for sub and 3rd mic -->
+ <ctl name="IN2L Volume" value="30"/>
+ <ctl name="IN2R Volume" value="30"/>
+ <!-- Mics to AIF2TX -->
+ <ctl name="ASRC1L Input" value="LHPF1"/>
+ <ctl name="ASRC1R Input" value="LHPF2"/>
+ <ctl name="AIF2TX1 Input 1" value="ASRC1L"/>
+ <ctl name="AIF2TX2 Input 1" value="ASRC1R"/>
+ <!-- BT<-CP(use input 2) -->
+ <ctl name="AIF1TX1 Input 2" value="ASRC2L"/>
+ <ctl name="AIF1TX2 Input 2" value="ASRC2R"/>
+ <!-- LHPF1 & 2 filter -->
+ <ctl name="LHPF1 COEFF FILTER" value="64Hz"/>
+ <ctl name="LHPF2 COEFF FILTER" value="64Hz"/>
+ <!-- LHPF1 & 2 coefficients -->
+ <ctl name="LHPF1 Coefficients" value="0xf0 0x3a"/>
+ <ctl name="LHPF2 Coefficients" value="0xf0 0x3a"/>
+
+ <!-- common digital volume -->
+ <!-- don't change this common volume -->
+ <ctl name="AIF1TX1 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX1 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX1 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX1 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX2 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX2 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX2 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX2 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX3 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX3 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX3 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX3 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX4 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX4 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX4 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX4 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX5 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX5 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX5 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX5 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX6 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX6 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX6 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX6 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX7 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX7 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX7 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX7 Input 4 Volume" value="32"/>
+ <ctl name="AIF1TX8 Input 1 Volume" value="32"/>
+ <ctl name="AIF1TX8 Input 2 Volume" value="32"/>
+ <ctl name="AIF1TX8 Input 3 Volume" value="32"/>
+ <ctl name="AIF1TX8 Input 4 Volume" value="32"/>
+ <ctl name="AIF2TX1 Input 1 Volume" value="32"/>
+ <ctl name="AIF2TX1 Input 2 Volume" value="32"/>
+ <ctl name="AIF2TX1 Input 3 Volume" value="32"/>
+ <ctl name="AIF2TX1 Input 4 Volume" value="32"/>
+ <ctl name="AIF2TX2 Input 1 Volume" value="32"/>
+ <ctl name="AIF2TX2 Input 2 Volume" value="32"/>
+ <ctl name="AIF2TX2 Input 3 Volume" value="32"/>
+ <ctl name="AIF2TX2 Input 4 Volume" value="32"/>
+ <ctl name="AIF3TX1 Input 1 Volume" value="32"/>
+ <ctl name="AIF3TX1 Input 2 Volume" value="32"/>
+ <ctl name="AIF3TX1 Input 3 Volume" value="32"/>
+ <ctl name="AIF3TX1 Input 4 Volume" value="32"/>
+ <ctl name="AIF3TX2 Input 1 Volume" value="32"/>
+ <ctl name="AIF3TX2 Input 2 Volume" value="32"/>
+ <ctl name="AIF3TX2 Input 3 Volume" value="32"/>
+ <ctl name="AIF3TX2 Input 4 Volume" value="32"/>
+ <ctl name="HPOUT1L Input 3 Volume" value="32"/>
+ <ctl name="HPOUT1R Input 3 Volume" value="32"/>
+ <ctl name="EPOUT Input 3 Volume" value="32"/>
+ <ctl name="EPOUT Input 4 Volume" value="32"/>
+ <ctl name="SPKOUTL Input 1 Volume" value="32"/>
+ <ctl name="SPKOUTR Input 1 Volume" value="32"/>
+ <ctl name="SPKOUTL Input 3 Volume" value="32"/>
+ <ctl name="EPOUT Digital Volume" value="128"/>
+ <ctl name="Speaker Digital Volume" value="122"/>
+ <ctl name="Input Ramp Up" value="8ms/6dB"/>
+ <ctl name="RCV Switch" value="0"/>
+ <ctl name="SPK Switch" value="0"/>
+ <ctl name="HP Switch" value="0"/>
+ <ctl name="VPS Switch" value="0"/>
+ <ctl name="HDMI Switch" value="0"/>
+ <ctl name="Main Mic Switch" value="0"/>
+ <ctl name="Sub Mic Switch" value="0"/>
+ <ctl name="3rd Mic Switch" value="0"/>
+ <ctl name="Headset Mic Switch" value="0"/>
+ <ctl name="AIF2 Mode" value="Master"/>
+
+ <!-- Channels -->
+ <path name="channel-left">
+ <ctl name="AIF1TX1 Input 1" value="LHPF1"/>
+ <ctl name="AIF1TX2 Input 1" value="LHPF1"/>
+ <ctl name="ASRC1L Input" value="LHPF1"/>
+ <ctl name="ASRC1R Input" value="LHPF1"/>
+ </path>
+
+ <path name="channel-right">
+ <ctl name="AIF1TX1 Input 1" value="LHPF2"/>
+ <ctl name="AIF1TX2 Input 1" value="LHPF2"/>
+ <ctl name="ASRC1L Input" value="LHPF2"/>
+ <ctl name="ASRC1R Input" value="LHPF2"/>
+ </path>
+
+ <path name="channel-stereo">
+ <ctl name="AIF1TX1 Input 1" value="LHPF1"/>
+ <ctl name="AIF1TX2 Input 1" value="LHPF2"/>
+ <ctl name="ASRC1L Input" value="LHPF1"/>
+ <ctl name="ASRC1R Input" value="LHPF2"/>
+ </path>
+
+ <path name="channel-none">
+ <ctl name="AIF3TX1 Input 1" value="ASRC1L"/>
+ <ctl name="AIF3TX2 Input 1" value="ASRC1R"/>
+ <ctl name="ASRC1L Input" value="AIF1RX1"/>
+ <ctl name="ASRC1R Input" value="AIF1RX2"/>
+ </path>
+
+ <!-- Paths that roughly correspond to devices -->
+ <path name="speaker">
+ <ctl name="SPK Switch" value="1"/>
+ </path>
+
+ <path name="headphones">
+ <ctl name="HP Switch" value="1"/>
+ </path>
+
+ <path name="earpiece">
+ <ctl name="RCV Switch" value="1"/>
+ </path>
+
+ <path name="builtin-mic">
+ <ctl name="Main Mic Switch" value="1"/>
+ <ctl name="LHPF1 Input 1" value="IN1L"/>
+ <ctl name="IN1L Volume" value="25"/>
+ <ctl name="LHPF1 Input 1 Volume" value="32"/>
+ <ctl name="IN1L Digital Volume" value="128"/>
+ </path>
+
+ <path name="back-mic">
+ <ctl name="Sub Mic Switch" value="1"/>
+ <ctl name="LHPF2 Input 1" value="IN2L"/>
+ <ctl name="IN2L Volume" value="28"/>
+ <ctl name="LHPF2 Input 1 Volume" value="32"/>
+ <ctl name="IN2L Digital Volume" value="128"/>
+ </path>
+
+ <path name="third-mic">
+ <ctl name="3rd Mic Switch" value="1"/>
+ <ctl name="LHPF2 Input 1" value="IN2R"/>
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="LHPF1 Input 1 Volume" value="32"/>
+ <ctl name="IN1L Digital Volume" value="128"/>
+ </path>
+
+ <path name="headset-in">
+ <ctl name="Headset Mic Switch" value="1"/>
+ <ctl name="LHPF1 Input 1" value="IN1R"/>
+ <ctl name="IN1R Volume" value="18"/>
+ <ctl name="IN1R Digital Volume" value="128"/>
+ </path>
+
+ <!--Setups-->
+ <path name="media-setup">
+ <ctl name="HPOUT1L Input 3 Volume" value="6"/>
+ <ctl name="HPOUT1R Input 3 Volume" value="6"/>
+ <ctl name="EPOUT Input 1 Volume" value="28"/>
+ <ctl name="EPOUT Input 2 Volume" value="28"/>
+ <ctl name="EPOUT Input 3 Volume" value="30"/>
+ <ctl name="EPOUT Input 4 Volume" value="30"/>
+ <ctl name="SPKOUTL Input 1 Volume" value="31"/>
+ <ctl name="SPKOUTR Input 1 Volume" value="31"/>
+ <ctl name="SPKOUTL Input 3 Volume" value="30"/>
+ <ctl name="HPOUT1 Digital Volume" value="115"/>
+ <ctl name="EPOUT Digital Volume" value="122"/>
+ <ctl name="Speaker Digital Volume" value="121"/>
+ <ctl name="EPOUT DRE Switch" value="1"/>
+ </path>
+
+ <path name="voice-setup">
+ <ctl name="EPOUT Input 1 Volume" value="32"/>
+ <ctl name="EPOUT Input 2 Volume" value="32"/>
+ <ctl name="EPOUT Input 3 Volume" value="30"/>
+ <ctl name="EPOUT Input 4 Volume" value="30"/>
+ <ctl name="SPKOUTR Input 3" value="ASRC2R"/>
+ <ctl name="SPKOUTL Input 3" value="ASRC2L"/>
+ <ctl name="EPOUT Input 3" value="ASRC2L"/>
+ <ctl name="HPOUT1R Input 2" value="ASRC2R"/>
+ <ctl name="HPOUT1L Input 2" value="ASRC2L"/>
+ <ctl name="AIF2 Mode" value="Slave"/>
+ <ctl name="HPOUT1 DRE Switch" value="0"/>
+ <ctl name="EPOUT DRE Switch" value="0"/>
+ <ctl name="HPOUT1 Digital Volume" value="128"/>
+ </path>
+
+ <path name="headphones-setup">
+ <ctl name="HPOUT1L Input 3 Volume" value="6"/>
+ <ctl name="HPOUT1R Input 3 Volume" value="6"/>
+ <ctl name="SPKOUTL Input 1 Volume" value="30"/>
+ <ctl name="SPKOUTR Input 1 Volume" value="31"/>
+ <ctl name="SPKOUTL Input 3 Volume" value="30"/>
+ <ctl name="EPOUT Digital Volume" value="108"/>
+ </path>
+
+ <!-- Paths used by HAL -->
+ <!-- Playback paths -->
+ <path name="voice-earpiece">
+ <path name="earpiece"/>
+ </path>
+
+ <path name="voice-earpiece-wb">
+ <path name="voice-setup"/>
+ <path name="earpiece"/>
+ <ctl name="SPKOUTL Input 1 Volume" value="31"/>
+ <ctl name="SPKOUTR Input 1 Volume" value="30"/>
+ </path>
+
+ <path name="voice-speaker">
+ <path name="speaker"/>
+ </path>
+
+ <path name="voice-speaker-wb">
+ <path name="voice-setup"/>
+ <path name="speaker"/>
+ <ctl name="SPKOUTL Input 3 Volume" value="30"/>
+ <ctl name="Speaker Digital Volume" value="128"/>
+ </path>
+
+ <path name="voice-headphones">
+ <path name="headphones"/>
+ <ctl name="Noise Gate Switch" value="0"/>
+ </path>
+
+ <path name="voice-headphones-wb">
+ <path name="voice-setup"/>
+ <path name="headphones-setup"/>
+ <path name="headphones"/>
+ <ctl name="Noise Gate Switch" value="0"/>
+ <ctl name="LHPF2 Input 1" value="IN2L"/>
+ <ctl name="IN2L Volume" value="28"/>
+ <ctl name="HPOUT1 Digital Volume" value="116"/>
+ </path>
+
+ <path name="media-speaker">
+ <path name="speaker"/>
+ <path name="media-setup"/>
+ </path>
+
+ <path name="media-earpiece">
+ <path name="earpiece"/>
+ <path name="media-setup"/>
+ </path>
+
+ <path name="media-headphones">
+ <path name="headphones-setup"/>
+ <path name="headphones"/>
+ </path>
+
+ <path name="speaker-and-headphones">
+ <path name="speaker"/>
+ <path name="headphones"/>
+ </path>
+
+
+ <!-- Capture paths -->
+ <path name="voice-speaker-mic">
+ <path name="back-mic"/>
+ <path name="channel-right"/>
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="IN1R Volume" value="18"/>
+ <ctl name="LHPF1 Input 1" value="IN1L"/>
+ </path>
+
+ <path name="voice-speaker-mic-wb">
+ <path name="back-mic"/>
+ <path name="channel-right"/>
+ <ctl name="IN1L Volume" value="30"/>
+ <ctl name="IN1R Volume" value="30"/>
+ <ctl name="IN2L Volume" value="15"/>
+ <ctl name="LHPF1 Input 1" value="IN1L"/>
+ </path>
+
+ <path name="voice-earpiece-mic">
+ <path name="builtin-mic"/>
+ <path name="channel-left"/>
+ <ctl name="IN2L Volume" value="28"/>
+ <ctl name="IN1R Volume" value="18"/>
+ <ctl name="LHPF2 Input 1" value="IN2L"/>
+ </path>
+
+ <path name="voice-earpiece-mic-wb">
+ <path name="builtin-mic"/>
+ <path name="channel-left"/>
+ <ctl name="IN1L Volume" value="30"/>
+ <ctl name="IN2L Volume" value="30"/>
+ <ctl name="IN1R Volume" value="30"/>
+ </path>
+
+ <path name="voice-headset-mic">
+ <path name="headset-in"/>
+ <path name="channel-left"/>
+ </path>
+
+ <path name="voice-headset-mic-wb">
+ <path name="headset-in"/>
+ <path name="channel-left"/>
+ <ctl name="IN1L Volume" value="25"/>
+ </path>
+
+ <path name="media-speaker-mic">
+ <path name="back-mic"/>
+ <path name="channel-right"/>
+ <ctl name="IN1L Volume" value="31"/>
+ <ctl name="IN1R Volume" value="18"/>
+ <ctl name="LHPF1 Input 1" value="IN1L"/>
+ </path>
+
+ <path name="media-earpiece-mic">
+ <path name="builtin-mic"/>
+ <path name="channel-left"/>
+ <ctl name="IN2L Volume" value="28"/>
+ <ctl name="IN1R Volume" value="18"/>
+ <ctl name="LHPF2 Input 1" value="IN2L"/>
+ </path>
+
+ <path name="media-headset-mic">
+ <path name="channel-left"/>
+ <path name="headset-in"/>
+ </path>
+
+ <path name="none">
+ <!-- Empty path -->
+ </path>
+
+</mixer>
diff --git a/audio/routing.h b/audio/routing.h
index 0307e1c..fae05b5 100644
--- a/audio/routing.h
+++ b/audio/routing.h
@@ -59,42 +59,42 @@ struct route_config {
const struct route_config voice_speaker = {
"voice-speaker",
- "voice-speaker-main-mic",
+ "voice-speaker-mic",
{ ES325_PRESET_VOIP_DESKTOP,
ES325_PRESET_VOIP_DESKTOP }
};
const struct route_config voice_speaker_wb = {
"voice-speaker-wb",
- "voice-speaker-main-mic",
+ "voice-speaker-mic-wb",
{ ES325_PRESET_VOIP_DESKTOP,
ES325_PRESET_VOIP_DESKTOP }
};
const struct route_config voice_earpiece = {
"voice-earpiece",
- "voice-main-mic",
+ "voice-earpiece-mic",
{ ES325_PRESET_VOIP_HANDHELD,
ES325_PRESET_VOIP_HANDHELD }
};
const struct route_config voice_earpiece_wb = {
"voice-earpiece-wb",
- "voice-main-mic-wb",
+ "voice-earpiece-mic-wb",
{ ES325_PRESET_VOIP_HANDHELD,
ES325_PRESET_VOIP_HANDHELD }
};
const struct route_config voice_headphones = {
"voice-headphones",
- "voice-main-mic",
+ "voice-earpiece-mic",
{ ES325_PRESET_VOIP_HEADPHONES,
ES325_PRESET_VOIP_HEADPHONES }
};
const struct route_config voice_headphones_wb = {
"voice-headphones-wb",
- "voice-main-mic-wb",
+ "voice-earpiece-mic-wb",
{ ES325_PRESET_VOIP_HEADPHONES,
ES325_PRESET_VOIP_HEADPHONES }
};
@@ -115,7 +115,7 @@ const struct route_config voice_headset_wb = {
const struct route_config media_speaker = {
"media-speaker",
- "media-main-mic",
+ "media-speaker-mic",
{ ES325_PRESET_ASRA_HANDHELD,
ES325_PRESET_ASRA_DESKTOP }
};
@@ -129,14 +129,14 @@ const struct route_config bluetooth_sco_wb = {
const struct route_config media_earpiece = {
"media-earpiece",
- "media-main-mic",
+ "media-earpiece-mic",
{ ES325_PRESET_VOIP_HANDHELD,
ES325_PRESET_VOIP_HANDHELD }
};
const struct route_config media_headphones = {
"media-headphones",
- "media-main-mic",
+ "media-earpiece-mic",
{ ES325_PRESET_VOIP_HEADPHONES,
ES325_PRESET_VOIP_HEADPHONES }
};
@@ -150,70 +150,70 @@ const struct route_config media_headset = {
const struct route_config camcorder_speaker = {
"media-speaker",
- "media-main-mic",
+ "media-speaker-mic",
{ ES325_PRESET_CAMCORDER,
ES325_PRESET_CAMCORDER }
};
const struct route_config camcorder_headphones = {
"media-headphones",
- "media-second-mic",
+ "media-earpiece-mic",
{ ES325_PRESET_CAMCORDER,
ES325_PRESET_CAMCORDER }
};
const struct route_config voice_rec_speaker = {
- "voice-rec-speaker",
- "voice-rec-main-mic",
+ "media-speaker",
+ "media-speaker-mic",
{ ES325_PRESET_ASRA_HANDHELD,
ES325_PRESET_ASRA_DESKTOP }
};
const struct route_config voice_rec_headphones = {
- "voice-rec-headphones",
- "voice-rec-main-mic",
+ "media-headphones",
+ "media-earpiece-mic",
{ ES325_PRESET_ASRA_HANDHELD,
ES325_PRESET_ASRA_DESKTOP }
};
const struct route_config voice_rec_headset = {
- "voice-rec-headphones",
- "voice-rec-headset-mic",
+ "media-headphones",
+ "media-headset-mic",
{ ES325_PRESET_ASRA_HEADSET,
ES325_PRESET_ASRA_HEADSET }
};
const struct route_config communication_speaker = {
- "communication-speaker",
- "communication-main-mic",
+ "voice-speaker",
+ "voice-speaker-mic",
{ ES325_PRESET_VOIP_DESKTOP,
ES325_PRESET_VOIP_DESKTOP }
};
const struct route_config communication_earpiece = {
- "communication-earpiece",
- "communication-main-mic",
+ "voice-earpiece",
+ "voice-earpiece-mic",
{ ES325_PRESET_VOIP_HANDHELD,
ES325_PRESET_VOIP_HANDHELD }
};
const struct route_config communication_headphones = {
- "communication-headphones",
- "communication-main-mic",
+ "voice-headphones",
+ "voice-earpiece-mic",
{ ES325_PRESET_VOIP_HEADPHONES,
ES325_PRESET_VOIP_HP_DESKTOP}
};
const struct route_config communication_headset = {
- "communication-headphones",
- "communication-headset-mic",
+ "voice-headphones",
+ "voice-headset-mic",
{ ES325_PRESET_VOIP_HEADSET,
ES325_PRESET_VOIP_HEADSET }
};
const struct route_config speaker_and_headphones = {
"speaker-and-headphones",
- "main-mic",
+ "media-speaker-mic",
{ ES325_PRESET_CURRENT,
ES325_PRESET_CURRENT }
};