audio: Enable FFV for msm8953 target
- Add 6/8mic mixer controls in AHAL and STHAL to enable FFV.
- Enable compile flags and define libffv path on LA platform.
CRs-Fixed: 2225936
Change-Id: Ife7bcfd04a6a758a38ec82b79c69dc3ec7c4612c
diff --git a/configs/msm8953/audio_platform_info_extcodec.xml b/configs/msm8953/audio_platform_info_extcodec.xml
index ac0eabc..81d34c1 100644
--- a/configs/msm8953/audio_platform_info_extcodec.xml
+++ b/configs/msm8953/audio_platform_info_extcodec.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-2016 The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-2016, 2018, 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 -->
@@ -25,6 +25,12 @@
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<audio_platform_info>
+ <acdb_ids>
+ <device name="SND_DEVICE_IN_HANDSET_6MIC" acdb_id="140"/>
+ <device name="SND_DEVICE_IN_HANDSET_8MIC" acdb_id="140"/>
+ <device name="SND_DEVICE_IN_EC_REF_LOOPBACK_MONO" acdb_id="140"/>
+ <device name="SND_DEVICE_IN_EC_REF_LOOPBACK_STEREO" acdb_id="140"/>
+ </acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
</bit_width_configs>
@@ -34,6 +40,11 @@
<device name="AUDIO_DEVICE_IN_BUILTIN_MIC" interface="TERT_MI2S" codec_type="internal"/>
<device name="AUDIO_DEVICE_IN_BACK_MIC" interface="TERT_MI2S" codec_type="internal"/>
</interface_names>
+ <config_params>
+ <param key="input_mic_max_count" value="6"/>
+ <param key="ffv_split_ec_ref_data" value="false"/>
+ <param key="ffv_ec_ref_channel_count" value="1"/>
+ </config_params>
<pcm_ids>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD2" type="out" id="24"/>
<usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD3" type="out" id="29"/>
@@ -50,6 +61,8 @@
<usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="37"/>
<usecase name="USECASE_QCHAT_CALL" type="in" id="42"/>
<usecase name="USECASE_QCHAT_CALL" type="out" id="42"/>
+ <usecase name="USECASE_AUDIO_EC_REF_LOOPBACK" type="in" id="12"/>
+ <usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="12"/>
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.11"/>
diff --git a/configs/msm8953/mixer_paths_wcd9335.xml b/configs/msm8953/mixer_paths_wcd9335.xml
index 1eb65b9..5b53ff3 100644
--- a/configs/msm8953/mixer_paths_wcd9335.xml
+++ b/configs/msm8953/mixer_paths_wcd9335.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2015-16, The Linux Foundation. All rights reserved. -->
+<!-- Copyright (c) 2015-16, 2018, 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 -->
@@ -563,6 +563,8 @@
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
<!-- ADSP testfwk end-->
+ <ctl name="MultiMedia5 Mixer SLIM_2_TX" value="0" />
+ <ctl name="PCM_Dev 12 Topology Capture" value="DTS" />
<!-- These are audio route (FE to BE) specific mixer settings -->
<path name="deep-buffer-playback">
@@ -2483,4 +2485,119 @@
<path name="speaker-and-headphones" />
</path>
+
+ <path name="ec-ref-audio-capture">
+ <ctl name="PCM_Dev 12 Topology Capture" value="LEGACY" />
+ <ctl name="MultiMedia5 Mixer SLIM_2_TX" value="1" />
+ </path>
+
+ <path name="handset-6mic">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
+ <ctl name="SLIM_0_TX Channels" value="Six" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="ADC MUX1" value="DMIC" />
+ <ctl name="DMIC MUX1" value="DMIC2" />
+ <ctl name="DEC1 Volume" value="96" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="ADC MUX2" value="DMIC" />
+ <ctl name="DMIC MUX2" value="DMIC1" />
+ <ctl name="DEC2 Volume" value="96" />
+ <ctl name="SLIM TX3 MUX" value="DEC3" />
+ <ctl name="ADC MUX3" value="DMIC" />
+ <ctl name="DMIC MUX3" value="DMIC5" />
+ <ctl name="DEC3 Volume" value="96" />
+ <ctl name="SLIM TX4 MUX" value="DEC4" />
+ <ctl name="ADC MUX4" value="DMIC" />
+ <ctl name="DMIC MUX4" value="DMIC0" />
+ <ctl name="DEC4 Volume" value="96" />
+ <ctl name="SLIM TX5 MUX" value="DEC5" />
+ <ctl name="ADC MUX5" value="DMIC" />
+ <ctl name="DMIC MUX5" value="DMIC4" />
+ <ctl name="DEC5 Volume" value="96" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="DMIC" />
+ <ctl name="DMIC MUX6" value="DMIC3" />
+ <ctl name="DEC6 Volume" value="96" />
+ </path>
+
+ <path name="handset-8mic">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="1" />
+ <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="Eight" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="ADC MUX1" value="DMIC" />
+ <ctl name="DMIC MUX1" value="DMIC2" />
+ <ctl name="DEC1 Volume" value="96" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="ADC MUX2" value="DMIC" />
+ <ctl name="DMIC MUX2" value="DMIC1" />
+ <ctl name="DEC2 Volume" value="96" />
+ <ctl name="SLIM TX3 MUX" value="DEC3" />
+ <ctl name="ADC MUX3" value="DMIC" />
+ <ctl name="DMIC MUX3" value="DMIC5" />
+ <ctl name="DEC3 Volume" value="96" />
+ <ctl name="SLIM TX4 MUX" value="DEC4" />
+ <ctl name="ADC MUX4" value="DMIC" />
+ <ctl name="DMIC MUX4" value="DMIC0" />
+ <ctl name="DEC4 Volume" value="96" />
+ <ctl name="SLIM TX5 MUX" value="DEC5" />
+ <ctl name="ADC MUX5" value="DMIC" />
+ <ctl name="DMIC MUX5" value="DMIC4" />
+ <ctl name="DEC5 Volume" value="96" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="DMIC" />
+ <ctl name="DMIC MUX6" value="DMIC3" />
+ <ctl name="DEC6 Volume" value="96" />
+
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX7"/>
+ <ctl name="SLIM TX8 MUX" value="RX_MIX_TX8"/>
+ <ctl name="RX MIX TX8 MUX" value="RX_MIX8"/>
+ </path>
+
+ <path name="ec-ref-loopback-mono">
+ <ctl name="SLIM_2_TX Channels" value="One" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX7"/>
+ </path>
+
+ <path name="ec-ref-loopback-stereo">
+ <ctl name="SLIM_2_TX Channels" value="Two" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX7"/>
+ <ctl name="AIF4_CAP Mixer SLIM TX8" value ="1"/>
+ <ctl name="SLIM TX8 MUX" value="RX_MIX_TX8"/>
+ <ctl name="RX MIX TX8 MUX" value="RX_MIX8"/>
+ </path>
+
+ <path name="ec-ref-loopback-mono lineout">
+ <ctl name="SLIM_2_TX Channels" value="One" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX5"/>
+ </path>
+
+ <path name="ec-ref-loopback-stereo lineout">
+ <ctl name="SLIM_2_TX Channels" value="Two" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX5"/>
+ <ctl name="AIF4_CAP Mixer SLIM TX8" value ="1"/>
+ <ctl name="SLIM TX8 MUX" value="RX_MIX_TX8"/>
+ <ctl name="RX MIX TX8 MUX" value="RX_MIX6"/>
+ </path>
+
</mixer>
diff --git a/configs/msm8953/msm8953.mk b/configs/msm8953/msm8953.mk
index 2abb2b5..7381fa3 100644
--- a/configs/msm8953/msm8953.mk
+++ b/configs/msm8953/msm8953.mk
@@ -34,6 +34,10 @@
USE_XML_AUDIO_POLICY_CONF := 1
BOARD_SUPPORTS_SOUND_TRIGGER := true
+BOARD_SUPPORTS_SOUND_TRIGGER_ARM: = true
+AUDIO_FEATURE_ENABLED_FFV: = true
+AUDIO_FEATURE_ENABLED_KEEP_ALIVE_ARM_FFV: = true
+AUDIO_FEATURE_ENABLED_KEEP_ALIVE: = true
AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
AUDIO_FEATURE_ENABLED_HIFI_AUDIO := true
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
@@ -120,7 +124,10 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio_hal.period_size=192
-##fluencetype can be "fluence" or "fluencepro" or "none"
+PRODUCT_PROPERTY_OVERRIDES += \
+ro.vendor.audio.sdk.ffv=false
+
+##fluencetype can be "fluence" or "fluencepro" or "fluenceffv" or "none"
PRODUCT_PROPERTY_OVERRIDES += \
ro.vendor.audio.sdk.fluencetype=none\
persist.vendor.audio.fluence.voicecall=true\
diff --git a/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml b/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml
index c1b6097..1756772 100644
--- a/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml
+++ b/configs/msm8953/sound_trigger_mixer_paths_wcd9335.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+<!--- Copyright (c) 2015-2018, 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
@@ -53,23 +53,52 @@
<ctl name="AIF4_MAD Mixer SLIM TX12" value="0" />
<ctl name="AIF4_MAD Mixer SLIM TX13" value="0" />
<ctl name="CPE AFE MAD Enable" value="0"/>
+ <ctl name="SLIM TX8 MUX" value="ZERO" />
+ <ctl name="SLIM TX7 MUX" value="ZERO" />
+ <ctl name="SLIM TX6 MUX" value="ZERO" />
+ <ctl name="SLIM TX5 MUX" value="ZERO" />
+ <ctl name="SLIM TX4 MUX" value="ZERO" />
+ <ctl name="SLIM TX3 MUX" value="ZERO" />
+ <ctl name="SLIM TX2 MUX" value="ZERO" />
+ <ctl name="SLIM TX1 MUX" value="ZERO" />
<ctl name="CLK MODE" value="EXTERNAL" />
<ctl name="EC BUF MUX INP" value="ZERO" />
<ctl name="ADC MUX1" value="DMIC" />
<ctl name="DMIC MUX1" value="ZERO" />
+ <ctl name="ADC MUX1" value="AMIC" />
+ <ctl name="ADC MUX2" value="AMIC" />
+ <ctl name="ADC MUX3" value="AMIC" />
+ <ctl name="ADC MUX4" value="AMIC" />
<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 MUX1" value="ZERO" />
+ <ctl name="DMIC MUX2" value="ZERO" />
+ <ctl name="DMIC MUX3" value="ZERO" />
+ <ctl name="DMIC MUX4" value="ZERO" />
<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="RX MIX TX7 MUX" value="ZERO" />
+ <ctl name="RX MIX TX8 MUX" value="ZERO" />
+ <ctl name="SLIM_0_TX Channels" value="One" />
+ <ctl name="SLIM_2_TX Channels" value="One" />
<ctl name="IIR0 INP0 MUX" value="ZERO" />
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="0" />
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="0" />
<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" />
+ <ctl name="AIF4_CAP Mixer SLIM TX8" value="0" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value="0" />
+
+ <ctl name="MultiMedia2 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia9 Mixer SLIM_2_TX" value="0" />
<path name="listen-voice-wakeup-1">
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
@@ -161,6 +190,14 @@
<ctl name="LSM8 Mixer SLIMBUS_0_TX" value="1" />
</path>
+ <path name="audio-capture">
+ <ctl name="MultiMedia2 Mixer SLIM_0_TX" value="1" />
+ </path>
+
+ <path name="ec-ref-audio-capture">
+ <ctl name="MultiMedia9 Mixer SLIM_2_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" />
@@ -248,6 +285,115 @@
<ctl name="DMIC MUX7" value="DMIC4" />
</path>
+ <path name="listen-handset-6mic">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX5" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX6" value="1" />
+ <ctl name="SLIM_0_TX Channels" value="Six" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="ADC MUX1" value="DMIC" />
+ <ctl name="DMIC MUX1" value="DMIC2" />
+ <ctl name="DEC1 Volume" value="96" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="ADC MUX2" value="DMIC" />
+ <ctl name="DMIC MUX2" value="DMIC1" />
+ <ctl name="DEC2 Volume" value="96" />
+ <ctl name="SLIM TX3 MUX" value="DEC3" />
+ <ctl name="ADC MUX3" value="DMIC" />
+ <ctl name="DMIC MUX3" value="DMIC5" />
+ <ctl name="DEC3 Volume" value="96" />
+ <ctl name="SLIM TX4 MUX" value="DEC4" />
+ <ctl name="ADC MUX4" value="DMIC" />
+ <ctl name="DMIC MUX4" value="DMIC0" />
+ <ctl name="DEC4 Volume" value="96" />
+ <ctl name="SLIM TX5 MUX" value="DEC5" />
+ <ctl name="ADC MUX5" value="DMIC" />
+ <ctl name="DMIC MUX5" value="DMIC4" />
+ <ctl name="DEC5 Volume" value="96" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="DMIC" />
+ <ctl name="DMIC MUX6" value="DMIC3" />
+ <ctl name="DEC6 Volume" value="96" />
+ </path>
+
+ <path name="listen-handset-8mic">
+ <ctl name="AIF1_CAP Mixer SLIM TX1" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX2" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX3" value="1" />
+ <ctl name="AIF1_CAP Mixer SLIM TX4" value="1" />
+ <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="Eight" />
+ <ctl name="SLIM TX1 MUX" value="DEC1" />
+ <ctl name="ADC MUX1" value="DMIC" />
+ <ctl name="DMIC MUX1" value="DMIC2" />
+ <ctl name="DEC1 Volume" value="96" />
+ <ctl name="SLIM TX2 MUX" value="DEC2" />
+ <ctl name="ADC MUX2" value="DMIC" />
+ <ctl name="DMIC MUX2" value="DMIC1" />
+ <ctl name="DEC2 Volume" value="96" />
+ <ctl name="SLIM TX3 MUX" value="DEC3" />
+ <ctl name="ADC MUX3" value="DMIC" />
+ <ctl name="DMIC MUX3" value="DMIC5" />
+ <ctl name="DEC3 Volume" value="96" />
+ <ctl name="SLIM TX4 MUX" value="DEC4" />
+ <ctl name="ADC MUX4" value="DMIC" />
+ <ctl name="DMIC MUX4" value="DMIC0" />
+ <ctl name="DEC4 Volume" value="96" />
+ <ctl name="SLIM TX5 MUX" value="DEC5" />
+ <ctl name="ADC MUX5" value="DMIC" />
+ <ctl name="DMIC MUX5" value="DMIC4" />
+ <ctl name="DEC5 Volume" value="96" />
+ <ctl name="SLIM TX6 MUX" value="DEC6" />
+ <ctl name="ADC MUX6" value="DMIC" />
+ <ctl name="DMIC MUX6" value="DMIC3" />
+ <ctl name="DEC6 Volume" value="96" />
+
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX7"/>
+ <ctl name="SLIM TX8 MUX" value="RX_MIX_TX8"/>
+ <ctl name="RX MIX TX8 MUX" value="RX_MIX8"/>
+ </path>
+
+ <path name="ec-ref-loopback-mono">
+ <ctl name="SLIM_2_TX Channels" value="One" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX7"/>
+ </path>
+
+ <path name="ec-ref-loopback-stereo">
+ <ctl name="SLIM_2_TX Channels" value="Two" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX7"/>
+ <ctl name="AIF4_CAP Mixer SLIM TX8" value ="1"/>
+ <ctl name="SLIM TX8 MUX" value="RX_MIX_TX8"/>
+ <ctl name="RX MIX TX8 MUX" value="RX_MIX8"/>
+ </path>
+
+ <path name="ec-ref-loopback-mono lineout">
+ <ctl name="SLIM_2_TX Channels" value="One" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX5"/>
+ </path>
+
+ <path name="ec-ref-loopback-stereo lineout">
+ <ctl name="SLIM_2_TX Channels" value="Two" />
+ <ctl name="AIF4_CAP Mixer SLIM TX7" value ="1"/>
+ <ctl name="SLIM TX7 MUX" value="RX_MIX_TX7"/>
+ <ctl name="RX MIX TX7 MUX" value="RX_MIX5"/>
+ <ctl name="AIF4_CAP Mixer SLIM TX8" value ="1"/>
+ <ctl name="SLIM TX8 MUX" value="RX_MIX_TX8"/>
+ <ctl name="RX MIX TX8 MUX" value="RX_MIX6"/>
+ </path>
+
<path name="echo-reference">
<ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
<ctl name="EC Reference Channels" value="Two"/>
diff --git a/configs/msm8953/sound_trigger_platform_info.xml b/configs/msm8953/sound_trigger_platform_info.xml
index a1f70a0..0925931 100644
--- a/configs/msm8953/sound_trigger_platform_info.xml
+++ b/configs/msm8953/sound_trigger_platform_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--- Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. -->
+<!--- Copyright (c) 2013-2018, 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 -->
@@ -54,6 +54,8 @@
<param DEVICE_HANDSET_QMIC_APE="150" />
<param DEVICE_HANDSET_DMIC_APE="149" />
<param DEVICE_HANDSET_TMIC_APE="152" />
+ <param DEVICE_HANDSET_6MIC_ARM="140" />
+ <param DEVICE_HANDSET_8MIC_ARM="140" />
</acdb_ids>
<!-- Multiple sound_model_config tags can be listed, each with unique -->
@@ -90,6 +92,24 @@
<param client_capture_read_delay="2000" />
</sound_model_config>
+ <!-- ARM based SVA sound_model_config -->
+ <sound_model_config>
+ <param vendor_uuid="67fabb70-79e8-4e1c-a202-bcb050243a70" />
+ <param execution_type="ARM" />
+ <!-- ec reference loopback params -->
+ <!-- split_ec_ref_data - true if ec ref is packed with mic captured data -->
+ <param split_ec_ref_data="false"/>
+ <param ec_ref_channel_count="1"/>
+
+ <!-- Profile specific data which the algorithm can support -->
+ <param sample_rate="16000" />
+ <param bit_width="16" />
+ <param channel_count="6"/>
+ <!-- adm_cfg_profile should match with the one defined under adm_config -->
+ <!-- Set it to NONE if LSM directly connects to AFE -->
+ <param adm_cfg_profile="DEFAULT" />
+ </sound_model_config>
+
<!-- Multiple adm_config tags can be listed, each with unique profile name. -->
<!-- app_type to match corresponding value from ACDB -->
<adm_config>
@@ -105,6 +125,4 @@
<param sample_rate="16000" />
<param bit_width="16" />
</adm_config>
-
</sound_trigger_platform_info>
-
diff --git a/hal/Android.mk b/hal/Android.mk
index 523a593..921252c 100644
--- a/hal/Android.mk
+++ b/hal/Android.mk
@@ -395,6 +395,15 @@
LOCAL_CFLAGS += -DDYNAMIC_ECNS_ENABLED
endif
+ifeq ($(strip $($AUDIO_FEATURE_ENABLED_KEEP_ALIVE_ARM_FFV)), true)
+ LOCAL_CFLAGS += -DRUN_KEEP_ALIVE_IN_ARM_FFV
+endif
+
+ifeq ($(strip $($AUDIO_FEATURE_ENABLED_FFV_FFV)), true)
+ LOCAL_CFLAGS += -DFFV_ENABLED
+ LOCAL_SRC_FILES += audio_extn/ffv.c
+endif
+
LOCAL_CFLAGS += -Wall -Werror
LOCAL_COPY_HEADERS_TO := mm-audio
diff --git a/hal/audio_extn/ffv.c b/hal/audio_extn/ffv.c
index 027849c..71aeb3d 100644
--- a/hal/audio_extn/ffv.c
+++ b/hal/audio_extn/ffv.c
@@ -59,8 +59,22 @@
#define AUDIO_PARAMETER_FFV_EC_REF_DEVICE "ffv_ec_ref_dev"
#define AUDIO_PARAMETER_FFV_CHANNEL_INDEX "ffv_channel_index"
-#define FFV_LIB "libffv.so"
-#define FFV_CONFIG_FILE_PATH "/etc/BF_1out.cfg"
+#if LINUX_ENABLED
+#define ST_FFV_CONFIG_FILE_PATH "/etc/BF_1out.cfg"
+#ifdef __LP64__
+#define FFV_LIB "/usr/lib64/libffv.so"
+#else
+#define FFV_LIB "/usr/lib/libffv.so"
+#endif
+#else
+#define ST_FFV_CONFIG_FILE_PATH "/vendor/etc/BF_1out.cfg"
+#ifdef __LP64__
+#define FFV_LIB "/vendor/lib64/libffv.so"
+#else
+#define FFV_LIB "/vendor/lib/libffv.so"
+#endif
+#endif
+
#define FFV_SAMPLING_RATE_16000 16000
#define FFV_EC_REF_LOOPBACK_DEVICE_MONO "ec-ref-loopback-mono"
#define FFV_EC_REF_LOOPBACK_DEVICE_STEREO "ec-ref-loopback-stereo"