Merge "device-common.mk: Remove/adjust some camera libs"
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 4d68670..1cfa78c 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -31,6 +31,7 @@
 TARGET_2ND_CPU_ABI2 := armeabi
 TARGET_2ND_CPU_VARIANT := cortex-a76
 
+BUILD_BROKEN_DUP_RULES := true
 BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on
 BOARD_KERNEL_CMDLINE += msm_rtb.filter=0x237
 BOARD_KERNEL_CMDLINE += ehci-hcd.park=3
@@ -151,14 +152,16 @@
 AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
 AUDIO_FEATURE_ENABLED_SND_MONITOR := true
 AUDIO_FEATURE_ENABLED_USB_TUNNEL := true
-#AUDIO_FEATURE_ENABLED_CIRRUS_SPKR_PROTECTION := true
 BOARD_SUPPORTS_SOUND_TRIGGER := true
 AUDIO_FEATURE_FLICKER_SENSOR_INPUT := true
-SOUND_TRIGGER_FEATURE_LPMA_ENABLED := true
+#SOUND_TRIGGER_FEATURE_LPMA_ENABLED := true
 AUDIO_FEATURE_ENABLED_MAXX_AUDIO := true
 AUDIO_FEATURE_ENABLED_24BITS_CAMCORDER := true
 AUDIO_FEATURE_ENABLED_AUDIO_ZOOM := true
 AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
+#Cirrus cs35l41 speaker amp
+AUDIO_FEATURE_ENABLED_CS35L41 := true
+AUDIO_FEATURE_ENABLED_CS35L41_CALIBRATION_TOOL := true
 
 # Audio hal flag
 TARGET_USES_HARDWARE_QCOM_AUDIO := true
diff --git a/audio/rt5514_dsp_fw1.bin b/audio/rt5514_dsp_fw1.bin
index 5d0065b..d0fc6e0 100644
--- a/audio/rt5514_dsp_fw1.bin
+++ b/audio/rt5514_dsp_fw1.bin
Binary files differ
diff --git a/audio/rt5514_dsp_fw2.bin b/audio/rt5514_dsp_fw2.bin
index 3cbd335..04e30e1 100644
--- a/audio/rt5514_dsp_fw2.bin
+++ b/audio/rt5514_dsp_fw2.bin
Binary files differ
diff --git a/audio/rt5514_dsp_fw3.bin b/audio/rt5514_dsp_fw3.bin
index 9099aa6..5b24462 100644
--- a/audio/rt5514_dsp_fw3.bin
+++ b/audio/rt5514_dsp_fw3.bin
Binary files differ
diff --git a/audio/rt5514_dsp_fw4.bin b/audio/rt5514_dsp_fw4.bin
index 05fad1c..06274e5 100644
--- a/audio/rt5514_dsp_fw4.bin
+++ b/audio/rt5514_dsp_fw4.bin
Binary files differ
diff --git a/audio/sound_trigger_mixer_paths.xml b/audio/sound_trigger_mixer_paths.xml
index 8cb6622..a6404cc 100644
--- a/audio/sound_trigger_mixer_paths.xml
+++ b/audio/sound_trigger_mixer_paths.xml
@@ -28,6 +28,14 @@
 
 <mixer>
     <!-- These are the initial mixer settings -->
+    <ctl name="LSM1 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM2 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM3 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM4 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM5 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM6 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM7 Mixer PRI_TDM_TX_0" value="0" />
+    <ctl name="LSM8 Mixer PRI_TDM_TX_0" value="0" />
     <ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="0" />
     <ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="0" />
     <ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="0" />
@@ -81,37 +89,58 @@
     <ctl name="EC Reference Channels" value="Zero"/>
     <ctl name="EC Reference Bit Format" value="0"/>
     <ctl name="EC Reference SampleRate" value="0"/>
+    <ctl name="PRI_TDM_TX_0 LSM Function" value="None" />
+    <ctl name="PRI_TDM_TX_0 Channels" value="One" />
+    <ctl name="Sto1 ADC MIXL DMIC Switch" value="1" />
+    <ctl name="Sto2 ADC MIXL DMIC Switch" value="1" />
+    <ctl name="Sto2 ADC MIXR DMIC Switch" value="1" />
 
     <path name="listen-voice-wakeup-1">
