Merge "hal: Add support for APTX and AAC decoding in DSP."
diff --git a/configs/msmnile/msmnile.mk b/configs/msmnile/msmnile.mk
index 6399d0f..fea5877 100644
--- a/configs/msmnile/msmnile.mk
+++ b/configs/msmnile/msmnile.mk
@@ -123,6 +123,11 @@
persist.vendor.audio.fluence.speaker=true\
persist.vendor.audio.fluence.tmic.enabled=false
+##speaker protection v3 switch and ADSP AFE API version
+PRODUCT_PROPERTY_OVERRIDES += \
+persist.vendor.audio.spv3.enable=true\
+persist.vendor.audio.avs.afe_api_version=2
+
#disable tunnel encoding
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.tunnel.encode=false
diff --git a/configs/trinket/mixer_paths_idp.xml b/configs/trinket/mixer_paths_idp.xml
index 105f1e7..b341a3c 100644
--- a/configs/trinket/mixer_paths_idp.xml
+++ b/configs/trinket/mixer_paths_idp.xml
@@ -351,14 +351,14 @@
<ctl name="HPHR Volume" value="20" />
<ctl name="EAR SPKR PA Gain" value="G_DEFAULT" />
- <ctl name="TX_DEC0 Volume" value="84" />
- <ctl name="TX_DEC1 Volume" value="84" />
- <ctl name="TX_DEC2 Volume" value="84" />
- <ctl name="TX_DEC3 Volume" value="84" />
- <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="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="102" />
+ <ctl name="TX_DEC5 Volume" value="102" />
+ <ctl name="TX_DEC6 Volume" value="102" />
+ <ctl name="TX_DEC7 Volume" value="102" />
<ctl name="ADC1 Volume" value="12" />
<ctl name="ADC2 Volume" value="12" />
@@ -2178,6 +2178,7 @@
<path name="headset-mic">
<path name="amic2" />
+ <ctl name="TX_DEC0 Volume" value="84" />
</path>
<path name="voice-handset">
diff --git a/configs/trinket/mixer_paths_tasha.xml b/configs/trinket/mixer_paths_tasha.xml
index ca8235f..fd9a33f 100644
--- a/configs/trinket/mixer_paths_tasha.xml
+++ b/configs/trinket/mixer_paths_tasha.xml
@@ -67,15 +67,15 @@
<ctl name="ADC4 Volume" value="0" />
<ctl name="ADC5 Volume" value="12" />
<ctl name="ADC6 Volume" value="12" />
- <ctl name="DEC0 Volume" value="84" />
- <ctl name="DEC1 Volume" value="84" />
- <ctl name="DEC2 Volume" value="84" />
- <ctl name="DEC3 Volume" value="84" />
- <ctl name="DEC4 Volume" value="84" />
- <ctl name="DEC5 Volume" value="84" />
- <ctl name="DEC6 Volume" value="84" />
- <ctl name="DEC7 Volume" value="84" />
- <ctl name="DEC8 Volume" value="84" />
+ <ctl name="DEC0 Volume" value="102" />
+ <ctl name="DEC1 Volume" value="102" />
+ <ctl name="DEC2 Volume" value="102" />
+ <ctl name="DEC3 Volume" value="102" />
+ <ctl name="DEC4 Volume" value="102" />
+ <ctl name="DEC5 Volume" value="102" />
+ <ctl name="DEC6 Volume" value="102" />
+ <ctl name="DEC7 Volume" value="102" />
+ <ctl name="DEC8 Volume" value="102" />
<ctl name="COMP1 Switch" value="1" />
<ctl name="COMP2 Switch" value="1" />
<ctl name="COMP7 Switch" value="0" />
@@ -2318,11 +2318,13 @@
<path name="headset-mic">
<path name="adc2" />
<ctl name="ADC2 Volume" value="12" />
+ <ctl name="DEC0 Volume" value="84" />
</path>
<path name="headset-mic-liquid">
<path name="adc2" />
<ctl name="ADC2 Volume" value="12" />
+ <ctl name="DEC0 Volume" value="84" />
</path>
<path name="voice-handset">
diff --git a/configs/trinket/mixer_paths_tashalite.xml b/configs/trinket/mixer_paths_tashalite.xml
index 35b2f76..625d914 100644
--- a/configs/trinket/mixer_paths_tashalite.xml
+++ b/configs/trinket/mixer_paths_tashalite.xml
@@ -67,15 +67,15 @@
<ctl name="ADC4 Volume" value="0" />
<ctl name="ADC5 Volume" value="12" />
<ctl name="ADC6 Volume" value="12" />
- <ctl name="DEC0 Volume" value="84" />
- <ctl name="DEC1 Volume" value="84" />
- <ctl name="DEC2 Volume" value="84" />
- <ctl name="DEC3 Volume" value="84" />
- <ctl name="DEC4 Volume" value="84" />
- <ctl name="DEC5 Volume" value="84" />
- <ctl name="DEC6 Volume" value="84" />
- <ctl name="DEC7 Volume" value="84" />
- <ctl name="DEC8 Volume" value="84" />
+ <ctl name="DEC0 Volume" value="102" />
+ <ctl name="DEC1 Volume" value="102" />
+ <ctl name="DEC2 Volume" value="102" />
+ <ctl name="DEC3 Volume" value="102" />
+ <ctl name="DEC4 Volume" value="102" />
+ <ctl name="DEC5 Volume" value="102" />
+ <ctl name="DEC6 Volume" value="102" />
+ <ctl name="DEC7 Volume" value="102" />
+ <ctl name="DEC8 Volume" value="102" />
<ctl name="COMP1 Switch" value="1" />
<ctl name="COMP2 Switch" value="1" />
<ctl name="COMP7 Switch" value="0" />
@@ -2318,11 +2318,13 @@
<path name="headset-mic">
<path name="adc2" />
<ctl name="ADC2 Volume" value="12" />
+ <ctl name="DEC0 Volume" value="84" />
</path>
<path name="headset-mic-liquid">
<path name="adc2" />
<ctl name="ADC2 Volume" value="12" />
+ <ctl name="DEC0 Volume" value="84" />
</path>
<path name="voice-handset">
diff --git a/configs/trinket/mixer_paths_tavil.xml b/configs/trinket/mixer_paths_tavil.xml
index c339d6a..93843b1 100644
--- a/configs/trinket/mixer_paths_tavil.xml
+++ b/configs/trinket/mixer_paths_tavil.xml
@@ -342,15 +342,15 @@
<ctl name="ADC2 Volume" value="12" />
<ctl name="ADC3 Volume" value="0" />
<ctl name="ADC4 Volume" value="0" />
- <ctl name="DEC0 Volume" value="84" />
- <ctl name="DEC1 Volume" value="84" />
- <ctl name="DEC2 Volume" value="84" />
- <ctl name="DEC3 Volume" value="84" />
- <ctl name="DEC4 Volume" value="84" />
- <ctl name="DEC5 Volume" value="84" />
- <ctl name="DEC6 Volume" value="84" />
- <ctl name="DEC7 Volume" value="84" />
- <ctl name="DEC8 Volume" value="84" />
+ <ctl name="DEC0 Volume" value="102" />
+ <ctl name="DEC1 Volume" value="102" />
+ <ctl name="DEC2 Volume" value="102" />
+ <ctl name="DEC3 Volume" value="102" />
+ <ctl name="DEC4 Volume" value="102" />
+ <ctl name="DEC5 Volume" value="102" />
+ <ctl name="DEC6 Volume" value="102" />
+ <ctl name="DEC7 Volume" value="102" />
+ <ctl name="DEC8 Volume" value="102" />
<!-- Compander controls -->
<ctl name="COMP1 Switch" value="1" />
diff --git a/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml b/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml
index eefbd59..750d302 100644
--- a/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml
+++ b/configs/trinket/sound_trigger_mixer_paths_wcd9335.xml
@@ -1,30 +1,31 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2017, 2019, 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. -->
+<!--- Copyright (c) 2015-2017, 2019, 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>
<!-- These are the initial mixer settings -->
@@ -56,6 +57,19 @@
<ctl name="EC BUF MUX INP" value="ZERO" />
<ctl name="ADC MUX1" value="DMIC" />
<ctl name="DMIC MUX1" value="ZERO" />
+ <ctl name="ADC MUX5" value="AMIC" />
+ <ctl name="ADC MUX6" value="AMIC" />
+ <ctl name="ADC MUX7" value="AMIC" />
+ <ctl name="ADC MUX8" value="AMIC" />
+ <ctl name="DMIC MUX5" value="ZERO" />
+ <ctl name="DMIC MUX6" value="ZERO" />
+ <ctl name="DMIC MUX7" value="ZERO" />
+ <ctl name="DMIC MUX8" value="ZERO" />
+ <ctl name="IIR0 INP0 MUX" value="ZERO" />
+ <ctl name="AIF1_CAP Mixer SLIM TX5" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX6" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX7" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX8" value="0" />
<path name="listen-voice-wakeup-1">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -99,11 +113,59 @@
<ctl name="LSM8 Mixer SLIMBUS_5_TX" value="1" />
</path>
+ <path name="listen-voice-wakeup-1 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM1 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM1 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-2 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM2 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM2 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-3 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM3 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM3 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-4 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM4 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM4 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-5 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM5 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM5 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-6 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM6 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM6 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-7 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM7 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM7 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
+ <path name="listen-voice-wakeup-8 preproc">
+ <ctl name="SLIMBUS_0_TX LSM Function" value="SWAUDIO" />
+ <ctl name="LSM8 Port" value="ADM_LSM_TX" />
+ <ctl name="LSM8 Mixer SLIMBUS_0_TX" value="1" />
+ </path>
+
<path name="listen-cpe-handset-mic">
<ctl name="MADONOFF Switch" value="1" />
<ctl name="TX13 INP MUX" value="CPE_TX_PP" />
<ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
- <ctl name="MAD Input" value="DMIC2" />
+ <ctl name="MAD Input" value="DMIC0" />
<ctl name="CPE AFE MAD Enable" value="1"/>
</path>
@@ -111,14 +173,14 @@
<ctl name="CLK MODE" value="INTERNAL" />
<ctl name="EC BUF MUX INP" value="DEC1" />
<ctl name="ADC MUX1" value="DMIC" />
- <ctl name="DMIC MUX1" value="DMIC2" />
+ <ctl name="DMIC MUX1" value="DMIC0" />
</path>
<!-- path name used for low bandwidth FTRT codec interface -->
<path name="listen-cpe-handset-mic low-speed-intf">
<ctl name="MADONOFF Switch" value="1" />
<ctl name="AIF4_MAD Mixer SLIM TX12" value="1" />
- <ctl name="MAD Input" value="DMIC2" />
+ <ctl name="MAD Input" value="DMIC0" />
<ctl name="CPE AFE MAD Enable" value="1"/>
</path>
@@ -126,7 +188,70 @@
<ctl name="MAD_BROADCAST Switch" value="1" />
<ctl name="TX13 INP MUX" value="MAD_BRDCST" />
<ctl name="AIF4_MAD Mixer SLIM TX13" value="1" />
- <ctl name="MAD Input" value="DMIC2" />
+ <ctl name="MAD Input" value="DMIC0" />
</path>
-</mixer>
+ <path name="listen-ape-handset-mic-preproc">
+ <ctl name="AIF1_CAP Mixer SLIM TX7" value="1"/>
+ <ctl name="SLIM_1_TX Channels" value="One" />
+ <ctl name="SLIM TX7 MUX" value="DEC7" />
+ <ctl name="ADC MUX7" value="DMIC" />
+ <ctl name="DMIC MUX7" value="DMIC0" />
+ <ctl name="IIR0 INP0 MUX" value="DEC7" />
+ </path>
+
+ <path name="listen-ape-handset-dmic">
+ <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
+ <ctl name="SLIM TX7 MUX" value="DEC7" />
+ <ctl name="ADC MUX7" value="DMIC" />
+ <ctl name="DMIC MUX7" value="DMIC0" />
+ <ctl name="SLIM TX8 MUX" value="DEC8" />
+ <ctl name="ADC MUX8" value="DMIC" />
+ <ctl name="DMIC MUX8" value="DMIC3" />
+ <ctl name="SLIM_1_TX Channels" value="Two" />
+ </path>
+
+ <path name="listen-ape-handset-qmic">
+ <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
+ <ctl name="SLIM_0_TX Channels" value="Four" />
+ <ctl name="SLIM TX5 MUX" value="DEC5" />
+ <ctl name="ADC MUX5" value="DMIC" />
+ <ctl name="DMIC MUX5" value="DMIC0" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="DMIC" />
+ <ctl name="DMIC MUX6" value="DMIC2" />
+ <ctl name="SLIM TX7 MUX" value="DEC7" />
+ <ctl name="ADC MUX7" value="DMIC" />
+ <ctl name="DMIC MUX7" value="DMIC1" />
+ <ctl name="SLIM TX8 MUX" value="DEC8" />
+ <ctl name="ADC MUX8" value="DMIC" />
+ <ctl name="DMIC MUX8" value="DMIC3" />
+ </path>
+
+ <path name="listen-ape-handset-tmic">
+ <ctl name="AIF1_CAP Mixer SLIM TX5" value="1"/>
+ <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX7" value="1"/>
+ <ctl name="SLIM_1_TX Channels" value="Three" />
+ <ctl name="SLIM TX5 MUX" value="DEC5" />
+ <ctl name="ADC MUX5" value="DMIC" />
+ <ctl name="DMIC MUX5" value="DMIC0" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="DMIC" />
+ <ctl name="DMIC MUX6" value="DMIC2" />
+ <ctl name="SLIM TX7 MUX" value="DEC7" />
+ <ctl name="ADC MUX7" value="DMIC" />
+ <ctl name="DMIC MUX7" value="DMIC4" />
+ </path>
+
+ <path name="echo-reference">
+ <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_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/trinket/sound_trigger_platform_info.xml b/configs/trinket/sound_trigger_platform_info.xml
index 4096a5b..ced9a4f 100644
--- a/configs/trinket/sound_trigger_platform_info.xml
+++ b/configs/trinket/sound_trigger_platform_info.xml
@@ -46,14 +46,14 @@
<!-- Below backend params must match with port used in mixer path file -->
<!-- param used to configure backend sample rate, format and channels -->
<!-- uncomment TX_CDC_DMA_TX_3 values for internal codec and comment SLIM_1_TX values -->
- <param backend_port_name="SLIM_1_TX" />
+ <param backend_port_name="SLIM_0_TX" />
<!-- param backend_port_name="TX_CDC_DMA_TX_3" /-->
<!-- Param used to match and obtain device backend index -->
- <param backend_dai_name="SLIMBUS_1_TX" />
+ <param backend_dai_name="SLIMBUS_0_TX" />
<!-- param backend_dai_name="TX_CDC_DMA_TX_3" /-->
<!-- Param used to indicate if SVA has dedicated SLIM ports -->
<!-- Set to false for platforms with internal codec -->
- <param dedicated_sva_path="true" />
+ <param dedicated_sva_path="false" />
</common_config>
<acdb_ids>
<!--For internal codec please enable below device-->
@@ -92,7 +92,6 @@
<param fluence_type="FLUENCE_TMIC" />
<!-- wdsp_fluence_type: fluence disabled: "NONE" -->
<!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_TMIC", "FLUENCE_QMIC" -->
- <param wdsp_fluence_type="NONE" />
<arm_ss_usecase>
<!-- Options are "KEYWORD_DETECTION", "USER_VERIFICATION", "CUSTOM_DETECTION" -->
<param sm_detection_type= "KEYWORD_DETECTION" />
@@ -110,51 +109,8 @@
<param bit_wdith="16"/>
<param channel_count="1"/>
</arm_ss_usecase>
- <gcs_usecase>
- <param uid="0x1" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE, DEVICE_HEADSET_MIC_CPE" />
- <!-- module_id, instance_id, param_id -->
- <param load_sound_model_ids="0x00012C0D, 0x2, 0x00012C14" />
- <param confidence_levels_ids="0x00012C0D, 0x2, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x2, 0x00012C29" />
- <param read_cmd_ids="0x00020013, 0x2, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x2, 0x00020016" />
- <param custom_config_ids="0x00012C0D, 0x2, 0x00012C20" />
- </gcs_usecase>
- <gcs_usecase>
- <param uid="0x2" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE, DEVICE_HEADSET_MIC_CPE" />
- <param load_sound_model_ids="0x00012C0D, 0x3, 0x00012C14" />
- <param confidence_levels_ids="0x00012C0D, 0x3, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x3, 0x00012C29" />
- <param read_cmd_ids="0x00020013, 0x3, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x3, 0x00020016" />
- <param custom_config_ids="0x00012C0D, 0x3, 0x00012C20" />
- </gcs_usecase>
- <gcs_usecase>
- <param uid="0x7" />
- <param acdb_devices="DEVICE_HANDSET_DMIC_CPE" />
- <param load_sound_model_ids="0x00012C0D, 0x7, 0x00012C14" />
- <param confidence_levels_ids="0x00012C0D, 0x7, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x7, 0x00012B05" />
- <param read_cmd_ids="0x00020013, 0x7, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x7, 0x00020016" />
- <param custom_config_ids="0x00012C0D, 0x7, 0x00012C20" />
- <param det_event_type_ids="0x00012C0D, 0x7, 0x00012C2A" />
- </gcs_usecase>
- <gcs_usecase>
- <param uid="0x8" />
- <param acdb_devices="DEVICE_HANDSET_DMIC_CPE" />
- <param load_sound_model_ids="0x00012C0D, 0x8, 0x00012C14" />
- <param confidence_levels_ids="0x00012C0D, 0x8, 0x00012C28" />
- <param detection_event_ids="0x00012C0D, 0x8, 0x00012B05" />
- <param read_cmd_ids="0x00020013, 0x8, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x8, 0x00020016" />
- <param custom_config_ids="0x00012C0D, 0x8, 0x00012C20" />
- <param det_event_type_ids="0x00012C0D, 0x8, 0x00012C2A" />
- </gcs_usecase>
<!-- Module and param ids with which the algorithm is integrated
- in non-graphite firmware (note these must come after gcs params)
+ in non-graphite firmware
Extends flexibility to have different ids based on execution type.
valid execution_type values: "WDSP" "ADSP" -->
<lsm_usecase>
@@ -171,6 +127,7 @@
<lsm_usecase>
<param execution_mode="WDSP" />
+ <param app_type="2" /> <!-- app type used in ACDB -->
<param load_sound_model_ids="0x00012C0D, 0x00012C14" />
<param unload_sound_model_ids="0x00012C0D, 0x00012C15" />
<param confidence_levels_ids="0x00012C0D, 0x00012C07" />
@@ -209,20 +166,8 @@
<!-- wdsp_fluence_type: fluence disabled: "NONE" -->
<!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_TMIC", "FLUENCE_QMIC" -->
<param wdsp_fluence_type="NONE" />
- <gcs_usecase>
- <param uid="0x5" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE, DEVICE_HEADSET_MIC_CPE" />
- <!-- module_id, instance_id, param_id -->
- <param load_sound_model_ids="0x00012C2E, 0x6, 0x00012C14" />
- <param confidence_levels_ids="0x00012C2E, 0x6, 0x00012C28" />
- <param detection_event_ids="0x00012C2E, 0x6, 0x00012B05" />
- <param read_cmd_ids="0x00020013, 0x6, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x6, 0x00020016" />
- <param custom_config_ids="0x00012C2E, 0x6, 0x00012C2D" />
- <param det_event_type_ids="0x00012C2E, 0x6, 0x00012C2C" />
- </gcs_usecase>
<!-- Module and param ids with which the algorithm is integrated
- in non-graphite firmware (note these must come after gcs params)
+ in non-graphite firmware
Extends flexibility to have different ids based on execution type.
valid execution_type values: only "ADSP" -->
<lsm_usecase>
@@ -265,29 +210,8 @@
<param fluence_type="FLUENCE_DMIC" />
<!-- wdsp_fluence_type: fluence disabled: "NONE" -->
<!-- fluence enabled: "FLUENCE_DMIC", "FLUENCE_TMIC", "FLUENCE_QMIC" -->
- <param wdsp_fluence_type="NONE" />
- <gcs_usecase>
- <param uid="0x3" />
- <param acdb_devices="DEVICE_HANDSET_MIC_CPE, DEVICE_HANDSET_TMIC_CPE" />
- <param load_sound_model_ids="0x18000001, 0x4, 0x00012C14" />
- <param confidence_levels_ids="0x18000001, 0x4, 0x00012C28" />
- <param detection_event_ids="0x18000001, 0x4, 0x00012C29" />
- <param read_cmd_ids="0x00020013, 0x4, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x4, 0x00020016" />
- <param custom_config_ids="0x18000001, 0x4, 0x00012C20" />
- </gcs_usecase>
- <gcs_usecase>
- <param uid="0x4" />
- <param acdb_devices="DEVICE_HANDSET_DMIC_CPE" />
- <param load_sound_model_ids="0x18000001, 0x5, 0x00012C14" />
- <param confidence_levels_ids="0x18000001, 0x5, 0x00012C28" />
- <param detection_event_ids="0x18000001, 0x5, 0x00012C29" />
- <param read_cmd_ids="0x00020013, 0x5, 0x00020015" />
- <param read_rsp_ids="0x00020013, 0x5, 0x00020016" />
- <param custom_config_ids="0x18000001, 0x5, 0x00012C20" />
- </gcs_usecase>
<!-- Module and param ids with which the algorithm is integrated
- in non-graphite firmware (note these must come after gcs params)
+ in non-graphite firmware
Extends flexibility to have different ids based on execution type.
valid execution_type values: "WDSP" "ADSP" -->
<lsm_usecase>
@@ -304,6 +228,7 @@
<lsm_usecase>
<param execution_mode="WDSP" />
+ <param app_type="3" /> <!-- app type used in ACDB -->
<param load_sound_model_ids="0x18000001, 0x00012C14" />
<param unload_sound_model_ids="0x18000001, 0x00012C15" />
<param confidence_levels_ids="0x18000001, 0x00012C07" />
diff --git a/hal/Android.mk b/hal/Android.mk
index 10ce357..cfe4a07 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -317,6 +317,19 @@
LOCAL_SRC_FILES += audio_extn/bt_hal.c
endif
+ifeq ($(strip $(USE_LIB_PROCESS_GROUP)),true)
+LOCAL_SHARED_LIBRARIES := \
+ liblog \
+ libcutils \
+ libtinyalsa \
+ libtinycompress_vendor \
+ libaudioroute \
+ libdl \
+ libaudioutils \
+ libexpat \
+ libhidltransport \
+ libprocessgroup
+else
LOCAL_SHARED_LIBRARIES := \
liblog \
libcutils \
@@ -325,6 +338,7 @@
libdl \
libaudioutils \
libexpat
+endif
ifneq ($(strip $(TARGET_USES_AOSP_FOR_AUDIO)),true)
LOCAL_SHARED_LIBRARIES += libtinycompress_vendor
diff --git a/hal/audio_extn/ffv.c b/hal/audio_extn/ffv.c
index 2e99c40..fac40c5 100644
--- a/hal/audio_extn/ffv.c
+++ b/hal/audio_extn/ffv.c
@@ -905,7 +905,6 @@
str_parms_del(parms, AUDIO_PARAMETER_FFV_EC_REF_DEVICE);
} else if (str_parms_get_int(parms, AUDIO_PARAMETER_DEVICE_CONNECT, &val) >= 0) {
ret = 1;
- str_parms_del(parms, AUDIO_PARAMETER_DEVICE_CONNECT);
}
if (ret == 1) {
if (val & AUDIO_DEVICE_OUT_SPEAKER) {
@@ -921,7 +920,6 @@
ret = str_parms_get_int(parms, AUDIO_PARAMETER_DEVICE_DISCONNECT, &val);
if (ret >= 0) {
- str_parms_del(parms, AUDIO_PARAMETER_DEVICE_DISCONNECT);
if (val & AUDIO_DEVICE_OUT_LINE) {
ALOGD("%s: capture ec ref from speaker", __func__);
ffvmod.ec_ref_dev = AUDIO_DEVICE_OUT_SPEAKER;