Merge "configs : msm8953 : enable compress_meta_data"
diff --git a/adsprpcd/adsprpcd.c b/adsprpcd/adsprpcd.c
index 96f16ec..a44c013 100644
--- a/adsprpcd/adsprpcd.c
+++ b/adsprpcd/adsprpcd.c
@@ -65,8 +65,7 @@
VERIFY_EPRINTF("audio adsp daemon error %s", dlerror());
}
if (nErr == AEE_ECONNREFUSED) {
- VERIFY_EPRINTF("fastRPC device driver is disabled, daemon exiting...");
- break;
+ VERIFY_EPRINTF("fastRPC device driver is disabled, retrying...");
}
VERIFY_EPRINTF("audio adsp daemon will restart after 25ms...");
usleep(25000);
diff --git a/configs/common/base/mixer_paths_base.xml b/configs/common/base/mixer_paths_base.xml
new file mode 100644
index 0000000..8055744
--- /dev/null
+++ b/configs/common/base/mixer_paths_base.xml
@@ -0,0 +1,3507 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="Voice Rx Device Mute" id="0" value="0"/>
+ <ctl name="Voice Rx Device Mute" id="1" value="-1"/>
+ <ctl name="Voice Rx Device Mute" id="2" value="20"/>
+ <ctl name="Voice Tx Mute" id="0" value="0"/>
+ <ctl name="Voice Tx Mute" id="1" value="-1"/>
+ <ctl name="Voice Tx Mute" id="2" value="500"/>
+ <ctl name="Voice Rx Gain" id="0" value="0"/>
+ <ctl name="Voice Rx Gain" id="1" value="-1"/>
+ <ctl name="Voice Rx Gain" id="2" value="20"/>
+ <ctl name="Voice Sidetone Enable" value="0"/>
+ <ctl name="Voip Tx Mute" id="0" value="0"/>
+ <ctl name="Voip Tx Mute" id="1" value="500"/>
+ <ctl name="Voip Rx Gain" id="0" value="0"/>
+ <ctl name="Voip Rx Gain" id="1" value="20"/>
+ <ctl name="Voip Mode Config" value="12"/>
+ <ctl name="Voip Rate Config" value="0"/>
+ <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1"/>
+ <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4"/>
+ <ctl name="Voip Dtx Mode" value="0"/>
+ <ctl name="TTY Mode" value="OFF"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia1" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia4" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia5" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia7" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia11" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia12" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia13" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia14" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia15" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="0"/>
+ <ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0"/>
+ <ctl name="MultiMedia5 Mixer TX_CDC_DMA_TX_3" value="0"/>
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="0"/>
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0"/>
+ <ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0"/>
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0"/>
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0"/>
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0"/>
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0"/>
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0"/>
+ <ctl name="MultiMedia10 Mixer AFE_PCM_TX" value="0"/>
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="0"/>
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="0"/>
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia1" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia2" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia3" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia4" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia5" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia6" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia7" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia8" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia9" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia10" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia11" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia12" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia13" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia14" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia15" value="0"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia16" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia1" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia2" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia3" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia4" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia5" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia6" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia7" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia8" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia9" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia10" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia11" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia12" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia13" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia14" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia15" value="0"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia16" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia2" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia3" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia2" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia3" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia3" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia7" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia11" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia12" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia13" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia14" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia15" value="0"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="0"/>
+ <ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="MultiMedia5 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="VI_FEED_TX Channels" value="Two"/>
+ <ctl name="TX LPI Enable" value="0"/>
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="0"/>
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Format" value="UNPACKED"/>
+ <ctl name="WSA_CDC_DMA_TX_0 Format" value="UNPACKED"/>
+ <ctl name="RX_CDC_DMA_RX_0 Format" value="UNPACKED"/>
+ <ctl name="TX_CDC_DMA_TX_3 Format" value="UNPACKED"/>
+ <ctl name="WSA_CDC_DMA_TX_0 SampleRate" value="KHZ_48"/>
+ <ctl name="HFP_SLIM7_UL_HL Switch" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_7_TX" value="0"/>
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="None"/>
+ <ctl name="EC Reference Channels" value="Zero"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia7" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia11" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia12" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia13" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia14" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia15" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia16" value="0"/>
+ <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="0"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="0"/>
+ <ctl name="Tert MI2S LOOPBACK Volume" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Port Mixer TERT_MI2S_TX" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0_DL_HL Switch" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer TERT_MI2S_TX" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="0"/>
+ <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="0"/>
+ <ctl name="MultiMedia2 Mixer TERT_MI2S_TX" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="0"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="0"/>
+ <ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="0"/>
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="0"/>
+ <ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="0"/>
+ <ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="0"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="0"/>
+ <ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="0"/>
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="0"/>
+ <ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="0"/>
+ <ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="0"/>
+ <ctl name="VOC_EXT_EC MUX" value="NONE"/>
+ <ctl name="RT_PROXY_1_RX SetCalMode" value="CAL_MODE_NONE"/>
+ <ctl name="RT_PROXY_1_TX SetCalMode" value="CAL_MODE_NONE"/>
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0"/>
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0"/>
+ <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="0"/>
+ <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="0"/>
+ <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0"/>
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0_Voice Mixer Voip" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="0"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="0"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="0"/>
+ <ctl name="SLIM_7_RX_Voice Mixer Voip" value="0"/>
+ <ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="0"/>
+ <ctl name="AFE_PCM_RX_Voice Mixer Voip" value="0"/>
+ <ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0"/>
+ <ctl name="USB_AUDIO_RX_Voice Mixer Voip" value="0"/>
+ <ctl name="Voip_Tx Mixer USB_AUDIO_TX_Voip" value="0"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia6" value="0"/>
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="0"/>
+ <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="0"/>
+ <ctl name="AFE Input Channels" value="Zero"/>
+ <ctl name="SLIM7_RX ADM Channels" value="Zero"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="0"/>
+ <ctl name="WSA RX0 MUX" value="ZERO"/>
+ <ctl name="WSA RX1 MUX" value="ZERO"/>
+ <ctl name="WSA_RX0 INP0" value="ZERO"/>
+ <ctl name="WSA_RX1 INP0" value="ZERO"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="ZERO"/>
+ <ctl name="WSA_RX_0_VI_FB_RCH_MUX" value="ZERO"/>
+ <ctl name="SpkrLeft COMP Switch" value="0"/>
+ <ctl name="SpkrRight COMP Switch" value="0"/>
+ <ctl name="SpkrLeft VISENSE Switch" value="0"/>
+ <ctl name="SpkrRight VISENSE Switch" value="0"/>
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="0"/>
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="0"/>
+ <ctl name="RX_MACRO RX0 MUX" value="ZERO"/>
+ <ctl name="RX_MACRO RX1 MUX" value="ZERO"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="ZERO"/>
+ <ctl name="RX INT0_1 MIX1 INP1" value="ZERO"/>
+ <ctl name="RX INT0_1 MIX1 INP2" value="ZERO"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="ZERO"/>
+ <ctl name="RX INT1_1 MIX1 INP1" value="ZERO"/>
+ <ctl name="RX INT1_1 MIX1 INP2" value="ZERO"/>
+ <ctl name="RX INT0 DEM MUX" value="NORMAL_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="NORMAL_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="0"/>
+ <ctl name="RX_COMP2 Switch" value="0"/>
+ <ctl name="HPHL_COMP Switch" value="0"/>
+ <ctl name="HPHR_COMP Switch" value="0"/>
+ <ctl name="EAR_RDAC Switch" value="0"/>
+ <ctl name="HPHL_RDAC Switch" value="0"/>
+ <ctl name="HPHR_RDAC Switch" value="0"/>
+ <ctl name="AUX_RDAC Switch" value="0"/>
+ <ctl name="RDAC3_MUX" value="ZERO"/>
+ <ctl name="RX_EAR Mode" value="OFF"/>
+ <ctl name="ADC1_MIXER Switch" value="0"/>
+ <ctl name="ADC2_MIXER Switch" value="0"/>
+ <ctl name="ADC3_MIXER Switch" value="0"/>
+ <ctl name="ADC4_MIXER Switch" value="0"/>
+ <ctl name="ADC2 MUX" value="ZERO"/>
+ <ctl name="DEC0_BCS Switch" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC4" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC5" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC7" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC1" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC2" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC3" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC4" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC5" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC6" value="0"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC7" value="0"/>
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX0" value="ZERO"/>
+ <ctl name="TX SMIC MUX0" value="ZERO"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX1" value="ZERO"/>
+ <ctl name="TX SMIC MUX1" value="ZERO"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX2" value="ZERO"/>
+ <ctl name="TX SMIC MUX2" value="ZERO"/>
+ <ctl name="TX DEC3 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX3" value="ZERO"/>
+ <ctl name="TX SMIC MUX3" value="ZERO"/>
+ <ctl name="TX DEC4 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX4" value="ZERO"/>
+ <ctl name="TX SMIC MUX4" value="ZERO"/>
+ <ctl name="TX DEC5 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX5" value="ZERO"/>
+ <ctl name="TX SMIC MUX5" value="ZERO"/>
+ <ctl name="TX DEC6 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX6" value="ZERO"/>
+ <ctl name="TX SMIC MUX6" value="ZERO"/>
+ <ctl name="TX DEC7 MUX" value="SWR_MIC"/>
+ <ctl name="TX DMIC MUX7" value="ZERO"/>
+ <ctl name="TX SMIC MUX7" value="ZERO"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ <ctl name="BCS Channel" value="CH6"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH3"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="WSA_RX0 Digital Volume" value="84"/>
+ <ctl name="WSA_RX1 Digital Volume" value="84"/>
+ <ctl name="RX_RX0 Digital Volume" value="84"/>
+ <ctl name="RX_RX1 Digital Volume" value="84"/>
+ <ctl name="RX_RX2 Digital Volume" value="84"/>
+ <ctl name="HPHL Volume" value="20"/>
+ <ctl name="HPHR Volume" value="20"/>
+ <ctl name="EAR SPKR PA Gain" value="G_DEFAULT"/>
+ <ctl name="TX_DEC0 Volume" value="102"/>
+ <ctl name="TX_DEC1 Volume" value="102"/>
+ <ctl name="TX_DEC2 Volume" value="102"/>
+ <ctl name="TX_DEC3 Volume" value="102"/>
+ <ctl name="TX_DEC4 Volume" value="84"/>
+ <ctl name="TX_DEC5 Volume" value="84"/>
+ <ctl name="TX_DEC6 Volume" value="84"/>
+ <ctl name="TX_DEC7 Volume" value="84"/>
+ <ctl name="ADC1 Volume" value="12"/>
+ <ctl name="ADC2 Volume" value="12"/>
+ <ctl name="ADC3 Volume" value="12"/>
+ <ctl name="WSA_COMP1 Switch" value="0"/>
+ <ctl name="WSA_COMP2 Switch" value="0"/>
+ <ctl name="COMP7 Switch" value="0"/>
+ <ctl name="COMP8 Switch" value="0"/>
+ <ctl name="RX_HPH_PWR_MODE" value="ULP"/>
+ <ctl name="RX HPH Mode" value="CLS_H_ULP"/>
+ <ctl name="IIR0 Band1" id="0" value="268435456"/>
+ <ctl name="IIR0 Band1" id="1" value="0"/>
+ <ctl name="IIR0 Band1" id="2" value="0"/>
+ <ctl name="IIR0 Band1" id="3" value="0"/>
+ <ctl name="IIR0 Band1" id="4" value="0"/>
+ <ctl name="IIR0 Band2" id="0" value="268435456"/>
+ <ctl name="IIR0 Band2" id="1" value="0"/>
+ <ctl name="IIR0 Band2" id="2" value="0"/>
+ <ctl name="IIR0 Band2" id="3" value="0"/>
+ <ctl name="IIR0 Band2" id="4" value="0"/>
+ <ctl name="IIR0 Band3" id="0" value="268435456"/>
+ <ctl name="IIR0 Band3" id="1" value="0"/>
+ <ctl name="IIR0 Band3" id="2" value="0"/>
+ <ctl name="IIR0 Band3" id="3" value="0"/>
+ <ctl name="IIR0 Band3" id="4" value="0"/>
+ <ctl name="IIR0 Band4" id="0" value="268435456"/>
+ <ctl name="IIR0 Band4" id="1" value="0"/>
+ <ctl name="IIR0 Band4" id="2" value="0"/>
+ <ctl name="IIR0 Band4" id="3" value="0"/>
+ <ctl name="IIR0 Band4" id="4" value="0"/>
+ <ctl name="IIR0 Band5" id="0" value="268435456"/>
+ <ctl name="IIR0 Band5" id="1" value="0"/>
+ <ctl name="IIR0 Band5" id="2" value="0"/>
+ <ctl name="IIR0 Band5" id="3" value="0"/>
+ <ctl name="IIR0 Band5" id="4" value="0"/>
+ <ctl name="IIR0 Enable Band1" value="0"/>
+ <ctl name="IIR0 Enable Band2" value="0"/>
+ <ctl name="IIR0 Enable Band3" value="0"/>
+ <ctl name="IIR0 Enable Band4" value="0"/>
+ <ctl name="IIR0 Enable Band5" value="0"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="ZERO"/>
+ <ctl name="IIR0 INP1 MUX" value="ZERO"/>
+ <ctl name="IIR0 INP2 MUX" value="ZERO"/>
+ <ctl name="IIR0 INP3 MUX" value="ZERO"/>
+ <ctl name="GSM mode Enable" value="OFF"/>
+ <ctl name="WSA_Softclip0 Enable" value="0"/>
+ <ctl name="WSA_Softclip1 Enable" value="0"/>
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="0"/>
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="0"/>
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="0"/>
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="0"/>
+ <ctl name="MultiMedia16 Mixer SLIM_7_TX" value="0"/>
+ <ctl name="MultiMedia16 Mixer TERT_MI2S_TX" value="0"/>
+ <ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="0"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_6 Channels" value="One"/>
+ <ctl name="TX0 MODE" value="ADC_LP"/>
+ <ctl name="TX1 MODE" value="ADC_LP"/>
+ <ctl name="TX2 MODE" value="ADC_LP"/>
+ <ctl name="TX3 MODE" value="ADC_LP"/>
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="0"/>
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="0"/>
+ <ctl name="SpkrLeft BOOST Switch" value="0"/>
+ <ctl name="SpkrRight BOOST Switch" value="0"/>
+ <ctl name="HPH_L Switch" value="0"/>
+ <ctl name="HPH_R Switch" value="0"/>
+ <ctl name="DSD_L Switch" value="0"/>
+ <ctl name="DSD_R Switch" value="0"/>
+ <ctl name="ADC3 MUX" value="ZERO"/>
+ <ctl name="ADC4 MUX" value="ZERO"/>
+ <ctl name="SWR_MIC0 HIFI PortMap" value="ZERO"/>
+ <ctl name="SWR_MIC1 HIFI PortMap" value="ZERO"/>
+ <ctl name="SWR_MIC2 HIFI PortMap" value="ZERO"/>
+ <ctl name="SWR_MIC3 HIFI PortMap" value="ZERO"/>
+ <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="0"/>
+ <ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="0"/>
+ <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="0"/>
+ <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="0"/>
+ <ctl name="SWR DAC_Port Switch" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia1" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia2" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia3" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia4" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia5" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia7" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia8" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia11" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia12" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia13" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia14" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia15" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Channels" value="One"/>
+ <ctl name="RX_CDC_DMA_RX_1 Format" value="UNPACKED"/>
+ <ctl name="RX_CDC_DMA_RX_1 Port Mixer SLIM_7_TX" value="0"/>
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Port Mixer SLIM_8_TX" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_8_TX" value="0"/>
+ <ctl name="MultiMedia1 Mixer SLIM_8_TX" value="0"/>
+ <ctl name="MultiMedia2 Mixer SLIM_8_TX" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode1" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode2" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer Voip" value="0"/>
+ <ctl name="RX_MACRO RX2 MUX" value="ZERO"/>
+ <ctl name="RX INT2_1 MIX1 INP0" value="ZERO"/>
+ <ctl name="SpkrMono WSA_RDAC" value="ZERO"/>
+ <ctl name="SpkrMono BOOST Switch" value="1"/>
+ <ctl name="RX_Softclip Enable" value="0"/>
+ <ctl name="RX INT2_1 VBAT RX AUX VBAT Enable" value="0"/>
+ <ctl name="MultiMedia16 Mixer SLIM_8_TX" value="0"/>
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia31" value="0"/>
+ <path name="gsm-mode">
+ <ctl name="GSM mode Enable" value="ON"/>
+ </path>
+ <path name="tx-lpi-enable">
+ <ctl name="TX LPI Enable" value="1"/>
+ </path>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones"/>
+ </path>
+ <path name="echo-reference display-port">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference display-port1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="DISPLAY_PORT1"/>
+ </path>
+ <path name="echo-reference headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference bt-sco">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference bt-sco-wb">
+ <path name="echo-reference bt-sco"/>
+ </path>
+ <path name="echo-reference bt-sco-swb">
+ <path name="echo-reference bt-sco"/>
+ </path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco"/>
+ </path>
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco"/>
+ </path>
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference-voip bt-sco">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="SLIM_7_RX"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference-voip bt-sco-wb">
+ <path name="echo-reference-voip bt-sco"/>
+ </path>
+ <path name="echo-reference-voip bt-sco-swb">
+ <path name="echo-reference-voip bt-sco"/>
+ </path>
+ <path name="deep-buffer-playback">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback speaker-protected">
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe">
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-display-port">
+ <path name="deep-buffer-playback display-port"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-display-port1">
+ <path name="deep-buffer-playback display-port1"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco"/>
+ </path>
+ <path name="deep-buffer-playback bt-sco-swb">
+ <path name="deep-buffer-playback bt-sco"/>
+ </path>
+ <path name="deep-buffer-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-usb-headphones">
+ <path name="deep-buffer-playback usb-headphones"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="deep-buffer-playback headset">
+ <path name="deep-buffer-playback headphones"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-headphones">
+ <path name="deep-buffer-playback headphones"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-headphones">
+ <path name="deep-buffer-playback headphones"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco">
+ <path name="deep-buffer-playback bt-sco"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco-wb">
+ <path name="deep-buffer-playback bt-sco-wb"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-bt-sco-swb">
+ <path name="deep-buffer-playback bt-sco-swb"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="low-latency-playback">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback speaker-protected">
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe">
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback bt-sco-wb">
+ <path name="low-latency-playback bt-sco"/>
+ </path>
+ <path name="low-latency-playback bt-sco-swb">
+ <path name="low-latency-playback bt-sco"/>
+ </path>
+ <path name="low-latency-playback speaker-and-display-port">
+ <path name="low-latency-playback display-port"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-and-display-port1">
+ <path name="low-latency-playback display-port1"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback speaker-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-usb-headphones">
+ <path name="low-latency-playback usb-headphones"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="low-latency-playback headset">
+ <path name="low-latency-playback headphones"/>
+ </path>
+ <path name="low-latency-playback speaker-and-headphones">
+ <path name="low-latency-playback headphones"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-headphones">
+ <path name="low-latency-playback headphones"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback resume">
+ <ctl name="MultiMedia5_RX QOS Vote" value="Enable"/>
+ </path>
+ <path name="low-latency-playback speaker-and-bt-sco">
+ <path name="low-latency-playback bt-sco"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco">
+ <path name="low-latency-playback bt-sco"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco-wb">
+ <path name="low-latency-playback bt-sco-wb"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-and-bt-sco-swb">
+ <path name="low-latency-playback bt-sco-swb"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="audio-ull-playback">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback speaker-protected">
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe">
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback headset">
+ <path name="audio-ull-playback headphones"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-headphones">
+ <path name="audio-ull-playback"/>
+ <path name="audio-ull-playback headphones"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-headphones">
+ <path name="audio-ull-playback"/>
+ <path name="audio-ull-playback headphones"/>
+ </path>
+ <path name="audio-ull-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback bt-sco-wb">
+ <path name="audio-ull-playback bt-sco"/>
+ </path>
+ <path name="audio-ull-playback bt-sco-swb">
+ <path name="audio-ull-playback bt-sco"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-display-port">
+ <path name="audio-ull-playback display-port"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-display-port1">
+ <path name="audio-ull-playback display-port1"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-bt-sco">
+ <path name="audio-ull-playback bt-sco"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco">
+ <path name="audio-ull-playback bt-sco"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco-wb">
+ <path name="audio-ull-playback bt-sco-wb"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-bt-sco-swb">
+ <path name="audio-ull-playback bt-sco-swb"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="multi-channel-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="multi-channel-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="multi-channel-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="compress-offload-playback">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback speaker-protected">
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe">
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="silence-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia9" value="1"/>
+ </path>
+ <path name="silence-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia9" value="1"/>
+ </path>
+ <path name="compress-offload-playback bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback bt-sco-wb">
+ <path name="compress-offload-playback bt-sco"/>
+ </path>
+ <path name="compress-offload-playback bt-sco-swb">
+ <path name="compress-offload-playback bt-sco"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-display-port">
+ <path name="compress-offload-playback display-port"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-display-port1">
+ <path name="compress-offload-playback display-port1"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback usb-headphones"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback headset">
+ <path name="compress-offload-playback headphones"/>
+ </path>
+ <path name="compress-offload-playback headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-headphones">
+ <path name="compress-offload-playback headphones"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-headphones">
+ <path name="compress-offload-playback headphones"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-bt-sco">
+ <path name="compress-offload-playback bt-sco"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback bt-sco"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback bt-sco-wb"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback bt-sco-swb"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback2">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback2 bt-sco-swb">
+ <path name="compress-offload-playback2 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-display-port">
+ <path name="compress-offload-playback2 display-port"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-display-port1">
+ <path name="compress-offload-playback2 display-port1"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-usb-headphones">
+ <path name="compress-offload-playback2 usb-headphones"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback2 usb-headphones"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 headset">
+ <path name="compress-offload-playback2 headphones"/>
+ </path>
+ <path name="compress-offload-playback2 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-headphones">
+ <path name="compress-offload-playback2 headphones"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-headphones">
+ <path name="compress-offload-playback2 headphones"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback2 bt-sco"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback2 bt-sco-wb"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback2 bt-sco-swb"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback3">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback3 bt-sco-swb">
+ <path name="compress-offload-playback3 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-display-port">
+ <path name="compress-offload-playback3 display-port"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-display-port1">
+ <path name="compress-offload-playback3 display-port1"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-usb-headphones">
+ <path name="compress-offload-playback3 usb-headphones"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 headset">
+ <path name="compress-offload-playback3 headphones"/>
+ </path>
+ <path name="compress-offload-playback3 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-headphones">
+ <path name="compress-offload-playback3 headphones"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback3 bt-sco-swb"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback4">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback4 bt-sco-swb">
+ <path name="compress-offload-playback4 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-display-port">
+ <path name="compress-offload-playback4 display-port"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-display-port1">
+ <path name="compress-offload-playback4 display-port1"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-usb-headphones">
+ <path name="compress-offload-playback4 usb-headphones"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 headset">
+ <path name="compress-offload-playback4 headphones"/>
+ </path>
+ <path name="compress-offload-playback4 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-headphones">
+ <path name="compress-offload-playback4 headphones"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback4 bt-sco-swb"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback5">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback5 bt-sco-swb">
+ <path name="compress-offload-playback5 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-display-port">
+ <path name="compress-offload-playback5 display-port"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-display-port1">
+ <path name="compress-offload-playback5 display-port1"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-usb-headphones">
+ <path name="compress-offload-playback5 usb-headphones"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 headset">
+ <path name="compress-offload-playback5 headphones"/>
+ </path>
+ <path name="compress-offload-playback5 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-headphones">
+ <path name="compress-offload-playback5 headphones"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback5 bt-sco-swb"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback6">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback6 bt-sco-swb">
+ <path name="compress-offload-playback6 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-display-port">
+ <path name="compress-offload-playback6 display-port"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-display-port1">
+ <path name="compress-offload-playback6 display-port1"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-usb-headphones">
+ <path name="compress-offload-playback6 usb-headphones"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 headset">
+ <path name="compress-offload-playback6 headphones"/>
+ </path>
+ <path name="compress-offload-playback6 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-headphones">
+ <path name="compress-offload-playback6 headphones"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback6 bt-sco-swb"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback7">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback7 bt-sco-swb">
+ <path name="compress-offload-playback7 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-display-port">
+ <path name="compress-offload-playback7 display-port"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-display-port1">
+ <path name="compress-offload-playback7 display-port1"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-usb-headphones">
+ <path name="compress-offload-playback7 usb-headphones"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 headset">
+ <path name="compress-offload-playback7 headphones"/>
+ </path>
+ <path name="compress-offload-playback7 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-headphones">
+ <path name="compress-offload-playback7 headphones"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback7 bt-sco-swb"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback8">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback8 bt-sco-swb">
+ <path name="compress-offload-playback8 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-display-port">
+ <path name="compress-offload-playback8 display-port"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-display-port1">
+ <path name="compress-offload-playback8 display-port1"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-usb-headphones">
+ <path name="compress-offload-playback8 usb-headphones"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 headset">
+ <path name="compress-offload-playback8 headphones"/>
+ </path>
+ <path name="compress-offload-playback8 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-headphones">
+ <path name="compress-offload-playback8 headphones"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback8 bt-sco-swb"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback9">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback9 bt-sco-swb">
+ <path name="compress-offload-playback9 bt-sco"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-display-port">
+ <path name="compress-offload-playback9 display-port"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-display-port1">
+ <path name="compress-offload-playback9 display-port1"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-usb-headphones">
+ <path name="compress-offload-playback9 usb-headphones"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 headset">
+ <path name="compress-offload-playback9 headphones"/>
+ </path>
+ <path name="compress-offload-playback9 headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-headphones">
+ <path name="compress-offload-playback9 headphones"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-bt-sco-swb">
+ <path name="compress-offload-playback9 bt-sco-swb"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="audio-record">
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="audio-record usb-headset-mic">
+ <ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="audio-record bt-sco">
+ <ctl name="MultiMedia1 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="audio-record bt-sco-wb">
+ <path name="audio-record bt-sco"/>
+ </path>
+ <path name="audio-record bt-sco-swb">
+ <path name="audio-record bt-sco"/>
+ </path>
+ <path name="audio-record headset-mic">
+ <ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer TERT_MI2S_TX" value="1"/>
+ </path>
+ <path name="audio-record-compress">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="audio-record-compress bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="audio-record-compress bt-sco-wb">
+ <path name="audio-record-compress bt-sco"/>
+ </path>
+ <path name="audio-record-compress bt-sco-swb">
+ <path name="audio-record-compress bt-sco"/>
+ </path>
+ <path name="audio-record-compress headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="audio-record-compress usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="audio-record-compress2">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="audio-record-compress2 bt-sco">
+ <ctl name="MultiMedia17 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="audio-record-compress2 bt-sco-wb">
+ <path name="audio-record-compress2 bt-sco"/>
+ </path>
+ <path name="audio-record-compress2 bt-sco-swb">
+ <path name="audio-record-compress2 bt-sco"/>
+ </path>
+ <path name="audio-record-compress2 usb-headset-mic">
+ <ctl name="MultiMedia17 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="audio-record-compress2 headset-mic">
+ <ctl name="MultiMedia17 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="low-latency-record">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="low-latency-record bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="low-latency-record bt-sco-wb">
+ <path name="low-latency-record bt-sco"/>
+ </path>
+ <path name="low-latency-record bt-sco-swb">
+ <path name="low-latency-record bt-sco"/>
+ </path>
+ <path name="low-latency-record headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="low-latency-record usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="low-latency-record capture-fm">
+ <ctl name="MultiMedia8 Mixer TERT_MI2S_TX" value="1"/>
+ </path>
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer TERT_MI2S_TX" value="1"/>
+ </path>
+ <path name="play-fm">
+ <ctl name="Tert MI2S LOOPBACK Volume" value="1"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Port Mixer TERT_MI2S_TX" value="1"/>
+ <ctl name="WSA_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="play-fm headphones">
+ <ctl name="Tert MI2S LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer TERT_MI2S_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="play-fm headset">
+ <path name="play-fm headphones"/>
+ </path>
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1"/>
+ </path>
+ <path name="incall-rec-uplink bt-sco">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink bt-sco-wb">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink bt-sco-swb">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink usb-headset-mic">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink afe-proxy">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink headset-mic">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink call-proxy-in">
+ <path name="incall-rec-uplink"/>
+ </path>
+ <path name="incall-rec-uplink-compress">
+ <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1"/>
+ </path>
+ <path name="incall-rec-uplink-compress bt-sco">
+ <path name="incall-rec-uplink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-compress bt-sco-wb">
+ <path name="incall-rec-uplink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-compress bt-sco-swb">
+ <path name="incall-rec-uplink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-compress usb-headset-mic">
+ <path name="incall-rec-uplink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-compress afe-proxy">
+ <path name="incall-rec-uplink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-compress headset-mic">
+ <path name="incall-rec-uplink-compress"/>
+ </path>
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1"/>
+ </path>
+ <path name="incall-rec-downlink bt-sco">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink bt-sco-wb">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink bt-sco-swb">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink usb-headset-mic">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink afe-proxy">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink call-proxy-in">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink headset-mic">
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-downlink-compress">
+ <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1"/>
+ </path>
+ <path name="incall-rec-downlink-compress bt-sco">
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-downlink-compress bt-sco-wb">
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-downlink-compress bt-sco-swb">
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-downlink-compress usb-headset-mic">
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-downlink-compress afe-proxy">
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-downlink-compress headset-mic">
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink">
+ <path name="incall-rec-uplink"/>
+ <path name="incall-rec-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink bt-sco">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink bt-sco-swb">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink usb-headset-mic">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink afe-proxy">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink call-proxy-in">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink headset-mic">
+ <path name="incall-rec-uplink-and-downlink"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress">
+ <path name="incall-rec-uplink-compress"/>
+ <path name="incall-rec-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco">
+ <path name="incall-rec-uplink-and-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco-wb">
+ <path name="incall-rec-uplink-and-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress bt-sco-swb">
+ <path name="incall-rec-uplink-and-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress usb-headset-mic">
+ <path name="incall-rec-uplink-and-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress afe-proxy">
+ <path name="incall-rec-uplink-and-downlink-compress"/>
+ </path>
+ <path name="incall-rec-uplink-and-downlink-compress headset-mic">
+ <path name="incall-rec-uplink-and-downlink-compress"/>
+ </path>
+ <path name="hfp-sco"/>
+ <path name="hfp-sco headphones"/>
+ <path name="hfp-sco-wb">
+ <path name="hfp-sco"/>
+ </path>
+ <path name="hfp-sco-wb headphones">
+ <path name="hfp-sco headphones"/>
+ </path>
+ <path name="compress-voip-call">
+ <ctl name="WSA_CDC_DMA_RX_0_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call bt-a2dp">
+ <ctl name="SLIM_7_RX_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call headphones">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_4_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call bt-sco">
+ <ctl name="SLIM_7_RX_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer SLIM_7_TX_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call bt-sco-wb">
+ <path name="compress-voip-call bt-sco"/>
+ </path>
+ <path name="compress-voip-call bt-sco-swb">
+ <path name="compress-voip-call bt-sco"/>
+ </path>
+ <path name="compress-voip-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call usb-headphones">
+ <ctl name="USB_AUDIO_RX_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call usb-headset">
+ <ctl name="USB_AUDIO_RX_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer USB_AUDIO_TX_Voip" value="1"/>
+ </path>
+ <path name="compress-voip-call voice-speaker-vbat">
+ <path name="compress-voip-call"/>
+ </path>
+ <path name="compress-voip-call voice-speaker-2-vbat">
+ <path name="compress-voip-call"/>
+ </path>
+ <path name="compress-voip-call voice-speaker-stereo-vbat">
+ <path name="compress-voip-call"/>
+ </path>
+ <path name="voicemmode1-call">
+ <ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer PROXY_TX_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call headphones">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_4_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call bt-sco">
+ <ctl name="SLIM_7_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer SLIM_7_TX_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call bt-sco-wb">
+ <path name="voicemmode1-call bt-sco"/>
+ </path>
+ <path name="voicemmode1-call bt-sco-swb">
+ <path name="voicemmode1-call bt-sco"/>
+ </path>
+ <path name="voicemmode1-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer AFE_PCM_TX_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call usb-headphones">
+ <ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call usb-headset">
+ <ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call display-port-and-usb-headset-mic">
+ <ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call display-port1-and-usb-headset-mic">
+ <ctl name="DISPLAY_PORT1_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer USB_AUDIO_TX_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call display-port">
+ <ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call display-port1">
+ <ctl name="DISPLAY_PORT1_RX_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode1-call voice-speaker-vbat">
+ <path name="voicemmode1-call"/>
+ </path>
+ <path name="voicemmode1-call voice-speaker-2-vbat">
+ <path name="voicemmode1-call"/>
+ </path>
+ <path name="voicemmode1-call voice-speaker-stereo-vbat">
+ <path name="voicemmode1-call"/>
+ </path>
+ <path name="voicemmode2-call">
+ <ctl name="WSA_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call headphones">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call headset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_4_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call bt-sco">
+ <ctl name="SLIM_7_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer SLIM_7_TX_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call bt-sco-wb">
+ <path name="voicemmode2-call bt-sco"/>
+ </path>
+ <path name="voicemmode2-call bt-sco-swb">
+ <path name="voicemmode2-call bt-sco"/>
+ </path>
+ <path name="voicemmode2-call afe-proxy">
+ <ctl name="AFE_PCM_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer AFE_PCM_TX_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call usb-headphones">
+ <ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call usb-headset">
+ <ctl name="USB_AUDIO_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call display-port-and-usb-headset-mic">
+ <ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call display-port1-and-usb-headset-mic">
+ <ctl name="DISPLAY_PORT1_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer USB_AUDIO_TX_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call display-port">
+ <ctl name="DISPLAY_PORT_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call display-port1">
+ <ctl name="DISPLAY_PORT1_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call hearing-aid">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call call-proxy">
+ <ctl name="PROXY_RX_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer PROXY_TX_MMode2" value="1"/>
+ </path>
+ <path name="voicemmode2-call voice-speaker-vbat">
+ <path name="voicemmode2-call"/>
+ </path>
+ <path name="voicemmode2-call voice-speaker-2-vbat">
+ <path name="voicemmode2-call"/>
+ </path>
+ <path name="voicemmode2-call voice-speaker-stereo-vbat">
+ <path name="voicemmode2-call"/>
+ </path>
+ <path name="audio-playback-voip">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip headset">
+ <path name="audio-playback-voip headphones"/>
+ </path>
+ <path name="audio-playback-voip bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip bt-sco-wb">
+ <path name="audio-playback-voip bt-sco"/>
+ </path>
+ <path name="audio-playback-voip bt-sco-swb">
+ <path name="audio-playback-voip bt-sco"/>
+ </path>
+ <path name="audio-playback-voip bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-playback-voip speaker-and-display-port">
+ <path name="audio-playback-voip display-port"/>
+ <path name="audio-playback-voip"/>
+ </path>
+ <path name="audio-playback-voip speaker-and-display-port1">
+ <path name="audio-playback-voip display-port1"/>
+ <path name="audio-playback-voip"/>
+ </path>
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco"/>
+ </path>
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco"/>
+ </path>
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="audio-record-voip usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="audio-record-voip bt-sco">
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="audio-record-voip bt-sco-wb">
+ <path name="audio-record-voip bt-sco"/>
+ </path>
+ <path name="audio-record-voip bt-sco-swb">
+ <path name="audio-record-voip bt-sco"/>
+ </path>
+ <path name="audio-record-voip headset-mic">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="spkr-rx-calib">
+ <ctl name="WSA_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="spkr-vi-record"/>
+ <path name="audio-with-haptics-playback">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-protected">
+ <path name="audio-with-haptics-playback"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-safe">
+ <path name="audio-with-haptics-playback"/>
+ </path>
+ <path name="audio-with-haptics-playback display-port">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="DISPLAY_PORT Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback display-port1">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback bt-sco">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco"/>
+ </path>
+ <path name="audio-with-haptics-playback bt-sco-swb">
+ <path name="audio-with-haptics-playback bt-sco"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-display-port">
+ <path name="audio-with-haptics-playback display-port"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-display-port1">
+ <path name="audio-with-haptics-playback display-port1"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback afe-proxy">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback usb-headphones">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback usb-headset">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-usb-headphones">
+ <path name="audio-with-haptics-playback usb-headphones"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-safe-and-usb-headphones">
+ <path name="audio-with-haptics-playback usb-headphones"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback headphones">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback headset">
+ <path name="audio-with-haptics-playback headphones"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-headphones">
+ <path name="audio-with-haptics-playback headphones"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-safe-and-headphones">
+ <path name="audio-with-haptics-playback headphones"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-bt-sco">
+ <path name="audio-with-haptics-playback bt-sco"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-sco">
+ <path name="audio-with-haptics-playback bt-sco"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco-wb"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco-wb"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-bt-sco-swb">
+ <path name="audio-with-haptics-playback bt-sco-swb"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback bt-a2dp">
+ <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-and-bt-a2dp">
+ <path name="audio-with-haptics-playback bt-a2dp"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-a2dp">
+ <path name="audio-with-haptics-playback bt-a2dp"/>
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1"/>
+ </path>
+ <path name="amic1">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ </path>
+ <path name="amic2">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
+ <ctl name="DEC0_BCS Switch" value="1"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH3"/>
+ <ctl name="BCS Channel" value="CH6"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="amic3">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="amic4">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC4"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ </path>
+ <path name="amic5">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ </path>
+ <path name="speaker">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="WSA RX0 MUX" value="AIF1_PB"/>
+ <ctl name="WSA RX1 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX0 INP0" value="RX0"/>
+ <ctl name="WSA_RX1 INP0" value="RX1"/>
+ <ctl name="WSA_COMP1 Switch" value="1"/>
+ <ctl name="WSA_COMP2 Switch" value="1"/>
+ <ctl name="SpkrLeft COMP Switch" value="1"/>
+ <ctl name="SpkrLeft VISENSE Switch" value="1"/>
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1"/>
+ <ctl name="SpkrRight COMP Switch" value="1"/>
+ <ctl name="SpkrRight VISENSE Switch" value="1"/>
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="haptics">
+ <ctl name="SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-mono">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX0 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX0 INP0" value="RX0"/>
+ <ctl name="WSA_COMP1 Switch" value="1"/>
+ <ctl name="SpkrLeft COMP Switch" value="1"/>
+ <ctl name="SpkrLeft VISENSE Switch" value="1"/>
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-mono-2">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX1 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX1 INP0" value="RX1"/>
+ <ctl name="WSA_COMP2 Switch" value="1"/>
+ <ctl name="SpkrRight COMP Switch" value="1"/>
+ <ctl name="SpkrRight VISENSE Switch" value="1"/>
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-vbat-mono">
+ <path name="speaker-mono"/>
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1"/>
+ </path>
+ <path name="speaker-vbat-mono-2">
+ <path name="speaker-mono-2"/>
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1"/>
+ </path>
+ <path name="speaker-vbat">
+ <path name="speaker"/>
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1"/>
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1"/>
+ </path>
+ <path name="speaker-hdk">
+ <path name="speaker-mono"/>
+ </path>
+ <path name="speaker-fluid">
+ <path name="speaker-mono"/>
+ </path>
+ <path name="speaker-liquid">
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-safe">
+ <path name="speaker-mono"/>
+ </path>
+ <path name="sidetone-iir">
+ <ctl name="IIR0 Enable Band1" value="1"/>
+ <ctl name="IIR0 Enable Band2" value="1"/>
+ <ctl name="IIR0 Enable Band3" value="1"/>
+ <ctl name="IIR0 Enable Band4" value="1"/>
+ <ctl name="IIR0 Enable Band5" value="1"/>
+ </path>
+ <path name="sidetone-headphones">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC0"/>
+ <ctl name="RX INT0 MIX2 INP" value="SRC0"/>
+ <ctl name="RX INT1 MIX2 INP" value="SRC0"/>
+ </path>
+ <path name="sidetone-handset">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ <ctl name="RX INT2 MIX2 INP" value="SRC0"/>
+ <ctl name="WSA_RX0 INT0 SIDETONE MIX" value="SRC0"/>
+ </path>
+ <path name="afe-sidetone">
+ <ctl name="Voice Sidetone Enable" value="1"/>
+ </path>
+ <path name="speaker-mic">
+ <path name="amic5"/>
+ </path>
+ <path name="speaker-mic-liquid">
+ <path name="amic5"/>
+ </path>
+ <path name="speaker-mic-sbc"/>
+ <path name="speaker-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1"/>
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker"/>
+ <ctl name="VI_FEED_TX Channels" value="Two"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ <ctl name="WSA_RX_0_VI_FB_RCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker-mono"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-2-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker-mono-2"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_RCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-stereo-protected">
+ <path name="speaker-protected"/>
+ </path>
+ <path name="speaker-protected-vbat">
+ <path name="speaker-protected"/>
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1"/>
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1"/>
+ </path>
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected"/>
+ <ctl name="WSA_RX INT0 VBAT WSA RX0 VBAT Enable" value="1"/>
+ </path>
+ <path name="voice-speaker-2-protected-vbat">
+ <path name="voice-speaker-2-protected"/>
+ <ctl name="WSA_RX INT1 VBAT WSA RX1 VBAT Enable" value="1"/>
+ </path>
+ <path name="voice-speaker-stereo-protected-vbat">
+ <path name="speaker-protected-vbat"/>
+ </path>
+ <path name="vi-feedback"/>
+ <path name="vi-feedback-mono-1"/>
+ <path name="vi-feedback-mono-2"/>
+ <path name="handset">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX0 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX0 INP0" value="RX0"/>
+ <ctl name="WSA_COMP1 Switch" value="1"/>
+ <ctl name="SpkrLeft COMP Switch" value="1"/>
+ <ctl name="SpkrLeft VISENSE Switch" value="1"/>
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1"/>
+ <ctl name="EAR SPKR PA Gain" value="G_6_DB"/>
+ </path>
+ <path name="handset-mic">
+ <path name="amic1"/>
+ </path>
+ <path name="headphones">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="RX_COMP2 Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHR_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ </path>
+ <path name="headphones-44.1">
+ <ctl name="RX_CDC_DMA_RX_0 SampleRate" value="KHZ_44P1"/>
+ <path name="headphones"/>
+ </path>
+ <path name="headphones-hifi-filter">
+ <path name="headphones"/>
+ </path>
+ <path name="hph-highquality-mode"/>
+ <path name="hph-lowpower-mode"/>
+ <path name="true-native-mode"/>
+ <path name="line">
+ <path name="headphones"/>
+ </path>
+ <path name="headset-mic">
+ <ctl name="TX_DEC0 Volume" value="84"/>
+ <path name="amic2"/>
+ </path>
+ <path name="headset-mic-liquid">
+ <path name="amic2"/>
+ </path>
+ <path name="voice-handset">
+ <path name="handset"/>
+ </path>
+ <path name="voice-handset-tmus">
+ <path name="handset"/>
+ </path>
+ <path name="voice-handset-hdk">
+ <path name="handset"/>
+ </path>
+ <path name="voice-handset-tmus-hdk">
+ <path name="handset"/>
+ </path>
+ <path name="voice-speaker">
+ <path name="speaker-mono"/>
+ </path>
+ <path name="voice-speaker-stereo">
+ <path name="speaker"/>
+ </path>
+ <path name="voice-speaker-2">
+ <path name="speaker-mono-2"/>
+ </path>
+ <path name="voice-speaker-hdk">
+ <path name="speaker-mono"/>
+ </path>
+ <path name="voice-speaker-fluid">
+ <path name="speaker-fluid"/>
+ </path>
+ <path name="voice-speaker-vbat">
+ <path name="speaker-vbat-mono"/>
+ </path>
+ <path name="voice-speaker-2-vbat">
+ <path name="speaker-vbat-mono-2"/>
+ </path>
+ <path name="voice-speaker-stereo-vbat">
+ <path name="speaker-vbat"/>
+ </path>
+ <path name="voice-speaker-mic">
+ <path name="speaker-mic"/>
+ </path>
+ <path name="voice-headphones">
+ <path name="headphones"/>
+ </path>
+ <path name="voice-headset">
+ <path name="headphones"/>
+ </path>
+ <path name="voice-line">
+ <path name="voice-headphones"/>
+ </path>
+ <path name="voice-headset-mic">
+ <path name="headset-mic"/>
+ </path>
+ <path name="speaker-and-headphones">
+ <path name="headphones"/>
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-and-headphones-hifi-filter">
+ <path name="headphones"/>
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-safe-and-headphones">
+ <path name="headphones"/>
+ <path name="speaker-safe"/>
+ </path>
+ <path name="speaker-and-line">
+ <path name="speaker-and-headphones"/>
+ </path>
+ <path name="speaker-and-headphones-liquid">
+ <path name="headphones"/>
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-and-line-liquid">
+ <path name="speaker-and-headphones-liquid"/>
+ </path>
+ <path name="usb-headphones"/>
+ <path name="usb-headset"/>
+ <path name="afe-proxy"/>
+ <path name="display-port"/>
+ <path name="display-port1"/>
+ <path name="speaker-and-usb-headphones">
+ <path name="speaker"/>
+ <path name="usb-headphones"/>
+ </path>
+ <path name="speaker-safe-and-usb-headphones">
+ <path name="speaker-safe"/>
+ <path name="usb-headphones"/>
+ </path>
+ <path name="speaker-and-display-port">
+ <path name="speaker"/>
+ <path name="display-port"/>
+ </path>
+ <path name="speaker-and-display-port1">
+ <path name="speaker"/>
+ <path name="display-port1"/>
+ </path>
+ <path name="voice-rec-mic">
+ <path name="handset-mic"/>
+ </path>
+ <path name="camcorder-mic">
+ <path name="handset-mic"/>
+ </path>
+ <path name="bt-sco-headset"/>
+ <path name="bt-sco-mic"/>
+ <path name="bt-sco-headset-wb"/>
+ <path name="bt-sco-mic-wb"/>
+ <path name="bt-sco-headset-swb"/>
+ <path name="bt-sco-mic-swb"/>
+ <path name="usb-headset-mic"/>
+ <path name="capture-fm"/>
+ <path name="handset-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="speaker-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC1"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ </path>
+ <path name="dmic-endfire">
+ <path name="handset-dmic-endfire"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ </path>
+ <path name="dmic-endfire-liquid">
+ <path name="handset-dmic-endfire"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC7"/>
+ </path>
+ <path name="handset-stereo-dmic-ef">
+ <path name="handset-dmic-endfire"/>
+ </path>
+ <path name="speaker-stereo-dmic-ef">
+ <path name="speaker-dmic-endfire"/>
+ </path>
+ <path name="voice-dmic-ef-tmus">
+ <path name="dmic-endfire"/>
+ </path>
+ <path name="voice-dmic-ef">
+ <path name="dmic-endfire"/>
+ </path>
+ <path name="voice-speaker-dmic-ef">
+ <path name="speaker-dmic-endfire"/>
+ </path>
+ <path name="voice-rec-dmic-ef">
+ <path name="dmic-endfire"/>
+ </path>
+ <path name="voice-rec-dmic-ef-fluence">
+ <path name="dmic-endfire"/>
+ </path>
+ <path name="hearing-aid-mic">
+ <path name="voice-speaker-mic"/>
+ </path>
+ <path name="handset-stereo-dmic-ef-liquid">
+ <path name="handset-dmic-endfire"/>
+ </path>
+ <path name="speaker-stereo-dmic-ef-liquid">
+ <path name="speaker-dmic-endfire"/>
+ </path>
+ <path name="voice-dmic-ef-liquid-liquid">
+ <path name="dmic-endfire-liquid"/>
+ </path>
+ <path name="voice-speaker-dmic-ef-liquid">
+ <path name="dmic-endfire-liquid"/>
+ </path>
+ <path name="voice-rec-dmic-ef-liquid">
+ <path name="dmic-endfire-liquid"/>
+ </path>
+ <path name="voice-rec-dmic-ef-fluence-liquid">
+ <path name="dmic-endfire-liquid"/>
+ </path>
+ <path name="speaker-dmic-broadside">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ </path>
+ <path name="dmic-broadside">
+ <path name="speaker-dmic-broadside"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ </path>
+ <path name="voice-speaker-dmic-broadside">
+ <path name="dmic-broadside"/>
+ </path>
+ <path name="three-mic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC3 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC5"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC0"/>
+ <ctl name="TX SMIC MUX3" value="SWR_MIC4"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ </path>
+ <path name="speaker-tmic">
+ <path name="three-mic"/>
+ </path>
+ <path name="voice-speaker-tmic">
+ <path name="speaker-tmic"/>
+ </path>
+ <path name="speaker-qmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Four"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC4" value="1"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC3 MUX" value="SWR_MIC"/>
+ <ctl name="TX DEC4 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC5"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC0"/>
+ <ctl name="TX SMIC MUX3" value="SWR_MIC4"/>
+ <ctl name="TX SMIC MUX4" value="SWR_MIC1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ </path>
+ <path name="speaker-qmic-liquid"/>
+ <path name="voice-speaker-qmic">
+ <path name="speaker-qmic"/>
+ </path>
+ <path name="quad-mic">
+ <path name="speaker-qmic"/>
+ </path>
+ <path name="voice-speaker-qmic-liquid">
+ <path name="speaker-qmic-liquid"/>
+ </path>
+ <path name="quad-mic-liquid">
+ <path name="speaker-qmic-liquid"/>
+ </path>
+ <path name="tty-headphones">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ </path>
+ <path name="voice-tty-full-headphones">
+ <ctl name="TTY Mode" value="FULL"/>
+ <path name="tty-headphones"/>
+ </path>
+ <path name="voice-tty-full-headset">
+ <ctl name="TTY Mode" value="FULL"/>
+ <path name="tty-headphones"/>
+ </path>
+ <path name="voice-tty-vco-headphones">
+ <ctl name="TTY Mode" value="VCO"/>
+ <path name="tty-headphones"/>
+ </path>
+ <path name="voice-tty-vco-headset">
+ <ctl name="TTY Mode" value="VCO"/>
+ <path name="tty-headphones"/>
+ </path>
+ <path name="voice-tty-hco-handset">
+ <ctl name="TTY Mode" value="HCO"/>
+ <path name="handset"/>
+ </path>
+ <path name="voice-tty-hco-handset-hdk">
+ <ctl name="TTY Mode" value="HCO"/>
+ <path name="handset"/>
+ </path>
+ <path name="voice-tty-full-headset-mic">
+ <path name="amic2"/>
+ <ctl name="ADC2 Volume" value="0"/>
+ <ctl name="TX_DEC5 Volume" value="84"/>
+ </path>
+ <path name="voice-tty-hco-headset-mic">
+ <ctl name="TX DEC6 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX6" value="SWR_MIC1"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="voice-tty-vco-handset-mic">
+ <path name="amic1"/>
+ </path>
+ <path name="unprocessed-handset-mic">
+ <path name="handset-mic"/>
+ </path>
+ <path name="unprocessed-mic">
+ <path name="unprocessed-handset-mic"/>
+ </path>
+ <path name="unprocessed-stereo-mic">
+ <path name="voice-rec-dmic-ef"/>
+ </path>
+ <path name="unprocessed-three-mic">
+ <path name="three-mic"/>
+ </path>
+ <path name="unprocessed-quad-mic">
+ <path name="quad-mic"/>
+ </path>
+ <path name="unprocessed-headset-mic">
+ <path name="headset-mic"/>
+ </path>
+ <path name="voice-tty-full-usb">
+ <ctl name="TTY Mode" value="FULL"/>
+ <path name="usb-headphones"/>
+ </path>
+ <path name="voice-tty-full-usb-mic">
+ <path name="usb-headset-mic"/>
+ </path>
+ <path name="voice-tty-vco-usb">
+ <ctl name="TTY Mode" value="VCO"/>
+ <path name="usb-headphones"/>
+ </path>
+ <path name="voice-tty-hco-usb-mic">
+ <path name="voice-tty-full-usb-mic"/>
+ </path>
+ <path name="ADSP testfwk">
+ <ctl name="WSA_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="bt-a2dp">
+ <ctl name="SLIM7_RX ADM Channels" value="Two"/>
+ </path>
+ <path name="speaker-and-bt-a2dp">
+ <path name="speaker"/>
+ <path name="bt-a2dp"/>
+ </path>
+ <path name="speaker-safe-and-bt-a2dp">
+ <path name="speaker-safe"/>
+ <path name="bt-a2dp"/>
+ </path>
+ <path name="deep-buffer-playback bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="low-latency-playback bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="compress-offload-playback bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="audio-ull-playback bt-a2dp">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="deep-buffer-playback speaker-and-bt-a2dp">
+ <path name="deep-buffer-playback bt-a2dp"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-a2dp">
+ <path name="deep-buffer-playback bt-a2dp"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-and-bt-a2dp">
+ <path name="compress-offload-playback bt-a2dp"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback bt-a2dp"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-and-bt-a2dp">
+ <path name="low-latency-playback bt-a2dp"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-bt-a2dp">
+ <path name="low-latency-playback bt-a2dp"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback2 bt-a2dp"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback2 bt-a2dp"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback3 bt-a2dp"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback4 bt-a2dp"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback5 bt-a2dp"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback6 bt-a2dp"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback7 bt-a2dp"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback8 bt-a2dp"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-and-bt-a2dp">
+ <path name="compress-offload-playback9 bt-a2dp"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="audio-ull-playback speaker-and-bt-a2dp">
+ <path name="audio-ull-playback bt-a2dp"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-bt-a2dp">
+ <path name="audio-ull-playback bt-a2dp"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="mmap-playback">
+ <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback headphones">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback headset">
+ <path name="mmap-playback headphones"/>
+ </path>
+ <path name="mmap-playback speaker-and-headphones">
+ <path name="mmap-playback"/>
+ <path name="mmap-playback headphones"/>
+ </path>
+ <path name="mmap-playback speaker-safe-and-headphones">
+ <path name="mmap-playback"/>
+ <path name="mmap-playback headphones"/>
+ </path>
+ <path name="mmap-playback bt-sco">
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback bt-sco-wb">
+ <path name="mmap-playback bt-sco"/>
+ </path>
+ <path name="mmap-playback bt-sco-swb">
+ <path name="mmap-playback bt-sco"/>
+ </path>
+ <path name="mmap-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback hdmi">
+ <ctl name="HDMI Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-playback speaker-and-hdmi">
+ <path name="mmap-playback hdmi"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-playback speaker-and-display-port">
+ <path name="mmap-playback display-port"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-playback speaker-and-display-port1">
+ <path name="mmap-playback display-port1"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-playback speaker-and-usb-headphones">
+ <path name="mmap-playback usb-headphones"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-playback speaker-safe-and-usb-headphones">
+ <path name="mmap-playback usb-headphones"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-record">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="mmap-record bt-sco">
+ <ctl name="MultiMedia16 Mixer SLIM_7_TX" value="1"/>
+ </path>
+ <path name="mmap-record bt-sco-wb">
+ <path name="mmap-record bt-sco"/>
+ </path>
+ <path name="mmap-record bt-sco-swb">
+ <path name="mmap-record bt-sco"/>
+ </path>
+ <path name="mmap-record capture-fm">
+ <ctl name="MultiMedia16 Mixer TERT_MI2S_TX" value="1"/>
+ </path>
+ <path name="mmap-record usb-headset-mic">
+ <ctl name="MultiMedia16 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="mmap-record headset-mic">
+ <ctl name="MultiMedia16 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="hifi-playback display-port">
+ <ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="hifi-playback display-port1">
+ <ctl name="DISPLAY_PORT1 Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="hifi-playback afe-proxy">
+ <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="hifi-playback usb-headset">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="hifi-playback usb-headphones">
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia2" value="1"/>
+ </path>
+ <path name="hifi-record">
+ <ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ </path>
+ <path name="hifi-record headset-mic">
+ <ctl name="MultiMedia2 Mixer TX_CDC_DMA_TX_4" value="1"/>
+ </path>
+ <path name="hifi-record usb-headset-mic">
+ <ctl name="MultiMedia2 Mixer USB_AUDIO_TX" value="1"/>
+ </path>
+ <path name="incall_music_uplink">
+ <ctl name="Incall_Music Audio Mixer MultiMedia9" value="1"/>
+ </path>
+ <path name="incall_music_uplink speaker">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink handset">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink handset-hac">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink display-port">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink display-port1">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink bt-sco">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink bt-sco-wb">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink bt-sco-swb">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-and-display-port">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-and-display-port1">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink afe-proxy">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink usb-headphones">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink usb-headset">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-and-usb-headphones">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink headphones">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink headset">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-and-headphones">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-safe-and-headphones">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-and-bt-sco">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink voice-tty-hco-handset">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-and-bt-a2dp">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-safe-and-bt-a2dp">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink bt-a2dp">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink call-proxy">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink hearing-aid">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink2">
+ <ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1"/>
+ </path>
+ <path name="incall_music_uplink2 speaker">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 handset">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 handset-hac">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 display-port">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 bt-sco">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 bt-sco-wb">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-and-display-port">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 afe-proxy">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 usb-headphones">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 usb-headset">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-and-usb-headphones">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 headphones">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-and-headphones">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-and-bt-sco">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 voice-tty-hco-handset">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-and-bt-a2dp">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 bt-a2dp">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 call-proxy">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 hearing-aid">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="call-proxy"/>
+ <path name="call-proxy-in"/>
+ <path name="dmic1">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC0"/>
+ </path>
+ <path name="dmic2">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC1"/>
+ </path>
+ <path name="dmic3">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ </path>
+ <path name="dmic4">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ </path>
+ <path name="headphones-dsd">
+ <ctl name="RX_CDC_DMA_5 RX Format" value="DSD_DOP"/>
+ <ctl name="RX_CDC_DMA_RX_5 Channels" value="One"/>
+ <ctl name="RX_CDC_DMA_RX_5 Format" value="S32_LE"/>
+ <ctl name="RX_CDC_DMA_RX_5 SampleRate" value="KHZ_176P4"/>
+ <ctl name="DSD_L Switch" value="1"/>
+ <ctl name="DSD_R Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ </path>
+ <path name="deep-buffer-playback handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="low-latency-playback handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="audio-ull-playback handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="compress-offload-playback handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback2 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback3 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback4 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback5 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback6 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback7 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback8 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback9 handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="compress-voip-call handset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="voicemmode1-call handset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode2-call handset">
+ <ctl name="RX_CDC_DMA_RX_0_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="audio-playback-voip handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="dmic5">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC4"/>
+ </path>
+ <path name="dmic6">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC5"/>
+ </path>
+ <path name="mmap-playback handset">
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-display-port">
+ <path name="deep-buffer-playback display-port"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-display-port1">
+ <path name="deep-buffer-playback display-port"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="deep-buffer-playback speaker-safe-and-bt-sco-swb">
+ <path name="deep-buffer-playback bt-sco-swb"/>
+ <path name="deep-buffer-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-display-port">
+ <path name="low-latency-playback display-port"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-display-port1">
+ <path name="low-latency-playback display-port"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="low-latency-playback speaker-safe-and-bt-sco-swb">
+ <path name="low-latency-playback bt-sco-swb"/>
+ <path name="low-latency-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-display-port">
+ <path name="audio-ull-playback display-port"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-display-port1">
+ <path name="audio-ull-playback display-port"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="audio-ull-playback speaker-safe-and-bt-sco-swb">
+ <path name="audio-ull-playback bt-sco-swb"/>
+ <path name="audio-ull-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-display-port">
+ <path name="compress-offload-playback display-port"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-display-port1">
+ <path name="compress-offload-playback display-port"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback bt-sco-swb"/>
+ <path name="compress-offload-playback"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-display-port">
+ <path name="compress-offload-playback2 display-port"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback2 display-port"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback2 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback2 bt-sco-swb"/>
+ <path name="compress-offload-playback2"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-display-port">
+ <path name="compress-offload-playback3 display-port"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback3 display-port"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback3 usb-headphones"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-headphones">
+ <path name="compress-offload-playback3 headphones"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback3 bt-sco"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback3 bt-sco-wb"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback3 bt-sco-swb"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-display-port">
+ <path name="compress-offload-playback4 display-port"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback4 display-port"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback4 usb-headphones"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-headphones">
+ <path name="compress-offload-playback4 headphones"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback4 bt-sco"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback4 bt-sco-wb"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback4 bt-sco-swb"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-display-port">
+ <path name="compress-offload-playback5 display-port"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback5 display-port"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback5 usb-headphones"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-headphones">
+ <path name="compress-offload-playback5 headphones"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback5 bt-sco"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback5 bt-sco-wb"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback5 bt-sco-swb"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-display-port">
+ <path name="compress-offload-playback6 display-port"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback6 display-port"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback6 usb-headphones"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-headphones">
+ <path name="compress-offload-playback6 headphones"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback6 bt-sco"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback6 bt-sco-wb"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback6 bt-sco-swb"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-display-port">
+ <path name="compress-offload-playback7 display-port"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback7 display-port"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback7 usb-headphones"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-headphones">
+ <path name="compress-offload-playback7 headphones"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback7 bt-sco"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback7 bt-sco-wb"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback7 bt-sco-swb"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-display-port">
+ <path name="compress-offload-playback8 display-port"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback8 display-port"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback8 usb-headphones"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-headphones">
+ <path name="compress-offload-playback8 headphones"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback8 bt-sco"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback8 bt-sco-wb"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback8 bt-sco-swb"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-display-port">
+ <path name="compress-offload-playback9 display-port"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-display-port1">
+ <path name="compress-offload-playback9 display-port"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-usb-headphones">
+ <path name="compress-offload-playback9 usb-headphones"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-headphones">
+ <path name="compress-offload-playback9 headphones"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-bt-sco">
+ <path name="compress-offload-playback9 bt-sco"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-bt-sco-wb">
+ <path name="compress-offload-playback9 bt-sco-wb"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-bt-sco-swb">
+ <path name="compress-offload-playback9 bt-sco-swb"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="audio-playback-voip speaker-safe-and-display-port">
+ <path name="audio-playback-voip display-port"/>
+ <path name="audio-playback-voip"/>
+ </path>
+ <path name="audio-playback-voip speaker-safe-and-display-port1">
+ <path name="audio-playback-voip display-port"/>
+ <path name="audio-playback-voip"/>
+ </path>
+ <path name="headphones-and-haptics">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="RX_COMP2 Switch" value="1"/>
+ <ctl name="HPH_L Switch" value="1"/>
+ <ctl name="HPH_R Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHR_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ <ctl name="SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-headphones-and-haptics">
+ <path name="headphones"/>
+ <path name="speaker-and-haptics"/>
+ </path>
+ <path name="speaker-safe-and-line">
+ <path name="speaker-safe-and-headphones"/>
+ </path>
+ <path name="speaker-safe-and-headphones-liquid">
+ <path name="headphones"/>
+ <path name="speaker-safe"/>
+ </path>
+ <path name="speaker-safe-and-line-liquid">
+ <path name="speaker-safe-and-headphones-liquid"/>
+ </path>
+ <path name="speaker-usb-headphones-and-haptics">
+ <path name="speaker-and-haptics"/>
+ <path name="usb-headphones"/>
+ </path>
+ <path name="speaker-safe-and-display-port">
+ <path name="speaker"/>
+ <path name="display-port"/>
+ </path>
+ <path name="speaker-safe-and-display-port1">
+ <path name="speaker"/>
+ <path name="display-port"/>
+ </path>
+ <path name="compress-offload-playback3 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback3 bt-a2dp"/>
+ <path name="compress-offload-playback3"/>
+ </path>
+ <path name="compress-offload-playback4 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback4 bt-a2dp"/>
+ <path name="compress-offload-playback4"/>
+ </path>
+ <path name="compress-offload-playback5 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback5 bt-a2dp"/>
+ <path name="compress-offload-playback5"/>
+ </path>
+ <path name="compress-offload-playback6 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback6 bt-a2dp"/>
+ <path name="compress-offload-playback6"/>
+ </path>
+ <path name="compress-offload-playback7 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback7 bt-a2dp"/>
+ <path name="compress-offload-playback7"/>
+ </path>
+ <path name="compress-offload-playback8 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback8 bt-a2dp"/>
+ <path name="compress-offload-playback8"/>
+ </path>
+ <path name="compress-offload-playback9 speaker-safe-and-bt-a2dp">
+ <path name="compress-offload-playback9 bt-a2dp"/>
+ <path name="compress-offload-playback9"/>
+ </path>
+ <path name="mmap-playback speaker-safe-and-hdmi">
+ <path name="mmap-playback hdmi"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-playback speaker-safe-and-display-port">
+ <path name="mmap-playback display-port"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="mmap-playback speaker-safe-and-display-port1">
+ <path name="mmap-playback display-port"/>
+ <path name="mmap-playback"/>
+ </path>
+ <path name="incall_music_uplink speaker-safe-and-display-port">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink speaker-safe-and-display-port1">
+ <path name="incall_music_uplink"/>
+ </path>
+ <path name="incall_music_uplink2 bt-sco-swb">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-safe-and-display-port">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-safe-and-display-port1">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-safe-and-usb-headphones">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 headset">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-safe-and-headphones">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-safe-and-bt-sco">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-safe-and-bt-a2dp">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="mmap-buffer-playback hdmi">
+ <ctl name="HDMI Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="incall_music_uplink2 display-port1">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="incall_music_uplink2 speaker-and-display-port1">
+ <path name="incall_music_uplink2"/>
+ </path>
+ <path name="hph-class-ab-mode">
+ <ctl name="RX HPH Mode" value="CLS_AB"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/common/base/sound_trigger_mixer_paths_base.xml b/configs/common/base/sound_trigger_mixer_paths_base.xml
new file mode 100644
index 0000000..d91ca22
--- /dev/null
+++ b/configs/common/base/sound_trigger_mixer_paths_base.xml
@@ -0,0 +1,348 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="0"/>
+ <ctl name="LSM1 Port" value="None"/>
+ <ctl name="LSM2 Port" value="None"/>
+ <ctl name="LSM3 Port" value="None"/>
+ <ctl name="LSM4 Port" value="None"/>
+ <ctl name="LSM5 Port" value="None"/>
+ <ctl name="LSM6 Port" value="None"/>
+ <ctl name="LSM7 Port" value="None"/>
+ <ctl name="LSM8 Port" value="None"/>
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="VA_CDC_DMA_TX_0 SampleRate" value="KHZ_16"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC3" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC4" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC5" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC6" value="0"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC7" value="0"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC3 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC4 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC5 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC6 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC7 MUX" value="SWR_MIC"/>
+ <ctl name="VA DMIC MUX0" value="ZERO"/>
+ <ctl name="VA DMIC MUX1" value="ZERO"/>
+ <ctl name="VA DMIC MUX2" value="ZERO"/>
+ <ctl name="VA DMIC MUX3" value="ZERO"/>
+ <ctl name="VA DMIC MUX4" value="ZERO"/>
+ <ctl name="VA DMIC MUX5" value="ZERO"/>
+ <ctl name="VA DMIC MUX6" value="ZERO"/>
+ <ctl name="VA DMIC MUX7" value="ZERO"/>
+ <ctl name="VA SMIC MUX0" value="ZERO"/>
+ <ctl name="VA SMIC MUX1" value="ZERO"/>
+ <ctl name="VA SMIC MUX2" value="ZERO"/>
+ <ctl name="VA SMIC MUX3" value="ZERO"/>
+ <ctl name="VA SMIC MUX4" value="ZERO"/>
+ <ctl name="VA SMIC MUX5" value="ZERO"/>
+ <ctl name="VA SMIC MUX6" value="ZERO"/>
+ <ctl name="VA SMIC MUX7" value="ZERO"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="ADC1_MIXER Switch" value="0"/>
+ <ctl name="ADC2_MIXER Switch" value="0"/>
+ <ctl name="ADC3_MIXER Switch" value="0"/>
+ <ctl name="ADC4_MIXER Switch" value="0"/>
+ <ctl name="ADC1 Volume" value="12"/>
+ <ctl name="ADC2 Volume" value="12"/>
+ <ctl name="ADC3 Volume" value="12"/>
+ <ctl name="ADC4 Volume" value="12"/>
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="None"/>
+ <ctl name="EC Reference Channels" value="Zero"/>
+ <ctl name="EC Reference Bit Format" value="0"/>
+ <ctl name="EC Reference SampleRate" value="0"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_DEFAULT"/>
+ <ctl name="VA_DEC1 MODE" value="ADC_DEFAULT"/>
+ <ctl name="VA_DEC2 MODE" value="ADC_DEFAULT"/>
+ <ctl name="VA_DEC3 MODE" value="ADC_DEFAULT"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ <ctl name="TX0 MODE" value="ADC_LP"/>
+ <ctl name="TX1 MODE" value="ADC_LP"/>
+ <ctl name="TX2 MODE" value="ADC_LP"/>
+ <ctl name="TX3 MODE" value="ADC_LP"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2"/>
+ <path name="listen-voice-wakeup-1">
+ <ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-2">
+ <ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-3">
+ <ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-4">
+ <ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-5">
+ <ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-6">
+ <ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-7">
+ <ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-8">
+ <ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-1 preproc">
+ <path name="listen-voice-wakeup-1"/>
+ </path>
+ <path name="listen-voice-wakeup-2 preproc">
+ <path name="listen-voice-wakeup-2"/>
+ </path>
+ <path name="listen-voice-wakeup-3 preproc">
+ <path name="listen-voice-wakeup-3"/>
+ </path>
+ <path name="listen-voice-wakeup-4 preproc">
+ <path name="listen-voice-wakeup-4"/>
+ </path>
+ <path name="listen-voice-wakeup-5 preproc">
+ <path name="listen-voice-wakeup-5"/>
+ </path>
+ <path name="listen-voice-wakeup-6 preproc">
+ <path name="listen-voice-wakeup-6"/>
+ </path>
+ <path name="listen-voice-wakeup-7 preproc">
+ <path name="listen-voice-wakeup-7"/>
+ </path>
+ <path name="listen-voice-wakeup-8 preproc">
+ <path name="listen-voice-wakeup-8"/>
+ </path>
+ <path name="listen-voice-wakeup-1 port">
+ <ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-2 port">
+ <ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-3 port">
+ <ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-4 port">
+ <ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-5 port">
+ <ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-6 port">
+ <ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-7 port">
+ <ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-8 port">
+ <ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-1 preproc port">
+ <ctl name="LSM1 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-2 preproc port">
+ <ctl name="LSM2 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-3 preproc port">
+ <ctl name="LSM3 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-4 preproc port">
+ <ctl name="LSM4 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-5 preproc port">
+ <ctl name="LSM5 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-6 preproc port">
+ <ctl name="LSM6 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-7 preproc port">
+ <ctl name="LSM7 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-8 preproc port">
+ <ctl name="LSM8 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ </path>
+ <path name="listen-ape-handset-mic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC0"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ </path>
+ <path name="listen-ape-handset-mic-preproc">
+ <path name="listen-ape-handset-mic"/>
+ </path>
+ <path name="listen-ape-handset-dmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC0"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="VA DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA SMIC MUX1" value="SWR_MIC1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="listen-ape-handset-tmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Three"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA_DEC2 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC9"/>
+ <ctl name="VA SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="VA SMIC MUX2" value="SWR_MIC8"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ </path>
+ <path name="listen-ape-handset-qmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Four"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="VA DEC3 MUX" value="SWR_MIC"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA_DEC2 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA_DEC3 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC9"/>
+ <ctl name="VA SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="VA SMIC MUX2" value="SWR_MIC8"/>
+ <ctl name="VA SMIC MUX3" value="SWR_MIC1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ </path>
+ <path name="listen-ape-headset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+ <path name="echo-reference headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones"/>
+ </path>
+ <path name="echo-reference a2dp">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_7_RX"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/common/copyright.txt b/configs/common/copyright.txt
new file mode 100755
index 0000000..bd2c065
--- /dev/null
+++ b/configs/common/copyright.txt
@@ -0,0 +1,26 @@
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
\ No newline at end of file
diff --git a/configs/common/mixer_xml_utils.py b/configs/common/mixer_xml_utils.py
new file mode 100755
index 0000000..5920afd
--- /dev/null
+++ b/configs/common/mixer_xml_utils.py
@@ -0,0 +1,575 @@
+# Copyright (c) 2020, The Linux Foundation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+# * Neither the name of The Linux Foundation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import argparse
+import os
+import xml.etree.ElementTree as ET
+
+
+ATTRIBUTE_ORDER = ['name', 'id', 'value']
+
+XML_HEAD = """<?xml version="1.0" encoding="ISO-8859-1"?>"""
+COPY_RIGHT = "<!--- copy right -->"
+
+
+def getCopyRight():
+ global COPY_RIGHT
+ script_dir = os.path.dirname(os.path.abspath(__file__))
+ copyright_path = os.path.join(script_dir, "copyright.txt")
+ # print(copyright_path)
+ f = open(copyright_path, 'r')
+ COPY_RIGHT = f.read()
+ f.close()
+
+
+def write_xml_root_to_file_v2(file_path, super_root):
+ for sub_node in super_root:
+ mixer = sub_node
+ data = gen_xml_string(mixer)
+ full_xml = XML_HEAD+'\n'+COPY_RIGHT+'\n'+data
+ with open(file_path, 'w') as f:
+ f.write(full_xml)
+
+
+def xml_to_map(xml_node, root_key=None, map=None, node_level=0):
+ if not map:
+ map = dict()
+ if not root_key:
+ current_key = get_key_for_node_only(xml_node, node_level)
+ else:
+ current_key = root_key + '->' + get_key_for_node_only(
+ xml_node, node_level)
+ map[current_key] = xml_node
+ for sub_node in xml_node:
+ xml_to_map(sub_node, current_key, map, node_level + 1)
+ return map
+
+
+def get_key_for_node_only(xml_node, level):
+ """ Given xml node ,generate unique based on (node, node atrributes, node depth) only"""
+ attr_str = ''
+ for attrib_name in sorted(xml_node.keys()):
+ attr_str += attrib_name.strip() + "=" + xml_node.get(
+ attrib_name).strip() + ":"
+ if attr_str != '':
+ attr_str = attr_str[:-1]
+ node_str = 'level=' + str(level) + ':' + xml_node.tag
+ key_str = node_str + ":" + attr_str
+ if xml_node.text != None and not xml_node.text.isspace():
+ key_str = key_str + ":" + xml_node.text.strip()
+ return key_str
+
+
+def get_copy_xml_node(xml_node):
+ """ Return Exact copy of xml node, return type as Element """
+ new_attrib = dict()
+ for at_name, at_value in xml_node.attrib.items():
+ new_attrib[at_name.strip()] = at_value.strip()
+ copy_node = ET.Element(xml_node.tag.strip(), new_attrib)
+ if xml_node.text != None and not xml_node.text.isspace:
+ copy_node.text = xml_node.text
+ return copy_node
+
+
+def copy_full_node(xml_node):
+ """ Return Exact copy whole xml node including sub nodes, return type as Element """
+ new_node = get_copy_xml_node(xml_node)
+ for sub_node in xml_node:
+ new_node.append(copy_full_node(sub_node))
+ return new_node
+
+
+def open_xml_root(filename):
+ """ open xml filename add SuperRoot Element at top, return SuperRoot Node (Element) """
+ try:
+ xml_tree = ET.parse(filename)
+ xml_root = xml_tree.getroot()
+ super_root = ET.Element("SuperRoot")
+ super_root.append(xml_root)
+ super_root = copy_full_node(super_root)
+ except:
+ print('unable to open: '+filename+' as xml')
+ raise
+ return super_root
+
+
+def gen_xml_string(xml_node, level=0):
+ s = '<' + xml_node.tag + ' '
+ if xml_node.attrib:
+ for at_name in ATTRIBUTE_ORDER:
+ at_value = xml_node.attrib.get(at_name, "ZEBRAA")
+ if at_value != "ZEBRAA":
+ s += at_name + '=\"' + at_value + '\" '
+ space_str = ''
+ for i in range(level):
+ space_str += ' '
+ if len(xml_node) > 0 or xml_node.text != None:
+ s = s.strip()+'>\n'
+ for sub_node in xml_node:
+ s += space_str + ' ' + gen_xml_string(sub_node,
+ level + 1) + '\n'
+ if xml_node.text:
+ s += space_str + ' ' + xml_node.text + '\n'
+ s += space_str + '</' + xml_node.tag + '>'
+ else:
+ s = s.strip()+'/>'
+ return s
+
+
+def print_map(map):
+ for key, value in map.items():
+ print(key, value)
+
+
+def arrange_ctl_path_tags(super_root_ug):
+ super_root = super_root = ET.Element("SuperRoot")
+ new_mixer = ET.Element("mixer")
+ super_root.append(new_mixer)
+ for child in super_root_ug:
+ mixer = child
+ for child in mixer:
+ if child.tag == 'ctl':
+ new_child = copy_full_node(child)
+ new_mixer.append(new_child)
+ for child in mixer:
+ if child.tag == 'path':
+ new_child = copy_full_node(child)
+ new_mixer.append(new_child)
+ return super_root
+
+
+def mixer_extract_union(xml_nodes):
+ map = dict()
+ super_root = super_root = ET.Element("SuperRoot")
+ new_mixer = ET.Element("mixer")
+ super_root.append(new_mixer)
+ for xml_node in xml_nodes:
+ for child in xml_node:
+ mixer = child
+ for child in mixer:
+ key = "tag="+child.tag+":"+"name="+child.attrib.get('name', str(None))+":"+"id="\
+ + child.attrib.get('id', str(None))
+ if not map.get(key, False):
+ new_child = copy_full_node(child)
+ new_mixer.append(new_child)
+ map[key] = True
+ super_root = arrange_ctl_path_tags(super_root)
+ return super_root
+
+
+def mixer_extract_base(xml_node1, xml_node2):
+ """ Assumption of SuperRoot is given for both node"""
+ map1 = xml_to_map(xml_node1, map=None)
+ for sub_node in xml_node2:
+ mixer = sub_node
+ new_mixer = get_copy_xml_node(mixer)
+ super_root = get_copy_xml_node(xml_node2)
+ super_root.append(new_mixer)
+ level = 0
+ current_key = get_key_for_node_only(
+ xml_node2, level) + '->' + get_key_for_node_only(mixer, level + 1)
+ level += 1
+ for xml_child in mixer:
+ if _mixer_extract_base(xml_child, current_key, map1, level + 1):
+ child_copy = copy_full_node(xml_child)
+ new_mixer.append(child_copy)
+ return super_root
+
+
+def _mixer_extract_base(mixer_child, root_key, base_map, node_level):
+ current_key = root_key + "->" + get_key_for_node_only(
+ mixer_child, node_level)
+ if base_map.get(current_key, 0) == 0:
+ return False
+ for child in mixer_child:
+ return _mixer_extract_base(child, current_key, base_map,
+ node_level + 1)
+ return True
+
+
+def mixer_extract_overlay(super_base, super_mixer):
+ for child in super_mixer:
+ mixer = child
+ base_map = xml_to_map(super_base, map=None)
+ # print_map(base_map)
+ level = 0
+ current_key = get_key_for_node_only(
+ super_mixer, level) + '->' + get_key_for_node_only(mixer, level + 1)
+ level += 1
+ new_mixer = get_copy_xml_node(mixer)
+ super_root = get_copy_xml_node(super_mixer)
+ super_root.append(new_mixer)
+ for xml_child in mixer:
+ if not _mixer_extract_overlay(xml_child, current_key, base_map,
+ level + 1):
+ # print(xml_child.tag, xml_child.attrib)
+ child_copy = copy_full_node(xml_child)
+ new_mixer.append(child_copy)
+ return super_root
+
+
+def _mixer_extract_overlay(mixer_child, root_key, base_map, node_level):
+ current_key = root_key + "->" + get_key_for_node_only(
+ mixer_child, node_level)
+ if base_map.get(current_key, 0) == 0:
+ return False
+ for child in mixer_child:
+ if not _mixer_extract_overlay(child, current_key, base_map,
+ node_level + 1):
+ return False
+ return True
+
+def seperate_ctl_path(super_root):
+ for child in super_root:
+ mixer=child
+ path_nodes=list()
+ for child in mixer:
+ if child.tag=='path':
+ path_nodes.append(child)
+ for path_node in path_nodes:
+ mixer.remove(path_node)
+ for path_node in path_nodes:
+ mixer.append(path_node)
+ return super_root
+
+def mixer_combine(super_base, super_overlay):
+ super_base = copy_full_node(super_base)
+ super_overlay = copy_full_node(super_overlay)
+
+ super_base=seperate_ctl_path(super_base)
+ super_overlay=seperate_ctl_path(super_overlay)
+
+ for child in super_base:
+ base = child
+ for child in super_overlay:
+ overlay = child
+ base_ctl_len = 0
+ for child in base:
+ if child.tag == 'path':
+ break
+ base_ctl_len += 1
+
+ overlay_ctl_len = 0
+ for child in overlay:
+ if child.tag == 'path':
+ break
+ overlay_ctl_len += 1
+
+ for i in range(overlay_ctl_len):
+ base.insert(base_ctl_len + i, overlay[i])
+
+ for i in range(overlay_ctl_len, len(overlay)):
+ base.append(overlay[i])
+ super_base = override_tag(super_base)
+ return super_base
+
+
+def similar_tag_exists(mixer, node, node_index):
+ l = 0
+ for child in mixer:
+ l += 1
+ if l > node_index and child.tag == node.tag:
+ if child != node \
+ and child.attrib.get('name', None) == node.attrib.get('name', None) \
+ and child.attrib.get('id', None) == node.attrib.get('id', None):
+ return True
+ return False
+
+
+def override_tag(super_combined):
+ for child in super_combined:
+ mixer = child
+ child_nodes = list()
+ l = 0
+ for child in mixer:
+ l += 1
+ if similar_tag_exists(mixer, child, l):
+ child_nodes.append(child)
+ for child in child_nodes:
+ mixer.remove(child)
+ return super_combined
+
+
+def is_xmls_good(files):
+ try:
+ for file_name in files:
+ super_root = open_xml_root(file_name)
+ return True
+ except:
+ print('invalid xml file: ' + file_name)
+ return False
+
+
+def is_xml_good(file_name):
+ try:
+ super_root = open_xml_root(file_name)
+ print('able to parse:'+file_name+' as xml')
+ return True
+ except:
+ print('unable to parse:'+file_name+' as xml')
+ raise
+#############
+
+
+def base_gen(args):
+ l = len(args.files)
+ file1 = open_xml_root(args.files[0])
+ for i in range(1, l):
+ file2 = open_xml_root(args.files[i])
+ base = mixer_extract_base(file1, file2)
+ file1 = copy_full_node(base)
+ if not args.out:
+ out = 'base.xml'
+ else:
+ [out] = args.out
+ write_xml_root_to_file_v2(os.path.join(args.out_dir, out), file1)
+
+
+def overlay_gen(args):
+ l = len(args.files)
+ base = open_xml_root(args.base)
+ for i in range(0, l):
+ file1 = open_xml_root(args.files[i])
+ overlay = mixer_extract_overlay(base, file1)
+ overlay = copy_full_node(overlay)
+ write_xml_root_to_file_v2(os.path.join(
+ args.out_dir, args.out[i]), overlay)
+
+
+def combine_gen(args):
+ l = len(args.overlay)
+ base = open_xml_root(args.base)
+ for i in range(0, l):
+ overlay = open_xml_root(args.overlay[i])
+ combine = mixer_combine(base, overlay)
+ combine = copy_full_node(combine)
+ write_xml_root_to_file_v2(os.path.join(
+ args.out_dir, args.out[i]), combine)
+
+
+def union_gen(args):
+ l = len(args.files)
+ file1 = open_xml_root(args.files[0])
+ ul = list()
+ ul.append(file1)
+ for i in range(1, l):
+ file2 = open_xml_root(args.files[i])
+ ul.append(file2)
+ file1 = mixer_extract_union(ul)
+ if not args.out:
+ out = 'mixer_union.xml'
+ else:
+ [out] = args.out
+ write_xml_root_to_file_v2(os.path.join(args.out_dir, out), file1)
+
+
+def main(args):
+ getCopyRight()
+ if args.check:
+ check(args)
+ if args.generate == 'base':
+ base_gen(args)
+ if args.generate == 'union':
+ union_gen(args)
+ if args.generate == 'overlay':
+ overlay_gen(args)
+ if args.generate == 'combine':
+ combine_gen(args)
+
+
+def is_valid_file_list(file_path_list):
+ for file_path in file_path_list:
+ if not os.path.isfile(file_path):
+ print(file_path+' doesn\'t exist')
+ return False
+ return True
+
+
+def gen_abs_paths(rel_path_list):
+ l = list()
+ for rel_path in rel_path_list:
+ l.append(os.path.abspath(rel_path))
+ return l
+
+
+def validate(args):
+ if args.check:
+ if args.file:
+ return args
+ if not os.path.isfile(args.file1):
+ print(args.file1+' is not a file')
+ return False
+ if not os.path.isfile(args.file2):
+ print(args.file1+' is not a file')
+ return False
+ return args
+
+ if not args.out_dir:
+ args.out_dir = os.path.dirname(os.path.realpath(__file__))
+ if not os.path.isdir(args.out_dir):
+ print('out_dir doesn\'t exist')
+ return False
+ args.out_dir = os.path.abspath(args.out_dir)
+
+ if args.generate == 'base' or args.generate == 'union':
+ if not args.files:
+ print('missing --files argument')
+ return False
+ if not is_valid_file_list(args.files):
+ return False
+ args.files = gen_abs_paths(args.files)
+ if not is_xmls_good(args.files):
+ return False
+ return args
+
+ if args.generate == 'overlay':
+ if not args.base:
+ print('missing --base argument')
+ return False
+ if not is_valid_file_list([args.base]):
+ return False
+ args.base = os.path.abspath(args.base)
+ if not args.files:
+ print('missing --files argument')
+ return False
+ if not is_valid_file_list(args.files):
+ return False
+ args.files = gen_abs_paths(args.files)
+ if not is_xmls_good([args.base]):
+ return False
+ if not is_xmls_good(args.files):
+ return False
+
+ if not args.out:
+ args.out = list()
+ for i in range(len(args.files)):
+ s = 'overlay'+str(i)+'.xml'
+ args.out.append(s)
+ elif not len(args.out) == len(args.files):
+ return False
+ return args
+
+ if args.generate == 'combine':
+ if not args.base:
+ print('invalid base')
+ return False
+ if not is_valid_file_list([args.base]):
+ return False
+ args.base = os.path.abspath(args.base)
+ if not args.overlay:
+ print('no overlays')
+ return False
+ if not is_valid_file_list(args.overlay):
+ return False
+ args.overlay = gen_abs_paths(args.overlay)
+ if not is_xmls_good([args.base]):
+ return False
+ if not is_xmls_good(args.overlay):
+ return False
+ if not args.out:
+ args.out = list()
+ for i in range(len(args.overlay)):
+ s = 'combine'+str(i)+'.xml'
+ args.out.append(s)
+ elif not len(args.out) == len(args.overlay):
+ return False
+ return args
+
+
+def _check_mixer_equivalent(sub_node, map2, root_key, level):
+ current_key = root_key + "->" + get_key_for_node_only(sub_node, level)
+ res = map2.get(current_key, 0)
+ if res == 0:
+ return False
+ for child in sub_node:
+ if not _check_mixer_equivalent(child, map2, current_key, level + 1):
+ return False
+ return True
+
+
+def check_mixer_equivalent(root1, root2):
+ for m in root1:
+ mixer_node1 = m
+ for m in root2:
+ mixer_node2 = m
+ map2 = xml_to_map(mixer_node2)
+ node_level = 0
+ current_key = get_key_for_node_only(mixer_node1, node_level)
+ flag = True
+ for sub_node in mixer_node1:
+ if not _check_mixer_equivalent(sub_node, map2, current_key, node_level+1):
+ print(gen_xml_string(sub_node))
+ flag = False
+ return flag
+
+
+def check(args):
+ if args.file:
+ if not os.path.isfile(args.file):
+ print(args.file+" doesn't exist")
+ is_xml_good(args.file)
+ return
+ f1 = open_xml_root(args.file1)
+ f2 = open_xml_root(args.file2)
+ if check_mixer_equivalent(f1, f2):
+ print('file1 <= file2')
+ print("=======================================================")
+ if check_mixer_equivalent(f2, f1):
+ print('file2 <= file1')
+ return
+
+
+if __name__ == '__main__':
+ arg_parser = argparse.ArgumentParser(
+ description="Script to generate base,overlay or to combining base and overlay")
+ arg_parser.add_argument('--files', nargs='+',
+ default=None)
+ arg_parser.add_argument('--base', action='store', type=str,
+ default=None)
+ arg_parser.add_argument('--union', action='store', type=str,
+ default=None)
+ arg_parser.add_argument('--overlay', nargs='+',
+ default=None)
+ arg_parser.add_argument('--out_dir', action='store', type=str,
+ default=None)
+ arg_parser.add_argument('--out', nargs='+',
+ default=None)
+ arg_parser.add_argument("--generate", type=str, choices=['base', 'overlay', 'combine', 'union'],
+ help="choose one among options", default=None)
+ arg_parser.add_argument('--check', action='store_true', default=False)
+ arg_parser.add_argument('--file', action='store', type=str, default=None)
+ arg_parser.add_argument('--file1', action='store', type=str)
+ arg_parser.add_argument('--file2', action='store', type=str)
+ arg_parser.add_argument(
+ '--copyright', action='store', type=str, default=None)
+
+ args = arg_parser.parse_args()
+ args = validate(args)
+ if not args:
+ print('xml_opt.py invalid arguments')
+ else:
+ main(args)
diff --git a/configs/common_au/audio_policy_configuration.xml b/configs/common_au/audio_policy_configuration.xml
index 2dc3b04..01fa0de 100644
--- a/configs/common_au/audio_policy_configuration.xml
+++ b/configs/common_au/audio_policy_configuration.xml
@@ -61,6 +61,9 @@
<item>Rear Seat Bus</item>
<item>Built-In Mic</item>
<item>Built-In Back Mic</item>
+ <item>Primary In Bus</item>
+ <item>Front Passenger In Bus</item>
+ <item>Rear Seat In Bus</item>
</attachedDevices>
<defaultOutputDevice>Media Bus</defaultOutputDevice>
<mixPorts>
@@ -254,6 +257,30 @@
</devicePort>
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
</devicePort>
+ <devicePort tagName="Primary In Bus" type="AUDIO_DEVICE_IN_BUS" role="source" address="BUS04_INPUT">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
+ <gains>
+ <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
+ minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
+ </gains>
+ </devicePort>
+ <devicePort tagName="Front Passenger In Bus" type="AUDIO_DEVICE_IN_BUS" role="source" address="BUS09_INPUT_FRONT_PASSENGER">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
+ <gains>
+ <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
+ minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
+ </gains>
+ </devicePort>
+ <devicePort tagName="Rear Seat In Bus" type="AUDIO_DEVICE_IN_BUS" role="source" address="BUS17_INPUT_REAR_SEAT">
+ <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+ samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_STEREO"/>
+ <gains>
+ <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
+ minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
+ </gains>
+ </devicePort>
</devicePorts>
<routes>
<route type="mix" sink="Media Bus"
@@ -283,7 +310,7 @@
<route type="mix" sink="Telephony Tx"
sources="voice_tx,incall_music_uplink"/>
<route type="mix" sink="primary input"
- sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
+ sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Primary In Bus,Front Passenger In Bus,Rear Seat In Bus"/>
<route type="mix" sink="fast input"
sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
<route type="mix" sink="voice_rx"
diff --git a/configs/common_au/car_audio_configuration.xml b/configs/common_au/car_audio_configuration.xml
index 28060ac..edf3600 100644
--- a/configs/common_au/car_audio_configuration.xml
+++ b/configs/common_au/car_audio_configuration.xml
@@ -61,6 +61,9 @@
</device>
</group>
</volumeGroups>
+ <inputDevices>
+ <inputDevice address="BUS04_INPUT"/>
+ </inputDevices>
<displays>
<display port="0"/>
</displays>
@@ -91,6 +94,9 @@
</device>
</group>
</volumeGroups>
+ <inputDevices>
+ <inputDevice address="BUS09_INPUT_FRONT_PASSENGER"/>
+ </inputDevices>
<displays>
<display port="1"/>
</displays>
@@ -114,6 +120,9 @@
</device>
</group>
</volumeGroups>
+ <inputDevices>
+ <inputDevice address="BUS17_INPUT_REAR_SEAT"/>
+ </inputDevices>
<displays>
<display port="2"/>
</displays>
diff --git a/configs/holi/audio_io_policy.conf b/configs/holi/audio_io_policy.conf
index 996cdfe..8141490 100755
--- a/configs/holi/audio_io_policy.conf
+++ b/configs/holi/audio_io_policy.conf
@@ -123,4 +123,18 @@
bit_width 32
app_type 69949
}
+ voip_tx {
+ flags AUDIO_INPUT_FLAG_VOIP_TX
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|48000
+ bit_width 16
+ app_type 69946
+ }
+ low_latency_voip_tx {
+ flags AUDIO_INPUT_FLAG_FAST|AUDIO_INPUT_FLAG_VOIP_TX
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 48000
+ bit_width 16
+ app_type
+ }
}
diff --git a/configs/holi/audio_platform_info.xml b/configs/holi/audio_platform_info.xml
index be986b3..fe127d3 100644
--- a/configs/holi/audio_platform_info.xml
+++ b/configs/holi/audio_platform_info.xml
@@ -104,6 +104,7 @@
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
diff --git a/configs/holi/audio_platform_info_intcodec.xml b/configs/holi/audio_platform_info_intcodec.xml
index a032a92..2c9fde1 100644
--- a/configs/holi/audio_platform_info_intcodec.xml
+++ b/configs/holi/audio_platform_info_intcodec.xml
@@ -84,6 +84,7 @@
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
diff --git a/configs/holi/audio_platform_info_qrd.xml b/configs/holi/audio_platform_info_qrd.xml
index f39273d..05614f7 100644
--- a/configs/holi/audio_platform_info_qrd.xml
+++ b/configs/holi/audio_platform_info_qrd.xml
@@ -84,6 +84,7 @@
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
diff --git a/configs/holi/audio_policy_configuration.xml b/configs/holi/audio_policy_configuration.xml
index 68e781b..aa93d35 100644
--- a/configs/holi/audio_policy_configuration.xml
+++ b/configs/holi/audio_policy_configuration.xml
@@ -84,8 +84,6 @@
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
- <profile name="" format="dynamic"
- samplingRates="dynamic" channelMasks="dynamic"/>
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
@@ -261,11 +259,11 @@
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -288,11 +286,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/holi/holi.mk b/configs/holi/holi.mk
old mode 100644
new mode 100755
index 2f0c054..c6b10ff
--- a/configs/holi/holi.mk
+++ b/configs/holi/holi.mk
@@ -6,7 +6,16 @@
AUDIO_USE_STUB_HAL := true
endif
endif
+##mixer xml generation
+#BASE_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/base
+#OVERLAY_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/holi/holi_overlay
+#TARGET_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/holi
+#SCRIPT := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/mixer_xml_utils.py
+#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/mixer_paths_base.xml --overlay $(OVERLAY_PATH)/mixer_paths_overlay.xml $(OVERLAY_PATH)/mixer_paths_qrd_overlay.xml $(OVERLAY_PATH)/mixer_paths_usbc_overlay.xml --out_dir $(TARGET_PATH) --out mixer_paths.xml mixer_paths_qrd.xml mixer_paths_usbc.xml )
+
+#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/sound_trigger_mixer_paths_base.xml --overlay $(OVERLAY_PATH)/sound_trigger_mixer_paths_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_qrd_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_usbc_overlay.xml --out_dir $(TARGET_PATH) --out sound_trigger_mixer_paths.xml sound_trigger_mixer_paths_qrd.xml sound_trigger_mixer_paths_usbc.xml )
+##
ifneq ($(AUDIO_USE_STUB_HAL), true)
BOARD_USES_ALSA_AUDIO := true
TARGET_USES_AOSP_FOR_AUDIO := false
@@ -188,10 +197,6 @@
frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.xml \
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml
-# Reduce client buffer size for fast audio output tracks
-PRODUCT_PROPERTY_OVERRIDES += \
- af.fast_track_multiplier=1
-
# Low latency audio buffer size in frames
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio_hal.period_size=192
@@ -242,18 +247,10 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.offload.buffer.size.kb=32
-#Enable offload audio video playback by default
-PRODUCT_PROPERTY_OVERRIDES += \
-audio.offload.video=true
-
#Enable audio track offload by default
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.offload.track.enable=true
-#Enable music through deep buffer
-PRODUCT_PROPERTY_OVERRIDES += \
-audio.deep_buffer.media=true
-
#enable voice path for PCM VoIP by default
PRODUCT_PROPERTY_OVERRIDES += \
vendor.voice.path.for.pcm.voip=true
@@ -330,18 +327,6 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.hw.aac.encoder=true
-#audio becoming noisy intent broadcast delay
-PRODUCT_PROPERTY_OVERRIDES += \
-audio.sys.noisy.broadcast.delay=600
-
-#offload pausetime out duration to 3 secs to inline with other outputs
-PRODUCT_PROPERTY_OVERRIDES += \
-audio.sys.offload.pstimeout.secs=3
-
-#Set AudioFlinger client heap size
-PRODUCT_PROPERTY_OVERRIDES += \
-ro.af.client_heap_size_kbyte=7168
-
#Set HAL buffer size to samples equal to 3 ms
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio_hal.in_period_size=144
diff --git a/configs/holi/holi_overlay/mixer_paths_overlay.xml b/configs/holi/holi_overlay/mixer_paths_overlay.xml
new file mode 100644
index 0000000..4327267
--- /dev/null
+++ b/configs/holi/holi_overlay/mixer_paths_overlay.xml
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="TX DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC1 ChMap" value="ZERO"/>
+ <ctl name="ADC2 ChMap" value="ZERO"/>
+ <ctl name="MBHC ChMap" value="ZERO"/>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="deep-buffer-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="low-latency-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="audio-ull-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="compress-offload-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_5 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback2">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback3">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback4">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback5">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback6">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback7">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback8">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback9">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="low-latency-record capture-fm">
+ <ctl name="MultiMedia8 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="play-fm">
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_1 Port Mixer SLIM_8_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="play-fm headphones">
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_8_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="1"/>
+ </path>
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="1"/>
+ </path>
+ <path name="compress-voip-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="voicemmode1-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode2-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="audio-playback-voip">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ <ctl name="TX_DEC2 Volume" value="84"/>
+ </path>
+ <path name="spkr-rx-calib">
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="amic2">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
+ <ctl name="DEC0_BCS Switch" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="BCS Channel" value="CH5"/>
+ </path>
+ <path name="speaker">
+ <ctl name="RX_CDC_DMA_RX_1 Channels" value="One"/>
+ <ctl name="RX_MACRO RX2 MUX" value="AIF2_PB"/>
+ <ctl name="RX INT2_1 MIX1 INP0" value="RX2"/>
+ <ctl name="AUX_RDAC Switch" value="1"/>
+ <ctl name="SpkrMono WSA_RDAC" value="Switch"/>
+ </path>
+ <path name="speaker-mono">
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-mono-2">
+ <path name="speaker"/>
+ </path>
+ <path name="sidetone-handset">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ <ctl name="RX INT0 MIX2 INP" value="SRC0"/>
+ </path>
+ <path name="speaker-mic">
+ <path name="dmic2"/>
+ </path>
+ <path name="speaker-mic-liquid">
+ <path name="dmic2"/>
+ </path>
+ <path name="handset">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="EAR_RDAC Switch" value="1"/>
+ <ctl name="RDAC3_MUX" value="RX1"/>
+ <ctl name="RX_EAR Mode" value="ON"/>
+ </path>
+ <path name="handset-mic">
+ <path name="dmic3"/>
+ </path>
+ <path name="headphones">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="RX_COMP2 Switch" value="1"/>
+ <ctl name="HPH_L Switch" value="1"/>
+ <ctl name="HPH_R Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHR_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ </path>
+ <path name="handset-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ </path>
+ <path name="speaker-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ </path>
+ <path name="speaker-dmic-broadside">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ </path>
+ <path name="three-mic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC3"/>
+ </path>
+ <path name="speaker-tmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC3"/>
+ </path>
+ <path name="speaker-qmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Four"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="TX DMIC MUX0" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC0"/>
+ </path>
+ <path name="voice-tty-full-headset-mic">
+ <path name="amic2"/>
+ <ctl name="ADC2 Volume" value="0"/>
+ <ctl name="TX_DEC0 Volume" value="84"/>
+ </path>
+ <path name="voice-tty-hco-headset-mic">
+ <ctl name="TX DEC6 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX6" value="SWR_MIC4"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ </path>
+ <path name="voice-tty-vco-handset-mic">
+ <path name="dmic3"/>
+ </path>
+ <path name="ADSP testfwk">
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="mmap-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-record capture-fm">
+ <ctl name="MultiMedia16 Mixer SLIM_8_TX" value="1"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml b/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml
new file mode 100644
index 0000000..4b30af6
--- /dev/null
+++ b/configs/holi/holi_overlay/mixer_paths_qrd_overlay.xml
@@ -0,0 +1,319 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="TX DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC1 ChMap" value="ZERO"/>
+ <ctl name="ADC2 ChMap" value="ZERO"/>
+ <ctl name="MBHC ChMap" value="ZERO"/>
+ <ctl name="TX_DEC0 Volume" value="81"/>
+ <ctl name="TX_DEC1 Volume" value="81"/>
+ <ctl name="TX_DEC2 Volume" value="81"/>
+ <ctl name="TX_DEC3 Volume" value="81"/>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="deep-buffer-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="low-latency-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="audio-ull-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="compress-offload-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_5 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback2">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback3">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback4">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback5">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback6">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback7">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback8">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback9">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="low-latency-record capture-fm">
+ <ctl name="MultiMedia8 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="play-fm">
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_1 Port Mixer SLIM_8_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="play-fm headphones">
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_8_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="1"/>
+ </path>
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="1"/>
+ </path>
+ <path name="compress-voip-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="voicemmode1-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode2-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="audio-playback-voip">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ <ctl name="TX_DEC2 Volume" value="84"/>
+ </path>
+ <path name="mmap-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-record capture-fm">
+ <ctl name="MultiMedia16 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="spkr-rx-calib">
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="amic1">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC0"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ </path>
+ <path name="amic2">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
+ <ctl name="DEC0_BCS Switch" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH2"/>
+ <ctl name="BCS Channel" value="CH5"/>
+ </path>
+ <path name="amic3">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ </path>
+ <path name="amic4">
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX2" value="ADC3"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ </path>
+ <path name="speaker">
+ <ctl name="RX_MACRO RX2 MUX" value="AIF2_PB"/>
+ <ctl name="RX_CDC_DMA_RX_1 Channels" value="One"/>
+ <ctl name="RX INT2_1 MIX1 INP0" value="RX2"/>
+ <ctl name="AUX_RDAC Switch" value="1"/>
+ <ctl name="SpkrMono WSA_RDAC" value="Switch"/>
+ </path>
+ <path name="speaker-mono">
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-mono-2">
+ <path name="speaker-mono"/>
+ </path>
+ <path name="sidetone-headphones">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="40"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ <ctl name="RX INT0 MIX2 INP" value="SRC0"/>
+ <ctl name="RX INT1 MIX2 INP" value="SRC0"/>
+ </path>
+ <path name="sidetone-handset">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ <ctl name="RX INT0 MIX2 INP" value="SRC0"/>
+ </path>
+ <path name="speaker-mic">
+ <path name="amic1"/>
+ </path>
+ <path name="speaker-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker-mono"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="handset">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="EAR_RDAC Switch" value="1"/>
+ <ctl name="RDAC3_MUX" value="RX1"/>
+ <ctl name="RX_EAR Mode" value="ON"/>
+ </path>
+ <path name="handset-mic">
+ <path name="amic3"/>
+ </path>
+ <path name="hph-highquality-mode">
+ <ctl name="RX_HPH_PWR_MODE" value="LOHIFI"/>
+ <ctl name="RX HPH Mode" value="CLS_H_LOHIFI"/>
+ </path>
+ <path name="hph-lowpower-mode">
+ <ctl name="RX_HPH_PWR_MODE" value="ULP"/>
+ <ctl name="RX HPH Mode" value="CLS_H_ULP"/>
+ </path>
+ <path name="speaker-safe-and-display-port">
+ <path name="speaker-safe"/>
+ <path name="display-port"/>
+ </path>
+ <path name="speaker-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC4"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ </path>
+ <path name="handset-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC4"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX2" value="SWR_MIC0"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ </path>
+ <path name="speaker-dmic-broadside">
+ <path name="speaker-dmic-endfire"/>
+ </path>
+ <path name="voice-tty-hco-headset-mic">
+ <path name="voice-tty-full-headset-mic"/>
+ </path>
+ <path name="voice-tty-vco-handset-mic">
+ <path name="amic3"/>
+ </path>
+ <path name="three-mic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="ADC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="TX DEC2 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX2" value="ADC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="TX DEC3 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX3" value="ADC0"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ </path>
+ <path name="ADSP testfwk">
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml b/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml
new file mode 100644
index 0000000..8d001f8
--- /dev/null
+++ b/configs/holi/holi_overlay/mixer_paths_usbc_overlay.xml
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="TX DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC7 MUX" value="MSM_DMIC"/>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="deep-buffer-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia1" value="1"/>
+ </path>
+ <path name="low-latency-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia5" value="1"/>
+ </path>
+ <path name="audio-ull-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia8" value="1"/>
+ </path>
+ <path name="compress-offload-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_5 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="compress-offload-playback2">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia7" value="1"/>
+ </path>
+ <path name="compress-offload-playback3">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="compress-offload-playback4">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia11" value="1"/>
+ </path>
+ <path name="compress-offload-playback5">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia12" value="1"/>
+ </path>
+ <path name="compress-offload-playback6">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia13" value="1"/>
+ </path>
+ <path name="compress-offload-playback7">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia14" value="1"/>
+ </path>
+ <path name="compress-offload-playback8">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia15" value="1"/>
+ </path>
+ <path name="compress-offload-playback9">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="audio-record capture-fm">
+ <ctl name="MultiMedia1 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="low-latency-record capture-fm">
+ <ctl name="MultiMedia8 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="fm-virtual-record capture-fm">
+ <ctl name="MultiMedia2 Mixer SLIM_8_TX" value="1"/>
+ </path>
+ <path name="play-fm">
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_1 Port Mixer SLIM_8_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="play-fm headphones">
+ <ctl name="SLIMBUS_8 LOOPBACK Volume" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0 Port Mixer SLIM_8_TX" value="1"/>
+ <ctl name="RX_CDC_DMA_RX_0_DL_HL Switch" value="1"/>
+ </path>
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="1"/>
+ </path>
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="1"/>
+ </path>
+ <path name="compress-voip-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer Voip" value="1"/>
+ <ctl name="Voip_Tx Mixer TX_CDC_DMA_TX_3_Voip" value="1"/>
+ </path>
+ <path name="voicemmode1-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode1" value="1"/>
+ <ctl name="VoiceMMode1_Tx Mixer TX_CDC_DMA_TX_3_MMode1" value="1"/>
+ </path>
+ <path name="voicemmode2-call">
+ <ctl name="RX_CDC_DMA_RX_1_Voice Mixer VoiceMMode2" value="1"/>
+ <ctl name="VoiceMMode2_Tx Mixer TX_CDC_DMA_TX_3_MMode2" value="1"/>
+ </path>
+ <path name="audio-playback-voip">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia10" value="1"/>
+ </path>
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1"/>
+ <ctl name="TX_DEC2 Volume" value="84"/>
+ </path>
+ <path name="spkr-rx-calib">
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="speaker">
+ <ctl name="RX_CDC_DMA_RX_1 Channels" value="One"/>
+ <ctl name="RX_MACRO RX2 MUX" value="AIF2_PB"/>
+ <ctl name="RX INT2_1 MIX1 INP0" value="RX2"/>
+ <ctl name="AUX_RDAC Switch" value="1"/>
+ <ctl name="SpkrMono WSA_RDAC" value="Switch"/>
+ </path>
+ <path name="speaker-mono">
+ <path name="speaker"/>
+ </path>
+ <path name="speaker-mono-2">
+ <path name="speaker"/>
+ </path>
+ <path name="sidetone-handset">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ <ctl name="RX INT0 MIX2 INP" value="SRC0"/>
+ </path>
+ <path name="speaker-mic">
+ <path name="dmic2"/>
+ </path>
+ <path name="speaker-mic-liquid">
+ <path name="dmic2"/>
+ </path>
+ <path name="handset">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="EAR_RDAC Switch" value="1"/>
+ <ctl name="RDAC3_MUX" value="RX1"/>
+ <ctl name="RX_EAR Mode" value="ON"/>
+ </path>
+ <path name="handset-mic">
+ <path name="dmic3"/>
+ </path>
+ <path name="headphones">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="RX_COMP2 Switch" value="1"/>
+ <ctl name="HPH_L Switch" value="1"/>
+ <ctl name="HPH_R Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHR_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ </path>
+ <path name="handset-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ </path>
+ <path name="speaker-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ </path>
+ <path name="speaker-dmic-broadside">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ </path>
+ <path name="three-mic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC3"/>
+ </path>
+ <path name="speaker-tmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC3"/>
+ </path>
+ <path name="speaker-qmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Four"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="TX DMIC MUX0" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC0"/>
+ </path>
+ <path name="voice-tty-full-headset-mic">
+ <path name="amic2"/>
+ <ctl name="ADC2 Volume" value="0"/>
+ <ctl name="TX_DEC0 Volume" value="84"/>
+ </path>
+ <path name="voice-tty-hco-headset-mic">
+ <ctl name="TX DEC6 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX6" value="SWR_MIC4"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ </path>
+ <path name="voice-tty-vco-handset-mic">
+ <path name="dmic3"/>
+ </path>
+ <path name="ADSP testfwk">
+ <ctl name="RX_CDC_DMA_RX_1_DL_HL Switch" value="1"/>
+ </path>
+ <path name="mmap-playback">
+ <ctl name="RX_CDC_DMA_RX_1 Audio Mixer MultiMedia16" value="1"/>
+ </path>
+ <path name="mmap-record capture-fm">
+ <ctl name="MultiMedia16 Mixer SLIM_8_TX" value="1"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/holi/holi_overlay/sound_trigger_mixer_paths_overlay.xml b/configs/holi/holi_overlay/sound_trigger_mixer_paths_overlay.xml
new file mode 100644
index 0000000..a3b835f
--- /dev/null
+++ b/configs/holi/holi_overlay/sound_trigger_mixer_paths_overlay.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC2 MUX" value="ZERO"/>
+ <path name="listen-voice-wakeup-1 port">
+ <ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-2 port">
+ <ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-3 port">
+ <ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-4 port">
+ <ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-5 port">
+ <ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-6 port">
+ <ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-7 port">
+ <ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-8 port">
+ <ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-1 preproc port">
+ <ctl name="LSM1 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-2 preproc port">
+ <ctl name="LSM2 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-3 preproc port">
+ <ctl name="LSM3 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-4 preproc port">
+ <ctl name="LSM4 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-5 preproc port">
+ <ctl name="LSM5 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-6 preproc port">
+ <ctl name="LSM6 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-7 preproc port">
+ <ctl name="LSM7 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-8 preproc port">
+ <ctl name="LSM8 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-ape-handset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC2"/>
+ </path>
+ <path name="listen-ape-handset-dmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ </path>
+ <path name="listen-ape-headset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ </path>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/holi/holi_overlay/sound_trigger_mixer_paths_qrd_overlay.xml b/configs/holi/holi_overlay/sound_trigger_mixer_paths_qrd_overlay.xml
new file mode 100644
index 0000000..87a83f6
--- /dev/null
+++ b/configs/holi/holi_overlay/sound_trigger_mixer_paths_qrd_overlay.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC2 MUX" value="ZERO"/>
+ <path name="listen-voice-wakeup-1 port">
+ <ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-2 port">
+ <ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-3 port">
+ <ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-4 port">
+ <ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-5 port">
+ <ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-6 port">
+ <ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-7 port">
+ <ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-8 port">
+ <ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-1 preproc port">
+ <ctl name="LSM1 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-2 preproc port">
+ <ctl name="LSM2 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-3 preproc port">
+ <ctl name="LSM3 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-4 preproc port">
+ <ctl name="LSM4 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-5 preproc port">
+ <ctl name="LSM5 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-6 preproc port">
+ <ctl name="LSM6 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-7 preproc port">
+ <ctl name="LSM7 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-8 preproc port">
+ <ctl name="LSM8 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-ape-handset-mic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ </path>
+ <path name="listen-ape-handset-dmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP3"/>
+ <ctl name="VA DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX1" value="SWR_MIC0"/>
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1"/>
+ <ctl name="ADC1_MIXER Switch" value="1"/>
+ </path>
+ <path name="listen-ape-handset-tmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Three"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ <ctl name="VA DMIC MUX2" value="DMIC5"/>
+ </path>
+ <path name="listen-ape-handset-qmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Four"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ <ctl name="VA DMIC MUX2" value="DMIC3"/>
+ <ctl name="VA DMIC MUX3" value="DMIC5"/>
+ </path>
+ <path name="listen-ape-headset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC4"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX2_CH1"/>
+ </path>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_1"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/holi/holi_overlay/sound_trigger_mixer_paths_usbc_overlay.xml b/configs/holi/holi_overlay/sound_trigger_mixer_paths_usbc_overlay.xml
new file mode 100644
index 0000000..fb0049a
--- /dev/null
+++ b/configs/holi/holi_overlay/sound_trigger_mixer_paths_usbc_overlay.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC2 MUX" value="ZERO"/>
+ <path name="listen-voice-wakeup-1 port">
+ <ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-2 port">
+ <ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-3 port">
+ <ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-4 port">
+ <ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-5 port">
+ <ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-6 port">
+ <ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-7 port">
+ <ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-8 port">
+ <ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0"/>
+ <ctl name="LPI Enable" value="1"/>
+ <ctl name="ADC2_BCS Disable" value="1"/>
+ </path>
+ <path name="listen-voice-wakeup-1 preproc port">
+ <ctl name="LSM1 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-2 preproc port">
+ <ctl name="LSM2 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-3 preproc port">
+ <ctl name="LSM3 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-4 preproc port">
+ <ctl name="LSM4 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-5 preproc port">
+ <ctl name="LSM5 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-6 preproc port">
+ <ctl name="LSM6 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-7 preproc port">
+ <ctl name="LSM7 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-voice-wakeup-8 preproc port">
+ <ctl name="LSM8 Port" value="ADM_LSM_TX"/>
+ <ctl name="LPI Enable" value="0"/>
+ <ctl name="ADC2_BCS Disable" value="0"/>
+ </path>
+ <path name="listen-ape-handset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC2"/>
+ </path>
+ <path name="listen-ape-handset-dmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ </path>
+ <path name="listen-ape-headset-mic">
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="VA SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR"/>
+ <ctl name="TX1 MODE" value="ADC_LP"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/holi/mixer_paths.xml b/configs/holi/mixer_paths.xml
old mode 100644
new mode 100755
index 07c6bac..20c6a63
--- a/configs/holi/mixer_paths.xml
+++ b/configs/holi/mixer_paths.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -283,7 +284,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -525,6 +525,34 @@
<path name="echo-reference bt-sco" />
</path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_1" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1" />
<ctl name="EC Reference Channels" value="One"/>
@@ -602,7 +630,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -709,7 +736,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -858,7 +884,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -929,6 +954,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -978,7 +1008,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1105,7 +1134,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1233,7 +1261,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1360,7 +1387,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1487,7 +1513,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1614,7 +1639,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1741,7 +1765,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1868,7 +1891,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1995,7 +2017,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -2114,7 +2135,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2139,7 +2159,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2164,7 +2183,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2189,7 +2207,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2463,7 +2480,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2522,7 +2538,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2591,7 +2606,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2666,7 +2680,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2717,15 +2730,35 @@
<path name="audio-playback-voip" />
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
<ctl name="TX_DEC2 Volume" value="84" />
</path>
- <path name="audio-record-voip headset-mic">
- <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
- </path>
-
<path name="audio-record-voip usb-headset-mic">
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -2735,7 +2768,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@@ -3640,7 +3672,6 @@
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -3725,7 +3756,6 @@
</path>
<path name="mmap-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-record bt-sco" />
</path>
diff --git a/configs/holi/mixer_paths_qrd.xml b/configs/holi/mixer_paths_qrd.xml
old mode 100644
new mode 100755
index 1264fa2..4896875
--- a/configs/holi/mixer_paths_qrd.xml
+++ b/configs/holi/mixer_paths_qrd.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -282,7 +283,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -526,6 +526,34 @@
<path name="echo-reference bt-sco" />
</path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_1" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1" />
<ctl name="EC Reference Channels" value="One"/>
@@ -603,7 +631,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -710,7 +737,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -859,7 +885,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -930,6 +955,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -979,7 +1009,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1106,7 +1135,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1234,7 +1262,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1361,7 +1388,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1488,7 +1514,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1615,7 +1640,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1742,7 +1766,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1869,7 +1892,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1996,7 +2018,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -2115,7 +2136,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2140,7 +2160,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2165,7 +2184,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2190,7 +2208,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2464,7 +2481,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2523,7 +2539,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2592,7 +2607,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2667,7 +2681,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2718,15 +2731,35 @@
<path name="audio-playback-voip" />
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
<ctl name="TX_DEC2 Volume" value="84" />
</path>
- <path name="audio-record-voip headset-mic">
- <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
- </path>
-
<path name="audio-record-voip usb-headset-mic">
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -2736,7 +2769,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
diff --git a/configs/holi/mixer_paths_usbc.xml b/configs/holi/mixer_paths_usbc.xml
old mode 100644
new mode 100755
index d8759a0..ac5429d
--- a/configs/holi/mixer_paths_usbc.xml
+++ b/configs/holi/mixer_paths_usbc.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -283,7 +284,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -517,6 +517,34 @@
<path name="echo-reference bt-sco" />
</path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_1" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_1" />
<ctl name="EC Reference Channels" value="One"/>
@@ -594,7 +622,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -701,7 +728,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -850,7 +876,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -921,6 +946,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -970,7 +1000,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1097,7 +1126,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1225,7 +1253,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1352,7 +1379,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1479,7 +1505,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1606,7 +1631,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1733,7 +1757,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1860,7 +1883,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1987,7 +2009,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -2106,7 +2127,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2131,7 +2151,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2156,7 +2175,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2181,7 +2199,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2455,7 +2472,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2514,7 +2530,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2583,7 +2598,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2658,7 +2672,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2709,15 +2722,35 @@
<path name="audio-playback-voip" />
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
<ctl name="TX_DEC2 Volume" value="84" />
</path>
- <path name="audio-record-voip headset-mic">
- <ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="1" />
- </path>
-
<path name="audio-record-voip usb-headset-mic">
<ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -2727,7 +2760,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@@ -3633,7 +3665,6 @@
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -3718,7 +3749,6 @@
</path>
<path name="mmap-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-record bt-sco" />
</path>
diff --git a/configs/kona/audio_policy_configuration.xml b/configs/kona/audio_policy_configuration.xml
index 6853fe8..82752d3 100644
--- a/configs/kona/audio_policy_configuration.xml
+++ b/configs/kona/audio_policy_configuration.xml
@@ -79,8 +79,6 @@
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
- <profile name="" format="dynamic"
- samplingRates="dynamic" channelMasks="dynamic"/>
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
@@ -256,11 +254,11 @@
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -283,11 +281,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/kona/mixer_paths.xml b/configs/kona/mixer_paths.xml
index e40aa5b..84b7dbc 100644
--- a/configs/kona/mixer_paths.xml
+++ b/configs/kona/mixer_paths.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -527,6 +528,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -2300,6 +2314,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/kona/mixer_paths_cdp.xml b/configs/kona/mixer_paths_cdp.xml
index a3a1854..be5f683 100644
--- a/configs/kona/mixer_paths_cdp.xml
+++ b/configs/kona/mixer_paths_cdp.xml
@@ -65,6 +65,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -513,6 +514,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value=SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -2142,6 +2156,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/kona/mixer_paths_qrd.xml b/configs/kona/mixer_paths_qrd.xml
index ffbc9db..19cc504 100644
--- a/configs/kona/mixer_paths_qrd.xml
+++ b/configs/kona/mixer_paths_qrd.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -507,6 +508,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/>
@@ -2161,6 +2175,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lahaina/audio_platform_info_hdk.xml b/configs/lahaina/audio_platform_info_hdk.xml
index a5b0e17..0a34ae2 100644
--- a/configs/lahaina/audio_platform_info_hdk.xml
+++ b/configs/lahaina/audio_platform_info_hdk.xml
@@ -123,13 +123,13 @@
<gain_level_map db="0" level="1"/>
</gain_db_to_level_mapping>
<acdb_ids>
- <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="15"/>
+ <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="14"/>
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="15"/>
- <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="124"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="101"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="101"/>
- <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="124"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="101"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="101"/>
- <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="102"/>
+ <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="151"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" acdb_id="150"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT" acdb_id="150"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" acdb_id="151"/>
diff --git a/configs/lahaina/audio_platform_info_shimaidp.xml b/configs/lahaina/audio_platform_info_shimaidp.xml
index 89a6f28..0ec8164 100644
--- a/configs/lahaina/audio_platform_info_shimaidp.xml
+++ b/configs/lahaina/audio_platform_info_shimaidp.xml
@@ -106,6 +106,7 @@
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
@@ -203,6 +204,10 @@
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
@@ -211,6 +216,10 @@
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
diff --git a/configs/lahaina/audio_platform_info_shimaqrd.xml b/configs/lahaina/audio_platform_info_shimaqrd.xml
index 6154ffc..750b83e 100644
--- a/configs/lahaina/audio_platform_info_shimaqrd.xml
+++ b/configs/lahaina/audio_platform_info_shimaqrd.xml
@@ -31,6 +31,7 @@
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="14"/>
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="14"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="101"/>
+ <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="101"/>
<device name="SND_DEVICE_IN_VOICE_REC_QMIC_FLUENCE" acdb_id="131"/>
<device name="SND_DEVICE_IN_VOICE_REC_TMIC" acdb_id="131"/>
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" acdb_id="132"/>
@@ -107,6 +108,7 @@
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
<usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
<usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
<usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
@@ -204,6 +206,10 @@
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
@@ -212,6 +218,10 @@
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
diff --git a/configs/lahaina/audio_policy_configuration.xml b/configs/lahaina/audio_policy_configuration.xml
index 3be0a81..8ae7dcb 100644
--- a/configs/lahaina/audio_policy_configuration.xml
+++ b/configs/lahaina/audio_policy_configuration.xml
@@ -84,8 +84,6 @@
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
- <profile name="" format="dynamic"
- samplingRates="dynamic" channelMasks="dynamic"/>
</mixPort>
<mixPort name="dsd_compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
@@ -267,11 +265,11 @@
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -294,11 +292,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/lahaina/lahaina.mk b/configs/lahaina/lahaina.mk
old mode 100644
new mode 100755
index defda1c..14efb45
--- a/configs/lahaina/lahaina.mk
+++ b/configs/lahaina/lahaina.mk
@@ -6,7 +6,16 @@
AUDIO_USE_STUB_HAL := true
endif
endif
+##mixer xml generation
+#BASE_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/base
+#OVERLAY_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/shima_overlay
+#TARGET_PATH := vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina
+#SCRIPT := vendor/qcom/opensource/audio-hal/primary-hal/configs/common/mixer_xml_utils.py
+#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/mixer_paths_base.xml --overlay $(OVERLAY_PATH)/mixer_paths_shimaidp_overlay.xml $(OVERLAY_PATH)/mixer_paths_shimaidps_overlay.xml $(OVERLAY_PATH)/mixer_paths_shimaqrd_overlay.xml --out_dir $(TARGET_PATH) --out mixer_paths_shimaidp.xml mixer_paths_shimaidps.xml mixer_paths_shimaqrd.xml )
+
+#$(shell python $(SCRIPT) --generate combine --base $(BASE_PATH)/sound_trigger_mixer_paths_base.xml --overlay $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaidp_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaidps_overlay.xml $(OVERLAY_PATH)/sound_trigger_mixer_paths_shimaqrd_overlay.xml --out_dir $(TARGET_PATH) --out sound_trigger_mixer_paths_shimaidp.xml sound_trigger_mixer_paths_shimaidps.xml sound_trigger_mixer_paths_shimaqrd.xml )
+##
ifneq ($(AUDIO_USE_STUB_HAL), true)
BOARD_USES_ALSA_AUDIO := true
TARGET_USES_AOSP_FOR_AUDIO := false
@@ -220,10 +229,6 @@
$(foreach DEVICE_SKU, $(QCV_FAMILY_SKUS), \
vendor/qcom/opensource/audio-hal/primary-hal/configs/lahaina/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_$(DEVICE_SKU)_qssi/audio_policy_configuration.xml)
-# Reduce client buffer size for fast audio output tracks
-PRODUCT_PROPERTY_OVERRIDES += \
- af.fast_track_multiplier=1
-
# Low latency audio buffer size in frames
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio_hal.period_size=192
@@ -250,6 +255,11 @@
persist.vendor.audio.spv4.enable=true\
persist.vendor.audio.avs.afe_api_version=9
+##bcl aka vbat monitor feature enable by default
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.vendor.audio.vbat.enabled=true\
+persist.vendor.audio.bcl.enabled=true\
+
#disable tunnel encoding
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.tunnel.encode=false
@@ -262,18 +272,10 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.offload.buffer.size.kb=32
-#Enable offload audio video playback by default
-PRODUCT_PROPERTY_OVERRIDES += \
-audio.offload.video=true
-
#Enable audio track offload by default
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.offload.track.enable=true
-#Enable music through deep buffer
-PRODUCT_PROPERTY_OVERRIDES += \
-audio.deep_buffer.media=true
-
#enable voice path for PCM VoIP by default
PRODUCT_PROPERTY_OVERRIDES += \
vendor.voice.path.for.pcm.voip=true
@@ -350,10 +352,6 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.hw.aac.encoder=true
-#Set AudioFlinger client heap size
-PRODUCT_PROPERTY_OVERRIDES += \
-ro.af.client_heap_size_kbyte=7168
-
#Set HAL buffer size to samples equal to 3 ms
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio_hal.in_period_size=144
diff --git a/configs/lahaina/mixer_paths.xml b/configs/lahaina/mixer_paths.xml
index e216047..6f694e9 100644
--- a/configs/lahaina/mixer_paths.xml
+++ b/configs/lahaina/mixer_paths.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -580,6 +581,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -923,6 +937,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2389,6 +2408,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_cdp.xml b/configs/lahaina/mixer_paths_cdp.xml
index a37e135..9825e93 100644
--- a/configs/lahaina/mixer_paths_cdp.xml
+++ b/configs/lahaina/mixer_paths_cdp.xml
@@ -65,6 +65,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -563,6 +564,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -879,6 +893,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2228,6 +2247,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_hdk.xml b/configs/lahaina/mixer_paths_hdk.xml
index 6dbb51d..ea40d03 100644
--- a/configs/lahaina/mixer_paths_hdk.xml
+++ b/configs/lahaina/mixer_paths_hdk.xml
@@ -927,6 +927,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_qrd.xml b/configs/lahaina/mixer_paths_qrd.xml
index 392a9db..e6a3160 100644
--- a/configs/lahaina/mixer_paths_qrd.xml
+++ b/configs/lahaina/mixer_paths_qrd.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -572,6 +573,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -915,6 +929,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2381,6 +2400,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_shimaidp.xml b/configs/lahaina/mixer_paths_shimaidp.xml
old mode 100644
new mode 100755
index 35ded78..1f775f9
--- a/configs/lahaina/mixer_paths_shimaidp.xml
+++ b/configs/lahaina/mixer_paths_shimaidp.xml
@@ -66,6 +66,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -157,6 +158,7 @@
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="VI_FEED_TX Channels" value="Two" />
+ <ctl name="TX LPI Enable" value="0" />
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="0" />
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="0" />
<ctl name="WSA_CDC_DMA_RX_0 Format" value="UNPACKED" />
@@ -389,14 +391,15 @@
<ctl name="TX DEC7 MUX" value="SWR_MIC" />
<ctl name="TX DMIC MUX7" value="ZERO" />
<ctl name="TX SMIC MUX7" value="ZERO" />
- <ctl name="ADC1 ChMap" value="ZERO" />
- <ctl name="ADC2 ChMap" value="ZERO" />
- <ctl name="ADC3 ChMap" value="ZERO" />
- <ctl name="ADC4 ChMap" value="ZERO" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
- <ctl name="MBHC ChMap" value="ZERO" />
<ctl name="BCS Channel" value="CH6" />
+ <ctl name="MBHC ChMap" value="SWRM_TX2_CH3" />
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
+
<!-- Volume controls -->
<ctl name="WSA_RX0 Digital Volume" value="84" />
@@ -499,6 +502,10 @@
<ctl name="GSM mode Enable" value="ON" />
</path>
+ <path name="tx-lpi-enable">
+ <ctl name="TX LPI Enable" value="1" />
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -545,6 +552,34 @@
<path name="echo-reference bt-sco" />
</path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -888,6 +923,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2350,6 +2390,30 @@
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -2516,8 +2580,8 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
- <ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
+ <ctl name="ADC1_MIXER Switch" value="1" />
</path>
<path name="amic2">
@@ -2526,9 +2590,9 @@
<ctl name="TX_CDC_DMA_TX_4 Channels" value="One" />
<ctl name="DEC0_BCS Switch" value="1" />
<ctl name="TX_AIF2_CAP Mixer DEC0" value="1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="MBHC ChMap" value="SWRM_TX2_CH3" />
<ctl name="BCS Channel" value="CH6" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
@@ -2538,9 +2602,9 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
</path>
@@ -2548,9 +2612,9 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC4" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1" />
<ctl name="ADC3_MIXER Switch" value="1" />
<ctl name="ADC3 MUX" value="INP4" />
- <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
</path>
@@ -2558,9 +2622,9 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC5" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
<ctl name="ADC4_MIXER Switch" value="1" />
<ctl name="ADC4 MUX" value="INP5" />
- <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
</path>
<path name="speaker">
@@ -2965,11 +3029,11 @@
<ctl name="TX SMIC MUX2" value="SWR_MIC1" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
+ <ctl name="ADC1_MIXER Switch" value="1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
</path>
@@ -2978,16 +3042,16 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC1" />
- <ctl name="TX SMIC MUX2" value="SWR_MIC9" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC5" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
<ctl name="ADC4_MIXER Switch" value="1" />
<ctl name="ADC4 MUX" value="INP5" />
- <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
</path>
<path name="dmic-endfire">
@@ -3060,14 +3124,14 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX1" value="SWR_MIC0" />
- <ctl name="TX SMIC MUX2" value="SWR_MIC9" />
+ <ctl name="TX SMIC MUX2" value="SWR_MIC5" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="1" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
- <ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
+ <ctl name="ADC1_MIXER Switch" value="1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
<ctl name="ADC4_MIXER Switch" value="1" />
<ctl name="ADC4 MUX" value="INP5" />
- <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
</path>
<path name="dmic-broadside">
@@ -3088,16 +3152,16 @@
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX DEC3 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX1" value="SWR_MIC9" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC5" />
<ctl name="TX SMIC MUX2" value="SWR_MIC0" />
- <ctl name="TX SMIC MUX3" value="SWR_MIC8" />
+ <ctl name="TX SMIC MUX3" value="SWR_MIC4" />
<ctl name="ADC4 MUX" value="INP5" />
<ctl name="ADC3 MUX" value="INP4" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
- <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
- <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC3_MIXER Switch" value="1" />
<ctl name="ADC4_MIXER Switch" value="1" />
@@ -3122,9 +3186,9 @@
<ctl name="TX DEC2 MUX" value="SWR_MIC" />
<ctl name="TX DEC3 MUX" value="SWR_MIC" />
<ctl name="TX DEC4 MUX" value="SWR_MIC" />
- <ctl name="TX SMIC MUX1" value="SWR_MIC9" />
+ <ctl name="TX SMIC MUX1" value="SWR_MIC5" />
<ctl name="TX SMIC MUX2" value="SWR_MIC0" />
- <ctl name="TX SMIC MUX3" value="SWR_MIC8" />
+ <ctl name="TX SMIC MUX3" value="SWR_MIC4" />
<ctl name="TX SMIC MUX4" value="SWR_MIC1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="ADC3 MUX" value="INP4" />
@@ -3133,8 +3197,8 @@
<ctl name="HDR34 MUX" value="NO_HDR34" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
- <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
- <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC3_MIXER Switch" value="1" />
@@ -3213,9 +3277,9 @@
<ctl name="TX SMIC MUX6" value="SWR_MIC1" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC6" value="1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
</path>
diff --git a/configs/lahaina/mixer_paths_shimaidps.xml b/configs/lahaina/mixer_paths_shimaidps.xml
old mode 100644
new mode 100755
index 99cf423..dc731bf
--- a/configs/lahaina/mixer_paths_shimaidps.xml
+++ b/configs/lahaina/mixer_paths_shimaidps.xml
@@ -65,6 +65,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -337,6 +338,7 @@
<ctl name="ADC3 MUX" value="ZERO" />
<ctl name="ADC4_MIXER Switch" value="0" />
<ctl name="ADC4 MUX" value="ZERO" />
+ <ctl name="TX LPI Enable" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC1" value="0" />
<ctl name="TX_AIF1_CAP Mixer DEC2" value="0" />
@@ -496,6 +498,10 @@
<ctl name="GSM mode Enable" value="ON" />
</path>
+ <path name="tx-lpi-enable">
+ <ctl name="TX LPI Enable" value="1" />
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -538,6 +544,34 @@
<path name="echo-reference bt-sco" />
</path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -854,6 +888,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2199,6 +2238,30 @@
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_shimaqrd.xml b/configs/lahaina/mixer_paths_shimaqrd.xml
old mode 100644
new mode 100755
index 884ee0d..2db82d3
--- a/configs/lahaina/mixer_paths_shimaqrd.xml
+++ b/configs/lahaina/mixer_paths_shimaqrd.xml
@@ -66,6 +66,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -157,6 +158,7 @@
<ctl name="WSA_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="RX_CDC_DMA_RX_0 Channels" value="One" />
<ctl name="VI_FEED_TX Channels" value="One" />
+ <ctl name="TX LPI Enable" value="0" />
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_1" value="0" />
<ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="0" />
<ctl name="WSA_CDC_DMA_RX_0 Format" value="UNPACKED" />
@@ -502,6 +504,10 @@
<ctl name="GSM mode Enable" value="ON" />
</path>
+ <path name="tx-lpi-enable">
+ <ctl name="TX LPI Enable" value="1" />
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/>
@@ -548,6 +554,21 @@
<path name="echo-reference bt-sco" />
</path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency headphones">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/>
@@ -903,6 +924,11 @@
<path name="audio-ull-playback" />
</path>
+ <path name="audio-ull-playback speaker-and-usb-headphones">
+ <path name="audio-ull-playback usb-headphones" />
+ <path name="audio-ull-playback" />
+ </path>
+
<path name="multi-channel-playback display-port">
<ctl name="DISPLAY_PORT Mixer MultiMedia2" value="1" />
</path>
@@ -2420,6 +2446,30 @@
</path>
<!-- VoIP Tx settings -->
+ <path name="audio-record-voip-low-latency">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lahaina/shima_overlay/mixer_paths_shimaidp_overlay.xml b/configs/lahaina/shima_overlay/mixer_paths_shimaidp_overlay.xml
new file mode 100644
index 0000000..7a8cff1
--- /dev/null
+++ b/configs/lahaina/shima_overlay/mixer_paths_shimaidp_overlay.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer/>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml b/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml
new file mode 100644
index 0000000..cfe9bb8
--- /dev/null
+++ b/configs/lahaina/shima_overlay/mixer_paths_shimaidps_overlay.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="TX DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC1 ChMap" value="ZERO"/>
+ <ctl name="ADC2 ChMap" value="ZERO"/>
+ <ctl name="ADC3 ChMap" value="ZERO"/>
+ <ctl name="ADC4 ChMap" value="ZERO"/>
+ <ctl name="MBHC ChMap" value="ZERO"/>
+ <path name="compress-offload-playback headphones-dsd">
+ <ctl name="RX_CDC_DMA_RX_5 Audio Mixer MultiMedia4" value="1"/>
+ </path>
+ <path name="incall-rec-uplink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_UL" value="1"/>
+ </path>
+ <path name="incall-rec-downlink">
+ <ctl name="MultiMedia9 Mixer VOC_REC_DL" value="1"/>
+ </path>
+ <path name="amic2">
+ <ctl name="TX DEC0 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX0" value="SWR_MIC1"/>
+ <ctl name="TX_CDC_DMA_TX_4 Channels" value="One"/>
+ <ctl name="DEC0_BCS Switch" value="1"/>
+ <ctl name="TX_AIF2_CAP Mixer DEC0" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="MBHC ChMap" value="SWRM_TX1_CH3"/>
+ <ctl name="BCS Channel" value="CH2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="amic4">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC3_MIXER Switch" value="1"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="ADC3 ChMap" value="SWRM_TX2_CH1"/>
+ <ctl name="HDR34 MUX" value="NO_HDR34"/>
+ </path>
+ <path name="amic5">
+ <ctl name="TX DEC1 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX1" value="SWR_MIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="ADC4_MIXER Switch" value="1"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="ADC4 ChMap" value="SWRM_TX2_CH2"/>
+ </path>
+ <path name="speaker-mono">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX0 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX0 INP0" value="RX0"/>
+ <ctl name="WSA_COMP1 Switch" value="1"/>
+ <ctl name="SpkrLeft COMP Switch" value="1"/>
+ <ctl name="SpkrLeft BOOST Switch" value="1"/>
+ <ctl name="SpkrLeft VISENSE Switch" value="1"/>
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-mono-2">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX1 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX1 INP0" value="RX1"/>
+ <ctl name="WSA_COMP2 Switch" value="1"/>
+ <ctl name="SpkrRight COMP Switch" value="1"/>
+ <ctl name="SpkrRight BOOST Switch" value="1"/>
+ <ctl name="SpkrRight VISENSE Switch" value="1"/>
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="sidetone-headphones">
+ <path name="sidetone-iir"/>
+ <ctl name="IIR0 INP0 Volume" value="54"/>
+ <ctl name="IIR0 INP0 MUX" value="DEC2"/>
+ <ctl name="RX INT0 MIX2 INP" value="SRC0"/>
+ <ctl name="RX INT1 MIX2 INP" value="SRC0"/>
+ </path>
+ <path name="speaker-mic">
+ <path name="dmic4"/>
+ </path>
+ <path name="speaker-mic-liquid">
+ <path name="dmic4"/>
+ </path>
+ <path name="handset">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX0 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX0 INP0" value="RX0"/>
+ <ctl name="WSA_COMP1 Switch" value="1"/>
+ <ctl name="SpkrLeft COMP Switch" value="1"/>
+ <ctl name="SpkrLeft BOOST Switch" value="1"/>
+ <ctl name="SpkrLeft VISENSE Switch" value="1"/>
+ <ctl name="SpkrLeft SWR DAC_Port Switch" value="1"/>
+ <ctl name="EAR SPKR PA Gain" value="G_6_DB"/>
+ </path>
+ <path name="handset-mic">
+ <path name="dmic1"/>
+ </path>
+ <path name="headphones">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="RX_COMP2 Switch" value="1"/>
+ <ctl name="HPH_L Switch" value="1"/>
+ <ctl name="HPH_R Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHR_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ </path>
+ <path name="handset-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ </path>
+ <path name="speaker-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC1"/>
+ </path>
+ <path name="speaker-dmic-broadside">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC4"/>
+ </path>
+ <path name="three-mic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC4"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC3"/>
+ </path>
+ <path name="speaker-qmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Four"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC4" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC4"/>
+ </path>
+ <path name="voice-tty-full-headset-mic">
+ <path name="amic2"/>
+ <ctl name="ADC2 Volume" value="0"/>
+ <ctl name="TX_DEC0 Volume" value="84"/>
+ </path>
+ <path name="voice-tty-hco-headset-mic">
+ <path name="voice-tty-full-headset-mic"/>
+ </path>
+ <path name="voice-tty-vco-handset-mic">
+ <path name="dmic3"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml b/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml
new file mode 100644
index 0000000..ec2f416
--- /dev/null
+++ b/configs/lahaina/shima_overlay/mixer_paths_shimaqrd_overlay.xml
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC3 MUX" value="INP4"/>
+ <ctl name="ADC4 MUX" value="INP5"/>
+ <ctl name="TX DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="TX DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC1 ChMap" value="ZERO"/>
+ <ctl name="ADC2 ChMap" value="ZERO"/>
+ <ctl name="ADC3 ChMap" value="ZERO"/>
+ <ctl name="ADC4 ChMap" value="ZERO"/>
+ <ctl name="MBHC ChMap" value="ZERO"/>
+ <ctl name="TX_DEC0 Volume" value="96"/>
+ <ctl name="TX_DEC1 Volume" value="96"/>
+ <ctl name="TX_DEC2 Volume" value="96"/>
+ <ctl name="TX_DEC3 Volume" value="96"/>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip-low-latency handset">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL10 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+ <path name="speaker">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX1 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX1 INP0" value="RX1"/>
+ <ctl name="WSA_COMP2 Switch" value="1"/>
+ <ctl name="SpkrRight COMP Switch" value="1"/>
+ <ctl name="SpkrRight VISENSE Switch" value="1"/>
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-mono">
+ <ctl name="WSA_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="WSA RX1 MUX" value="AIF1_PB"/>
+ <ctl name="WSA_RX1 INP0" value="RX1"/>
+ <ctl name="WSA_COMP2 Switch" value="1"/>
+ <ctl name="SpkrRight COMP Switch" value="1"/>
+ <ctl name="SpkrRight VISENSE Switch" value="1"/>
+ <ctl name="SpkrRight SWR DAC_Port Switch" value="1"/>
+ </path>
+ <path name="speaker-mic">
+ <path name="dmic6"/>
+ </path>
+ <path name="speaker-mic-liquid">
+ <path name="dmic6"/>
+ </path>
+ <path name="speaker-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker-mono"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-2-protected">
+ <ctl name="WSA_AIF_VI Mixer WSA_SPKR_VI_2" value="1"/>
+ <ctl name="WSA_CDC_DMA_0 TX Format" value="PACKED_16B"/>
+ <path name="speaker-mono-2"/>
+ <ctl name="VI_FEED_TX Channels" value="One"/>
+ <ctl name="WSA_RX_0_VI_FB_LCH_MUX" value="WSA_CDC_DMA_TX_0"/>
+ </path>
+ <path name="voice-speaker-protected-vbat">
+ <path name="voice-speaker-protected"/>
+ <ctl name="WSA_RX INT0 VBAT WSA RX1 VBAT Enable" value="1"/>
+ </path>
+ <path name="handset">
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="One"/>
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="EAR_RDAC Switch" value="1"/>
+ <ctl name="RDAC3_MUX" value="RX1"/>
+ </path>
+ <path name="handset-mic">
+ <path name="dmic2"/>
+ </path>
+ <path name="headphones">
+ <ctl name="RX_MACRO RX0 MUX" value="AIF1_PB"/>
+ <ctl name="RX_MACRO RX1 MUX" value="AIF1_PB"/>
+ <ctl name="RX_CDC_DMA_RX_0 Channels" value="Two"/>
+ <ctl name="RX INT0_1 MIX1 INP0" value="RX0"/>
+ <ctl name="RX INT1_1 MIX1 INP0" value="RX1"/>
+ <ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX INT1 DEM MUX" value="CLSH_DSM_OUT"/>
+ <ctl name="RX_COMP1 Switch" value="1"/>
+ <ctl name="RX_COMP2 Switch" value="1"/>
+ <ctl name="HPH_L Switch" value="1"/>
+ <ctl name="HPH_R Switch" value="1"/>
+ <ctl name="HPHL_COMP Switch" value="1"/>
+ <ctl name="HPHR_COMP Switch" value="1"/>
+ <ctl name="HPHL_RDAC Switch" value="1"/>
+ <ctl name="HPHR_RDAC Switch" value="1"/>
+ </path>
+ <path name="handset-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC5"/>
+ </path>
+ <path name="speaker-dmic-endfire">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC1"/>
+ </path>
+ <path name="speaker-dmic-broadside">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Two"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC1"/>
+ </path>
+ <path name="three-mic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC5"/>
+ </path>
+ <path name="speaker-tmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Three"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC1"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC3"/>
+ </path>
+ <path name="speaker-qmic">
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="Four"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="TX DMIC MUX1" value="DMIC5"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="TX DMIC MUX2" value="DMIC2"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="TX DMIC MUX3" value="DMIC3"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC4" value="1"/>
+ <ctl name="TX DMIC MUX4" value="DMIC1"/>
+ </path>
+ <path name="voice-tty-hco-headset-mic">
+ <ctl name="TX DEC6 MUX" value="SWR_MIC"/>
+ <ctl name="TX SMIC MUX6" value="ADC1"/>
+ <ctl name="TX_CDC_DMA_TX_3 Channels" value="One"/>
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1"/>
+ <ctl name="ADC2_MIXER Switch" value="1"/>
+ <ctl name="ADC2 MUX" value="INP2"/>
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2"/>
+ <ctl name="HDR12 MUX" value="NO_HDR12"/>
+ </path>
+ <path name="voice-tty-vco-handset-mic">
+ <path name="dmic3"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidp_overlay.xml b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidp_overlay.xml
new file mode 100644
index 0000000..7a8cff1
--- /dev/null
+++ b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidp_overlay.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer/>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml
new file mode 100644
index 0000000..c70c77e
--- /dev/null
+++ b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaidps_overlay.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC2 MUX" value="ZERO"/>
+ <ctl name="ADC1 ChMap" value="ZERO"/>
+ <ctl name="ADC2 ChMap" value="ZERO"/>
+ <ctl name="ADC3 ChMap" value="ZERO"/>
+ <ctl name="ADC4 ChMap" value="ZERO"/>
+ <path name="listen-ape-handset-mic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ </path>
+ <path name="listen-ape-handset-dmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ </path>
+ <path name="listen-ape-handset-tmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Three"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ <ctl name="VA DMIC MUX2" value="DMIC3"/>
+ </path>
+ <path name="listen-ape-handset-qmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Four"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ <ctl name="VA DMIC MUX2" value="DMIC3"/>
+ <ctl name="VA DMIC MUX3" value="DMIC4"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml
new file mode 100644
index 0000000..04f0192
--- /dev/null
+++ b/configs/lahaina/shima_overlay/sound_trigger_mixer_paths_shimaqrd_overlay.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--- Copyright (c) 2020, The Linux Foundation. All rights reserved. -->
+<!--- -->
+<!--- Redistribution and use in source and binary forms, with or without -->
+<!--- modification, are permitted provided that the following conditions are -->
+<!--- met: -->
+<!--- * Redistributions of source code must retain the above copyright -->
+<!--- notice, this list of conditions and the following disclaimer. -->
+<!--- * Redistributions in binary form must reproduce the above -->
+<!--- copyright notice, this list of conditions and the following -->
+<!--- disclaimer in the documentation and/or other materials provided -->
+<!--- with the distribution. -->
+<!--- * Neither the name of The Linux Foundation nor the names of its -->
+<!--- contributors may be used to endorse or promote products derived -->
+<!--- from this software without specific prior written permission. -->
+<!--- -->
+<!--- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
+<!--- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
+<!--- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
+<!--- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
+<!--- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
+<!--- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
+<!--- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
+<!--- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
+<!--- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -->
+<!--- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
+<!--- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
+<mixer>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC4 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC5 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC6 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC7 MUX" value="MSM_DMIC"/>
+ <ctl name="ADC1 ChMap" value="ZERO"/>
+ <ctl name="ADC2 ChMap" value="ZERO"/>
+ <ctl name="ADC3 ChMap" value="ZERO"/>
+ <ctl name="ADC4 ChMap" value="ZERO"/>
+ <path name="listen-ape-handset-mic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="One"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ </path>
+ <path name="listen-ape-handset-dmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC5"/>
+ </path>
+ <path name="listen-ape-handset-tmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Three"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC3"/>
+ <ctl name="VA DMIC MUX2" value="DMIC5"/>
+ </path>
+ <path name="listen-ape-handset-qmic">
+ <ctl name="VA_CDC_DMA_TX_0 Channels" value="Four"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC0" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC1" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC2" value="1"/>
+ <ctl name="VA_AIF1_CAP Mixer DEC3" value="1"/>
+ <ctl name="VA DEC0 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC1 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC2 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DEC3 MUX" value="MSM_DMIC"/>
+ <ctl name="VA DMIC MUX0" value="DMIC1"/>
+ <ctl name="VA DMIC MUX1" value="DMIC2"/>
+ <ctl name="VA DMIC MUX2" value="DMIC3"/>
+ <ctl name="VA DMIC MUX3" value="DMIC5"/>
+ </path>
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+ <path name="echo-reference handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="RX_CDC_DMA_RX_0"/>
+ <ctl name="EC Reference Channels" value="One"/>
+ <ctl name="EC Reference Bit Format" value="S16_LE"/>
+ <ctl name="EC Reference SampleRate" value="48000"/>
+ </path>
+</mixer>
\ No newline at end of file
diff --git a/configs/lahaina/sound_trigger_mixer_paths_shimaidp.xml b/configs/lahaina/sound_trigger_mixer_paths_shimaidp.xml
index 5de527e..0e1739f 100644
--- a/configs/lahaina/sound_trigger_mixer_paths_shimaidp.xml
+++ b/configs/lahaina/sound_trigger_mixer_paths_shimaidp.xml
@@ -98,16 +98,16 @@
<ctl name="VA_DEC2 MODE" value="ADC_DEFAULT" />
<ctl name="VA_DEC3 MODE" value="ADC_DEFAULT" />
<ctl name="ADC2_BCS Disable" value="0" />
- <ctl name="ADC1 ChMap" value="ZERO" />
- <ctl name="ADC2 ChMap" value="ZERO" />
- <ctl name="ADC3 ChMap" value="ZERO" />
- <ctl name="ADC4 ChMap" value="ZERO" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
<ctl name="TX0 MODE" value="ADC_LP" />
<ctl name="TX1 MODE" value="ADC_LP" />
<ctl name="TX2 MODE" value="ADC_LP" />
<ctl name="TX3 MODE" value="ADC_LP" />
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
<path name="listen-voice-wakeup-1">
<ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" />
@@ -259,8 +259,8 @@
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="VA SMIC MUX0" value="SWR_MIC0" />
- <ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
+ <ctl name="ADC1_MIXER Switch" value="1" />
</path>
<path name="listen-ape-handset-mic-preproc">
@@ -274,15 +274,15 @@
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="VA SMIC MUX0" value="SWR_MIC0" />
+ <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
<ctl name="ADC1_MIXER Switch" value="1" />
<ctl name="VA DEC1 MUX" value="SWR_MIC" />
<ctl name="VA_DEC1 MODE" value="ADC_LOW_PWR" />
<ctl name="VA SMIC MUX1" value="SWR_MIC1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="ADC2 MUX" value="INP3" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
- <ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
</path>
<path name="listen-ape-handset-tmic">
@@ -304,10 +304,10 @@
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
- <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
- <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
<ctl name="ADC1_MIXER Switch" value="1" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
<ctl name="ADC3_MIXER Switch" value="1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
<ctl name="ADC4_MIXER Switch" value="1" />
</path>
@@ -336,12 +336,12 @@
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="HDR34 MUX" value="NO_HDR34" />
<ctl name="ADC1 ChMap" value="SWRM_TX1_CH1" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
- <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
- <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
<ctl name="ADC1_MIXER Switch" value="1" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
+ <ctl name="ADC3 ChMap" value="SWRM_TX3_CH1" />
<ctl name="ADC3_MIXER Switch" value="1" />
+ <ctl name="ADC4 ChMap" value="SWRM_TX3_CH2" />
<ctl name="ADC4_MIXER Switch" value="1" />
</path>
@@ -350,11 +350,11 @@
<ctl name="VA DEC0 MUX" value="SWR_MIC" />
<ctl name="VA SMIC MUX0" value="SWR_MIC1" />
<ctl name="VA_CDC_DMA_TX_0 Channels" value="One" />
+ <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_MIXER Switch" value="1" />
<ctl name="VA_DEC0 MODE" value="ADC_LOW_PWR" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
- <ctl name="ADC2 ChMap" value="SWRM_TX1_CH2" />
<ctl name="ADC2_BCS Disable" value="1" />
</path>
diff --git a/configs/lito/audio_policy_configuration.xml b/configs/lito/audio_policy_configuration.xml
index e04dac3..ff08ed4 100644
--- a/configs/lito/audio_policy_configuration.xml
+++ b/configs/lito/audio_policy_configuration.xml
@@ -80,8 +80,6 @@
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
- <profile name="" format="dynamic"
- samplingRates="dynamic" channelMasks="dynamic"/>
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
@@ -257,11 +255,11 @@
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -284,11 +282,11 @@
</devicePort>
<devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+ samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"/>
</devicePort>
<!-- Input devices declaration, i.e. Source DEVICE PORT -->
diff --git a/configs/lito/mixer_paths.xml b/configs/lito/mixer_paths.xml
index 487c045..93d8f7b 100644
--- a/configs/lito/mixer_paths.xml
+++ b/configs/lito/mixer_paths.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -282,7 +283,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -528,6 +528,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -596,7 +609,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -699,7 +711,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -838,7 +849,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -948,7 +958,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1066,7 +1075,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1185,7 +1193,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1303,7 +1310,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1421,7 +1427,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1539,7 +1544,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1658,7 +1662,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1776,7 +1779,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1894,7 +1896,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -2008,7 +2009,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2037,7 +2037,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2058,7 +2057,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2087,7 +2085,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2345,7 +2342,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2399,7 +2395,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2468,7 +2463,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2534,7 +2528,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2586,6 +2579,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -2599,7 +2612,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@@ -3518,7 +3530,6 @@
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -3589,7 +3600,6 @@
</path>
<path name="mmap-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-record bt-sco" />
</path>
diff --git a/configs/lito/mixer_paths_cdp.xml b/configs/lito/mixer_paths_cdp.xml
index 697f662..317e599 100644
--- a/configs/lito/mixer_paths_cdp.xml
+++ b/configs/lito/mixer_paths_cdp.xml
@@ -65,6 +65,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -283,7 +284,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -534,6 +534,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="Two"/>
@@ -602,7 +615,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -705,7 +717,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -844,7 +855,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -954,7 +964,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1072,7 +1081,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1191,7 +1199,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1309,7 +1316,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1427,7 +1433,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1545,7 +1550,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1664,7 +1668,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1782,7 +1785,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1900,7 +1902,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -2014,7 +2015,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2043,7 +2043,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2068,7 +2067,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2097,7 +2095,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2355,7 +2352,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2405,7 +2401,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2469,7 +2464,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2535,7 +2529,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2587,6 +2580,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -2600,7 +2613,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@@ -3523,7 +3535,6 @@
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -3594,7 +3605,6 @@
</path>
<path name="mmap-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-record bt-sco" />
</path>
diff --git a/configs/lito/mixer_paths_lagoonmtp.xml b/configs/lito/mixer_paths_lagoonmtp.xml
index 2fa0a9e..228e38f 100644
--- a/configs/lito/mixer_paths_lagoonmtp.xml
+++ b/configs/lito/mixer_paths_lagoonmtp.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -277,7 +278,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -563,7 +563,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -666,7 +665,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -805,7 +803,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -915,7 +912,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1033,7 +1029,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1152,7 +1147,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1270,7 +1264,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1388,7 +1381,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1506,7 +1498,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1625,7 +1616,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1743,7 +1733,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1861,7 +1850,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -1975,7 +1963,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2004,7 +1991,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2025,7 +2011,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2054,7 +2039,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2300,7 +2284,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2344,7 +2327,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2408,7 +2390,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2469,7 +2450,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2521,6 +2501,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -2534,7 +2534,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@@ -3445,7 +3444,6 @@
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-playback bt-sco" />
</path>
@@ -3516,7 +3514,6 @@
</path>
<path name="mmap-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-record bt-sco" />
</path>
diff --git a/configs/lito/mixer_paths_lagoonqrd.xml b/configs/lito/mixer_paths_lagoonqrd.xml
index 3fb2a4f..a5d8d65 100644
--- a/configs/lito/mixer_paths_lagoonqrd.xml
+++ b/configs/lito/mixer_paths_lagoonqrd.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -2017,7 +2018,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2527,6 +2527,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
diff --git a/configs/lito/mixer_paths_qrd.xml b/configs/lito/mixer_paths_qrd.xml
index b658dec..5460907 100644
--- a/configs/lito/mixer_paths_qrd.xml
+++ b/configs/lito/mixer_paths_qrd.xml
@@ -64,6 +64,7 @@
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia1 Mixer SLIM_7_TX" value="0" />
<ctl name="MultiMedia8 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="0" />
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_4" value="0" />
<ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
@@ -282,7 +283,6 @@
<!-- audio record compress end-->
<!-- split a2dp -->
- <ctl name="BT SampleRate" value="KHZ_8" />
<ctl name="AFE Input Channels" value="Zero" />
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
@@ -528,6 +528,19 @@
<ctl name="EC Reference Channels" value="Two"/>
</path>
+ <path name="echo-reference-voip-low-latency bt-sco">
+ <ctl name="AUDIO_REF_EC_UL8 MUX" value="SLIM_7_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-wb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="echo-reference-voip-low-latency bt-sco-swb">
+ <path name="echo-reference-voip-low-latency bt-sco" />
+ </path>
+
<path name="echo-reference-voip">
<ctl name="AUDIO_REF_EC_UL10 MUX" value="WSA_CDC_DMA_RX_0" />
<ctl name="EC Reference Channels" value="One"/>
@@ -600,7 +613,6 @@
</path>
<path name="deep-buffer-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="deep-buffer-playback bt-sco" />
</path>
@@ -707,7 +719,6 @@
</path>
<path name="low-latency-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-playback bt-sco" />
</path>
@@ -846,7 +857,6 @@
</path>
<path name="audio-ull-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-ull-playback bt-sco" />
</path>
@@ -960,7 +970,6 @@
</path>
<path name="compress-offload-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback bt-sco" />
</path>
@@ -1078,7 +1087,6 @@
</path>
<path name="compress-offload-playback2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback2 bt-sco" />
</path>
@@ -1196,7 +1204,6 @@
</path>
<path name="compress-offload-playback3 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback3 bt-sco" />
</path>
@@ -1314,7 +1321,6 @@
</path>
<path name="compress-offload-playback4 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback4 bt-sco" />
</path>
@@ -1432,7 +1438,6 @@
</path>
<path name="compress-offload-playback5 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback5 bt-sco" />
</path>
@@ -1550,7 +1555,6 @@
</path>
<path name="compress-offload-playback6 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback6 bt-sco" />
</path>
@@ -1669,7 +1673,6 @@
</path>
<path name="compress-offload-playback7 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback7 bt-sco" />
</path>
@@ -1787,7 +1790,6 @@
</path>
<path name="compress-offload-playback8 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback8 bt-sco" />
</path>
@@ -1905,7 +1907,6 @@
</path>
<path name="compress-offload-playback9 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-offload-playback9 bt-sco" />
</path>
@@ -2015,7 +2016,6 @@
</path>
<path name="audio-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record bt-sco" />
</path>
@@ -2044,7 +2044,6 @@
</path>
<path name="audio-record-compress bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress bt-sco" />
</path>
@@ -2065,7 +2064,6 @@
</path>
<path name="audio-record-compress2 bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-compress2 bt-sco" />
</path>
@@ -2094,7 +2092,6 @@
</path>
<path name="low-latency-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="low-latency-record bt-sco" />
</path>
@@ -2357,7 +2354,6 @@
</path>
<path name="compress-voip-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="compress-voip-call bt-sco" />
</path>
@@ -2416,7 +2412,6 @@
</path>
<path name="voicemmode1-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode1-call bt-sco" />
</path>
@@ -2490,7 +2485,6 @@
</path>
<path name="voicemmode2-call bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="voicemmode2-call bt-sco" />
</path>
@@ -2560,7 +2554,6 @@
</path>
<path name="audio-playback-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-playback-voip bt-sco" />
</path>
@@ -2612,6 +2605,26 @@
<ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
+ <path name="audio-record-voip-low-latency usb-headset-mic">
+ <ctl name="MultiMedia8 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco">
+ <ctl name="MultiMedia8 Mixer SLIM_7_TX" value="1" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-wb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency bt-sco-swb">
+ <path name="audio-record-voip-low-latency bt-sco" />
+ </path>
+
+ <path name="audio-record-voip-low-latency headset-mic">
+ <ctl name="MultiMedia8 Mixer TX_CDC_DMA_TX_4" value="1" />
+ </path>
+
<path name="audio-record-voip">
<ctl name="MultiMedia10 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
@@ -2625,7 +2638,6 @@
</path>
<path name="audio-record-voip bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="audio-record-voip bt-sco" />
</path>
@@ -2850,7 +2862,6 @@
</path>
<path name="mmap-playback bt-sco-wb">
- <ctl name="BT SampleRate" value="16000" />
<path name="mmap-playback bt-sco" />
</path>
@@ -2926,7 +2937,6 @@
</path>
<path name="mmap-record bt-sco-wb">
- <ctl name="BT SampleRate" value="KHZ_16" />
<path name="mmap-record bt-sco" />
</path>
diff --git a/configs/msm8998/msm8998.mk b/configs/msm8998/msm8998.mk
index e925426..a160673 100644
--- a/configs/msm8998/msm8998.mk
+++ b/configs/msm8998/msm8998.mk
@@ -5,6 +5,7 @@
ifneq ($(TARGET_USES_AOSP_FOR_AUDIO), true)
USE_CUSTOM_AUDIO_POLICY := 1
+AUDIO_FEATURE_QSSI_COMPLIANCE := true
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
@@ -67,6 +68,7 @@
AUDIO_FEATURE_ENABLED_RAS := true
AUDIO_FEATURE_ENABLED_DYNAMIC_LOG := true
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
+AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
##AUDIO_FEATURE_FLAGS
#Audio Specific device overlays
diff --git a/configs/msmnile_au/audio_io_policy.conf b/configs/msmnile_au/audio_io_policy.conf
index 848f3f9..9f19dc3 100644
--- a/configs/msmnile_au/audio_io_policy.conf
+++ b/configs/msmnile_au/audio_io_policy.conf
@@ -120,6 +120,7 @@
inputs {
primary {
+ flags AUDIO_INPUT_FLAG_PRIMARY|AUDIO_INPUT_FLAG_FRONT_PASSENGER|AUDIO_INPUT_FLAG_REAR_SEAT
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
bit_width 16
diff --git a/configs/msmnile_au/audio_platform_info.xml b/configs/msmnile_au/audio_platform_info.xml
index d642138..76fcc10 100644
--- a/configs/msmnile_au/audio_platform_info.xml
+++ b/configs/msmnile_au/audio_platform_info.xml
@@ -43,10 +43,14 @@
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="94"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" acdb_id="94"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" acdb_id="94"/>
- <device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="11"/>
- <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="11"/>
- <device name="SND_DEVICE_IN_BUS" acdb_id="11"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="11"/>
+ <device name="SND_DEVICE_OUT_ICC" acdb_id="16"/>
+ <device name="SND_DEVICE_OUT_SYNTH_SPKR" acdb_id="134"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_BUS" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_BUS_PAX" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_BUS_RSE" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="47"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" acdb_id="95"/>
@@ -57,6 +61,8 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC" acdb_id="80"/>
<device name="SND_DEVICE_IN_QUAD_MIC" acdb_id="47"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_ICC" acdb_id="46"/>
+ <device name="SND_DEVICE_IN_SYNTH_MIC" acdb_id="47"/>
</acdb_ids>
<module_ids>
@@ -118,6 +124,9 @@
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="28" />
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="28" />
<usecase name="USECASE_AUDIO_RECORD" type="in" id="0" />
+ <usecase name="USECASE_AUDIO_RECORD_BUS" type="in" id="0" />
+ <usecase name="USECASE_AUDIO_RECORD_BUS_FRONT_PASSENGER" type="in" id="55" />
+ <usecase name="USECASE_AUDIO_RECORD_BUS_REAR_SEAT" type="in" id="54" />
<usecase name="USECASE_AUDIO_HFP_SCO" type="in" id="29" />
<usecase name="USECASE_AUDIO_HFP_SCO" type="out" id="29" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="29" />
@@ -126,6 +135,10 @@
<usecase name="USECASE_AUDIO_HFP_SCO_DOWNLINK" type="out" id="36" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB_DOWNLINK" type="in" id="36" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB_DOWNLINK" type="out" id="36" />
+ <usecase name="USECASE_ICC_CALL" type="in" id="33" />
+ <usecase name="USECASE_ICC_CALL" type="out" id="33" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_SYNTHESIZER" type="in" id="33" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_SYNTHESIZER" type="out" id="33" />
</pcm_ids>
<config_params>
@@ -170,9 +183,13 @@
<device name="SND_DEVICE_OUT_BUS_PHN" interface="TERT_TDM_RX_2"/>
<device name="SND_DEVICE_OUT_BUS_PAX" interface="QUAT_TDM_RX_0"/>
<device name="SND_DEVICE_OUT_BUS_RSE" interface="QUIN_TDM_RX_0"/>
+ <device name="SND_DEVICE_OUT_ICC" interface="TERT_TDM_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_BUS" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_BUS_PAX" interface="QUAT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_BUS_RSE" interface="QUIN_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" interface="TERT_TDM_TX_0"/>
@@ -182,6 +199,7 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_QUAD_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_ICC" interface="TERT_TDM_TX_0"/>
<!-- multi-mic surround ECNS mixer path definition -->
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP_MMSECNS" backend="bt-sco-mmsecns" interface="TERT_TDM_TX_0"/>
</backend_names>
diff --git a/configs/msmnile_au/mixer_paths_adp.xml b/configs/msmnile_au/mixer_paths_adp.xml
index 826ee15..5f7cca7 100644
--- a/configs/msmnile_au/mixer_paths_adp.xml
+++ b/configs/msmnile_au/mixer_paths_adp.xml
@@ -287,6 +287,12 @@
<ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="0" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="0" />
+ <path name="synth-loopback">
+ <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
<!-- These are audio route (FE to BE) specific mixer settings -->
<!-- EC Reference -->
@@ -1328,10 +1334,20 @@
</path>
<path name="audio-record">
- <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="front-passenger-record">
+ <ctl name="QUAT_TDM_TX_0 Channels" value="Eight" />
+ <ctl name="MultiMedia23 Mixer QUAT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="rear-seat-record">
+ <ctl name="QUIN_TDM_TX_0 Channels" value="Eight" />
+ <ctl name="MultiMedia22 Mixer QUIN_TDM_TX_0" value="1" />
+ </path>
+
<path name="audio-record headset-mic">
<ctl name="TERT_TDM_TX_0 Channels" value="One" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
@@ -1597,9 +1613,8 @@
</path>
<path name="icc-call">
- <ctl name="SEC_TDM_RX_0 SampleRate" value="KHZ_16" />
- <ctl name="SEC_TDM_RX_0 Channels" value="Four" />
- <ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
+ <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="1" />
</path>
@@ -1956,6 +1971,10 @@
<!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
</path>
+ <path name="bus-mic">
+ <!--ctl name="TERT_TDM_TX_0 Channels" value="Four" /-->
+ </path>
+
<path name="sidetone-iir">
</path>
diff --git a/configs/msmnile_au/mixer_paths_custom.xml b/configs/msmnile_au/mixer_paths_custom.xml
index c9b8eba..0f6f6bb 100644
--- a/configs/msmnile_au/mixer_paths_custom.xml
+++ b/configs/msmnile_au/mixer_paths_custom.xml
@@ -1595,9 +1595,8 @@
</path>
<path name="icc-call">
- <ctl name="SEC_TDM_RX_0 SampleRate" value="KHZ_16" />
- <ctl name="SEC_TDM_RX_0 Channels" value="Four" />
- <ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
+ <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="1" />
</path>
diff --git a/configs/msmnile_au/msmnile_au.mk b/configs/msmnile_au/msmnile_au.mk
index 4c00300..9e963ac 100644
--- a/configs/msmnile_au/msmnile_au.mk
+++ b/configs/msmnile_au/msmnile_au.mk
@@ -90,8 +90,16 @@
AUDIO_FEATURE_ENABLED_AUDIO_CONTROL_HAL := true
ifneq ($(ENABLE_HYP),true)
AUDIO_FEATURE_ENABLED_AUTO_AUDIOD := true
+
+ifeq ($(TARGET_PRODUCT),msmnile_au)
+AUDIO_FEATURE_ENABLED_DAEMON_SUPPORT := true
+else
+AUDIO_FEATURE_ENABLED_DAEMON_SUPPORT := false
+endif
+
endif
AUDIO_FEATURE_ENABLED_FM_TUNER_EXT := true
+AUDIO_FEATURE_ENABLED_ICC := true
##AUTOMOTIVE_AUDIO_FEATURE_FLAGS
ifneq ($(strip $(TARGET_USES_RRO)), true)
@@ -360,6 +368,7 @@
vendor.audio.feature.hdmi_edid.enable=false \
vendor.audio.feature.hdmi_passthrough.enable=false \
vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.icc.enable=true \
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
@@ -379,7 +388,8 @@
vendor.audio.feature.wsa.enable=false \
vendor.audio.feature.audiozoom.enable=false \
vendor.audio.feature.snd_mon.enable=false \
-vendor.audio.feature.auto_hal.enable=true
+vendor.audio.feature.auto_hal.enable=true \
+vendor.audio.feature.synth.enable=true
else
# Non-Generic ODM varient related
PRODUCT_ODM_PROPERTIES += \
@@ -405,6 +415,7 @@
vendor.audio.feature.hdmi_edid.enable=true \
vendor.audio.feature.hdmi_passthrough.enable=true \
vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.icc.enable=true \
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
@@ -424,7 +435,8 @@
vendor.audio.feature.wsa.enable=false \
vendor.audio.feature.audiozoom.enable=false \
vendor.audio.feature.snd_mon.enable=false \
-vendor.audio.feature.auto_hal.enable=true
+vendor.audio.feature.auto_hal.enable=true \
+vendor.audio.feature.synth.enable=true
endif
# for HIDL related packages
@@ -467,8 +479,8 @@
# for HIDL related audiocontrol packages
PRODUCT_PACKAGES += \
- vendor.qti.hardware.automotive.audiocontrol@1.0-service \
- android.hardware.automotive.audiocontrol@1.0
+ android.hardware.automotive.audiocontrol@2.0-service \
+ android.hardware.automotive.audiocontrol@2.0
ifeq ($(ENABLE_HYP),true)
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/msmsteppe_au/audio_io_policy.conf b/configs/msmsteppe_au/audio_io_policy.conf
index 0ecd592..e45b296 100644
--- a/configs/msmsteppe_au/audio_io_policy.conf
+++ b/configs/msmsteppe_au/audio_io_policy.conf
@@ -119,6 +119,13 @@
}
inputs {
+ primary {
+ flags AUDIO_INPUT_FLAG_PRIMARY|AUDIO_INPUT_FLAG_FRONT_PASSENGER|AUDIO_INPUT_FLAG_REAR_SEAT
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
+ bit_width 16
+ app_type 69938
+ }
record_16bit {
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|44100|48000|88200|96000|176400|192000
diff --git a/configs/msmsteppe_au/audio_platform_info.xml b/configs/msmsteppe_au/audio_platform_info.xml
index c46f47e..9e11e89 100644
--- a/configs/msmsteppe_au/audio_platform_info.xml
+++ b/configs/msmsteppe_au/audio_platform_info.xml
@@ -43,10 +43,14 @@
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="94"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_HFP" acdb_id="94"/>
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" acdb_id="94"/>
- <device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="11"/>
- <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="11"/>
- <device name="SND_DEVICE_IN_BUS" acdb_id="11"/>
- <device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="11"/>
+ <device name="SND_DEVICE_OUT_ICC" acdb_id="16"/>
+ <device name="SND_DEVICE_OUT_SYNTH_SPKR" acdb_id="134"/>
+ <device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_BUS" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_BUS_PAX" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_BUS_RSE" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="47"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" acdb_id="95"/>
@@ -57,6 +61,8 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC" acdb_id="80"/>
<device name="SND_DEVICE_IN_QUAD_MIC" acdb_id="47"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" acdb_id="47"/>
+ <device name="SND_DEVICE_IN_ICC" acdb_id="46"/>
+ <device name="SND_DEVICE_IN_SYNTH_MIC" acdb_id="47"/>
</acdb_ids>
<module_ids>
@@ -118,6 +124,9 @@
<usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="28" />
<usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="28" />
<usecase name="USECASE_AUDIO_RECORD" type="in" id="0" />
+ <usecase name="USECASE_AUDIO_RECORD_BUS" type="in" id="0" />
+ <usecase name="USECASE_AUDIO_RECORD_BUS_FRONT_PASSENGER" type="in" id="55" />
+ <usecase name="USECASE_AUDIO_RECORD_BUS_REAR_SEAT" type="in" id="54" />
<usecase name="USECASE_AUDIO_HFP_SCO" type="in" id="29" />
<usecase name="USECASE_AUDIO_HFP_SCO" type="out" id="29" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="29" />
@@ -126,6 +135,10 @@
<usecase name="USECASE_AUDIO_HFP_SCO_DOWNLINK" type="out" id="36" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB_DOWNLINK" type="in" id="36" />
<usecase name="USECASE_AUDIO_HFP_SCO_WB_DOWNLINK" type="out" id="36" />
+ <usecase name="USECASE_ICC_CALL" type="in" id="33" />
+ <usecase name="USECASE_ICC_CALL" type="out" id="33" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_SYNTHESIZER" type="in" id="33" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_SYNTHESIZER" type="out" id="33" />
</pcm_ids>
<config_params>
@@ -170,9 +183,13 @@
<device name="SND_DEVICE_OUT_BUS_PHN" interface="TERT_TDM_RX_2"/>
<device name="SND_DEVICE_OUT_BUS_PAX" interface="QUAT_TDM_RX_0"/>
<device name="SND_DEVICE_OUT_BUS_RSE" interface="QUAT_TDM_RX_1"/>
+ <device name="SND_DEVICE_OUT_ICC" interface="TERT_TDM_RX_0"/>
<device name="SND_DEVICE_IN_HANDSET_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_BUS" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_BUS_PAX" interface="QUAT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_BUS_RSE" interface="QUAT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP" interface="TERT_TDM_TX_0"/>
@@ -182,6 +199,7 @@
<device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_QUAD_MIC" interface="TERT_TDM_TX_0"/>
<device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TERT_TDM_TX_0"/>
+ <device name="SND_DEVICE_IN_ICC" interface="TERT_TDM_TX_0"/>
<!-- multi-mic surround ECNS mixer path definition -->
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_HFP_MMSECNS" backend="bt-sco-mmsecns" interface="TERT_TDM_TX_0"/>
</backend_names>
diff --git a/configs/msmsteppe_au/mixer_paths_adp.xml b/configs/msmsteppe_au/mixer_paths_adp.xml
index b6db9c5..80334bd 100644
--- a/configs/msmsteppe_au/mixer_paths_adp.xml
+++ b/configs/msmsteppe_au/mixer_paths_adp.xml
@@ -287,6 +287,12 @@
<ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="0" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="0" />
+ <path name="synth-loopback">
+ <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
+ <ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="1" />
+ </path>
<!-- These are audio route (FE to BE) specific mixer settings -->
<!-- EC Reference -->
@@ -1170,10 +1176,20 @@
</path>
<path name="audio-record">
- <ctl name="TERT_TDM_TX_0 Channels" value="One" />
+ <ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
</path>
+ <path name="front-passenger-record">
+ <ctl name="QUAT_TDM_TX_0 Channels" value="Eight" />
+ <ctl name="MultiMedia23 Mixer QUAT_TDM_TX_0" value="1" />
+ </path>
+
+ <path name="rear-seat-record">
+ <ctl name="QUAT_TDM_TX_0 Channels" value="Eight" />
+ <ctl name="MultiMedia22 Mixer QUAT_TDM_TX_0" value="1" />
+ </path>
+
<path name="audio-record usb-headset-mic">
<ctl name="MultiMedia1 Mixer USB_AUDIO_TX" value="1" />
</path>
@@ -1373,9 +1389,8 @@
</path>
<path name="icc-call">
- <ctl name="SEC_TDM_RX_0 SampleRate" value="KHZ_16" />
- <ctl name="SEC_TDM_RX_0 Channels" value="Four" />
- <ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
+ <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="1" />
</path>
@@ -1693,6 +1708,10 @@
<!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
</path>
+ <path name="bus-mic">
+ <!--ctl name="TERT_TDM_TX_0 Channels" value="Four" /-->
+ </path>
+
<path name="sidetone-iir">
</path>
diff --git a/configs/msmsteppe_au/mixer_paths_custom.xml b/configs/msmsteppe_au/mixer_paths_custom.xml
index 848b62e..3360fa7 100644
--- a/configs/msmsteppe_au/mixer_paths_custom.xml
+++ b/configs/msmsteppe_au/mixer_paths_custom.xml
@@ -1366,9 +1366,8 @@
</path>
<path name="icc-call">
- <ctl name="SEC_TDM_RX_0 SampleRate" value="KHZ_16" />
- <ctl name="SEC_TDM_RX_0 Channels" value="Four" />
- <ctl name="SEC_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
+ <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
+ <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia9" value="1" />
<ctl name="TERT_TDM_TX_0 Channels" value="Four" />
<ctl name="MultiMedia9 Mixer TERT_TDM_TX_0" value="1" />
</path>
diff --git a/configs/msmsteppe_au/msmsteppe_au.mk b/configs/msmsteppe_au/msmsteppe_au.mk
index f1a143e..769333d 100644
--- a/configs/msmsteppe_au/msmsteppe_au.mk
+++ b/configs/msmsteppe_au/msmsteppe_au.mk
@@ -40,6 +40,9 @@
AUDIO_FEATURE_ENABLED_DLKM := true
BOARD_SUPPORTS_SOUND_TRIGGER := true
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
+ifeq ($(TARGET_HAS_GENERIC_KERNEL_HEADERS), true)
+AUDIO_FEATURE_ENABLED_GKI := true
+endif
AUDIO_USE_DEEP_AS_PRIMARY_OUTPUT := false
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
@@ -76,8 +79,10 @@
AUDIO_FEATURE_ENABLED_AUDIO_CONTROL_HAL := true
ifneq ($(ENABLE_HYP),true)
AUDIO_FEATURE_ENABLED_AUTO_AUDIOD := true
+AUDIO_FEATURE_ENABLED_DAEMON_SUPPORT := true
endif
AUDIO_FEATURE_ENABLED_FM_TUNER_EXT := true
+AUDIO_FEATURE_ENABLED_ICC := true
##AUTOMOTIVE_AUDIO_FEATURE_FLAGS
ifneq ($(strip $(TARGET_USES_RRO)), true)
@@ -339,6 +344,7 @@
vendor.audio.feature.hdmi_edid.enable=false \
vendor.audio.feature.hdmi_passthrough.enable=false \
vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.icc.enable=true \
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
@@ -358,7 +364,8 @@
vendor.audio.feature.wsa.enable=false \
vendor.audio.feature.audiozoom.enable=false \
vendor.audio.feature.snd_mon.enable=false \
-vendor.audio.feature.auto_hal.enable=true
+vendor.audio.feature.auto_hal.enable=true \
+vendor.audio.feature.synth.enable=true
else
# Non-Generic ODM varient related
PRODUCT_ODM_PROPERTIES += \
@@ -384,6 +391,7 @@
vendor.audio.feature.hdmi_edid.enable=true \
vendor.audio.feature.hdmi_passthrough.enable=true \
vendor.audio.feature.hfp.enable=true \
+vendor.audio.feature.icc.enable=true \
vendor.audio.feature.hifi_audio.enable=false \
vendor.audio.feature.hwdep_cal.enable=false \
vendor.audio.feature.incall_music.enable=true \
@@ -403,7 +411,8 @@
vendor.audio.feature.wsa.enable=false \
vendor.audio.feature.audiozoom.enable=false \
vendor.audio.feature.snd_mon.enable=false \
-vendor.audio.feature.auto_hal.enable=true
+vendor.audio.feature.auto_hal.enable=true \
+vendor.audio.feature.synth.enable=true
endif
# for HIDL related packages
@@ -446,8 +455,8 @@
# for HIDL related audiocontrol packages
PRODUCT_PACKAGES += \
- vendor.qti.hardware.automotive.audiocontrol@1.0-service \
- android.hardware.automotive.audiocontrol@1.0
+ android.hardware.automotive.audiocontrol@2.0-service \
+ android.hardware.automotive.audiocontrol@2.0
ifeq ($(ENABLE_HYP),true)
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/configs/sdm660/mixer_paths.xml b/configs/sdm660/mixer_paths.xml
index 9f1b3e1..9e6ffeb 100644
--- a/configs/sdm660/mixer_paths.xml
+++ b/configs/sdm660/mixer_paths.xml
@@ -175,6 +175,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -428,13 +429,38 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <path name="echo-reference headphones" />
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <path name="echo-reference-voip headphones" />
</path>
<path name="deep-buffer-playback">
diff --git a/configs/sdm660/mixer_paths_mtp.xml b/configs/sdm660/mixer_paths_mtp.xml
index 373fc02..fba65eb 100644
--- a/configs/sdm660/mixer_paths_mtp.xml
+++ b/configs/sdm660/mixer_paths_mtp.xml
@@ -174,6 +174,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -427,13 +428,38 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <path name="echo-reference headphones" />
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <path name="echo-reference-voip headphones" />
</path>
<path name="deep-buffer-playback">
diff --git a/configs/sdm660/mixer_paths_skush.xml b/configs/sdm660/mixer_paths_skush.xml
index 83a9d24..8f58fcb 100644
--- a/configs/sdm660/mixer_paths_skush.xml
+++ b/configs/sdm660/mixer_paths_skush.xml
@@ -166,6 +166,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -419,17 +420,48 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference handset">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <path name="echo-reference headphones" />
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT4_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip handset">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="One"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="INT0_MI2S_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-referenc-voip headphones-44.1">
+ <path name="echo-reference-voip headphones" />
</path>
<path name="deep-buffer-playback">
diff --git a/configs/sdm660/mixer_paths_tasha.xml b/configs/sdm660/mixer_paths_tasha.xml
index 37f47e2..c13def2 100644
--- a/configs/sdm660/mixer_paths_tasha.xml
+++ b/configs/sdm660/mixer_paths_tasha.xml
@@ -389,6 +389,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -614,6 +615,7 @@
<ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
<ctl name="SLIM_1_TX Channels" value="One" />
<ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat-mono-2">
@@ -622,6 +624,7 @@
<ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
<ctl name="SLIM_1_TX Channels" value="One" />
<ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat">
@@ -633,18 +636,45 @@
<ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
<ctl name="SLIM_1_TX Channels" value="Two" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/sdm660/mixer_paths_tasha_skus.xml b/configs/sdm660/mixer_paths_tasha_skus.xml
index 54bf9ae..1f6195a 100644
--- a/configs/sdm660/mixer_paths_tasha_skus.xml
+++ b/configs/sdm660/mixer_paths_tasha_skus.xml
@@ -390,6 +390,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -614,6 +615,7 @@
<ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
<ctl name="SLIM_1_TX Channels" value="One" />
<ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat">
@@ -625,18 +627,45 @@
<ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
<ctl name="SLIM_1_TX Channels" value="Two" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/sdm660/mixer_paths_tashalite.xml b/configs/sdm660/mixer_paths_tashalite.xml
index d195dcd..c6a3884 100644
--- a/configs/sdm660/mixer_paths_tashalite.xml
+++ b/configs/sdm660/mixer_paths_tashalite.xml
@@ -389,6 +389,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -616,6 +617,7 @@
<ctl name="RX MIX TX1 MUX" value="RX_MIX_VBAT7" />
<ctl name="SLIM_1_TX Channels" value="One" />
<ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat-mono-2">
@@ -624,6 +626,7 @@
<ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
<ctl name="SLIM_1_TX Channels" value="One" />
<ctl name="VOC_EXT_EC MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="One"/>
</path>
<path name="echo-reference speaker-vbat">
@@ -635,18 +638,45 @@
<ctl name="RX MIX TX2 MUX" value="RX_MIX_VBAT8" />
<ctl name="SLIM_1_TX Channels" value="Two" />
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_1_TX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/configs/sdm660/mixer_paths_tavil.xml b/configs/sdm660/mixer_paths_tavil.xml
index 79b671d..4113e75 100644
--- a/configs/sdm660/mixer_paths_tavil.xml
+++ b/configs/sdm660/mixer_paths_tavil.xml
@@ -212,6 +212,7 @@
<!-- HFP end -->
<!-- echo reference -->
<ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />
+ <ctl name="EC Reference Channels" value="Zero"/>
<!-- usb headset -->
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
<ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
@@ -573,13 +574,40 @@
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="echo-reference headphones">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference headset">
+ <path name="echo-reference headphones" />
</path>
<path name="echo-reference headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_5_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headphones">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_6_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
+ </path>
+
+ <path name="echo-reference-voip headset">
+ <path name="echo-reference-voip headphones" />
+ </path>
+
+ <path name="echo-reference-voip headphones-44.1">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_5_RX" />
+ <ctl name="EC Reference Channels" value="Two"/>
</path>
<path name="deep-buffer-playback">
diff --git a/hal/Android.mk b/hal/Android.mk
index 42f26bf..4cc91a2 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -126,6 +126,10 @@
LOCAL_CFLAGS += -DPLATFORM_AUTO
endif
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DAEMON_SUPPORT)), true)
+ LOCAL_CFLAGS += -DDAEMON_SUPPORT_AUTO
+endif
+
LOCAL_CFLAGS += -Wno-macro-redefined
LOCAL_HEADER_LIBRARIES := libhardware_headers
diff --git a/hal/acdb.h b/hal/acdb.h
index 10a78d3..e1ab942 100644
--- a/hal/acdb.h
+++ b/hal/acdb.h
@@ -24,7 +24,13 @@
#include <linux/msm_audio_calibration.h>
#define MAX_CVD_VERSION_STRING_SIZE 100
+
+#ifdef DAEMON_SUPPORT_AUTO
+#define LIB_ACDB_LOADER "libacdbloaderclient.so"
+#else
#define LIB_ACDB_LOADER "libacdbloader.so"
+#endif
+
#define CVD_VERSION_MIXER_CTL "CVD Version"
#define ACDB_METAINFO_KEY_MODULE_NAME_LEN 100
diff --git a/hal/audio_extn/Android.mk b/hal/audio_extn/Android.mk
old mode 100644
new mode 100755
index eaf8926..597b6bd
--- a/hal/audio_extn/Android.mk
+++ b/hal/audio_extn/Android.mk
@@ -493,6 +493,10 @@
-Wno-unused-function \
-Wno-unused-variable
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DAEMON_SUPPORT)), true)
+ LOCAL_CFLAGS += -DDAEMON_SUPPORT_AUTO
+endif
+
LOCAL_SHARED_LIBRARIES := \
libaudioroute \
libaudioutils \
@@ -520,7 +524,6 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
LOCAL_HEADER_LIBRARIES += libhardware_headers
@@ -588,7 +591,6 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DYNAMIC_LOG)), true)
@@ -615,7 +617,7 @@
PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
-ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lito bengal atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lahaina holi lito bengal atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
# B-family platform uses msm8974 code base
AUDIO_PLATFORM := msm8974
MULTIPLE_HW_VARIANTS_ENABLED := true
@@ -662,12 +664,78 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
LOCAL_HEADER_LIBRARIES += libhardware_headers
LOCAL_HEADER_LIBRARIES += libsystem_headers
-ifneq ($(filter kona,$(TARGET_BOARD_PLATFORM)),)
+ifneq ($(filter kona lahaina holi,$(TARGET_BOARD_PLATFORM)),)
+LOCAL_SANITIZE := integer_overflow
+endif
+include $(BUILD_SHARED_LIBRARY)
+
+#-------------------------------------------
+# Build SYNTH LIB
+#-------------------------------------------
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libsynth
+LOCAL_VENDOR_MODULE := true
+
+PRIMARY_HAL_PATH := vendor/qcom/opensource/audio-hal/primary-hal/hal
+AUDIO_PLATFORM := $(TARGET_BOARD_PLATFORM)
+
+ifneq ($(filter sdm845 sdm710 sdmshrike msmnile kona lahaina holi lito bengal atoll sdm660 msm8937 msm8998 $(MSMSTEPPE) $(TRINKET),$(TARGET_BOARD_PLATFORM)),)
+ # B-family platform uses msm8974 code base
+ AUDIO_PLATFORM := msm8974
+ MULTIPLE_HW_VARIANTS_ENABLED := true
+endif
+
+ifeq ($(TARGET_BOARD_AUTO),true)
+ LOCAL_CFLAGS += -DPLATFORM_AUTO
+endif
+
+LOCAL_SRC_FILES:= \
+ synth.c \
+ device_utils.c
+
+LOCAL_CFLAGS += \
+ -Wall \
+ -Werror \
+ -Wno-unused-function \
+ -Wno-unused-variable
+
+LOCAL_SHARED_LIBRARIES := \
+ libaudioroute \
+ libaudioutils \
+ libcutils \
+ libdl \
+ libexpat \
+ liblog \
+ libtinyalsa \
+ libtinycompress
+
+LOCAL_C_INCLUDES := \
+ $(PRIMARY_HAL_PATH) \
+ $(PRIMARY_HAL_PATH)/$(AUDIO_PLATFORM) \
+ external/tinyalsa/include \
+ external/tinycompress/include \
+ external/expat/lib \
+ system/media/audio_utils/include \
+ $(call include-path-for, audio-route) \
+
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include/audio
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/techpack/audio/include
+LOCAL_ADDITIONAL_DEPENDENCIES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
+
+ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
+ LOCAL_HEADER_LIBRARIES += audio_kernel_headers
+ LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
+endif
+
+LOCAL_HEADER_LIBRARIES += libhardware_headers
+LOCAL_HEADER_LIBRARIES += libsystem_headers
+ifneq ($(filter kona lahaina holi,$(TARGET_BOARD_PLATFORM)),)
LOCAL_SANITIZE := integer_overflow
endif
include $(BUILD_SHARED_LIBRARY)
@@ -729,7 +797,6 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DYNAMIC_LOG)), true)
@@ -813,7 +880,6 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
LOCAL_HEADER_LIBRARIES += libhardware_headers
@@ -876,7 +942,6 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
LOCAL_HEADER_LIBRARIES += libhardware_headers
@@ -1064,7 +1129,6 @@
ifeq ($(strip $(AUDIO_FEATURE_ENABLED_DLKM)),true)
LOCAL_HEADER_LIBRARIES += audio_kernel_headers
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/vendor/qcom/opensource/audio-kernel/include
- LOCAL_ADDITIONAL_DEPENDENCIES += $(BOARD_VENDOR_KERNEL_MODULES)
endif
LOCAL_HEADER_LIBRARIES += libhardware_headers
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
old mode 100644
new mode 100755
index 46c87b2..32051a8
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -6351,6 +6351,90 @@
}
// END: AUTO_HAL ===================================================================
+// START: Synth ======================================================================
+#ifdef __LP64__
+#define SYNTH_LIB_PATH "/vendor/lib64/libsynth.so"
+#else
+#define SYNTH_LIB_PATH "/vendor/lib/libsynth.so"
+#endif
+
+static void *synth_lib_handle = NULL;
+
+typedef void (*synth_init_t)(synth_init_config_t);
+static synth_init_t synth_init;
+
+typedef bool (*synth_is_active_t)(struct audio_device *adev);
+static synth_is_active_t synth_is_active;
+
+typedef void (*synth_set_parameters_t)(struct audio_device *adev,
+ struct str_parms *parms);
+static synth_set_parameters_t synth_set_parameters;
+
+int synth_feature_init(bool is_feature_enabled)
+{
+ ALOGD("%s: Called with feature %s", __func__,
+ is_feature_enabled ? "Enabled" : "NOT Enabled");
+ if (is_feature_enabled) {
+ // dlopen lib
+ synth_lib_handle = dlopen(SYNTH_LIB_PATH, RTLD_NOW);
+
+ if (!synth_lib_handle) {
+ ALOGE("%s: dlopen failed", __func__);
+ goto feature_disabled;
+ }
+ if (!(synth_init = (synth_init_t)dlsym(
+ synth_lib_handle, "synth_init")) ||
+ !(synth_is_active =
+ (synth_is_active_t)dlsym(
+ synth_lib_handle, "synth_is_active")) ||
+ !(synth_set_parameters =
+ (synth_set_parameters_t)dlsym(
+ synth_lib_handle, "synth_set_parameters"))) {
+ ALOGE("%s: dlsym failed", __func__);
+ goto feature_disabled;
+ }
+ synth_init_config_t init_config;
+ init_config.fp_platform_get_pcm_device_id = platform_get_pcm_device_id;
+ init_config.fp_get_usecase_from_list = get_usecase_from_list;
+ init_config.fp_select_devices = select_devices;
+ init_config.fp_disable_audio_route = disable_audio_route;
+ init_config.fp_disable_snd_device = disable_snd_device;
+
+ synth_init(init_config);
+ ALOGD("%s:: ---- Feature Synth is Enabled ----", __func__);
+ return 0;
+ }
+
+feature_disabled:
+ if (synth_lib_handle) {
+ dlclose(synth_lib_handle);
+ synth_lib_handle = NULL;
+ }
+
+ synth_init = NULL;
+ synth_is_active = NULL;
+ synth_set_parameters = NULL;
+
+ ALOGW(":: %s: ---- Feature Synth is disabled ----", __func__);
+ return -ENOSYS;
+}
+
+bool audio_extn_synth_is_active(struct audio_device *adev)
+{
+ return ((synth_is_active) ?
+ synth_is_active(adev): false);
+}
+
+void audio_extn_synth_set_parameters(struct audio_device *adev,
+ struct str_parms *parms)
+{
+ ((synth_set_parameters) ?
+ synth_set_parameters(adev, parms): NULL);
+}
+
+// END: Synth ========================================================================
+
+
void audio_extn_feature_init()
{
vendor_enhanced_info = audio_extn_utils_get_vendor_enhanced_info();
@@ -6472,6 +6556,9 @@
auto_hal_feature_init(
property_get_bool("vendor.audio.feature.auto_hal.enable",
false));
+ synth_feature_init(
+ property_get_bool("vendor.audio.feature.synth.enable",
+ false));
}
void audio_extn_set_parameters(struct audio_device *adev,
@@ -6505,6 +6592,7 @@
audio_extn_ffv_set_parameters(adev, parms);
audio_extn_ext_hw_plugin_set_parameters(adev->ext_hw_plugin, parms);
audio_extn_icc_set_parameters(adev, parms);
+ audio_extn_synth_set_parameters(adev, parms);
}
void audio_extn_get_parameters(const struct audio_device *adev,
diff --git a/hal/audio_extn/audio_extn.h b/hal/audio_extn/audio_extn.h
old mode 100644
new mode 100755
index ac064c2..2c7711d
--- a/hal/audio_extn/audio_extn.h
+++ b/hal/audio_extn/audio_extn.h
@@ -1415,6 +1415,20 @@
} auto_hal_init_config_t;
// END: AUTO_HAL FEATURE ==================================================
+// START: SYNTH_HAL FEATURE ==================================================
+bool audio_extn_synth_is_active(struct audio_device *adev);
+void audio_extn_synth_set_parameters(struct audio_device *adev,
+ struct str_parms *parms);
+
+typedef struct synth_init_config {
+ fp_get_usecase_from_list_t fp_get_usecase_from_list;
+ fp_platform_get_pcm_device_id_t fp_platform_get_pcm_device_id;
+ fp_disable_audio_route_t fp_disable_audio_route;
+ fp_disable_snd_device_t fp_disable_snd_device;
+ fp_select_devices_t fp_select_devices;
+} synth_init_config_t;
+// END: SYNTH_HAL FEATURE ==================================================
+
bool audio_extn_edid_is_supported_sr(edid_audio_info* info, int sr);
bool audio_extn_edid_is_supported_bps(edid_audio_info* info, int bps);
int audio_extn_edid_get_highest_supported_sr(edid_audio_info* info);
diff --git a/hal/audio_extn/auto_hal.c b/hal/audio_extn/auto_hal.c
old mode 100644
new mode 100755
index 44c4ebf..ca3cd6b
--- a/hal/audio_extn/auto_hal.c
+++ b/hal/audio_extn/auto_hal.c
@@ -775,6 +775,9 @@
case USECASE_ICC_CALL:
snd_device = SND_DEVICE_IN_ICC;
break;
+ case USECASE_AUDIO_PLAYBACK_SYNTHESIZER:
+ snd_device = SND_DEVICE_IN_SYNTH_MIC;
+ break;
default:
ALOGE("%s: Usecase (%d) not supported", __func__, uc_id);
return -EINVAL;
@@ -870,6 +873,9 @@
case USECASE_ICC_CALL:
snd_device = SND_DEVICE_OUT_ICC;
break;
+ case USECASE_AUDIO_PLAYBACK_SYNTHESIZER:
+ snd_device = SND_DEVICE_OUT_SYNTH_SPKR;
+ break;
default:
ALOGE("%s: Usecase (%d) not supported", __func__, uc_id);
return -EINVAL;
diff --git a/hal/audio_extn/ext_hw_plugin.c b/hal/audio_extn/ext_hw_plugin.c
index 5c78caa..571ba54 100644
--- a/hal/audio_extn/ext_hw_plugin.c
+++ b/hal/audio_extn/ext_hw_plugin.c
@@ -62,7 +62,11 @@
};
/* This can be defined in platform specific file or use compile flag */
+#ifdef DAEMON_SUPPORT_AUTO
+#define LIB_PLUGIN_DRIVER "libaudiohalpluginclient.so"
+#else
#define LIB_PLUGIN_DRIVER "libaudiohalplugin.so"
+#endif
void* ext_hw_plugin_init(struct audio_device *adev, ext_hw_plugin_init_config_t init_config)
{
@@ -201,6 +205,7 @@
break;
case USECASE_ICC_CALL:
*plugin_usecase = AUDIO_HAL_PLUGIN_USECASE_ICC;
+ break;
default:
ret = -EINVAL;
}
diff --git a/hal/audio_extn/synth.c b/hal/audio_extn/synth.c
new file mode 100755
index 0000000..3656b40
--- /dev/null
+++ b/hal/audio_extn/synth.c
@@ -0,0 +1,249 @@
+/* synth.c
+Copyright (c) 2012-2015,2016,2020 The Linux Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of The Linux Foundation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
+
+#define LOG_TAG "audio_hw_synth"
+/*#define LOG_NDEBUG 0*/
+#define LOG_NDDEBUG 0
+
+#include <errno.h>
+#include <math.h>
+#include <log/log.h>
+#include <unistd.h>
+
+#include "audio_hw.h"
+#include "platform.h"
+#include "platform_api.h"
+#include <stdlib.h>
+#include <cutils/str_parms.h>
+#include <audio_extn.h>
+
+#ifdef DYNAMIC_LOG_ENABLED
+#include <log_xml_parser.h>
+#define LOG_MASK HAL_MOD_FILE_FM
+#include <log_utils.h>
+#endif
+
+#define AUDIO_PARAMETER_KEY_SYNTH_ENABLE "synth_enable"
+
+static int32_t synth_start(struct audio_device *adev);
+static int32_t synth_stop(struct audio_device *adev);
+
+static struct pcm_config pcm_config_synth = {
+ .channels = 4,
+ .rate = 16000,
+ .period_size = 240,
+ .period_count = 2,
+ .format = PCM_FORMAT_S16_LE,
+ .start_threshold = 0,
+ .stop_threshold = INT_MAX,
+ .avail_min = 0,
+};
+
+struct synth_module {
+ struct pcm *pcm_rx;
+ struct pcm *pcm_tx;
+ bool is_synth_running;
+ audio_usecase_t ucid;
+};
+
+static struct synth_module synthmod = {
+ .pcm_rx = NULL,
+ .pcm_tx = NULL,
+ .is_synth_running = 0,
+ .ucid = USECASE_AUDIO_PLAYBACK_SYNTHESIZER,
+};
+
+static fp_platform_get_pcm_device_id_t fp_platform_get_pcm_device_id;
+static fp_get_usecase_from_list_t fp_get_usecase_from_list;
+static fp_select_devices_t fp_select_devices;
+static fp_platform_get_pcm_device_id_t fp_platform_get_pcm_device_id;
+static fp_platform_send_audio_calibration_t fp_platform_send_audio_calibration;
+static fp_disable_audio_route_t fp_disable_audio_route;
+static fp_disable_snd_device_t fp_disable_snd_device;
+
+
+int32_t synth_start(struct audio_device *adev)
+{
+ int32_t ret = 0;
+ int pcm_dev_rx = -1, pcm_dev_tx = -1;
+ char mixer_path[MIXER_PATH_MAX_LENGTH];
+ struct audio_usecase *uc_info = NULL;
+
+ ALOGD("%s: Enable Synth", __func__);
+
+ // select devices
+ uc_info = (struct audio_usecase *)calloc(1, sizeof(*uc_info));
+ if (!uc_info) {
+ ALOGE("%s: allocate memory failed", __func__);
+ return -ENOMEM;
+ }
+
+ uc_info->id = synthmod.ucid;
+ uc_info->type = SYNTH_LOOPBACK;
+ uc_info->stream.out = adev->primary_output;
+ list_init(&uc_info->device_list);
+ assign_devices(&uc_info->device_list, &adev->primary_output->device_list);
+ uc_info->in_snd_device = SND_DEVICE_NONE;
+ uc_info->out_snd_device = SND_DEVICE_OUT_SPEAKER;
+
+ list_add_tail(&adev->usecase_list, &uc_info->list);
+
+ fp_select_devices(adev, synthmod.ucid);
+
+ // open pcm rx/tx
+ pcm_dev_tx = fp_platform_get_pcm_device_id(USECASE_AUDIO_PLAYBACK_SYNTHESIZER, PCM_CAPTURE);
+ pcm_dev_rx = fp_platform_get_pcm_device_id(USECASE_AUDIO_PLAYBACK_SYNTHESIZER, PCM_PLAYBACK);
+
+ if (pcm_dev_tx < 0 || pcm_dev_rx < 0 ) {
+ ALOGE("%s: Invalid PCM devices (rx: %d tx: %d) for the usecase(%d)",
+ __func__, pcm_dev_rx, pcm_dev_tx, uc_info->id);
+ ret = -EIO;
+ goto exit;
+ }
+
+ //open pcm rx/tx
+ synthmod.pcm_tx = pcm_open(adev->snd_card,
+ pcm_dev_tx,
+ PCM_IN, &pcm_config_synth);
+ if (synthmod.pcm_tx &&
+ !pcm_is_ready(synthmod.pcm_tx)) {
+ ALOGE("%s: pcm_tx %s", __func__,
+ pcm_get_error(synthmod.pcm_tx));
+ ret = -EIO;
+ goto exit;
+ }
+ synthmod.pcm_rx = pcm_open(adev->snd_card,
+ pcm_dev_rx,
+ PCM_OUT, &pcm_config_synth);
+ if (synthmod.pcm_rx &&
+ !pcm_is_ready(synthmod.pcm_rx)) {
+ ALOGE("%s: pcm_rx %s", __func__,
+ pcm_get_error(synthmod.pcm_rx));
+ ret = -EIO;
+ goto exit;
+ }
+
+ if (pcm_start(synthmod.pcm_tx) < 0) {
+ ALOGE("%s: pcm start for pcm tx failed", __func__);
+ ret = -EIO;
+ goto exit;
+ }
+ if (pcm_start(synthmod.pcm_rx) < 0) {
+ ALOGE("%s: pcm start for pcm rx failed", __func__);
+ ret = -EIO;
+ goto exit;
+ }
+
+ synthmod.is_synth_running = true;
+ return ret;
+
+exit:
+ synth_stop(adev);
+ ALOGE("%s: Problem in Synth start: status(%d)", __func__, ret);
+ return ret;
+}
+
+int32_t synth_stop(struct audio_device *adev)
+{
+ int32_t ret = 0;
+ struct audio_usecase *uc_info;
+
+ ALOGD("Enter %s:", __func__);
+ synthmod.is_synth_running = false;
+
+ if (synthmod.pcm_tx) {
+ pcm_close(synthmod.pcm_tx);
+ synthmod.pcm_tx = NULL;
+ }
+
+ if (synthmod.pcm_rx) {
+ pcm_close(synthmod.pcm_rx);
+ synthmod.pcm_rx = NULL;
+ }
+
+ uc_info = fp_get_usecase_from_list(adev, synthmod.ucid);
+ if (uc_info == NULL) {
+ ALOGE("%s: Could not find the usecase (%d) in the list",
+ __func__, synthmod.ucid);
+ return -EINVAL;
+ }
+
+ /* 3. Get and set stream specific mixer controls */
+ fp_disable_audio_route(adev, uc_info);
+
+ /* 4. Disable the rx and tx devices */
+ fp_disable_snd_device(adev, uc_info->out_snd_device);
+ fp_disable_snd_device(adev, uc_info->in_snd_device);
+
+ list_remove(&uc_info->list);
+ free(uc_info);
+
+ ALOGD("%s: exit: status(%d)", __func__, ret);
+ return ret;
+}
+
+bool synth_is_active(struct audio_device *adev) {
+ struct audio_usecase *synth_usecase = NULL;
+ synth_usecase = fp_get_usecase_from_list(adev, synthmod.ucid);
+ if (synth_usecase != NULL)
+ return true;
+ else
+ return false;
+}
+
+void synth_set_parameters(struct audio_device *adev,
+ struct str_parms *parms)
+{
+ int ret, val;
+ char value[32]={0};
+
+ ALOGD("%s: enter", __func__);
+ ret = str_parms_get_str(parms, AUDIO_PARAMETER_KEY_SYNTH_ENABLE, value, sizeof(value));
+ if (ret >= 0) {
+ if (!strncmp(value,"true",sizeof(value)) && !synthmod.is_synth_running) {
+ synth_start(adev);
+ }
+ else if (!strncmp(value,"false",sizeof(value)) && synthmod.is_synth_running) {
+ synth_stop(adev);
+ } else {
+ ALOGE("Not support key value");
+ }
+ }
+
+ ALOGD("%s: exit", __func__);
+}
+
+void synth_init(synth_init_config_t init_config)
+{
+ fp_platform_get_pcm_device_id = init_config.fp_platform_get_pcm_device_id;
+ fp_get_usecase_from_list = init_config.fp_get_usecase_from_list;
+ fp_select_devices = init_config.fp_select_devices;
+ fp_disable_audio_route = init_config.fp_disable_audio_route;
+ fp_disable_snd_device = init_config.fp_disable_snd_device;
+}
+
diff --git a/hal/audio_extn/utils.c b/hal/audio_extn/utils.c
old mode 100644
new mode 100755
index 4cd84b6..9cd7416
--- a/hal/audio_extn/utils.c
+++ b/hal/audio_extn/utils.c
@@ -998,6 +998,22 @@
ALOGV("%s Selected apptype: playback %d capture %d",
__func__, usecase->out_app_type_cfg.app_type, usecase->in_app_type_cfg.app_type);
break;
+ case SYNTH_LOOPBACK:
+ /* update out_app_type_cfg */
+ usecase->out_app_type_cfg.sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
+ usecase->out_app_type_cfg.bit_width =
+ platform_get_snd_device_bit_width(usecase->out_snd_device);
+ usecase->out_app_type_cfg.app_type =
+ platform_get_default_app_type_v2(adev->platform, PCM_PLAYBACK);
+ /* update in_app_type_cfg */
+ usecase->in_app_type_cfg.sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
+ usecase->in_app_type_cfg.bit_width =
+ platform_get_snd_device_bit_width(usecase->in_snd_device);
+ usecase->in_app_type_cfg.app_type =
+ platform_get_default_app_type_v2(adev->platform, PCM_CAPTURE);
+ ALOGV("%s Selected apptype: playback %d capture %d",
+ __func__, usecase->out_app_type_cfg.app_type, usecase->in_app_type_cfg.app_type);
+ break;
default:
ALOGE("%s: app type cfg not supported for usecase type (%d)",
__func__, usecase->type);
@@ -1217,6 +1233,64 @@
return rc;
}
+static int audio_extn_utils_send_app_type_cfg_synth(struct audio_device *adev,
+ struct audio_usecase *usecase)
+{
+ int pcm_device_id, acdb_dev_id = 0, snd_device = usecase->out_snd_device;
+ int32_t sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
+ int app_type = 0, rc = 0;
+ bool is_bus_dev_usecase = false;
+
+ ALOGV("%s", __func__);
+
+ if (usecase->type != SYNTH_LOOPBACK) {
+ ALOGV("%s: not a SYNTH path, no need to cfg app type", __func__);
+ rc = 0;
+ goto exit_send_app_type_cfg;
+ }
+ if (usecase->id != USECASE_AUDIO_PLAYBACK_SYNTHESIZER) {
+ ALOGV("%s: a usecase where app type cfg is not required", __func__);
+ rc = 0;
+ goto exit_send_app_type_cfg;
+ }
+
+ if (compare_device_type(&usecase->device_list, AUDIO_DEVICE_OUT_BUS)) {
+ is_bus_dev_usecase = true;
+ }
+
+ snd_device = usecase->out_snd_device;
+ pcm_device_id = platform_get_pcm_device_id(usecase->id, PCM_PLAYBACK);
+
+ acdb_dev_id = platform_get_snd_device_acdb_id(snd_device);
+ if (acdb_dev_id < 0) {
+ ALOGE("%s: Couldn't get the acdb dev id", __func__);
+ rc = -EINVAL;
+ goto exit_send_app_type_cfg;
+ }
+
+ if (usecase->type == SYNTH_LOOPBACK) {
+ /* config SYNTH session: playback path */
+ if (is_bus_dev_usecase) {
+ app_type = usecase->out_app_type_cfg.app_type;
+ sample_rate= usecase->out_app_type_cfg.sample_rate;
+ } else {
+ snd_device = SND_DEVICE_NONE; // use legacy behavior
+ app_type = platform_get_default_app_type_v2(adev->platform, PCM_PLAYBACK);
+ sample_rate= CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
+ }
+ rc = set_stream_app_type_mixer_ctrl(adev, pcm_device_id, app_type,
+ acdb_dev_id, sample_rate,
+ PCM_PLAYBACK,
+ snd_device);
+ if (rc < 0)
+ goto exit_send_app_type_cfg;
+ }
+
+ rc = 0;
+exit_send_app_type_cfg:
+ return rc;
+}
+
int audio_extn_utils_get_app_sample_rate_for_device(
struct audio_device *adev,
struct audio_usecase *usecase, int snd_device)
@@ -1564,6 +1638,8 @@
return audio_extn_utils_send_app_type_cfg_hfp(adev, usecase);
} else if (usecase->type == ICC_CALL) {
return audio_extn_utils_send_app_type_cfg_icc(adev, usecase);
+ } else if (usecase->type == SYNTH_LOOPBACK) {
+ return audio_extn_utils_send_app_type_cfg_synth(adev, usecase);
}
switch (usecase->type) {
@@ -1966,7 +2042,7 @@
usecase->stream.in->app_type_cfg.app_type);
} else if ((type == PCM_HFP_CALL) || (type == PCM_CAPTURE) ||
(type == TRANSCODE_LOOPBACK_RX && usecase->stream.inout != NULL) ||
- (type == ICC_CALL)) {
+ (type == ICC_CALL) || (type == SYNTH_LOOPBACK)) {
platform_send_audio_calibration(adev->platform, usecase,
platform_get_default_app_type_v2(adev->platform, usecase->type));
} else {
@@ -2720,8 +2796,8 @@
#endif
#define MAX_SND_CARD 8
-#define RETRY_US 1000000
-#define RETRY_NUMBER 40
+#define RETRY_US 400000
+#define RETRY_NUMBER 100
#define PLATFORM_INFO_XML_PATH "audio_platform_info.xml"
#define PLATFORM_INFO_XML_BASE_STRING "audio_platform_info"
@@ -3131,7 +3207,11 @@
int audio_extn_utils_get_sample_rate_from_string(const char *id_string)
{
int i;
- const mixer_config_lookup mixer_samplerate_config[] = {{"KHZ_32", 32000},
+ const mixer_config_lookup mixer_samplerate_config[] = {{"KHZ_8", 8000},
+ {"KHZ_11P025", 11025},
+ {"KHZ_16", 16000},
+ {"KHZ_22P05", 22050},
+ {"KHZ_32", 32000},
{"KHZ_48", 48000},
{"KHZ_96", 96000},
{"KHZ_144", 144000},
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
old mode 100644
new mode 100755
index 9ce0a69..c5f3c7a
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -426,6 +426,7 @@
[USECASE_AUDIO_RECORD_BUS] = "audio-record",
[USECASE_AUDIO_RECORD_BUS_FRONT_PASSENGER] = "front-passenger-record",
[USECASE_AUDIO_RECORD_BUS_REAR_SEAT] = "rear-seat-record",
+ [USECASE_AUDIO_PLAYBACK_SYNTHESIZER] = "synth-loopback",
};
static const audio_usecase_t offload_usecases[] = {
@@ -961,6 +962,8 @@
disable_audio_route(adev, usecase);
disable_snd_device(adev, usecase->out_snd_device);
usecase->stream.out->sample_rate = DEFAULT_OUTPUT_SAMPLING_RATE;
+ platform_check_and_set_codec_backend_cfg(adev, usecase,
+ usecase->out_snd_device);
enable_audio_route(adev, usecase);
enable_snd_device(adev, usecase->out_snd_device);
}
@@ -1283,10 +1286,15 @@
if (audio_extn_is_maxx_audio_enabled())
audio_extn_ma_set_device(usecase);
audio_extn_utils_send_audio_calibration(adev, usecase);
- if ((usecase->type == PCM_PLAYBACK) && is_offload_usecase(usecase->id)) {
- out = usecase->stream.out;
- if (out && out->compr)
+ if ((usecase->type == PCM_PLAYBACK) &&
+ ((out = usecase->stream.out) != NULL)) {
+ if (!is_offload_usecase(out->usecase)) {
+ pthread_mutex_lock(&out->latch_lock);
+ out->muted = false;
+ pthread_mutex_unlock(&out->latch_lock);
+ } else if (out->compr) {
audio_extn_utils_compress_set_clk_rec_mode(usecase);
+ }
}
if (usecase->type == PCM_CAPTURE) {
@@ -2723,7 +2731,8 @@
if ((usecase->type == VOICE_CALL) ||
(usecase->type == VOIP_CALL) ||
(usecase->type == PCM_HFP_CALL)||
- (usecase->type == ICC_CALL)) {
+ (usecase->type == ICC_CALL) ||
+ (usecase->type == SYNTH_LOOPBACK)) {
if(usecase->stream.out == NULL) {
ALOGE("%s: stream.out is NULL", __func__);
return -EINVAL;
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
old mode 100644
new mode 100755
index 838622e..a2e5331
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -248,6 +248,8 @@
USECASE_AUDIO_RECORD_BUS_FRONT_PASSENGER,
USECASE_AUDIO_RECORD_BUS_REAR_SEAT,
+ USECASE_AUDIO_PLAYBACK_SYNTHESIZER,
+
/*Audio FM Tuner usecase*/
USECASE_AUDIO_FM_TUNER_EXT,
/*voip usecase with low latency path*/
@@ -558,6 +560,7 @@
TRANSCODE_LOOPBACK_TX,
PCM_PASSTHROUGH,
ICC_CALL,
+ SYNTH_LOOPBACK,
USECASE_TYPE_MAX
} usecase_type_t;
diff --git a/hal/msm8974/platform.c b/hal/msm8974/platform.c
old mode 100644
new mode 100755
index c9c6099..15cff67
--- a/hal/msm8974/platform.c
+++ b/hal/msm8974/platform.c
@@ -100,7 +100,12 @@
#define TOSTRING_(x) #x
#define TOSTRING(x) TOSTRING_(x)
+#ifdef DAEMON_SUPPORT_AUTO
+#define LIB_ACDB_LOADER "libacdbloaderclient.so"
+#else
#define LIB_ACDB_LOADER "libacdbloader.so"
+#endif
+
#define CVD_VERSION_MIXER_CTL "CVD Version"
#define FLAC_COMPRESS_OFFLOAD_FRAGMENT_SIZE (256 * 1024)
@@ -528,6 +533,7 @@
[USECASE_AUDIO_RECORD_BUS] = {AUDIO_RECORD_PCM_DEVICE, AUDIO_RECORD_PCM_DEVICE},
[USECASE_AUDIO_RECORD_BUS_FRONT_PASSENGER] = {FRONT_PASSENGER_PCM_DEVICE, FRONT_PASSENGER_PCM_DEVICE},
[USECASE_AUDIO_RECORD_BUS_REAR_SEAT] = {REAR_SEAT_PCM_DEVICE, REAR_SEAT_PCM_DEVICE},
+ [USECASE_AUDIO_PLAYBACK_SYNTHESIZER] = {-1, -1},
};
/* Array to store sound devices */
@@ -640,6 +646,7 @@
[SND_DEVICE_OUT_CALL_PROXY] = "call-proxy",
[SND_DEVICE_OUT_HAPTICS] = "haptics",
[SND_DEVICE_OUT_ICC] = "bus-speaker",
+ [SND_DEVICE_OUT_SYNTH_SPKR] = "bus-speaker",
/* Capture sound devices */
[SND_DEVICE_IN_HANDSET_MIC] = "handset-mic",
@@ -792,6 +799,7 @@
[SND_DEVICE_IN_HANDSET_8MIC_AND_EC_REF_LOOPBACK] = "handset-8mic-and-ec-ref-loopback",
[SND_DEVICE_IN_CALL_PROXY] = "call-proxy-in",
[SND_DEVICE_IN_ICC] = "speaker-mic",
+ [SND_DEVICE_IN_SYNTH_MIC] = "speaker-mic",
};
// Platform specific backend bit width table
@@ -938,6 +946,7 @@
[SND_DEVICE_OUT_CALL_PROXY] = 32,
[SND_DEVICE_OUT_HAPTICS] = 200,
[SND_DEVICE_OUT_ICC] = 16,
+ [SND_DEVICE_OUT_SYNTH_SPKR] = 134,
[SND_DEVICE_IN_HANDSET_MIC] = 4,
[SND_DEVICE_IN_HANDSET_MIC_SB] = 163,
[SND_DEVICE_IN_HANDSET_MIC_NN] = 183,
@@ -1080,6 +1089,7 @@
[SND_DEVICE_IN_BUS_RSE] = 11,
[SND_DEVICE_IN_CALL_PROXY] = 33,
[SND_DEVICE_IN_ICC] = 46,
+ [SND_DEVICE_IN_SYNTH_MIC] = 11,
};
struct name_to_index {
@@ -1342,6 +1352,8 @@
/* ICC */
{TO_NAME_INDEX(SND_DEVICE_IN_ICC)},
{TO_NAME_INDEX(SND_DEVICE_OUT_ICC)},
+ {TO_NAME_INDEX(SND_DEVICE_OUT_SYNTH_SPKR)},
+ {TO_NAME_INDEX(SND_DEVICE_IN_SYNTH_MIC)},
};
static char * backend_tag_table[SND_DEVICE_MAX] = {0};
@@ -1417,6 +1429,7 @@
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_BUS)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_BUS_FRONT_PASSENGER)},
{TO_NAME_INDEX(USECASE_AUDIO_RECORD_BUS_REAR_SEAT)},
+ {TO_NAME_INDEX(USECASE_AUDIO_PLAYBACK_SYNTHESIZER)},
};
static const struct name_to_index usecase_type_index[USECASE_TYPE_MAX] = {
@@ -2637,6 +2650,8 @@
hw_interface_table[SND_DEVICE_IN_CALL_PROXY] = strdup("CALL_PROXY_TX");
hw_interface_table[SND_DEVICE_IN_ICC] = strdup("TERT_TDM_TX_0");
hw_interface_table[SND_DEVICE_OUT_ICC] = strdup("TERT_TDM_RX_0");
+ hw_interface_table[SND_DEVICE_OUT_SYNTH_SPKR] = strdup("TERT_TDM_RX_0");
+ hw_interface_table[SND_DEVICE_IN_SYNTH_MIC] = strdup("TERT_TDM_TX_0");
my_data->max_mic_count = PLATFORM_DEFAULT_MIC_COUNT;
/*remove ALAC & APE from DSP decoder list based on software decoder availability*/
@@ -5426,7 +5441,7 @@
else if ((usecase->type == PCM_CAPTURE) && is_incall_rec_usecase)
snd_device = voice_get_incall_rec_snd_device(usecase->in_snd_device);
else if ((usecase->type == PCM_HFP_CALL) || (usecase->type == PCM_CAPTURE)||
- (usecase->type == ICC_CALL))
+ (usecase->type == ICC_CALL) || (usecase->type == SYNTH_LOOPBACK))
snd_device = usecase->in_snd_device;
else if (usecase->type == TRANSCODE_LOOPBACK_RX)
snd_device = usecase->out_snd_device;
@@ -5450,7 +5465,8 @@
new_snd_device[0] = snd_device;
}
}
- if (((usecase->type == PCM_HFP_CALL) || (usecase->type == ICC_CALL)) &&
+ if (((usecase->type == PCM_HFP_CALL) || (usecase->type == ICC_CALL) ||
+ (usecase->type == SYNTH_LOOPBACK)) &&
is_bus_dev_usecase) {
num_devices = 2;
new_snd_device[0] = usecase->in_snd_device;
@@ -5475,7 +5491,8 @@
if ((usecase->type == PCM_CAPTURE) && (app_type == DEFAULT_APP_TYPE_RX_PATH)) {
ALOGD("Resetting app type for Tx path to default");
app_type = DEFAULT_APP_TYPE_TX_PATH;
- } else if (((usecase->type == PCM_HFP_CALL) || (usecase->type == ICC_CALL)) &&
+ } else if (((usecase->type == PCM_HFP_CALL) || (usecase->type == ICC_CALL) ||
+ (usecase->type == SYNTH_LOOPBACK)) &&
is_bus_dev_usecase) {
if (new_snd_device[i] >= SND_DEVICE_OUT_BEGIN &&
new_snd_device[i] < SND_DEVICE_OUT_END) {
@@ -9861,7 +9878,7 @@
struct audio_device_config_param *adev_device_cfg_ptr = adev->device_cfg_params;
int controller = -1;
int stream = -1;
-
+ bool combo_in_use = false;
/*BT devices backend is not configured from HAL hence skip*/
if (snd_device == SND_DEVICE_OUT_BT_A2DP ||
@@ -9976,6 +9993,9 @@
uc = node_to_item(node, struct audio_usecase, list);
struct stream_out *curr_out =
(struct stream_out*) uc->stream.out;
+ if (check_hdset_combo_device(uc->out_snd_device) &&
+ spkr_hph_single_be_native_concurrency)
+ combo_in_use = true;
/*if native audio playback
* is active then it will take priority
@@ -9984,7 +10004,13 @@
if (is_offload_usecase(uc->id) &&
(curr_out->sample_rate % OUTPUT_SAMPLING_RATE_44100 == 0)) {
ALOGD("%s:napb:native stream detected %d sampling rate", __func__, curr_out->sample_rate);
- sample_rate = curr_out->sample_rate;
+ if (combo_in_use && spkr_hph_single_be_native_concurrency) {
+ ALOGE("%s: native playback loses priority due to spkr_hph_single_be.\n",
+ __func__);
+ } else {
+ ALOGI("%s: native sample rate activates.\n", __func__);
+ sample_rate = curr_out->sample_rate;
+ }
}
}
@@ -10045,9 +10071,10 @@
/*set sample rate to 48khz if multiple sample rates are not supported in spkr and hdset*/
if (is_hdset_combo_device(&usecase->device_list) &&
- !my_data->is_multiple_sample_rate_combo_supported)
+ !my_data->is_multiple_sample_rate_combo_supported) {
sample_rate = CODEC_BACKEND_DEFAULT_SAMPLE_RATE;
ALOGD("%s:becf: afe: set default Sample Rate(48k) for combo device",__func__);
+ }
}
if (backend_idx != platform_get_voice_call_backend(adev)
diff --git a/hal/msm8974/platform.h b/hal/msm8974/platform.h
old mode 100644
new mode 100755
index 97f112f..5f67510
--- a/hal/msm8974/platform.h
+++ b/hal/msm8974/platform.h
@@ -206,6 +206,7 @@
SND_DEVICE_OUT_CALL_PROXY,
SND_DEVICE_OUT_HAPTICS,
SND_DEVICE_OUT_ICC,
+ SND_DEVICE_OUT_SYNTH_SPKR,
SND_DEVICE_OUT_END,
/*
@@ -362,6 +363,7 @@
SND_DEVICE_IN_HANDSET_8MIC_AND_EC_REF_LOOPBACK,
SND_DEVICE_IN_CALL_PROXY,
SND_DEVICE_IN_ICC,
+ SND_DEVICE_IN_SYNTH_MIC,
SND_DEVICE_IN_END,
SND_DEVICE_MAX = SND_DEVICE_IN_END,