-        <ctl name="LSM1 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM1 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM1 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-2">
-        <ctl name="LSM2 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM2 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM2 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-3">
-        <ctl name="LSM3 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM3 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM3 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-4">
-        <ctl name="LSM4 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM4 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM4 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-5">
-        <ctl name="LSM5 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM5 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM5 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-6">
-        <ctl name="LSM6 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM6 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM6 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-7">
-        <ctl name="LSM7 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM7 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM7 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-8">
-        <ctl name="LSM8 Mixer VA_CDC_DMA_TX_0" value="1" />
+        <ctl name="PRI_TDM_TX_0 LSM Function" value="AUDIO" />
+        <ctl name="LSM8 Port" value="PRI_TDM_TX_0" />
+        <ctl name="LSM8 Mixer PRI_TDM_TX_0" value="1" />
     </path>
 
     <path name="listen-voice-wakeup-1 preproc">
@@ -147,35 +176,35 @@
     </path>
 
     <path name="listen-voice-wakeup-1 port">
-        <ctl name="LSM1 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM1 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-2 port">
-        <ctl name="LSM2 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM2 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-3 port">
-        <ctl name="LSM3 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM3 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-4 port">
-        <ctl name="LSM4 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM4 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-5 port">
-        <ctl name="LSM5 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM5 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-6 port">
-        <ctl name="LSM6 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM6 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-7 port">
-        <ctl name="LSM7 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM7 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-8 port">
-        <ctl name="LSM8 Port" value="VA_CDC_DMA_TX_0" />
+        <ctl name="LSM8 Port" value="PRI_TDM_TX_0" />
     </path>
 
     <path name="listen-voice-wakeup-1 preproc port">
@@ -211,36 +240,21 @@
     </path>
 
     <path name="listen-ape-handset-mic">
-        <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
-        <ctl name="VA DEC0 MUX" value="MSM_DMIC" />
-        <ctl name="VA DMIC MUX0" value="DMIC4" />
-    </path>
-
-    <path name="listen-ape-handset-mic-preproc">
-        <path name="listen-ape-handset-mic" />
+        <ctl name="ADC1 Capture Volume" value="45" />
+        <ctl name="ADC2 Capture Volume" value="45" />
+        <ctl name="PRI_TDM_TX_0 Channels" value="One" />
     </path>
 
     <path name="listen-ape-handset-dmic">
-        <ctl name="VA_CDC_DMA_TX_0 Channels" value="Two" />
-        <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
-        <ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
-        <ctl name="VA DEC0 MUX" value="MSM_DMIC" />
-        <ctl name="VA DEC1 MUX" value="MSM_DMIC" />
-        <ctl name="VA DMIC MUX0" value="DMIC4" />
-        <ctl name="VA DMIC MUX1" value="DMIC0" />
+        <ctl name="ADC1 Capture Volume" value="45"/>
+        <ctl name="ADC2 Capture Volume" value="45"/>
+        <ctl name="PRI_TDM_TX_0 Channels" value="Two"/>
     </path>
 
     <path name="listen-ape-handset-tmic">
-        <ctl name="VA_CDC_DMA_TX_0 Channels" value="Three" />
-        <ctl name="VA_AIF1_CAP Mixer DEC0" value="1" />
-        <ctl name="VA_AIF1_CAP Mixer DEC1" value="1" />
-        <ctl name="VA_AIF1_CAP Mixer DEC2" value="1" />
-        <ctl name="VA DEC0 MUX" value="MSM_DMIC" />
-        <ctl name="VA DEC1 MUX" value="MSM_DMIC" />
-        <ctl name="VA DEC2 MUX" value="MSM_DMIC" />
-        <ctl name="VA DMIC MUX0" value="DMIC4" />
-        <ctl name="VA DMIC MUX1" value="DMIC0" />
-        <ctl name="VA DMIC MUX2" value="DMIC1" />
+        <ctl name="ADC1 Capture Volume" value="45" />
+        <ctl name="ADC2 Capture Volume" value="45" />
+        <ctl name="PRI_TDM_TX_0 Channels" value="Three" />
     </path>
 
     <path name="listen-ape-handset-qmic">
