Merge "configs: update cdp mic configuration"
diff --git a/configs/lahaina/audio_platform_info.xml b/configs/lahaina/audio_platform_info.xml
index 80113a1..5535e64 100644
--- a/configs/lahaina/audio_platform_info.xml
+++ b/configs/lahaina/audio_platform_info.xml
@@ -47,6 +47,7 @@
         <device name="SND_DEVICE_IN_UNPROCESSED_USB_HEADSET_HEX_MIC" acdb_id="162"/>
         <device name="SND_DEVICE_IN_VOCE_RECOG_USB_HEADSET_HEX_MIC" acdb_id="162"/>
         <device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
+        <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
     </acdb_ids>
 
     <module_ids>
diff --git a/configs/lahaina/audio_platform_info_intcodec.xml b/configs/lahaina/audio_platform_info_intcodec.xml
index eb5fbd6..34fded5 100644
--- a/configs/lahaina/audio_platform_info_intcodec.xml
+++ b/configs/lahaina/audio_platform_info_intcodec.xml
@@ -143,6 +143,7 @@
         <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
         <device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
         <device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
+        <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
     </acdb_ids>
     <backend_names>
         <device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
diff --git a/configs/lahaina/audio_platform_info_qrd.xml b/configs/lahaina/audio_platform_info_qrd.xml
index 0980eda..08eeea5 100644
--- a/configs/lahaina/audio_platform_info_qrd.xml
+++ b/configs/lahaina/audio_platform_info_qrd.xml
@@ -143,6 +143,7 @@
         <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" acdb_id="147"/>
         <device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" acdb_id="191"/>
         <device name="SND_DEVICE_IN_VOICE_HEARING_AID" acdb_id="11"/>
+        <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7"/>
     </acdb_ids>
     <backend_names>
         <device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
diff --git a/configs/lahaina/sound_trigger_mixer_paths.xml b/configs/lahaina/sound_trigger_mixer_paths.xml
index 33b6c86..1c08545 100644
--- a/configs/lahaina/sound_trigger_mixer_paths.xml
+++ b/configs/lahaina/sound_trigger_mixer_paths.xml
@@ -261,6 +261,7 @@
         <ctl name="VA SMIC MUX0" value="SWR_MIC3" />
         <ctl name="SWR_MIC3 HIFI PortMap" value="SWRM_TX1_CH4" />
         <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
+        <ctl name="VA_DEC0 Volume" value="99" />
     </path>
 
     <path name="listen-ape-handset-mic-preproc">
@@ -279,6 +280,8 @@
         <ctl name="SWR_MIC0 HIFI PortMap" value="SWRM_TX1_CH1" />
         <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
         <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
+        <ctl name="VA_DEC0 Volume" value="99" />
+        <ctl name="VA_DEC1 Volume" value="99" />
     </path>
 
     <path name="listen-ape-handset-tmic">
@@ -298,6 +301,9 @@
         <ctl name="SWR_MIC3 SWR_DMIC_MIXER Switch" value="1" />
         <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
         <ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="1" />
+        <ctl name="VA_DEC0 Volume" value="99" />
+        <ctl name="VA_DEC1 Volume" value="99" />
+        <ctl name="VA_DEC2 Volume" value="99" />
     </path>
 
     <path name="listen-ape-handset-qmic">
@@ -322,6 +328,10 @@
         <ctl name="SWR_MIC0 SWR_DMIC_MIXER Switch" value="1" />
         <ctl name="SWR_MIC1 SWR_DMIC_MIXER Switch" value="1" />
         <ctl name="SWR_MIC2 SWR_DMIC_MIXER Switch" value="1" />
+        <ctl name="VA_DEC0 Volume" value="99" />
+        <ctl name="VA_DEC1 Volume" value="99" />
+        <ctl name="VA_DEC2 Volume" value="99" />
+        <ctl name="VA_DEC3 Volume" value="99" />
     </path>
 
     <path name="listen-ape-headset-mic">
diff --git a/hal/audio_extn/spkr_protection.c b/hal/audio_extn/spkr_protection.c
index 6187384..ad77b10 100644
--- a/hal/audio_extn/spkr_protection.c
+++ b/hal/audio_extn/spkr_protection.c
@@ -791,6 +791,11 @@
     bool spkr2_is_mono_speaker = false;
     unsigned int r0_index = 0;
 
+    /*Do nothing for SPV4.*/
+    if(sp_prop_version == SP_V4) {
+        handle.sp_version = SP_V4;
+        return;
+    }
     handle.sp_version = SP_V2;
 
     /*
@@ -828,8 +833,6 @@
     if (sp_prop_version < SP_V3 || afe_api_version < AFE_API_VERSION_SUPPORT_SPV3)
         handle.sp_version = SP_V2;
 
-    if(sp_prop_version == SP_V4)
-        handle.sp_version = SP_V4;
 }
 
 static int spkr_calibrate(int t0_spk_1, int t0_spk_2)
@@ -1178,10 +1181,10 @@
         afe_api_version = atoi(afe_version_value);
 
     spv4_enable = property_get_bool("persist.vendor.audio.spv4.enable", false);
-    if (spv3_enable)
-        sp_prop_version = SP_V3;
-    else if (spv4_enable)
+    if (spv4_enable)
         sp_prop_version = SP_V4;
+    else if (spv3_enable)
+        sp_prop_version = SP_V3;
 
     if(spv4_enable)
         handle.sp_version = SP_V4;