Merge "configs: holi: update acdb id for speaker device"
diff --git a/configs/bengal/mixer_paths_scubaqrd.xml b/configs/bengal/mixer_paths_scubaqrd.xml
index a778cd9..0d265e7 100644
--- a/configs/bengal/mixer_paths_scubaqrd.xml
+++ b/configs/bengal/mixer_paths_scubaqrd.xml
@@ -2822,14 +2822,14 @@
<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="TX SMIC MUX1" value="SWR_MIC1" />
<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_MIC1" />
- <ctl name="TX_AIF1_CAP Mixer DEC2" 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="SWR_MIC0" />
+ <ctl name="TX_AIF1_CAP Mixer DEC2" value="1" />
+ <ctl name="ADC1_MIXER Switch" value="1" />
</path>
<path name="dmic-endfire">
diff --git a/configs/lahaina/audio_platform_info_shimaidp.xml b/configs/lahaina/audio_platform_info_shimaidp.xml
index f328965..8c022af 100644
--- a/configs/lahaina/audio_platform_info_shimaidp.xml
+++ b/configs/lahaina/audio_platform_info_shimaidp.xml
@@ -117,6 +117,8 @@
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="23" />
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_WITH_HAPTICS" type="out" id="40" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_HAPTICS" type="out" id="41" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/lahaina/audio_platform_info_shimaqrd.xml b/configs/lahaina/audio_platform_info_shimaqrd.xml
index aff677d..d1e30a3 100644
--- a/configs/lahaina/audio_platform_info_shimaqrd.xml
+++ b/configs/lahaina/audio_platform_info_shimaqrd.xml
@@ -117,6 +117,8 @@
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="23" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="23" />
<usecase name="USECASE_AUDIO_RECORD_COMPRESS2" type="in" id="37" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_WITH_HAPTICS" type="out" id="40" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_HAPTICS" type="out" id="41" />
</pcm_ids>
<config_params>
<param key="spkr_2_tz_name" value="wsatz.14"/>
diff --git a/configs/lahaina/lahaina.mk b/configs/lahaina/lahaina.mk
index 6b37194..007ce20 100644
--- a/configs/lahaina/lahaina.mk
+++ b/configs/lahaina/lahaina.mk
@@ -316,6 +316,11 @@
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.flac.sw.decoder.24bit=true
+#timeout crash duration set to 20sec before system is ready.
+#timeout duration updates to default timeout of 5sec once the system is ready.
+PRODUCT_PROPERTY_OVERRIDES += \
+vendor.audio.hal.boot.timeout.ms=20000
+
#split a2dp DSP supported encoder list
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxtws-aptxhd-aac-ldac
diff --git a/configs/lahaina/mixer_paths.xml b/configs/lahaina/mixer_paths.xml
index dd6f434..7f77f18 100644
--- a/configs/lahaina/mixer_paths.xml
+++ b/configs/lahaina/mixer_paths.xml
@@ -116,6 +116,7 @@
<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="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" 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" />
@@ -3214,12 +3215,10 @@
<ctl name="TX DEC6 MUX" value="SWR_MIC" />
<ctl name="TX SMIC MUX6" value="SWR_MIC5" />
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
- <ctl name="TX_AIF2_CAP Mixer DEC6" value="1" />
+ <ctl name="TX_AIF1_CAP Mixer DEC6" value="1" />
<ctl name="ADC2 MUX" value="INP2" />
<ctl name="ADC2 ChMap" value="SWRM_TX2_CH2" />
- <ctl name="MBHC ChMap" value="SWRM_TX3_CH3" />
<ctl name="TX1 MODE" value="ADC_LP" />
- <ctl name="BCS Channel" value="CH10" />
<ctl name="HDR12 MUX" value="NO_HDR12" />
<ctl name="ADC2_MIXER Switch" value="1" />
</path>
diff --git a/configs/lahaina/mixer_paths_cdp.xml b/configs/lahaina/mixer_paths_cdp.xml
index 1dac77e..bd4ddd6 100644
--- a/configs/lahaina/mixer_paths_cdp.xml
+++ b/configs/lahaina/mixer_paths_cdp.xml
@@ -101,6 +101,7 @@
<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="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" 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" />
diff --git a/configs/lahaina/mixer_paths_qrd.xml b/configs/lahaina/mixer_paths_qrd.xml
index c1255e0..10b7768 100644
--- a/configs/lahaina/mixer_paths_qrd.xml
+++ b/configs/lahaina/mixer_paths_qrd.xml
@@ -116,6 +116,7 @@
<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="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia16" 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" />
diff --git a/configs/lahaina/mixer_paths_shimaidp.xml b/configs/lahaina/mixer_paths_shimaidp.xml
index 431529f..4e9dae6 100644
--- a/configs/lahaina/mixer_paths_shimaidp.xml
+++ b/configs/lahaina/mixer_paths_shimaidp.xml
@@ -2323,16 +2323,136 @@
<path name="spkr-vi-record">
</path>
- <path name="audio-with-haptics-playback speaker-and-haptics">
+ <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 headphones-and-haptics">
+ <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" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-display-port1">
+ <path name="audio-with-haptics-playback display-port1" />
+ <path name="audio-with-haptics-playback" />
+ </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" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-usb-headphones">
+ <path name="audio-with-haptics-playback usb-headphones" />
+ <path name="audio-with-haptics-playback" />
+ </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" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-headphones">
+ <path name="audio-with-haptics-playback headphones" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-bt-sco">
+ <path name="audio-with-haptics-playback bt-sco" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-sco">
+ <path name="audio-with-haptics-playback bt-sco" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco-wb" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco-wb" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-bt-sco-swb">
+ <path name="audio-with-haptics-playback bt-sco-swb" />
+ <path name="audio-with-haptics-playback" />
+ </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" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-a2dp">
+ <path name="audio-with-haptics-playback bt-a2dp" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="amic1">
<ctl name="TX DEC1 MUX" value="SWR_MIC" />
@@ -2401,20 +2521,7 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
- <path name="speaker-and-haptics">
- <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 name="haptics">
<ctl name="SWR DAC_Port Switch" value="1" />
</path>
@@ -2595,23 +2702,6 @@
<ctl name="HPHR_RDAC Switch" value="1" />
</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="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="headphones-44.1">
<ctl name="RX_CDC_DMA_RX_0 SampleRate" value="KHZ_44P1" />
<path name="headphones" />
diff --git a/configs/lahaina/mixer_paths_shimaidps.xml b/configs/lahaina/mixer_paths_shimaidps.xml
index 109f5e5..e395959 100644
--- a/configs/lahaina/mixer_paths_shimaidps.xml
+++ b/configs/lahaina/mixer_paths_shimaidps.xml
@@ -2183,86 +2183,134 @@
<path name="spkr-vi-record">
</path>
- <path name="audio-with-haptics-playback speaker-and-haptics">
+ <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 headphones-and-haptics">
- <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 name="audio-with-haptics-playback speaker-protected">
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-headphones-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback speaker-safe">
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-saefe-headphones-and-haptics">
+ <path name="audio-with-haptics-playback display-port">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <ctl name="DISPLAY_PORT Mixer MultiMedia31" value="1" />
</path>
- <path name="audio-with-haptics-playback speaker-usb-headphones-and-haptics">
+ <path name="audio-with-haptics-playback display-port1">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" 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" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-display-port1">
+ <path name="audio-with-haptics-playback display-port1" />
+ <path name="audio-with-haptics-playback" />
+ </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 speaker-safe-usb-headphones-and-haptics">
+ <path name="audio-with-haptics-playback usb-headset">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
<ctl name="USB_AUDIO_RX Audio Mixer MultiMedia31" value="1" />
</path>
- <path name="audio-with-haptics-playback speaker-bt-a2dp-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback speaker-and-usb-headphones">
+ <path name="audio-with-haptics-playback usb-headphones" />
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-safe-bt-a2dp-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback speaker-safe-and-usb-headphones">
+ <path name="audio-with-haptics-playback usb-headphones" />
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-bt-sco-and-haptics">
+ <path name="audio-with-haptics-playback headphones">
<ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <ctl name="RX_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
</path>
- <path name="audio-with-haptics-playback speaker-safe-bt-sco-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback headset">
+ <path name="audio-with-haptics-playback headphones" />
</path>
- <path name="audio-with-haptics-playback speaker-bt-sco-wb-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback speaker-and-headphones">
+ <path name="audio-with-haptics-playback headphones" />
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-safe-bt-sco-wb-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback speaker-safe-and-headphones">
+ <path name="audio-with-haptics-playback headphones" />
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-bt-sco-swb-and-haptics">
- <ctl name="RX_CDC_DMA_RX_6 Audio Mixer MultiMedia32" value="1"/>
- <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia31" value="1" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ <path name="audio-with-haptics-playback speaker-and-bt-sco">
+ <path name="audio-with-haptics-playback bt-sco" />
+ <path name="audio-with-haptics-playback" />
</path>
- <path name="audio-with-haptics-playback speaker-safe-bt-sco-swb-and-haptics">
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-sco">
+ <path name="audio-with-haptics-playback bt-sco" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco-wb" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-sco-wb">
+ <path name="audio-with-haptics-playback bt-sco-wb" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-bt-sco-swb">
+ <path name="audio-with-haptics-playback bt-sco-swb" />
+ <path name="audio-with-haptics-playback" />
+ </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" />
- <ctl name="WSA_CDC_DMA_RX_0 Audio Mixer MultiMedia31" value="1" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-and-bt-a2dp">
+ <path name="audio-with-haptics-playback bt-a2dp" />
+ <path name="audio-with-haptics-playback" />
+ </path>
+
+ <path name="audio-with-haptics-playback speaker-safe-and-bt-a2dp">
+ <path name="audio-with-haptics-playback bt-a2dp" />
+ <path name="audio-with-haptics-playback" />
</path>
<!-- These are actual sound device specific mixer settings -->
@@ -2357,20 +2405,7 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
- <path name="speaker-and-haptics">
- <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 name="haptics">
<ctl name="SWR DAC_Port Switch" value="1" />
</path>
@@ -2556,25 +2591,6 @@
<ctl name="HPHR_RDAC Switch" value="1" />
</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="headphones-dsd">
<ctl name="RX_CDC_DMA_5 RX Format" value="DSD_DOP" />
<ctl name="RX_CDC_DMA_RX_5 Channels" value="One" />
@@ -2684,11 +2700,6 @@
<path name="speaker" />
</path>
- <path name="speaker-headphones-and-haptics">
- <path name="headphones" />
- <path name="speaker-and-haptics" />
- </path>
-
<path name="speaker-and-headphones-hifi-filter">
<path name="headphones" />
<path name="speaker" />
@@ -2729,11 +2740,6 @@
<path name="usb-headphones" />
</path>
- <path name="speaker-usb-headphones-and-haptics">
- <path name="speaker-and-haptics" />
- <path name="usb-headphones" />
- </path>
-
<path name="speaker-safe-and-usb-headphones">
<path name="speaker-safe" />
<path name="usb-headphones" />
diff --git a/configs/lahaina/mixer_paths_shimaqrd.xml b/configs/lahaina/mixer_paths_shimaqrd.xml
index 12574fa..f0bc069 100644
--- a/configs/lahaina/mixer_paths_shimaqrd.xml
+++ b/configs/lahaina/mixer_paths_shimaqrd.xml
@@ -2607,8 +2607,7 @@
<ctl name="SpkrRight SWR DAC_Port Switch" value="1" />
</path>
- <path name="speaker-and-haptics">
- <path name="speaker" />
+ <path name="haptics">
<ctl name="SWR DAC_Port Switch" value="1" />
</path>
diff --git a/configs/sdm660/audio_output_policy.conf b/configs/sdm660/audio_output_policy.conf
index c6338e5..921c8b8 100644
--- a/configs/sdm660/audio_output_policy.conf
+++ b/configs/sdm660/audio_output_policy.conf
@@ -18,6 +18,13 @@
bit_width 16
app_type 69937
}
+ voip_rx {
+ flags AUDIO_OUTPUT_FLAG_VOIP_RX|AUDIO_OUTPUT_FLAG_DIRECT
+ formats AUDIO_FORMAT_PCM_16_BIT
+ sampling_rates 8000|16000|32000|48000
+ bit_width 16
+ app_type 69946
+ }
deep_buffer {
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
formats AUDIO_FORMAT_PCM_16_BIT
diff --git a/configs/sdm660/audio_platform_info_intcodec.xml b/configs/sdm660/audio_platform_info_intcodec.xml
index 5d8f467..e420f07 100644
--- a/configs/sdm660/audio_platform_info_intcodec.xml
+++ b/configs/sdm660/audio_platform_info_intcodec.xml
@@ -67,6 +67,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -102,6 +104,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="INT0_MI2S_RX"/>
diff --git a/configs/sdm660/audio_platform_info_skush.xml b/configs/sdm660/audio_platform_info_skush.xml
index 2df5832..4eab739 100644
--- a/configs/sdm660/audio_platform_info_skush.xml
+++ b/configs/sdm660/audio_platform_info_skush.xml
@@ -68,6 +68,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<!-- In the below value string, the value indicates default mono -->
@@ -90,6 +92,7 @@
<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"/>
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" acdb_id="152"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="INT0_MI2S_RX"/>
diff --git a/configs/sdm660/audio_platform_info_tasha.xml b/configs/sdm660/audio_platform_info_tasha.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tasha.xml
+++ b/configs/sdm660/audio_platform_info_tasha.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_platform_info_tasha_skus.xml b/configs/sdm660/audio_platform_info_tasha_skus.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tasha_skus.xml
+++ b/configs/sdm660/audio_platform_info_tasha_skus.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_platform_info_tashalite.xml b/configs/sdm660/audio_platform_info_tashalite.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tashalite.xml
+++ b/configs/sdm660/audio_platform_info_tashalite.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/audio_platform_info_tavil.xml b/configs/sdm660/audio_platform_info_tavil.xml
index 7c31e05..a4ae7c1 100644
--- a/configs/sdm660/audio_platform_info_tavil.xml
+++ b/configs/sdm660/audio_platform_info_tavil.xml
@@ -43,6 +43,7 @@
<device name="SND_DEVICE_IN_HDMI_MIC" acdb_id="4"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" acdb_id="125"/>
<device name="SND_DEVICE_IN_HANDSET_TMIC" acdb_id="125"/>
+ <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" acdb_id="8"/>
</acdb_ids>
<bit_width_configs>
<device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
@@ -86,6 +87,8 @@
<usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK" type="out" id="27" />
<usecase name="USECASE_INCALL_MUSIC_UPLINK2" type="out" id="27" />
+ <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="16" />
+ <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="16" />
</pcm_ids>
<config_params>
<param key="spkr_1_tz_name" value="wsatz.13"/>
diff --git a/configs/sdm660/mixer_paths.xml b/configs/sdm660/mixer_paths.xml
index 9874c6d..9f1b3e1 100644
--- a/configs/sdm660/mixer_paths.xml
+++ b/configs/sdm660/mixer_paths.xml
@@ -287,6 +287,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="INT4_MI2S_RX_DL_HL Switch" value="0" />
<ctl name="INT0_MI2S_RX_DL_HL Switch" value="0" />
@@ -1909,6 +1919,61 @@
<path name="spkr-vi-record">
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="ADC1 Volume" value="6" />
diff --git a/configs/sdm660/mixer_paths_mtp.xml b/configs/sdm660/mixer_paths_mtp.xml
index b38ed9a..373fc02 100644
--- a/configs/sdm660/mixer_paths_mtp.xml
+++ b/configs/sdm660/mixer_paths_mtp.xml
@@ -286,6 +286,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="INT4_MI2S_RX_DL_HL Switch" value="0" />
<ctl name="INT0_MI2S_RX_DL_HL Switch" value="0" />
@@ -2143,6 +2153,61 @@
<path name="spkr-vi-record">
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="ADC1 Volume" value="6" />
diff --git a/configs/sdm660/mixer_paths_skush.xml b/configs/sdm660/mixer_paths_skush.xml
index 131faec..83a9d24 100644
--- a/configs/sdm660/mixer_paths_skush.xml
+++ b/configs/sdm660/mixer_paths_skush.xml
@@ -278,6 +278,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="INT4_MI2S_RX_DL_HL Switch" value="0" />
<ctl name="INT0_MI2S_RX_DL_HL Switch" value="0" />
@@ -2567,6 +2577,61 @@
<path name="hdmi" />
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="INT4_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="INT0_MI2S_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer INT3_MI2S_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="speaker-and-display-port">
<path name="speaker" />
<path name="display-port" />
diff --git a/configs/sdm660/mixer_paths_tasha.xml b/configs/sdm660/mixer_paths_tasha.xml
index 1a3b2de..37f47e2 100644
--- a/configs/sdm660/mixer_paths_tasha.xml
+++ b/configs/sdm660/mixer_paths_tasha.xml
@@ -586,6 +586,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -2171,6 +2181,61 @@
<path name="spkr-vi-record">
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<!-- These are actual sound device specific mixer settings -->
<path name="adc1">
<ctl name="AIF1_CAP Mixer SLIM TX6" value="1"/>
diff --git a/configs/sdm660/mixer_paths_tasha_skus.xml b/configs/sdm660/mixer_paths_tasha_skus.xml
index 0cfdf84..54bf9ae 100644
--- a/configs/sdm660/mixer_paths_tasha_skus.xml
+++ b/configs/sdm660/mixer_paths_tasha_skus.xml
@@ -586,6 +586,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -2894,6 +2904,61 @@
<ctl name="HPHR Volume" value="14" />
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="speaker-and-anc-headphones-liquid">
<path name="anc-headphones" />
</path>
diff --git a/configs/sdm660/mixer_paths_tashalite.xml b/configs/sdm660/mixer_paths_tashalite.xml
index 6d0f5f5..d195dcd 100644
--- a/configs/sdm660/mixer_paths_tashalite.xml
+++ b/configs/sdm660/mixer_paths_tashalite.xml
@@ -588,6 +588,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -2153,6 +2163,61 @@
<ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/sdm660/mixer_paths_tavil.xml b/configs/sdm660/mixer_paths_tavil.xml
index 15e45c8..79b671d 100644
--- a/configs/sdm660/mixer_paths_tavil.xml
+++ b/configs/sdm660/mixer_paths_tavil.xml
@@ -326,6 +326,16 @@
<ctl name="SLIM7_RX ADM Channels" value="Zero" />
<!-- split a2dp end-->
+ <!-- VoIP over audio -->
+ <ctl name="MultiMedia10 Mixer SLIM_0_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer SLIM_7_TX" value="0" />
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="0" />
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="SLIMBUS_7_RX Audio Mixer MultiMedia10" value="0" />
+ <ctl name="USB_AUDIO_RX Audio Mixer MultiMedia10" value="0" />
+ <!-- VoIP over audio -->
+
<!-- ADSP testfwk -->
<ctl name="SLIMBUS_DL_HL Switch" value="0" />
<ctl name="SLIMBUS6_DL_HL Switch" value="0" />
@@ -2057,6 +2067,61 @@
<path name="voicemmode2-call"/>
</path>
+ <!-- VoIP Rx settings -->
+ <path name="audio-playback-voip">
+ <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia10" value="1" />
+ </path>
+
+ <path name="audio-playback-voip headphones">
+ <ctl name="SLIMBUS_6_RX Audio Mixer MultiMedia10" value="1" />
+ </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 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 afe-proxy">
+ <ctl name="AFE_PCM_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 speaker-and-display-port">
+ <path name="audio-playback-voip display-port" />
+ <path name="audio-playback-voip" />
+ </path>
+
+ <!-- VoIP Tx settings -->
+ <path name="audio-record-voip">
+ <ctl name="MultiMedia10 Mixer SLIM_0_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 usb-headset-mic">
+ <ctl name="MultiMedia10 Mixer USB_AUDIO_TX" value="1" />
+ </path>
+
<path name="spkr-rx-calib">
<ctl name="SLIMBUS_DL_HL Switch" value="1" />
</path>
diff --git a/configs/sdm660/sdm660.mk b/configs/sdm660/sdm660.mk
index 50f8810..3433c0a 100644
--- a/configs/sdm660/sdm660.mk
+++ b/configs/sdm660/sdm660.mk
@@ -7,7 +7,7 @@
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_COMPRESS_VOIP := false
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
@@ -290,7 +290,7 @@
vendor.audio.feature.compr_cap.enable=false \
vendor.audio.feature.compress_in.enable=false \
vendor.audio.feature.compress_meta_data.enable=true \
-vendor.audio.feature.compr_voip.enable=true \
+vendor.audio.feature.compr_voip.enable=false \
vendor.audio.feature.concurrent_capture.enable=false \
vendor.audio.feature.custom_stereo.enable=true \
vendor.audio.feature.display_port.enable=true \
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
index bb5cc8f..ddff7ed 100644
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -6345,8 +6345,6 @@
void audio_extn_set_parameters(struct audio_device *adev,
struct str_parms *parms)
{
- bool a2dp_reconfig = false;
-
audio_extn_set_aanc_noise_level(adev, parms);
audio_extn_set_anc_parameters(adev, parms);
audio_extn_set_fluence_parameters(adev, parms);
@@ -6355,9 +6353,7 @@
audio_extn_sound_trigger_set_parameters(adev, parms);
audio_extn_listen_set_parameters(adev, parms);
audio_extn_ssr_set_parameters(adev, parms);
- audio_extn_hfp_set_parameters(adev, parms);
audio_extn_dts_eagle_set_parameters(adev, parms);
- audio_extn_a2dp_set_parameters(parms, &a2dp_reconfig);
audio_extn_ddp_set_parameters(adev, parms);
audio_extn_ds2_set_parameters(adev, parms);
audio_extn_customstereo_set_parameters(adev, parms);
diff --git a/hal/audio_extn/soundtrigger.c b/hal/audio_extn/soundtrigger.c
index 52dd070..a97ccf0 100644
--- a/hal/audio_extn/soundtrigger.c
+++ b/hal/audio_extn/soundtrigger.c
@@ -37,6 +37,7 @@
#include <pthread.h>
#include <log/log.h>
#include <unistd.h>
+#include <cutils/properties.h>
#include "audio_hw.h"
#include "audio_extn.h"
#include "platform.h"
@@ -85,7 +86,8 @@
AUDIO_EVENT_BATTERY_STATUS_CHANGED,
AUDIO_EVENT_GET_PARAM,
AUDIO_EVENT_UPDATE_ECHO_REF,
- AUDIO_EVENT_SCREEN_STATUS_CHANGED
+ AUDIO_EVENT_SCREEN_STATUS_CHANGED,
+ AUDIO_EVENT_ROUTE_INIT_DONE
} audio_event_type_t;
typedef enum {
@@ -147,6 +149,7 @@
struct audio_hal_usecase usecase;
bool audio_ec_ref_enabled;
struct sound_trigger_get_param_data st_get_param_data;
+ struct audio_route *audio_route;
} u;
struct sound_trigger_device_info device_info;
};
@@ -208,6 +211,7 @@
pthread_mutex_t lock;
unsigned int sthal_prop_api_version;
bool st_ec_ref_enabled;
+ bool shared_mixer;
};
static struct sound_trigger_audio_device *st_dev;
@@ -493,6 +497,9 @@
return ret;
}
+ if (st_dev->shared_mixer)
+ return ret;
+
pthread_mutex_lock(&st_dev->lock);
if (st_dev->st_ec_ref_enabled) {
ret = true;
@@ -514,6 +521,9 @@
return;
}
+ if (st_dev->shared_mixer)
+ return;
+
ev_info.u.audio_ec_ref_enabled = on;
st_dev->st_callback(AUDIO_EVENT_UPDATE_ECHO_REF, &ev_info);
ALOGD("%s: update audio echo ref status %s",__func__,
@@ -790,6 +800,7 @@
int status = 0;
char sound_trigger_lib[100];
void *sthal_prop_api_version;
+ audio_event_info_t event = {{0}, {0}};
ALOGI("%s: Enter", __func__);
@@ -837,9 +848,15 @@
st_dev->adev = adev;
st_dev->st_ec_ref_enabled = false;
+ st_dev->shared_mixer =
+ property_get_bool("persist.vendor.audio.shared_mixer.enabled", false);
list_init(&st_dev->st_ses_list);
audio_extn_snd_mon_register_listener(st_dev, stdev_snd_mon_cb);
-
+ if (st_dev->shared_mixer) {
+ event.u.audio_route = adev->audio_route;
+ st_dev->st_callback(AUDIO_EVENT_ROUTE_INIT_DONE, &event);
+ ALOGD("%s: send the audio route instance to sthal", __func__);
+ }
return 0;
cleanup:
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 0a07e34..a236f2c 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -8876,7 +8876,6 @@
}
}
- audio_extn_hfp_set_parameters(adev, parms);
audio_extn_qdsp_set_parameters(adev, parms);
status = audio_extn_a2dp_set_parameters(parms, &a2dp_reconfig);
diff --git a/voice_processing/Android.mk b/voice_processing/Android.mk
index ce2da43..3163918 100644
--- a/voice_processing/Android.mk
+++ b/voice_processing/Android.mk
@@ -49,6 +49,11 @@
LOCAL_CFLAGS += -Wno-tautological-compare
LOCAL_CFLAGS += -Wno-unused-function
LOCAL_CFLAGS += -Wno-unused-local-typedef
+ifeq ($(TARGET_BOARD_AUTO),true)
+LOCAL_CFLAGS += -O2 -D_FORTIFY_SOURCE=2
+LOCAL_CFLAGS += -fstack-protector-strong
+endif
+
ifneq ($(filter kona lahaina holi,$(TARGET_BOARD_PLATFORM)),)
LOCAL_SANITIZE := integer_overflow