@@ -269,7 +283,7 @@
     </path>
 
     <path name="echo-reference">
-        <ctl name="AUDIO_REF_EC_UL1 MUX" value="WSA_CDC_DMA_RX_0"/>
+        <ctl name="AUDIO_REF_EC_UL1 MUX" value="QUIN_TDM_TX_0"/>
         <ctl name="EC Reference Channels" value="Two"/>
         <ctl name="EC Reference Bit Format" value="S16_LE"/>
         <ctl name="EC Reference SampleRate" value="48000"/>
diff --git a/audio/sound_trigger_platform_info.xml b/audio/sound_trigger_platform_info.xml
index 4f1aa6f..6589e0a 100644
--- a/audio/sound_trigger_platform_info.xml
+++ b/audio/sound_trigger_platform_info.xml
@@ -41,14 +41,13 @@
         <param enable_failure_detection="false" />
         <param support_device_switch="false" />
         <param transit_to_non_lpi_on_battery_charging="false" />
+        <param concurrent_capture="true" />
+        <param transit_to_adsp_on_playback="true" />
         <!-- Below backend params must match with port used in mixer path file -->
         <!-- param used to configure backend sample rate, format and channels -->
-        <param backend_port_name="VA_CDC_DMA_TX_0" />
+        <param backend_port_name="PRI_TDM_TX_0" />
         <!-- Param used to match and obtain device backend index -->
-        <param backend_dai_name="VA_CDC_DMA_TX_0" />
-        <!-- Param used to indicate if SVA has dedicated SLIM ports -->
-        <param dedicated_sva_path="true" />
-        <param platform_lpi_enable="true" />
+        <param backend_dai_name="PRI_TDM_TX_0" />
     </common_config>
     <acdb_ids>
         <param DEVICE_HANDSET_MIC_APE="100" />
@@ -222,7 +221,7 @@
             <param fluence_type="NONE" />
             <param execution_mode="ADSP" />
             <param app_type="3" /> <!-- app type used in ACDB -->
-            <param in_channels="1"/> <!-- Module input channels -->
+            <param in_channels="2"/> <!-- Module input channels -->
             <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
             <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
             <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
@@ -275,13 +274,13 @@
             <param fluence_type="NONE" />
             <param execution_mode="ADSP" />
             <param app_type="3" /> <!-- app type used in ACDB -->
-            <param in_channels="1"/> <!-- Module input channels -->
-            <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
-            <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
-            <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
-            <param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
-            <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
-            <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
+            <param in_channels="2"/> <!-- Module input channels -->
+            <param load_sound_model_ids="0x18100000, 0x0, 0x00012C14" />
+            <param unload_sound_model_ids="0x18100000, 0x0, 0x00012C15" />
+            <param confidence_levels_ids="0x18100000, 0x0, 0x00012C07" />
+            <param operation_mode_ids="0x18100000, 0x0, 0x00012C02" />
+            <param polling_enable_ids="0x18100000, 0x0, 0x00012C1B" />
+            <param custom_config_ids="0x18100000, 0x0, 0x00012C20" />
         </lsm_usecase>
         <lsm_usecase>
             <param capture_device="HEADSET" />
@@ -289,13 +288,13 @@
             <param fluence_type="NONE" />
             <param execution_mode="ADSP" />
             <param app_type="3" /> <!-- app type used in ACDB -->
-            <param in_channels="1"/> <!-- Module input channels -->
-            <param load_sound_model_ids="0x18000001, 0x0, 0x00012C14" />
-            <param unload_sound_model_ids="0x18000001, 0x0, 0x00012C15" />
-            <param confidence_levels_ids="0x18000001, 0x0, 0x00012C07" />
-            <param operation_mode_ids="0x18000001, 0x0, 0x00012C02" />
-            <param polling_enable_ids="0x18000001, 0x0, 0x00012C1B" />
-            <param custom_config_ids="0x18000001, 0x0, 0x00012C20" />
+            <param in_channels="2"/> <!-- Module input channels -->
+            <param load_sound_model_ids="0x18100000, 0x0, 0x00012C14" />
+            <param unload_sound_model_ids="0x18100000, 0x0, 0x00012C15" />
+            <param confidence_levels_ids="0x18100000, 0x0, 0x00012C07" />
+            <param operation_mode_ids="0x18100000, 0x0, 0x00012C02" />
+            <param polling_enable_ids="0x18100000, 0x0, 0x00012C1B" />
+            <param custom_config_ids="0x18100000, 0x0, 0x00012C20" />
         </lsm_usecase>
 
         <!-- format: "ADPCM_packet" or "PCM_packet" !-->
diff --git a/device-common.mk b/device-common.mk
index 210905b..dbf8c7a 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -37,6 +37,8 @@
     vendor/qcom/sm7250 \
     vendor/google/interfaces
 
+DEVICE_USES_SM8150_DIAG_HAL := true
+
 PRODUCT_PROPERTY_OVERRIDES += \
     keyguard.no_require_sim=true
 
@@ -573,6 +575,13 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.vendor.sys.ssr.restart_level=modem,SDXPRAIRIE,adsp,slpi
 
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+# Sensor debug flag
+PRODUCT_PROPERTY_OVERRIDES += \
+    persist.vendor.debug.ash.logger=0 \
+    persist.vendor.debug.ash.logger.time=0
+endif
+
 # setup dalvik vm configs
 $(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
 
@@ -824,6 +833,7 @@
 
 # Display
 -include hardware/qcom/sm7250/display/config/display-product.mk
+-include vendor/qcom/sm7250/proprietary/display/config/display-product-proprietary.mk
 
 # Security
 -include vendor/qcom/sm7250/proprietary/securemsm/config/keymaster_vendor_proprietary_board.mk
diff --git a/device_framework_matrix.xml b/device_framework_matrix.xml
index 6b15d1a..6448925 100644
--- a/device_framework_matrix.xml
+++ b/device_framework_matrix.xml
@@ -64,7 +64,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.display.color</name>
-        <version>1.0-4</version>
+        <version>1.0-5</version>
         <interface>
              <name>IDisplayColor</name>
              <instance>default</instance>
@@ -72,13 +72,21 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.display.config</name>
-        <version>1.0-9</version>
+        <version>1.0-10</version>
         <interface>
             <name>IDisplayConfig</name>
             <instance>default</instance>
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>vendor.display.postproc</name>
+        <version>1.0</version>
+        <interface>
+             <name>IDisplayPostproc</name>
+             <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>vendor.google.radioext</name>
         <version>1.1</version>
         <interface>
@@ -182,6 +190,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.display.allocator</name>
+        <version>1.0</version>
         <version>3.0</version>
         <interface>
             <name>IQtiAllocator</name>
@@ -190,6 +199,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.display.mapper</name>
+        <version>2.0</version>
         <version>3.0</version>
         <interface>
             <name>IQtiMapper</name>
@@ -205,6 +215,14 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>vendor.qti.hardware.display.composer</name>
+        <version>2.0</version>
+        <interface>
+            <name>IQtiComposer</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>vendor.qti.imsrtpservice</name>
         <version>2.0</version>
         <interface>
diff --git a/init.hardware.rc b/init.hardware.rc
index bef4fa2..7b293d2 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -266,6 +266,8 @@
 
     mkdir /data/vendor/sensors 0770
     chown system system /data/vendor/sensors
+    mkdir /data/vendor/sensors/log 0770
+    chown system system /data/vendor/sensors/log
 
     chmod 770 /mnt/vendor/persist/audio
     chmod 660 /mnt/vendor/persist/audio/audio.cal
@@ -611,7 +613,7 @@
    user root
    group root system
 
-service modem_svc /vendor/bin/modem_svc
+service modem_svc /vendor/bin/modem_svc -q
    class core
    user root
    group system
diff --git a/manifest.xml b/manifest.xml
index 528fa29..a172fed 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -126,55 +126,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.graphics.allocator</name>
-        <transport>hwbinder</transport>
-        <impl level="generic"></impl>
-        <version>2.0</version>
-        <interface>
-            <name>IAllocator</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>android.hardware.graphics.mapper</name>
-        <transport arch="32+64">passthrough</transport>
-        <impl level="generic"></impl>
-        <version>2.1</version>
-        <interface>
-            <name>IMapper</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>android.hardware.graphics.composer</name>
-        <transport>hwbinder</transport>
-        <impl level="generic"></impl>
-        <version>2.3</version>
-        <interface>
-            <name>IComposer</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>vendor.display.config</name>
-        <transport>hwbinder</transport>
-        <impl level="generic"></impl>
-        <version>1.8</version>
-        <interface>
-            <name>IDisplayConfig</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>vendor.display.color</name>
-        <transport>hwbinder</transport>
-        <version>1.3</version>
-        <interface>
-            <name>IDisplayColor</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
         <name>vendor.google.radioext</name>
         <transport>hwbinder</transport>
         <version>1.1</version>
diff --git a/media_profiles_V1_0.xml b/media_profiles_V1_0.xml
index d6f2e00..54328e6 100644
--- a/media_profiles_V1_0.xml
+++ b/media_profiles_V1_0.xml
@@ -698,6 +698,261 @@
         <ImageDecoding memCap="20000000" />
     </CamcorderProfiles>
 
+    <!-- ****************************************************************** -->
+    <!-- camera id = 3 : dual rear cameras   -->
+    <!-- ****************************************************************** -->
+    <CamcorderProfiles cameraId="3">
+
+        <!-- low: 176 x 144 30fps -->
+        <EncoderProfile quality="low" fileFormat="3gp" duration="60">
+            <Video codec="h264"
+                   bitRate="128000"
+                   width="176"
+                   height="144"
+                   frameRate="30" />
+            <Audio codec="amrnb"
+                   bitRate="12200"
+                   sampleRate="8000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- high: 3840 x 2160 30fps -->
+        <EncoderProfile quality="high" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="48000000"
+                   width="3840"
+                   height="2160"
+                   frameRate="30" />
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- qcif: 176 x 144 30fps -->
+        <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
+            <Video codec="h264"
+                   bitRate="128000"
+                   width="176"
+                   height="144"
+                   frameRate="30" />
+            <Audio codec="amrnb"
+                   bitRate="12200"
+                   sampleRate="8000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- qvga: 320 x 240 30fps -->
+        <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
+            <Video codec="h264"
+                   bitRate="512000"
+                   width="320"
+                   height="240"
+                   frameRate="30" />
+            <Audio codec="aac"
+                   bitRate="156000"
+                   sampleRate="48000"
+                   channels="2" />
+        </EncoderProfile>
+
+        <!-- cif: 352 x 288 30fps -->
+        <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="1200000"
+                   width="352"
+                   height="288"
+                   frameRate="30" />
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- 480p: 720 x 480 30fps -->
+        <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="6000000"
+                   width="720"
+                   height="480"
+                   frameRate="30" />
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- 720p: 1280 x 720 60fps -->
+        <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="18000000"
+                   width="1280"
+                   height="720"
+                   frameRate="60" />
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- 1080p: 1920 x 1080 60fps -->
+        <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="33000000"
+                   width="1920"
+                   height="1080"
+                   frameRate="60" />
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- 2160p: 3840 x 2160 30fps -->
+        <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="48000000"
+                   width="3840"
+                   height="2160"
+                   frameRate="30" />
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- timelapse_qcif: 176 x 144 30fps -->
+        <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="192000"
+                   width="176"
+                   height="144"
+                   frameRate="30" />
+            <!-- audio setting is ignored -->
+            <Audio codec="amrnb"
+                   bitRate="12200"
+                   sampleRate="8000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- timelapse_cif: 352 x 288 30fps -->
+        <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="1200000"
+                   width="352"
+                   height="288"
+                   frameRate="30" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- timelapse_480p: 720 x 480 30fps -->
+        <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="6000000"
+                   width="720"
+                   height="480"
+                   frameRate="30" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- timelapse_720p: 1280 x 720 30fps -->
+        <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="12000000"
+                   width="1280"
+                   height="720"
+                   frameRate="30" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- timelapse_1080p: 1920 x 1080 30fps -->
+        <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="17000000"
+                   width="1920"
+                   height="1080"
+                   frameRate="30" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- timelapse_2160p: 3840 x 2160 30fps -->
+        <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="42000000"
+                   width="3840"
+                   height="2160"
+                   frameRate="30" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- highspeed_low: 1920 x 1080 240fps 63.0 Mbps -->
+        <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="63000000"
+                   width="1920"
+                   height="1080"
+                   frameRate="240" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- highspeed_high: 1920 x 1080 240fps 63.0 Mbps -->
+        <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="63000000"
+                   width="1920"
+                   height="1080"
+                   frameRate="240" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <!-- highspeed_1080p: 1920 x 1080 240fps 63.0 Mbps -->
+        <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
+            <Video codec="h264"
+                   bitRate="63000000"
+                   width="1920"
+                   height="1080"
+                   frameRate="240" />
+            <!-- audio setting is ignored -->
+            <Audio codec="aac"
+                   bitRate="96000"
+                   sampleRate="48000"
+                   channels="1" />
+        </EncoderProfile>
+
+        <ImageEncoding quality="95" />
+        <ImageEncoding quality="80" />
+        <ImageEncoding quality="70" />
+        <ImageDecoding memCap="20000000" />
+    </CamcorderProfiles>
+
+
     <EncoderOutputFileFormat name="3gp" />
     <EncoderOutputFileFormat name="mp4" />
 
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 56656fa..fc2481c 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -162,47 +162,6 @@
     <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
     <integer name="config_networkWakeupPacketMask">0x80000000</integer>
 
-    <!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
-    <bool translatable="false" name="config_wifi_dual_band_support">true</bool>
-
-    <!-- Boolean indicating whether the wifi chipset requires the softap band be -->
-    <!-- converted from 5GHz to ANY due to hardware restrictions -->
-    <bool translatable="false" name="config_wifi_convert_apband_5ghz_to_any">true</bool>
-
-    <!-- Boolean indicating whether 802.11r Fast BSS Transition is enabled on this platform -->
-    <bool translatable="false" name="config_wifi_fast_bss_transition_enabled">true</bool>
-
-    <!-- Boolean indicating whether the wifi chipset has background scan support -->
-    <bool translatable="false" name="config_wifi_background_scan_support">true</bool>
-
-
-    <!-- Wifi driver supports batched scan -->
-    <bool translatable="false" name="config_wifi_batched_scan_supported">true</bool>
-
-    <!-- Boolean indicating whether or not to revert to default country code when cellular
-    radio is unable to find any MCC information to infer wifi country code from -->
-    <bool translatable="false" name="config_wifi_revert_country_code_on_cellular_loss">false</bool>
-
-    <!-- Array indicating wifi fatal firmware alert error code list from driver -->
-    <integer-array translatable="false" name="config_wifi_fatal_firmware_alert_error_code_list">
-        <item>1</item>      <!-- WLAN_LOG_REASON_ROAM_FAIL -->
-        <item>256</item>    <!-- DATA_STALL_LOG_NONE -->
-        <item>257</item>    <!-- DATA_STALL_LOG_FW_VDEV_PAUSE -->
-        <item>258</item>    <!-- DATA_STALL_LOG_HWSCHED_CMD_FILTER -->
-        <item>259</item>    <!-- DATA_STALL_LOG_HWSCHED_CMD_FLUSH -->
-        <item>260</item>    <!-- DATA_STALL_LOG_FW_RX_REFILL_FAILED -->
-        <item>261</item>    <!-- DATA_STALL_LOG_FW_RX_FCS_LEN_ERROR -->
-        <item>262</item>    <!-- DATA_STALL_LOG_FW_WDOG_ERRORS -->
-        <item>263</item>    <!-- DATA_STALL_LOG_BB_WDOG_ERROR -->
-        <item>264</item>    <!-- DATA_STALL_LOG_POST_TIM_NO_TXRX_ERROR -->
-        <item>512</item>    <!-- DATA_STALL_LOG_HOST_STA_TX_TIMEOUT -->
-        <item>513</item>    <!-- DATA_STALL_LOG_HOST_SOFTAP_TX_TIMEOUT -->
-        <item>514</item>    <!-- DATA_STALL_LOG_NUD_FAILURE -->
-    </integer-array>
-
-    <!-- Boolean indicating whether or not wifi should turn off when emergency call is made -->
-    <bool translatable="false" name="config_wifi_turn_off_during_emergency_call">true</bool>
-
     <!-- ImsService package name to bind to by default, if config_dynamic_bind_ims is true -->
     <string name="config_ims_package">org.codeaurora.ims</string>
 
@@ -247,25 +206,6 @@
         <item>lte:524288,1048576,8388608,262144,524288,4194304</item>
     </string-array>
 
-    <!-- Configure wifi tcp buffersizes in the form:
-         rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max -->
-    <string name="config_wifi_tcp_buffers" translatable="false">524288,2097152,8388608,262144,524288,4194304</string>
-
-    <!-- Idle Receive current for wifi radio. 0 by default-->
-    <integer translatable="false" name="config_wifi_idle_receive_cur_ma">1</integer>
-
-    <!-- Rx current for wifi radio. 0 by default-->
-    <integer translatable="false" name="config_wifi_active_rx_cur_ma">100</integer>
-
-    <!-- Tx current for wifi radio. 0 by default-->
-    <integer translatable="false" name="config_wifi_tx_cur_ma">250</integer>
-
-    <!-- Operating volatage for wifi radio. 0 by default-->
-    <integer translatable="false" name="config_wifi_operating_voltage_mv">3800</integer>
-
-    <!-- Config SoftAP 2G channel list -->
-    <string  translatable="false" name="config_wifi_framework_sap_2G_channel_list">6</string>
-
     <!-- Config determines whether to update phone object when voice registration
          state changes. Voice radio tech change will always trigger an update of
          phone object irrespective of this config -->
@@ -303,19 +243,6 @@
     <!-- Whether the new Auto Selection Network UI should be shown -->
     <bool name="config_enableNewAutoSelectNetworkUI">true</bool>
 
-    <!-- Enable ACS (auto channel selection) for Wifi hotspot (SAP) -->
-    <bool translatable="false" name="config_wifi_softap_acs_supported">true</bool>
-
-    <!-- Enable 802.11ac for Wifi hotspot (SAP) -->
-    <bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">true</bool>
-
-    <!-- Integer thresholds, do not connect to APs with RSSI lower than these values  -->
-    <integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz">-77</integer>
-    <integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz">-80</integer>
-    <!-- Integer thresholds for low network score, should be somewhat less than the entry threshholds -->
-    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz">-80</integer>
-    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz">-83</integer>
-
     <string name="config_wlan_data_service_package">vendor.qti.iwlan</string>
     <string name="config_wlan_network_service_package">vendor.qti.iwlan</string>
     <string name="config_qualified_networks_service_package">vendor.qti.iwlan</string>
@@ -326,17 +253,4 @@
     <bool name="config_enableHapticTextHandle">true</bool>
     <!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
     <bool name="config_zramWriteback">true</bool>
-
-    <!-- True if the firmware supports connected MAC randomization -->
-    <bool name="config_wifi_connected_mac_randomization_supported">true</bool>
-
-    <!-- True if the firmware supports p2p MAC randomization -->
-    <bool name="config_wifi_p2p_mac_randomization_supported">true</bool>
-
-    <!-- True if the firmware supports Wi-Fi link probing -->
-    <bool name="config_wifi_link_probing_supported">true</bool>
-
-    <!-- Integer delay in milliseconds before set wlan interface up during watchdog recovery -->
-    <integer name="config_wifi_framework_recovery_timeout_delay">3000</integer>
-
 </resources>