zenfone9: zf8/lahaina --> zf9/taro
diff --git a/Android.mk b/Android.mk
index 43b5cab..d26cf21 100755
--- a/Android.mk
+++ b/Android.mk
@@ -27,7 +27,7 @@
 
 LOCAL_PATH := $(call my-dir)
 
-ifeq ($(TARGET_DEVICE),$(filter $(TARGET_DEVICE),zenfone8))
+ifeq ($(TARGET_DEVICE),$(filter $(TARGET_DEVICE),zenfone9))
 
 include $(CLEAR_VARS)
 HELPER_LIBS := libsystemhelper_jni.so
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
index ed61ca8..0bf7ca8 100644
--- a/AndroidBoard.mk
+++ b/AndroidBoard.mk
@@ -16,6 +16,6 @@
 
 LOCAL_PATH := $(call my-dir)
 
-ifneq ($(filter zenfone8,$(TARGET_DEVICE)),)
+ifneq ($(filter zenfone9,$(TARGET_DEVICE)),)
 include $(call all-makefiles-under,$(LOCAL_PATH))
 endif
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index a83074b..8ca8b0c 100755
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -1,7 +1,7 @@
 PRODUCT_MAKEFILES := \
-    $(LOCAL_DIR)/omni_zenfone8.mk
+    $(LOCAL_DIR)/omni_zenfone9.mk
 
 COMMON_LUNCH_CHOICES := \
-    omni_zenfone8-user \
-    omni_zenfone8-userdebug \
-    omni_zenfone8-eng
\ No newline at end of file
+    omni_zenfone9-user \
+    omni_zenfone9-userdebug \
+    omni_zenfone9-eng
\ No newline at end of file
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 2426713..7363e66 100755
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -18,7 +18,7 @@
 # device-specific aspects (drivers) with a device-agnostic
 # product configuration (apps).
 #
-DEVICE_PATH := device/asus/zenfone8
+DEVICE_PATH := device/asus/zenfone9
 
 BOARD_VENDOR := asus
 
@@ -60,7 +60,7 @@
 TARGET_SURFACEFLINGER_UDFPS_LIB := //$(DEVICE_PATH):libudfps_extension.sake
 
 # Bootloader
-TARGET_BOOTLOADER_BOARD_NAME := lahaina
+TARGET_BOOTLOADER_BOARD_NAME := taro
 TARGET_NO_BOOTLOADER := true
 
 # A/B
@@ -127,7 +127,7 @@
 DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DEVICE_PATH)/manifest/vendor_framework_compatibility_matrix.xml \
                                               $(DEVICE_PATH)/manifest/asus_framework_matrix.xml
 DEVICE_FRAMEWORK_MANIFEST_FILE += $(DEVICE_PATH)/manifest/framework_manifest.xml
-DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest/manifest_lahaina.xml
+DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest/manifest_taro.xml
 DEVICE_MATRIX_FILE += $(DEVICE_PATH)/manifest/compatibility_matrix.xml
 
 # Kernel
@@ -296,8 +296,8 @@
 BOARD_ROOT_EXTRA_FOLDERS += ADF APD asdf batinfo
 
 # Platform
-QCOM_HARDWARE_VARIANT := sm8350
-TARGET_BOARD_PLATFORM := lahaina
+QCOM_HARDWARE_VARIANT := sm8450
+TARGET_BOARD_PLATFORM := taro
 TARGET_BOARD_PLATFORM_GPU := qcom-adreno660
 
 # Properties
diff --git a/audio/audio_platform_info_intcodec.xml b/audio/audio_platform_info_intcodec.xml
deleted file mode 100644
index 791d6a4..0000000
--- a/audio/audio_platform_info_intcodec.xml
+++ /dev/null
@@ -1,601 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2014, 2016-2020, The Linux Foundation. All rights reserved.   -->
-<!--                                                                        -->
-<!-- Redistribution and use in source and binary forms, with or without     -->
-<!-- modification, are permitted provided that the following conditions are -->
-<!-- met:                                                                   -->
-<!--     * Redistributions of source code must retain the above copyright   -->
-<!--       notice, this list of conditions and the following disclaimer.    -->
-<!--     * Redistributions in binary form must reproduce the above          -->
-<!--       copyright notice, this list of conditions and the following      -->
-<!--       disclaimer in the documentation and/or other materials provided  -->
-<!--       with the distribution.                                           -->
-<!--     * Neither the name of The Linux Foundation nor the names of its    -->
-<!--       contributors may be used to endorse or promote products derived  -->
-<!--       from this software without specific prior written permission.    -->
-<!--                                                                        -->
-<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED           -->
-<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF   -->
-<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
-<!-- ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
-<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
-<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF   -->
-<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        -->
-<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -->
-<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
-<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          -->
-<audio_platform_info>
-    <bit_width_configs>
-        <device name="SND_DEVICE_OUT_SPEAKER" bit_width="24"/>
-    </bit_width_configs>
-    <interface_names>
-        <device name="AUDIO_DEVICE_IN_BUILTIN_MIC" interface="TX_CDC_DMA_TX_3" codec_type="internal"/>
-        <device name="AUDIO_DEVICE_IN_BACK_MIC" interface="TX_CDC_DMA_TX_3" codec_type="internal"/>
-    </interface_names>
-
-    <module_ids>
-        <aec>
-            <device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
-            <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x01"/>
-        </aec>
-        <ns>
-            <device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" module_id="0x10F39" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
-            <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" module_id="0x10F38" instance_id="0x8000" param_id="0x10EAF" param_value="0x02"/>
-        </ns>
-    </module_ids>
-
-    <pcm_ids>
-        <usecase name="USECASE_AUDIO_PLAYBACK_LOW_LATENCY" type="out" id="9"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD" type="out" id="7"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD2" type="out" id="11"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD3" type="out" id="43"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD4" type="out" id="24"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD5" type="out" id="25"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD6" type="out" id="26"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD7" type="out" id="27"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_OFFLOAD8" type="out" id="28"/>
-        <usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="2"/>
-        <usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
-        <usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="15"/>
-        <usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="15"/>
-        <usecase name="USECASE_VOWLAN_CALL" type="in" id="-1"/>
-        <usecase name="USECASE_VOWLAN_CALL" type="out" id="-1"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_FM" type="out" id="30"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_FM" type="in" id="32"/>
-        <usecase name="USECASE_AUDIO_SPKR_CALIB_RX" type="out" id="30"/>
-        <usecase name="USECASE_AUDIO_SPKR_CALIB_TX" type="in" id="33"/>
-        <usecase name="USECASE_AUDIO_PLAYBACK_AFE_PROXY" type="out" id="5"/>
-        <usecase name="USECASE_AUDIO_RECORD_AFE_PROXY" type="in" id="6"/>
-        <usecase name="USECASE_AUDIO_RECORD_AFE_PROXY2" type="in" id="42"/>
-        <usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="13" />
-        <usecase name="USECASE_AUDIO_RECORD_VOIP_LOW_LATENCY" type="in" id="13" />
-        <usecase name="USECASE_AUDIO_PLAYBACK_ULL" type="out" id="13" />
-        <usecase name="USECASE_AUDIO_PLAYBACK_SILENCE" type="out" id="23" />
-        <usecase name="USECASE_AUDIO_PLAYBACK_VOIP" type="out" id="12" />
-        <usecase name="USECASE_AUDIO_RECORD_VOIP" type="in" id="12" />
-        <usecase name="USECASE_AUDIO_HFP_SCO" type="in" id="12" />
-        <usecase name="USECASE_AUDIO_HFP_SCO_WB" type="in" id="12" />
-        <usecase name="USECASE_AUDIO_PLAYBACK_MMAP" type="out" id="29" />
-        <usecase name="USECASE_AUDIO_RECORD_MMAP" type="in" id="29" />
-        <usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="in" id="36" />
-        <usecase name="USECASE_AUDIO_A2DP_ABR_FEEDBACK" type="out" id="36" />
-        <usecase name="USECASE_INCALL_MUSIC_UPLINK" 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" />
-        <usecase name="USECASE_INCALL_REC_UPLINK" type="in" id="23" />
-        <usecase name="USECASE_INCALL_REC_DOWNLINK" type="in" id="23" />
-        <usecase name="USECASE_INCALL_REC_UPLINK_AND_DOWNLINK" type="in" id="23" />
-    </pcm_ids>
-    <config_params>
-        <!-- In the below value string, the value indicates default mono -->
-        <!-- speaker. It can be set to either left or right              -->
-        <param key="mono_speaker" value="left"/>
-        <param key="spkr_1_tz_name" value="wsatz.13"/>
-        <param key="spkr_2_tz_name" value="wsatz.14"/>
-        <param key="true_32_bit" value="true"/>
-        <param key="hifi_filter" value="false"/>
-        <param key="native_audio_mode" value="multiple_mix_dsp"/>
-        <param key="hfp_pcm_dev_id" value="39"/>
-        <param key="input_mic_max_count" value="4"/>
-    </config_params>
-    <gain_db_to_level_mapping>
-        <gain_level_map db="-59" level="5"/>
-        <gain_level_map db="-17.4" level="4"/>
-        <gain_level_map db="-13.8" level="3"/>
-        <gain_level_map db="-10.2" level="2"/>
-        <gain_level_map db="0" level="1"/>
-    </gain_db_to_level_mapping>
-    <acdb_ids>
-        <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="15"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="15"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="124"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="101"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" acdb_id="124"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" acdb_id="101"/>
-        <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="102"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" acdb_id="150"/>
-        <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_OUT_SPEAKER_EXTERNAL_1" acdb_id="14"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_2" acdb_id="14"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" acdb_id="10"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" acdb_id="10"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" acdb_id="45"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET_OUTDOOR" acdb_id="45"/>
-        <device name="SND_DEVICE_OUT_AFE_PROXY" acdb_id="800"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADSET" acdb_id="310"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADPHONES" acdb_id="310"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADSET_3RD" acdb_id="311"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADPHONES_3RD" acdb_id="311"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADSET" acdb_id="713"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADPHONES" acdb_id="713"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADSET_3RD" acdb_id="714"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADPHONES_3RD" acdb_id="714"/>
-        <device name="SND_DEVICE_OUT_USB_HEADSET_RINGTONE" acdb_id="70"/>
-        <device name="SND_DEVICE_OUT_USB_HEADSET_3RD_PARTY_SPKR" acdb_id="71"/>
-        <device name="SND_DEVICE_OUT_VOICE_USB_HEADSET_3RD" acdb_id="47"/>
-        <device name="SND_DEVICE_OUT_VOICE_USB_HEADPHONES_3RD" acdb_id="47"/>
-        <device name="SND_DEVICE_OUT_VOICE_USB_HEADSET" acdb_id="45"/>
-        <device name="SND_DEVICE_OUT_VOIP_HEADPHONES" acdb_id="502"/>
-        <device name="SND_DEVICE_OUT_VOIP_HEADSET" acdb_id="502"/>
-        <device name="SND_DEVICE_OUT_VOIP_SPEAKER" acdb_id="702"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_SPEAKER" acdb_id="708"/>
-        <device name="SND_DEVICE_OUT_VOIP_HANDSET" acdb_id="302"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_GAME" acdb_id="787"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_OUTDOOR" acdb_id="95"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_HD_440BT" acdb_id="939"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_MI_BASIC" acdb_id="941"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_HD_440BT_WB" acdb_id="939"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_MI_BASIC_WB" acdb_id="941"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_RINGTONE" acdb_id="72"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_HIGH_IMP" acdb_id="503"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_FM" acdb_id="52"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_HEADPHONES" acdb_id="711"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_HEADSET" acdb_id="711"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_KARAOK" acdb_id="910"/>
-        <device name="SND_DEVICE_OUT_USB_HEADPHONES_KARAOK" acdb_id="945"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="143"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" acdb_id="144"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" acdb_id="145"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" acdb_id="146"/>
-        <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"/>
-        <device name="SND_DEVICE_IN_VOICE_DMIC" acdb_id="41"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="42"/>
-        <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" acdb_id="8"/>
-        <device name="SND_DEVICE_IN_VOICE_USB_HEADSET_MIC" acdb_id="44"/>
-        <device name="SND_DEVICE_IN_MIC_3" acdb_id="4"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="4"/>
-        <device name="SND_DEVICE_IN_VOIP_HANDSET_DMIC" acdb_id="202"/>
-        <device name="SND_DEVICE_IN_VOIP_HEADSET_MIC" acdb_id="402"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_HEADSET_MIC" acdb_id="710"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_SPEAKER_MIC" acdb_id="709"/>
-        <device name="SND_DEVICE_IN_VOIP_SPEAKER_MIC" acdb_id="322"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_HEADSET_MIC" acdb_id="401"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_HEADSET_MIC_OZO" acdb_id="401"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_USB_HEADSET_MIC" acdb_id="308"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" acdb_id="145"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_INVERT_LANDSCAPE" acdb_id="48"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_LANDSCAPE" acdb_id="34"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" acdb_id="403"/>
-        <device name="SND_DEVICE_IN_VOICE_RECOG_USB_HEADSET_MIC" acdb_id="96"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_NS" acdb_id="404"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_NS" acdb_id="44"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" acdb_id="413"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO_SCREEN_RECORD" acdb_id="414"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_SCREEN_RECORDER" acdb_id="405"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_SCREEN_RECORDER" acdb_id="54"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_GAME" acdb_id="718"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_GAME" acdb_id="744"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_KARAOK" acdb_id="901"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_KARAOK" acdb_id="908"/>
-        <device name="SND_DEVICE_IN_BT_SCO_HD_440BT_MIC" acdb_id="938"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MI_BASIC_MIC" acdb_id="940"/>
-        <device name="SND_DEVICE_IN_BT_SCO_HD_440BT_MIC_WB" acdb_id="938"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MI_BASIC_MIC_WB" acdb_id="940"/>
-        <device name="SND_DEVICE_IN_VOIP_USB_HEADSET_MIC" acdb_id="309"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_USB_HEADSET_MIC" acdb_id="44"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_SPEAKER_TMIC" acdb_id="709"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC" acdb_id="47"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_SCREEN_RECORDER" acdb_id="11"/>
-    </acdb_ids>
-    <backend_names>
-        <device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOIP_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_HIGH_IMP" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_FM" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_HIFI_FILTER" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_44_1" backend="headphones-44.1" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_BT_SCO" backend="bt-sco" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_HD_440BT" backend="bt-sco" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_MI_BASIC" backend="bt-sco" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_HD_440BT_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_BT_SCO_MI_BASIC_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_BT_A2DP" backend="bt-a2dp" interface="SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET_OUTDOOR" backend="speaker-and-usb-headphones" interface="PRI_MI2S_RX-and-USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_USB_HEADSET" backend="speaker-and-usb-headphones" interface="PRI_MI2S_RX-and-USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_OUTDOOR" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_ANC_HEADSET" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_HANDSET" backend="handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_1" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_EXTERNAL_2" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_REVERSE" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_VBAT" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_SAFE" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_1" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES_EXTERNAL_2" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_HANDSET" backend="handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" backend="handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_HAC_HANDSET" backend="handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_IN_HANDSET_GENERIC_QMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_VBAT" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_2" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_VBAT" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_HDMI" interface="PRI_MI2S_RX-and-HDMI"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_DISPLAY_PORT" interface="PRI_MI2S_RX-and-DISPLAY_PORT"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP" backend="speaker-and-bt-a2dp" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_A2DP_OUTDOOR" backend="speaker-and-bt-a2dp" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" backend="voice-tty-hco-handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET_WIRED" backend="voice-tty-hco-handset-wired" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_ANC_FB_HEADSET" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_ANC_HANDSET" backend="handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_STEREO_PROTECTED" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_PROTECTED_VBAT" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED_VBAT" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_PROTECTED_VBAT" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_WSA" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_WSA" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_2_WSA" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADSET" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADPHONES" backend="usb-headphones" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_USB_HEADSET_RINGTONE" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADSET" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADPHONES" backend="usb-headphones" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_HEADPHONES" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_KARAOK" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_USB_HEADPHONES_KARAOK" backend="usb-headphones" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_USB_HEADSET_3RD" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOICE_USB_HEADPHONES_3RD" backend="usb-headphones" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADSET_3RD" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_USB_HEADPHONES_3RD" backend="usb-headphones" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADSET_3RD" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_USB_HEADPHONES_3RD" backend="usb-headphones" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_USB_HEADSET_3RD_PARTY_SPKR" backend="usb-headset" interface="USB_AUDIO_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_HEADSET" backend="headset" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOIP_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_HANDSET" backend="handset" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_VOIP_GAME_SPEAKER" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_GAME" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_OUTDOOR" backend="speaker" interface="PRI_MI2S_RX"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_RINGTONE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOIP_LINE" backend="headphones" interface="RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_EXTERNAL" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_SCREEN_RECORDER" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_DMIC_STEREO_SCREEN_RECORD" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_MIC_3" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS_NN" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_AEC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HDMI_MIC" interface="HDMI"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MIC" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MIC_NREC" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MIC_WB" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MIC_WB_NREC" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_HD_440BT_MIC" backend="bt-sco" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MI_BASIC_MIC" backend="bt-sco" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_HD_440BT_MIC_WB" backend="bt-sco-wb" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_BT_SCO_MI_BASIC_MIC_WB" backend="bt-sco-wb" interface="SLIMBUS_7_TX"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_DMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_DMIC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_SB" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_QMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_AANC_HANDSET_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" interface="WSA_CDC_DMA_TX_0"/>
-        <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_1" interface="WSA_CDC_DMA_TX_0"/>
-        <device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK_MONO_2" interface="WSA_CDC_DMA_TX_0"/>
-        <device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_FLUENCE_DMIC_AANC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_QMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_QMIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_SPEAKER_QMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_HEARING_AID" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_TMIC_FLUENCE_PRO" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_TMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_TMIC_AEC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_TMIC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_HANDSET_TMIC_AEC_NS" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOICE_REC_TMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_THREE_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_QUAD_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_UNPROCESSED_HEADSET_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_HEADPHONES" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_VOICE_SPEAKER_AND_VOICE_ANC_HEADSET" backend="speaker-and-headphones" interface="PRI_MI2S_RX-and-RX_CDC_DMA_RX_0"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO" backend="speaker-and-bt-sco" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_WB" backend="speaker-and-bt-sco-wb" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_SPEAKER_AND_BT_SCO_SWB" backend="speaker-and-bt-sco-swb" interface="PRI_MI2S_RX-and-SLIMBUS_7_RX"/>
-        <device name="SND_DEVICE_OUT_HEADPHONES_DSD" backend="headphones-dsd" interface="RX_CDC_DMA_RX_5"/>
-        <device name="SND_DEVICE_IN_VOIP_HANDSET_DMIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOIP_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_VOIP_SPEAKER_MIC" interface="TX_CDC_DMA_TX_3"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_HEADSET_MIC" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_HEADSET_MIC_OZO" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_CAMCORDER_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_NS" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_NS" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_SCREEN_RECORDER" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_SCREEN_RECORDER" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_GAME" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_GAME" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_HEADSET_MIC_KARAOK" backend="headset-mic" interface="TX_CDC_DMA_TX_4"/>
-        <device name="SND_DEVICE_IN_USB_HEADSET_MIC_KARAOK" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_VOIP_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_USB_HEADSET_MIC" backend="usb-headset-mic" interface="USB_AUDIO_TX"/>
-        <device name="SND_DEVICE_IN_VOIP_GAME_SPEAKER_TMIC" interface="TX_CDC_DMA_TX_3"/>
-    </backend_names>
-    <!-- below values are for ref purpose to OEM, doesn't contain actual hardware info on MTP -->
-    <microphone_characteristics>
-        <microphone valid_mask="31" device_id="builtin_mic_1" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="bottom" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
-            group="0" index_in_the_group="0" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="93"
-            frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
-            responses="-0.78 -0.71 -0.64 -0.60 -0.55 -0.50 -0.47 -0.42 -0.39 -0.36 -0.34 -0.33 -0.32 -0.29 -0.28 -0.28 -0.27 -0.25 -0.25 -0.24 -0.23 -0.23 -0.22 -0.22 -0.19 -0.17 -0.15 -0.15 -0.14 -0.14 -0.12 -0.11 -0.10 -0.10 -0.08 -0.07 -0.07 -0.04 -0.03 -0.01 0.00 0.04 0.06 0.07 0.08 0.13 0.09 0.14 0.19 0.23 0.28 0.29 0.31 0.37 0.88 0.86 0.77 0.78 0.84 0.86 1.05 1.12 1.18 1.25 1.43 1.66 1.83 2.02 2.23 2.59 2.84 3.35 4.01 6.82 6.62 6.42 7.30 8.23 7.54 12.68 13.76 18.69 19.68 20.90 23.70 25.10 21.65 16.18 18.84 25.44 23.48 23.22 24.89"
-            sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0269 0.0058 0.0079" />
-        <microphone valid_mask="31" device_id="builtin_mic_2" type="AUDIO_DEVICE_IN_BACK_MIC" address="back" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
-            group="0" index_in_the_group="1" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
-            frequencies="106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00 20000.00"
-            responses="-0.75 -0.74 -0.69 -0.65 -0.62 -0.61 -0.56 -0.53 -0.50 -0.47 -0.43 -0.40 -0.37 -0.36 -0.33 -0.30 -0.28 -0.25 -0.24 -0.24 -0.24 -0.25 -0.24 -0.12 -0.10 -0.08 -0.09 -0.07 -0.07 -0.06 -0.06 -0.06 -0.05 -0.04 -0.05 -0.04 -0.01 0.02 0.02 0.00 0.02 0.03 0.07 0.10 0.10 0.13 0.01 0.01 0.10 0.11 0.19 0.24 0.38 0.46 0.26 0.27 0.43 0.76 0.75 1.09 1.09 0.94 1.06 1.21 1.47 1.45 1.36 2.07 2.85 2.90 3.85 4.65 5.84 5.46 6.15 7.50 8.30 10.62 12.70 16.65 20.95 25.41 26.32 20.20 16.60 11.24 7.85 7.62 20.19 7.32 2.87 5.18"
-            sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 1.0 0.0" geometric_location="0.0546 0.1456 0.00415" />
-        <microphone valid_mask="31" device_id="builtin_mic_3" type="AUDIO_DEVICE_IN_BUILTIN_MIC" address="top" location="AUDIO_MICROPHONE_LOCATION_MAINBODY"
-            group="0" index_in_the_group="2" directionality="AUDIO_MICROPHONE_DIRECTIONALITY_OMNI" num_frequency_responses="92"
-            frequencies="100.00 106.00 112.00 118.00 125.00 132.00 140.00 150.00 160.00 170.00 180.00 190.00 200.00 212.00 224.00 236.00 250.00 265.00 280.00 300.00 315.00 335.00 355.00 375.00 400.00 425.00 450.00 475.00 500.00 530.00 560.00 600.00 630.00 670.00 710.00 750.00 800.00 850.00 900.00 950.00 1000.00 1060.00 1120.00 1180.00 1250.00 1320.00 1400.00 1500.00 1600.00 1700.00 1800.00 1900.00 2000.00 2120.00 2240.00 2360.00 2500.00 2650.00 2800.00 3000.00 3150.00 3350.00 3550.00 3750.00 4000.00 4250.00 4500.00 4750.00 5000.00 5300.00 5600.00 6000.00 6300.00 6700.00 7100.00 7500.00 8000.00 8500.00 9000.00 9500.00 10000.00 10600.00 11200.00 11800.00 12500.00 13200.00 14000.00 15000.00 16000.00 17000.00 18000.00 19000.00"
-            responses="-9.24 -9.31 -9.39 -9.45 -9.46 -9.47 -9.50 -9.52 -9.51 -9.52 -9.51 -9.50 -9.49 -9.47 -9.48 -9.49 -9.48 -9.50 -9.51 -9.53 -9.55 -9.59 -9.63 -9.67 -9.58 -9.57 -9.65 -9.68 -9.71 -9.75 -9.79 -9.84 -9.87 -9.87 -9.90 -9.90 -9.91 -9.97 -10.01 -10.05 -9.85 -9.93 -9.94 -9.98 -10.04 -10.12 -10.28 -10.25 -10.01 -9.86 -9.81 -9.82 -9.61 -9.46 -8.27 -8.42 -8.98 -8.99 -8.82 -9.21 -8.92 -8.97 -9.30 -9.44 -9.52 -9.28 -9.09 -8.81 -7.02 -5.72 -5.30 -7.26 -8.39 -12.28 -8.23 -6.99 -5.52 -4.87 -3.82 -6.09 0.00 -2.15 -0.26 1.48 5.22 10.92 6.41 9.55 12.96 3.35 22.00 19.75"
-            sensitivity="-37.0" max_spl="132.5" min_spl="28.5" orientation="0.0 0.0 1.0" geometric_location="0.0274 0.14065 0.0079" />
-    </microphone_characteristics>
-    <snd_devices>
-        <input_snd_device>
-            <input_snd_device_mic_mapping>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_CAMCORDER_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_AEC_NS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_AEC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC_NS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_REC_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_DMIC_TMUS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_DMIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_AEC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_NS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_AEC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_NS">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_UNPROCESSED_THREE_MIC">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_HANDSET_DMIC_STEREO">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-                    <snd_dev in_snd_device="SND_DEVICE_IN_SPEAKER_DMIC_STEREO">
-                        <mic_info mic_device_id="builtin_mic_1"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_2"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                        <mic_info mic_device_id="builtin_mic_3"
-                            channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
-                    </snd_dev>
-            </input_snd_device_mic_mapping>
-        </input_snd_device>
-    </snd_devices>
-</audio_platform_info>
diff --git a/audio/audio_policy_configuration.xml b/audio/audio_policy_configuration.xml
index 0b7291f..1cebb1f 100644
--- a/audio/audio_policy_configuration.xml
+++ b/audio/audio_policy_configuration.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!-- Copyright (c) 2016-2020, The Linux Foundation. All rights reserved
+<!-- Copyright (c) 2016-2021, The Linux Foundation. All rights reserved
      Not a Contribution.
 -->
 <!-- Copyright (C) 2015 The Android Open Source Project
@@ -17,43 +17,7 @@
      limitations under the License.
 -->
 
-<!--
-Changes from Qualcomm Innovation Center are provided under the following license:
-
-Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted (subject to the limitations in the
-disclaimer below) provided that the following conditions are met:
-
-   * Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-   * Redistributions in binary form must reproduce the above
-     copyright notice, this list of conditions and the following
-     disclaimer in the documentation and/or other materials provided
-     with the distribution.
-
-   * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
-     contributors may be used to endorse or promote products derived
-     from this software without specific prior written permission.
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
-GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
-HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
+<audioPolicyConfiguration version="7.0" xmlns:xi="http://www.w3.org/2001/XInclude">
     <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->
 
     <!-- Global configuration Decalaration -->
@@ -95,15 +59,10 @@
             </attachedDevices>
             <defaultOutputDevice>Speaker</defaultOutputDevice>
             <mixPorts>
-                <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
+                <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST AUDIO_OUTPUT_FLAG_PRIMARY">
                     <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
-                <mixPort name="raw" role="source"
-                        flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_RAW">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
-                </mixPort>
                 <mixPort name="haptics output" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO_HAPTIC_A"/>
@@ -113,111 +72,100 @@
                     <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
-                <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
+                <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="hifi_playback" role="source" />
-                <mixPort name="compress_passthrough" role="source"
-                        flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
-                    <profile name="" format="dynamic"
-                             samplingRates="dynamic" channelMasks="dynamic"/>
-                </mixPort>
-                <mixPort name="dsd_compress_passthrough" role="source"
-                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
-                    <profile name="" format="AUDIO_FORMAT_DSD"
-                             samplingRates="2822400,5644800"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
-                </mixPort>
                 <mixPort name="direct_pcm" role="source"
                         flags="AUDIO_OUTPUT_FLAG_DIRECT">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                   <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000,352800,384000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000 352800 384000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                 </mixPort>
                 <mixPort name="compressed_offload" role="source"
-                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
+                         flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD">
                     <profile name="" format="AUDIO_FORMAT_MP3"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_FLAC"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_ALAC"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_APE"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_AAC_LC"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_DTS"
-                             samplingRates="32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1"/>
+                             samplingRates="32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_DTS_HD"
-                             samplingRates="32000,44100,48000,64000,88200,96000,128000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="32000 44100 48000 64000 88200 96000 128000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_WMA"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_WMA_PRO"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_2POINT1 AUDIO_CHANNEL_OUT_QUAD AUDIO_CHANNEL_OUT_PENTA AUDIO_CHANNEL_OUT_5POINT1 AUDIO_CHANNEL_OUT_6POINT1 AUDIO_CHANNEL_OUT_7POINT1"/>
                     <profile name="" format="AUDIO_FORMAT_VORBIS"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_AAC_ADTS_LC"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V1"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                     <profile name="" format="AUDIO_FORMAT_AAC_ADTS_HE_V2"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000"
-                             channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000"
+                             channelMasks="AUDIO_CHANNEL_OUT_STEREO AUDIO_CHANNEL_OUT_MONO"/>
                 </mixPort>
                 <mixPort name="voice_tx" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+                             samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="voip_rx" role="source"
-                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX">
+                         flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_VOIP_RX">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+                             samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall_music_uplink" role="source"
                         flags="AUDIO_OUTPUT_FLAG_INCALL_MUSIC">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000,48000"
+                             samplingRates="8000 16000 48000"
                              channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
 
                 <mixPort name="primary input" role="sink" maxOpenCount="2" maxActiveCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
                 </mixPort>
                 <mixPort name="fast input" role="sink"
                          flags="AUDIO_INPUT_FLAG_FAST">
                      <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                              samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                              channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
                 </mixPort>
                 <mixPort name="quad mic" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
@@ -227,38 +175,38 @@
                 <mixPort name="voip_tx" role="sink"
                          flags="AUDIO_INPUT_FLAG_VOIP_TX">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+                             samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                 </mixPort>
                 <mixPort name="usb_surround_sound" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4,AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4 AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
                     <profile name="" format="AUDIO_FORMAT_PCM_32_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
                     <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
-                             channelMasks="AUDIO_CHANNEL_IN_5POINT1,AUDIO_CHANNEL_INDEX_MASK_6,AUDIO_CHANNEL_IN_7POINT1,AUDIO_CHANNEL_INDEX_MASK_8"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000"
+                             channelMasks="AUDIO_CHANNEL_IN_5POINT1 AUDIO_CHANNEL_INDEX_MASK_6 AUDIO_CHANNEL_INDEX_MASK_8"/>
                 </mixPort>
                 <mixPort name="record_24" role="sink" maxOpenCount="2" maxActiveCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_24_BIT_PACKED"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
                     <profile name="" format="AUDIO_FORMAT_PCM_8_24_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
                     <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,96000,192000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3,AUDIO_CHANNEL_INDEX_MASK_4"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 96000 192000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3 AUDIO_CHANNEL_INDEX_MASK_4"/>
                 </mixPort>
                 <mixPort name="voice_rx" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+                             samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_in" role="sink" flags="AUDIO_INPUT_FLAG_MMAP_NOIRQ">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK AUDIO_CHANNEL_INDEX_MASK_3"/>
                 </mixPort>
                 <mixPort name="hifi_input" role="sink" />
             </mixPorts>
@@ -287,125 +235,129 @@
                 </devicePort>
                 <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
                 </devicePort>
                 <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
                 </devicePort>
                 <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
+                             samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
                 </devicePort>
                 <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+                             samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
                 </devicePort>
                 <devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+                             samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
                 </devicePort>
                 <devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+                             samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000"/>
                 </devicePort>
                 <devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
+                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
                 </devicePort>
                 <devicePort tagName="BT A2DP Out" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP" role="sink"
-                            encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP VX_AUDIO_FORMAT_LC3">
+                            encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </devicePort>
                 <devicePort tagName="BT A2DP Headphones" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES" role="sink"
-                            encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP VX_AUDIO_FORMAT_LC3">
+                            encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </devicePort>
                 <devicePort tagName="BT A2DP Speaker" type="AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER" role="sink"
-                            encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP VX_AUDIO_FORMAT_LC3">
+                            encodedFormats="AUDIO_FORMAT_SBC AUDIO_FORMAT_AAC AUDIO_FORMAT_APTX AUDIO_FORMAT_APTX_HD AUDIO_FORMAT_LDAC AUDIO_FORMAT_CELT AUDIO_FORMAT_APTX_ADAPTIVE AUDIO_FORMAT_APTX_TWSP AUDIO_FORMAT_LC3">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </devicePort>
                 <devicePort tagName="USB Device Out" type="AUDIO_DEVICE_OUT_USB_DEVICE" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+                             samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
                 </devicePort>
                 <devicePort tagName="USB Headset Out" type="AUDIO_DEVICE_OUT_USB_HEADSET" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
+                             samplingRates="44100 48000 64000 88200 96000 128000 176400 192000"/>
                 </devicePort>
 
                 <!-- Input devices declaration, i.e. Source DEVICE PORT -->
                 <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
                 </devicePort>
                 <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
                 </devicePort>
                 <devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </devicePort>
                 <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
-                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
+                             samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
+                             channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO AUDIO_CHANNEL_IN_FRONT_BACK"/>
                 </devicePort>
                 <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+                             samplingRates="8000 16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                 </devicePort>
                 <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
+                             samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                 </devicePort>
                 <devicePort tagName="USB Device In" type="AUDIO_DEVICE_IN_USB_DEVICE" role="source">
                 </devicePort>
                 <devicePort tagName="USB Headset In" type="AUDIO_DEVICE_IN_USB_HEADSET" role="source">
                 </devicePort>
-
+                <devicePort tagName="A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source"
+                            encodedFormats="AUDIO_FORMAT_LC3">
+                   <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                            samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
+                </devicePort>
             </devicePorts>
             <!-- route declaration, i.e. list all available sources for a given sink -->
             <routes>
                 <route type="mix" sink="Earpiece"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
                 <route type="mix" sink="Speaker"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
                 <route type="mix" sink="Wired Headset"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output,dsd_compress_passthrough"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
                 <route type="mix" sink="Wired Headphones"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output,dsd_compress_passthrough"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
                 <route type="mix" sink="Line"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,haptics output"/>
                 <route type="mix" sink="HDMI"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,compress_passthrough,voip_rx,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
                 <route type="mix" sink="Proxy"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,haptics output"/>
                 <route type="mix" sink="FM"
                        sources="primary output"/>
                 <route type="mix" sink="BT SCO"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
                 <route type="mix" sink="BT SCO Headset"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
                 <route type="mix" sink="BT SCO Car Kit"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,haptics output"/>
                 <route type="mix" sink="USB Device Out"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
                 <route type="mix" sink="USB Headset Out"
-                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
+                       sources="primary output,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out,hifi_playback,haptics output"/>
                 <route type="mix" sink="Telephony Tx"
                        sources="voice_tx,incall_music_uplink"/>
                 <route type="mix" sink="voice_rx"
                        sources="Telephony Rx"/>
                 <route type="mix" sink="primary input"
-                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
+                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,A2DP In"/>
                 <route type="mix" sink="usb_surround_sound"
                        sources="USB Device In,USB Headset In"/>
                 <route type="mix" sink="fast input"
@@ -415,7 +367,7 @@
                 <route type="mix" sink="voip_tx"
                        sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,USB Device In,USB Headset In,Wired Headset Mic"/>
                 <route type="mix" sink="record_24"
-                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic"/>
+                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,A2DP In"/>
                 <route type="mix" sink="mmap_no_irq_in"
                        sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,USB Device In,USB Headset In"/>
                 <route type="mix" sink="BT A2DP Out"
@@ -430,18 +382,18 @@
         </module>
 
         <!-- A2DP Audio HAL -->
-        <module name="a2dp" halVersion="2.0">
+        <!-- <module name="a2dp" halVersion="2.0">
             <mixPorts>
                 <mixPort name="a2dp input" role="sink">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+                             samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
             </mixPorts>
 
             <devicePorts>
                 <devicePort tagName="BT A2DP In" type="AUDIO_DEVICE_IN_BLUETOOTH_A2DP" role="source">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
-                             samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
+                             samplingRates="44100 48000" channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </devicePort>
             </devicePorts>
 
@@ -449,7 +401,7 @@
                 <route type="mix" sink="a2dp input"
                        sources="BT A2DP In"/>
             </routes>
-        </module>
+        </module> -->
 
         <!-- Usb Audio HAL -->
         <module name="usb" halVersion="2.0">
@@ -472,15 +424,18 @@
         </module>
 
         <!-- Remote Submix Audio HAL -->
-        <xi:include href="/vendor/etc/audio/ZS590KS/r_submix_audio_policy_configuration_ZS590KS.xml"/>
+        <xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
+
+        <!-- Bluetooth Audio HAL for hearing aid -->
+        <xi:include href="/vendor/etc/bluetooth_qti_hearing_aid_audio_policy_configuration.xml"/>
 
     </modules>
     <!-- End of Modules section -->
 
     <!-- Volume section -->
 
-    <xi:include href="/vendor/etc/audio/ZS590KS/audio_policy_volumes_ZS590KS.xml"/>
-    <xi:include href="/vendor/etc/audio/ZS590KS/default_volume_tables_ZS590KS.xml"/>
+    <xi:include href="/vendor/etc/audio/DAVINCI/audio_policy_volumes_AI2202.xml"/>
+    <xi:include href="/vendor/etc/audio/DAVINCI/default_volume_tables_AI2202.xml"/>
 
     <!-- End of Volume section -->
 
diff --git a/audio/audio_policy_volumes.xml b/audio/audio_policy_volumes.xml
index 4dc7d3d..4b932ea 100644
--- a/audio/audio_policy_volumes.xml
+++ b/audio/audio_policy_volumes.xml
@@ -29,51 +29,63 @@
         <point>66,-1400</point>
         <point>100,0</point>
     </volume>
+    <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>0,-4200</point>
+        <point>33,-2800</point>
+        <point>66,-1400</point>
+        <point>100,0</point>
+    </volume>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>0,-3600</point>
-        <point>33,-2400</point>
-        <point>66,-1200</point>
+        <point>0,-2400</point>
+        <point>33,-1600</point>
+        <point>66,-800</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EARPIECE">
-        <point>0,-2700</point>
-        <point>33,-1800</point>
-        <point>66,-900</point>
+        <point>0,-2400</point>
+        <point>33,-1600</point>
+        <point>66,-800</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_BLUETOOTH">
-        <point>0,-4200</point>
-        <point>33,-2800</point>
-        <point>66,-1400</point>
+        <point>0,-3200</point>
+        <point>33,-2100</point>
+        <point>66,-1000</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_USB_HEADSET">
-        <point>0,-4200</point>
-        <point>33,-2800</point>
-        <point>66,-1400</point>
+        <point>0,-3200</point>
+        <point>33,-2100</point>
+        <point>66,-1000</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_ACCY_EU">
-        <point>0,-4200</point>
-        <point>33,-2800</point>
-        <point>66,-1400</point>
+        <point>0,-3200</point>
+        <point>33,-2100</point>
+        <point>66,-1000</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
                                              ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_VOICE_CALL" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
-                                             ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
+                                             ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET">
-        <point>1,-4200</point>
-        <point>33,-3400</point>
-        <point>66,-2600</point>
+        <point>1,-3000</point>
+        <point>33,-2600</point>
+        <point>66,-2200</point>
+        <point>100,-1800</point>
+    </volume>
+    <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>1,-3000</point>
+        <point>33,-2600</point>
+        <point>66,-2200</point>
         <point>100,-1800</point>
     </volume>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>1,-4000</point>
-        <point>33,-3200</point>
-        <point>66,-2300</point>
-        <point>100,-1500</point>
+        <point>1,-3400</point>
+        <point>33,-2600</point>
+        <point>66,-1700</point>
+        <point>100,-0900</point>
     </volume>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
                                          ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
@@ -90,20 +102,26 @@
         <point>100,-2400</point>
     </volume>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_ACCY_EU">
-        <point>1,-4200</point>
-        <point>33,-3400</point>
-        <point>66,-2600</point>
-        <point>100,-1800</point>
+        <point>1,-4800</point>
+        <point>33,-4000</point>
+        <point>66,-3200</point>
+        <point>100,-2400</point>
     </volume>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
                                          ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
                                          ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET">
-        <point>1,-5400</point>
-        <point>33,-4200</point>
-        <point>66,-3000</point>
-        <point>100,-1800</point>
+        <point>1,-4950</point>
+        <point>33,-3350</point>
+        <point>66,-1700</point>
+        <point>100,0</point>
+    </volume>
+    <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>1,-4950</point>
+        <point>33,-3350</point>
+        <point>66,-1700</point>
+        <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
         <point>1,-4500</point>
@@ -120,16 +138,16 @@
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_USB_HEADSET">
-        <point>1,-6000</point>
-        <point>33,-4800</point>
-        <point>66,-3600</point>
-        <point>100,-2400</point>
+        <point>1,-4950</point>
+        <point>33,-3350</point>
+        <point>66,-1700</point>
+        <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_ACCY_EU">
-        <point>1,-5400</point>
-        <point>33,-4200</point>
-        <point>66,-3000</point>
-        <point>100,-1800</point>
+        <point>1,-4950</point>
+        <point>33,-3350</point>
+        <point>66,-1700</point>
+        <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
                                        ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
@@ -141,6 +159,12 @@
         <point>66,-2500</point>
         <point>100,0</point>
     </volume>
+    <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>1,-7500</point>
+        <point>33,-5000</point>
+        <point>66,-2500</point>
+        <point>100,0</point>
+    </volume>
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                         ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE">
@@ -162,10 +186,10 @@
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_ACCY_EU">
-        <point>1,-7305</point>
-        <point>33,-5155</point>
-        <point>66,-2930</point>
-        <point>100,-730</point>
+        <point>1,-7400</point>
+        <point>33,-5300</point>
+        <point>66,-3050</point>
+        <point>100,-800</point>
     </volume>
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
                                         ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
@@ -177,6 +201,12 @@
         <point>66,-1700</point>
         <point>100,0</point>
     </volume>
+    <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>0,-4950</point>
+        <point>33,-3350</point>
+        <point>66,-1700</point>
+        <point>100,0</point>
+    </volume>
     <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
         <point>0,-5500</point>
         <point>33,-3000</point>
@@ -213,6 +243,12 @@
         <point>66,-3000</point>
         <point>100,-1800</point>
     </volume>
+    <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>1,-6000</point>
+        <point>33,-4800</point>
+        <point>66,-3600</point>
+        <point>100,-2400</point>
+    </volume>
     <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
         <point>1,-4100</point>
         <point>33,-2900</point>
@@ -234,10 +270,10 @@
         <point>100,-2400</point>
     </volume>
     <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_ACCY_EU">
-        <point>1,-5400</point>
-        <point>33,-4200</point>
-        <point>66,-3000</point>
-        <point>100,-1800</point>
+        <point>1,-6000</point>
+        <point>33,-4800</point>
+        <point>66,-3600</point>
+        <point>100,-2400</point>
     </volume>
     <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
                                                ref="DEFAULT_DEVICE_CATEGORY_EXT_MEDIA_VOLUME_CURVE"/>
@@ -249,6 +285,12 @@
         <point>66,-1400</point>
         <point>100,0</point>
     </volume>
+    <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>0,-4200</point>
+        <point>33,-2800</point>
+        <point>66,-1400</point>
+        <point>100,0</point>
+    </volume>
     <volume stream="AUDIO_STREAM_BLUETOOTH_SCO" deviceCategory="DEVICE_CATEGORY_SPEAKER">
         <point>0,-2400</point>
         <point>33,-1600</point>
@@ -289,6 +331,12 @@
         <point>66,-2200</point>
         <point>100,-1800</point>
     </volume>
+    <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>1,-3000</point>
+        <point>33,-2600</point>
+        <point>66,-2200</point>
+        <point>100,-1800</point>
+    </volume>
     <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                                    ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -316,16 +364,22 @@
     <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_HEARING_AID"
                                                    ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET">
-        <point>1,-4200</point>
-        <point>33,-3600</point>
-        <point>66,-3000</point>
-        <point>100,-2400</point>
+        <point>1,-3000</point>
+        <point>33,-2600</point>
+        <point>66,-2200</point>
+        <point>100,-1800</point>
+    </volume>
+    <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU">
+        <point>1,-4800</point>
+        <point>33,-4200</point>
+        <point>66,-3600</point>
+        <point>100,-3000</point>
     </volume>
     <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>1,-4800</point>
-        <point>33,-4000</point>
-        <point>66,-3200</point>
-        <point>100,-2400</point>
+        <point>1,-4200</point>
+        <point>33,-3400</point>
+        <point>66,-2600</point>
+        <point>100,-1800</point>
     </volume>
     <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
                                        ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
@@ -353,6 +407,8 @@
                                        ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                       ref="SILENT_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU"
+                                      ref="SILENT_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                       ref="FULL_SCALE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_TTS" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -369,6 +425,8 @@
                                       ref="SILENT_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                                 ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU"
+                                                ref="DEFAULT_NON_MUTABLE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                                 ref="DEFAULT_NON_MUTABLE_SPEAKER_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ACCESSIBILITY" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -385,6 +443,8 @@
                                                 ref="DEFAULT_NON_MUTABLE_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                                 ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU"
+                                                ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                                 ref="DEFAULT_DEVICE_CATEGORY_SPEAKER_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ASSISTANT" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -401,6 +461,8 @@
                                                 ref="DEFAULT_HEARING_AID_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                             ref="FULL_SCALE_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU"
+                                            ref="FULL_SCALE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                             ref="FULL_SCALE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_REROUTING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -417,6 +479,8 @@
                                             ref="FULL_SCALE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                         ref="FULL_SCALE_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_HEADSET_nonEU"
+                                        ref="FULL_SCALE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_SPEAKER"
                                         ref="FULL_SCALE_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_PATCH" deviceCategory="DEVICE_CATEGORY_EARPIECE"
diff --git a/bluetooth/bdroid_buildcfg.h b/bluetooth/bdroid_buildcfg.h
index b9c397a..4c56361 100644
--- a/bluetooth/bdroid_buildcfg.h
+++ b/bluetooth/bdroid_buildcfg.h
@@ -21,7 +21,7 @@
 
 #ifndef _BDROID_BUILDCFG_H
 #define _BDROID_BUILDCFG_H
-#define BTM_DEF_LOCAL_NAME   "ZenFone 8"
+#define BTM_DEF_LOCAL_NAME   "ZenFone 9"
 // Disables read remote device feature
 #define MAX_ACL_CONNECTIONS   16
 #define MAX_L2CAP_CHANNELS    16
diff --git a/bootctrl/1.1/libboot_control_qti/Android.bp b/bootctrl/1.1/libboot_control_qti/Android.bp
index 09cde1d..1ff41eb 100644
--- a/bootctrl/1.1/libboot_control_qti/Android.bp
+++ b/bootctrl/1.1/libboot_control_qti/Android.bp
@@ -4,7 +4,7 @@
     recovery_available: true,
     shared_libs: [
         "android.hardware.boot@1.1",
-        "libgptutils.asus_lahaina",
+        "libgptutils.asus_taro",
         "libbase",
         "libcutils",
         "liblog",
diff --git a/bootctrl/Android.bp b/bootctrl/Android.bp
index 3ffaaa5..d92b7c0 100644
--- a/bootctrl/Android.bp
+++ b/bootctrl/Android.bp
@@ -15,7 +15,7 @@
 //
 
 cc_library {
-    name: "bootctrl.lahaina",
+    name: "bootctrl.taro",
     defaults: ["bootctrl_hal_defaults"],
-    static_libs: ["libgptutils.asus_lahaina"],
+    static_libs: ["libgptutils.asus_taro"],
 }
diff --git a/device.mk b/device.mk
index afdcf5b..4c7d412 100755
--- a/device.mk
+++ b/device.mk
@@ -19,7 +19,7 @@
 # device-specific aspects (drivers) with a device-agnostic
 # product configuration (apps).
 #
-$(call inherit-product, vendor/asus/zenfone8/zenfone8-vendor.mk)
+$(call inherit-product, vendor/asus/zenfone9/zenfone9-vendor.mk)
 
 # fusefs / disable sdcardfs usage
 $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
@@ -84,12 +84,11 @@
     android.hardware.audio.service
 
 PRODUCT_COPY_FILES += \
-    $(LOCAL_PATH)/audio/audio_platform_info_intcodec.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/audio_platform_info_intcodec.xml \
     $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
-    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/audio_policy_configuration.xml \
-    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/ZS590KS/audio_policy_configuration_ZS590KS.xml \
-    $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_lahaina/audio_policy_volumes.xml \
-    $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/ZS590KS/audio_policy_volumes_ZS590KS.xml \
+    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_taro/audio_policy_configuration.xml \
+    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/DAVINCI/audio_policy_configuration_AI2202.xml \
+    $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/sku_taro/audio_policy_volumes.xml \
+    $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/DAVINCI/audio_policy_volumes_AI2202.xml \
     $(LOCAL_PATH)/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml
 
 # Authsecret
@@ -259,11 +258,11 @@
 
 # Prebuilt
 PRODUCT_COPY_FILES += \
-    $(call find-copy-subdir-files,*,device/asus/zenfone8/prebuilt/product,product) \
-    $(call find-copy-subdir-files,*,device/asus/zenfone8/prebuilt/root,recovery/root) \
-    $(call find-copy-subdir-files,*,device/asus/zenfone8/prebuilt/system,system) \
-    $(call find-copy-subdir-files,*,device/asus/zenfone8/prebuilt/system_ext,system_ext) \
-    $(call find-copy-subdir-files,*,device/asus/zenfone8/prebuilt/vendor,vendor)
+    $(call find-copy-subdir-files,*,device/asus/zenfone9/prebuilt/product,product) \
+    $(call find-copy-subdir-files,*,device/asus/zenfone9/prebuilt/root,recovery/root) \
+    $(call find-copy-subdir-files,*,device/asus/zenfone9/prebuilt/system,system) \
+    $(call find-copy-subdir-files,*,device/asus/zenfone9/prebuilt/system_ext,system_ext) \
+    $(call find-copy-subdir-files,*,device/asus/zenfone9/prebuilt/vendor,vendor)
 
 # Properties
 BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
@@ -344,7 +343,7 @@
 
 # Vibrator
 PRODUCT_PACKAGES += \
-    android.hardware.vibrator.service.sake
+    android.hardware.vibrator.service.zenfone9
 
 # Wifi
 PRODUCT_PACKAGES += \
diff --git a/extract-files.sh b/extract-files.sh
index f89204d..bff7353 100755
--- a/extract-files.sh
+++ b/extract-files.sh
@@ -18,7 +18,7 @@
 
 set -e
 
-DEVICE=zenfone8
+DEVICE=zenfone9
 VENDOR=asus
 
 # Load extractutils and do some sanity checks
diff --git a/gpt-utils/Android.bp b/gpt-utils/Android.bp
index 6e2a47b..23b0032 100644
--- a/gpt-utils/Android.bp
+++ b/gpt-utils/Android.bp
@@ -16,7 +16,7 @@
 
 
 cc_library {
-    name: "libgptutils.asus_lahaina",
+    name: "libgptutils.asus_taro",
     vendor: true,
     recovery_available: true,
     shared_libs: [
diff --git a/interfaces/Android.bp b/interfaces/Android.bp
index 505fcd1..bf4d180 100644
--- a/interfaces/Android.bp
+++ b/interfaces/Android.bp
@@ -1,4 +1,4 @@
 hidl_package_root {
     name: "vendor.goodix",
-    path: "device/asus/zenfone8/interfaces",
+    path: "device/asus/zenfone9/interfaces",
 }
diff --git a/manifest/compatibility_matrix.xml b/manifest/compatibility_matrix.xml
index a3e3746..caca1f1 100644
--- a/manifest/compatibility_matrix.xml
+++ b/manifest/compatibility_matrix.xml
@@ -2,15 +2,7 @@
     Input:
         compatibility_matrix.xml
 -->
-<compatibility-matrix version="2.0" type="device">
-    <hal format="hidl" optional="false">
-        <name>android.frameworks.schedulerservice</name>
-        <version>1.0</version>
-        <interface>
-            <name>ISchedulingPolicyService</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
+<compatibility-matrix version="4.0" type="device">
     <hal format="hidl" optional="false">
         <name>android.frameworks.sensorservice</name>
         <version>1.0</version>
@@ -61,7 +53,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.qccsyshal</name>
-        <version>1.0</version>
+        <version>1.0-1</version>
         <interface>
             <name>IQccsyshal</name>
             <instance>qccsyshal</instance>
@@ -73,6 +65,7 @@
         <interface>
             <name>Isigma_miracast</name>
             <instance>sigmahal</instance>
+            <instance>sigmahal64</instance>
         </interface>
     </hal>
     <hal format="hidl" optional="true">
@@ -83,4 +76,10 @@
             <instance>default</instance>
         </interface>
     </hal>
+    <vendor-ndk>
+        <version>32</version>
+    </vendor-ndk>
+    <system-sdk>
+        <version>31</version>
+    </system-sdk>
 </compatibility-matrix>
diff --git a/manifest/framework_manifest.xml b/manifest/framework_manifest.xml
index 4804946..cf68c0a 100644
--- a/manifest/framework_manifest.xml
+++ b/manifest/framework_manifest.xml
@@ -26,14 +26,4 @@
         <fqname>@1.0::ISystemEvent/default</fqname>
         <fqname>@1.0::ISystemResource/default</fqname>
     </hal>
-    <hal format="hidl">
-        <name>vendor.asus.bspcam</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IAsusBspCameraInterface</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@1.0::IAsusBspCameraInterface/default</fqname>
-    </hal>
 </manifest>
\ No newline at end of file
diff --git a/manifest/manifest_lahaina.xml b/manifest/manifest_taro.xml
similarity index 88%
rename from manifest/manifest_lahaina.xml
rename to manifest/manifest_taro.xml
index 54c7a00..eb63402 100644
--- a/manifest/manifest_lahaina.xml
+++ b/manifest/manifest_taro.xml
@@ -1,28 +1,34 @@
 <!--
     Input:
-        manifest_lahaina_sake.xml
+        manifest_taro.xml
+        netutil.xml
+        rttutil.xml
+        asus_hostapd.xml
+        sla.xml
+        glovemode.xml
+        zenmotion.xml
+        asusgeneral.xml
 -->
-<manifest version="2.0" type="device" target-level="5">
-    <kernel target-level="5"/>
+<manifest version="4.0" type="device" target-level="6">
     <hal format="hidl">
         <name>android.hardware.audio</name>
         <transport>hwbinder</transport>
-        <version>6.0</version>
+        <version>7.0</version>
         <interface>
             <name>IDevicesFactory</name>
             <instance>default</instance>
         </interface>
-        <fqname>@6.0::IDevicesFactory/default</fqname>
+        <fqname>@7.0::IDevicesFactory/default</fqname>
     </hal>
     <hal format="hidl">
         <name>android.hardware.audio.effect</name>
         <transport>hwbinder</transport>
-        <version>6.0</version>
+        <version>7.0</version>
         <interface>
             <name>IEffectsFactory</name>
             <instance>default</instance>
         </interface>
-        <fqname>@6.0::IEffectsFactory/default</fqname>
+        <fqname>@7.0::IEffectsFactory/default</fqname>
     </hal>
     <hal format="hidl">
         <name>android.hardware.bluetooth</name>
@@ -47,12 +53,12 @@
     <hal format="hidl">
         <name>android.hardware.camera.provider</name>
         <transport>hwbinder</transport>
-        <version>2.4</version>
+        <version>2.7</version>
         <interface>
             <name>ICameraProvider</name>
-            <instance>legacy/0</instance>
+            <instance>legacy/1</instance>
         </interface>
-        <fqname>@2.4::ICameraProvider/legacy/0</fqname>
+        <fqname>@2.7::ICameraProvider/legacy/1</fqname>
     </hal>
     <hal format="hidl">
         <name>android.hardware.drm</name>
@@ -91,16 +97,6 @@
         <fqname>@1.0::IOmxStore/default</fqname>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.memtrack</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IMemtrack</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@1.0::IMemtrack/default</fqname>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.nfc</name>
         <transport>hwbinder</transport>
         <version>1.2</version>
@@ -115,18 +111,18 @@
         <transport>hwbinder</transport>
         <fqname>@1.2::ISap/slot1</fqname>
         <fqname>@1.2::ISap/slot2</fqname>
-        <fqname>@1.5::IRadio/slot1</fqname>
-        <fqname>@1.5::IRadio/slot2</fqname>
+        <fqname>@1.6::IRadio/slot1</fqname>
+        <fqname>@1.6::IRadio/slot2</fqname>
     </hal>
     <hal format="hidl">
         <name>android.hardware.radio.config</name>
         <transport>hwbinder</transport>
-        <version>1.1</version>
+        <version>1.3</version>
         <interface>
             <name>IRadioConfig</name>
             <instance>default</instance>
         </interface>
-        <fqname>@1.1::IRadioConfig/default</fqname>
+        <fqname>@1.3::IRadioConfig/default</fqname>
     </hal>
     <hal format="hidl">
         <name>android.hardware.secure_element</name>
@@ -141,16 +137,6 @@
         <fqname>@1.2::ISecureElement/SIM2</fqname>
     </hal>
     <hal format="hidl">
-        <name>android.hardware.soundtrigger</name>
-        <transport>hwbinder</transport>
-        <version>2.3</version>
-        <interface>
-            <name>ISoundTriggerHw</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@2.3::ISoundTriggerHw/default</fqname>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.tetheroffload.config</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -163,12 +149,12 @@
     <hal format="hidl">
         <name>android.hardware.tetheroffload.control</name>
         <transport>hwbinder</transport>
-        <version>1.0</version>
+        <version>1.1</version>
         <interface>
             <name>IOffloadControl</name>
             <instance>default</instance>
         </interface>
-        <fqname>@1.0::IOffloadControl/default</fqname>
+        <fqname>@1.1::IOffloadControl/default</fqname>
     </hal>
     <hal format="hidl">
         <name>com.dsi.ant</name>
@@ -221,6 +207,16 @@
         <fqname>@2.1::IGoodixFingerprintDaemon/default</fqname>
     </hal>
     <hal format="hidl">
+        <name>vendor.ims.asusgeneralhidl</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IAsusGeneralHIDLE</name>
+            <instance>default</instance>
+        </interface>
+        <fqname>@1.0::IAsusGeneralHIDLE/default</fqname>
+    </hal>
+    <hal format="hidl">
         <name>vendor.nxp.nxpnfc</name>
         <transport>hwbinder</transport>
         <version>2.0</version>
@@ -243,12 +239,12 @@
     <hal format="hidl">
         <name>vendor.qti.data.factory</name>
         <transport>hwbinder</transport>
-        <version>2.2</version>
+        <version>2.5</version>
         <interface>
             <name>IFactory</name>
             <instance>default</instance>
         </interface>
-        <fqname>@2.2::IFactory/default</fqname>
+        <fqname>@2.5::IFactory/default</fqname>
     </hal>
     <hal format="hidl">
         <name>vendor.qti.esepowermanager</name>
@@ -261,6 +257,16 @@
         <fqname>@1.1::IEsePowerManager/default</fqname>
     </hal>
     <hal format="hidl">
+        <name>vendor.qti.hardware.AGMIPC</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IAGM</name>
+            <instance>default</instance>
+        </interface>
+        <fqname>@1.0::IAGM/default</fqname>
+    </hal>
+    <hal format="hidl">
         <name>vendor.qti.hardware.alarm</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -311,6 +317,16 @@
         <fqname>@1.0::IService/default</fqname>
     </hal>
     <hal format="hidl">
+        <name>vendor.qti.hardware.camera.aon</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IAONService</name>
+            <instance>aoncameraservice</instance>
+        </interface>
+        <fqname>@1.0::IAONService/aoncameraservice</fqname>
+    </hal>
+    <hal format="hidl">
         <name>vendor.qti.hardware.camera.postproc</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -345,14 +361,14 @@
     <hal format="hidl">
         <name>vendor.qti.hardware.data.iwlan</name>
         <transport>hwbinder</transport>
-        <version>1.0</version>
+        <version>1.1</version>
         <interface>
             <name>IIWlan</name>
             <instance>slot1</instance>
             <instance>slot2</instance>
         </interface>
-        <fqname>@1.0::IIWlan/slot1</fqname>
-        <fqname>@1.0::IIWlan/slot2</fqname>
+        <fqname>@1.1::IIWlan/slot1</fqname>
+        <fqname>@1.1::IIWlan/slot2</fqname>
     </hal>
     <hal format="hidl">
         <name>vendor.qti.hardware.data.latency</name>
@@ -365,6 +381,16 @@
         <fqname>@1.0::ILinkLatency/default</fqname>
     </hal>
     <hal format="hidl">
+        <name>vendor.qti.hardware.dpmservice</name>
+        <transport>hwbinder</transport>
+        <version>1.1</version>
+        <interface>
+            <name>IDpmService</name>
+            <instance>DpmService</instance>
+        </interface>
+        <fqname>@1.1::IDpmService/DpmService</fqname>
+    </hal>
+    <hal format="hidl">
         <name>vendor.qti.hardware.dsp</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -375,6 +401,16 @@
         <fqname>@1.0::IDspService/dspservice</fqname>
     </hal>
     <hal format="hidl">
+        <name>vendor.qti.hardware.eid</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IEid</name>
+            <instance>default</instance>
+        </interface>
+        <fqname>@1.0::IEid/default</fqname>
+    </hal>
+    <hal format="hidl">
         <name>vendor.qti.hardware.factory</name>
         <transport>hwbinder</transport>
         <version>1.1</version>
@@ -385,26 +421,6 @@
         <fqname>@1.1::IFactory/default</fqname>
     </hal>
     <hal format="hidl">
-        <name>vendor.qti.hardware.fm</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IFmHci</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@1.0::IFmHci/default</fqname>
-    </hal>
-    <hal format="hidl">
-        <name>vendor.qti.hardware.fstman</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IFstManager</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@1.0::IFstManager/default</fqname>
-    </hal>
-    <hal format="hidl">
         <name>vendor.qti.hardware.iop</name>
         <transport>hwbinder</transport>
         <version>2.0</version>
@@ -425,24 +441,24 @@
         <fqname>@1.0::IMwqemAdapter/MwqemAdapter</fqname>
     </hal>
     <hal format="hidl">
-        <name>vendor.qti.hardware.perf</name>
-        <transport>hwbinder</transport>
-        <version>2.2</version>
-        <interface>
-            <name>IPerf</name>
-            <instance>default</instance>
-        </interface>
-        <fqname>@2.2::IPerf/default</fqname>
-    </hal>
-    <hal format="hidl">
-        <name>vendor.qti.hardware.qconfig</name>
+        <name>vendor.qti.hardware.pal</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
         <interface>
-            <name>IQConfig</name>
+            <name>IPAL</name>
             <instance>default</instance>
         </interface>
-        <fqname>@1.0::IQConfig/default</fqname>
+        <fqname>@1.0::IPAL/default</fqname>
+    </hal>
+    <hal format="hidl">
+        <name>vendor.qti.hardware.qccvndhal</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IQccvndhal</name>
+            <instance>qccvndhal</instance>
+        </interface>
+        <fqname>@1.0::IQccvndhal/qccvndhal</fqname>
     </hal>
     <hal format="hidl">
         <name>vendor.qti.hardware.qseecom</name>
@@ -482,18 +498,6 @@
         <fqname>@1.0::IQcRilAudio/slot2</fqname>
     </hal>
     <hal format="hidl">
-        <name>vendor.qti.hardware.radio.ims</name>
-        <transport>hwbinder</transport>
-        <version>1.7</version>
-        <interface>
-            <name>IImsRadio</name>
-            <instance>imsradio0</instance>
-            <instance>imsradio1</instance>
-        </interface>
-        <fqname>@1.7::IImsRadio/imsradio0</fqname>
-        <fqname>@1.7::IImsRadio/imsradio1</fqname>
-    </hal>
-    <hal format="hidl">
         <name>vendor.qti.hardware.radio.internal.deviceinfo</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -506,14 +510,14 @@
     <hal format="hidl">
         <name>vendor.qti.hardware.radio.lpa</name>
         <transport>hwbinder</transport>
-        <version>1.1</version>
+        <version>1.2</version>
         <interface>
             <name>IUimLpa</name>
             <instance>UimLpa0</instance>
             <instance>UimLpa1</instance>
         </interface>
-        <fqname>@1.1::IUimLpa/UimLpa0</fqname>
-        <fqname>@1.1::IUimLpa/UimLpa1</fqname>
+        <fqname>@1.2::IUimLpa/UimLpa0</fqname>
+        <fqname>@1.2::IUimLpa/UimLpa1</fqname>
     </hal>
     <hal format="hidl">
         <name>vendor.qti.hardware.radio.qcrilhook</name>
@@ -636,14 +640,14 @@
         <fqname>@1.0::ITuiComm/default</fqname>
     </hal>
     <hal format="hidl">
-        <name>vendor.qti.hardware.vpp</name>
+        <name>vendor.qti.hardware.wifi.wifilearner</name>
         <transport>hwbinder</transport>
-        <version>2.0</version>
+        <version>1.0</version>
         <interface>
-            <name>IHidlVppService</name>
-            <instance>vppService</instance>
+            <name>IWifiStats</name>
+            <instance>wifiStats</instance>
         </interface>
-        <fqname>@2.0::IHidlVppService/vppService</fqname>
+        <fqname>@1.0::IWifiStats/wifiStats</fqname>
     </hal>
     <hal format="hidl">
         <name>vendor.qti.hardware.wifidisplaysession</name>
@@ -684,11 +688,13 @@
         <name>vendor.qti.ims.factory</name>
         <transport>hwbinder</transport>
         <version>1.1</version>
+        <version>2.1</version>
         <interface>
             <name>IImsFactory</name>
             <instance>default</instance>
         </interface>
         <fqname>@1.1::IImsFactory/default</fqname>
+        <fqname>@2.1::IImsFactory/default</fqname>
     </hal>
     <hal format="hidl">
         <name>vendor.qti.imsrtpservice</name>
@@ -701,6 +707,16 @@
         <fqname>@3.0::IRTPService/imsrtpservice</fqname>
     </hal>
     <hal format="hidl">
+        <name>vendor.qti.qesdhal</name>
+        <transport>hwbinder</transport>
+        <version>1.1</version>
+        <interface>
+            <name>IQesdhal</name>
+            <instance>default</instance>
+        </interface>
+        <fqname>@1.1::IQesdhal/default</fqname>
+    </hal>
+    <hal format="hidl">
         <name>vendor.qti.qspmhal</name>
         <transport>hwbinder</transport>
         <version>1.0</version>
@@ -720,4 +736,5 @@
         </interface>
         <fqname>@1.0::ISlaService/default</fqname>
     </hal>
+    <kernel target-level="6"/>
 </manifest>
diff --git a/manifest/vendor_framework_compatibility_matrix.xml b/manifest/vendor_framework_compatibility_matrix.xml
index 4d8003e..84d847f 100644
--- a/manifest/vendor_framework_compatibility_matrix.xml
+++ b/manifest/vendor_framework_compatibility_matrix.xml
@@ -31,6 +31,7 @@
         <interface>
             <name>IEvsEnumerator</name>
             <instance>default</instance>
+            <instance>hw/1</instance>
         </interface>
     </hal>
     <hal format="hidl" optional="true">
@@ -92,6 +93,14 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>com.android.ozoaudio.notify</name>
+        <version>1.0</version>
+        <interface>
+            <name>IOzoNotify</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>com.dsi.ant</name>
         <version>1.0</version>
         <interface>
@@ -187,11 +196,34 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
-        <name>vendor.nxp.hardware.nfc</name>
-        <version>1.0-1</version>
+        <name>vendor.ims.asusgeneralhidl</name>
+        <version>1.0</version>
+        <interface>
+            <name>IAsusGeneralHIDLE</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
+        <name>vendor.nxp.eventprocessor</name>
+        <version>1.0</version>
+        <interface>
+            <name>INxpEseEvtProcessor</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
+        <name>vendor.nxp.nxpese</name>
+        <version>1.0</version>
+        <interface>
+            <name>INxpEse</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
+        <name>vendor.nxp.nxpnfc</name>
         <version>2.0</version>
         <interface>
-            <name>INqNfc</name>
+            <name>INxpNfc</name>
             <instance>default</instance>
         </interface>
     </hal>
@@ -230,7 +262,7 @@
     <hal format="hidl" optional="true">
         <name>vendor.qti.data.factory</name>
         <version>1.0</version>
-        <version>2.0-4</version>
+        <version>2.0-5</version>
         <interface>
             <name>IFactory</name>
             <instance>default</instance>
@@ -245,6 +277,14 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>vendor.qti.dvr</name>
+        <version>1.0</version>
+        <interface>
+            <name>IDvrDisplay</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>vendor.qti.esepowermanager</name>
         <version>1.0-1</version>
         <interface>
@@ -337,7 +377,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.camera.aon</name>
-        <version>1.0</version>
+        <version>1.0-1</version>
         <interface>
             <name>IAONService</name>
             <instance>aoncameraservice</instance>
@@ -384,6 +424,14 @@
             <instance>slot2</instance>
         </interface>
     </hal>
+    <hal format="aidl" optional="true">
+        <name>vendor.qti.hardware.data.connectionfactory</name>
+        <interface>
+            <name>IFactory</name>
+            <instance>slot0</instance>
+            <instance>slot1</instance>
+        </interface>
+    </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.data.iwlan</name>
         <version>1.0-1</version>
@@ -431,6 +479,7 @@
     </hal>
     <hal format="aidl" optional="true">
         <name>vendor.qti.hardware.display.config</name>
+        <version>1-5</version>
         <interface>
             <name>IDisplayConfig</name>
             <instance>default</instance>
@@ -457,7 +506,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.dpmservice</name>
-        <version>1.0</version>
+        <version>1.0-1</version>
         <interface>
             <name>IDpmService</name>
             <instance>DpmService</instance>
@@ -480,14 +529,6 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
-        <name>vendor.qti.hardware.embmssl</name>
-        <version>1.0-1</version>
-        <interface>
-            <name>IEmbms</name>
-            <instance>embmsslServer0</instance>
-        </interface>
-    </hal>
-    <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.factory</name>
         <version>1.0-1</version>
         <interface>
@@ -584,6 +625,22 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>vendor.qti.hardware.qccsyshal</name>
+        <version>1.0-1</version>
+        <interface>
+            <name>IQccsyshal</name>
+            <instance>qccsyshal</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
+        <name>vendor.qti.hardware.qccvndhal</name>
+        <version>1.0</version>
+        <interface>
+            <name>IQccvndhal</name>
+            <instance>qccvndhal</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.qconfig</name>
         <version>1.0</version>
         <interface>
@@ -682,6 +739,7 @@
     </hal>
     <hal format="aidl" optional="true">
         <name>vendor.qti.hardware.radio.ims</name>
+        <version>1-6</version>
         <interface>
             <name>IImsRadio</name>
             <instance>imsradio0</instance>
@@ -698,7 +756,7 @@
     </hal>
     <hal format="hidl" optional="true">
         <name>vendor.qti.hardware.radio.lpa</name>
-        <version>1.0-1</version>
+        <version>1.0-2</version>
         <interface>
             <name>IUimLpa</name>
             <instance>UimLpa0</instance>
@@ -726,6 +784,7 @@
     </hal>
     <hal format="aidl" optional="true">
         <name>vendor.qti.hardware.radio.qtiradio</name>
+        <version>1-5</version>
         <interface>
             <name>IQtiRadioStable</name>
             <instance>slot1</instance>
@@ -974,7 +1033,7 @@
     <hal format="hidl" optional="true">
         <name>vendor.qti.ims.factory</name>
         <version>1.0-1</version>
-        <version>2.0</version>
+        <version>2.0-1</version>
         <interface>
             <name>IImsFactory</name>
             <instance>default</instance>
@@ -997,6 +1056,14 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>vendor.qti.qesdhal</name>
+        <version>1.0-1</version>
+        <interface>
+            <name>IQesdhal</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>vendor.qti.qspmhal</name>
         <version>1.0</version>
         <interface>
@@ -1013,14 +1080,6 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
-        <name>vendor.qti.spu</name>
-        <version>1.0-1</version>
-        <interface>
-            <name>ISPUManager</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl" optional="true">
         <name>vendor.qti.voiceprint</name>
         <version>1.0</version>
         <interface>
@@ -1028,31 +1087,4 @@
             <instance>default</instance>
         </interface>
     </hal>
-    <hal format="hidl" optional="true">
-        <name>vendor.asus.wifi.hostapd</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IAsusHostapd</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl" optional="true">
-        <name>vendor.nxp.nxpnfc</name>
-        <transport>hwbinder</transport>
-        <version>2.0</version>
-        <interface>
-            <name>INxpNfc</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl" optional="true">
-        <name>vendor.nxp.nxpnfclegacy</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>INxpNfcLegacy</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
 </compatibility-matrix>
diff --git a/omni_zenfone8.mk b/omni_zenfone9.mk
similarity index 80%
rename from omni_zenfone8.mk
rename to omni_zenfone9.mk
index 81228db..f27d90d 100644
--- a/omni_zenfone8.mk
+++ b/omni_zenfone9.mk
@@ -36,27 +36,27 @@
 $(call inherit-product, vendor/omni/config/common.mk)
 
 # Inherit from hardware-specific part of the product configuration
-$(call inherit-product, device/asus/zenfone8/device.mk)
+$(call inherit-product, device/asus/zenfone9/device.mk)
 
 # Discard inherited values and use our own instead.
-PRODUCT_DEVICE := zenfone8
-PRODUCT_NAME := omni_zenfone8
+PRODUCT_DEVICE := zenfone9
+PRODUCT_NAME := omni_zenfone9
 PRODUCT_BRAND := asus
-PRODUCT_MODEL := ASUS_I006D
+PRODUCT_MODEL := ASUS_AI2202
 PRODUCT_MANUFACTURER := asus
 
 PRODUCT_GMS_CLIENTID_BASE := android-asus
 
-TARGET_DEVICE := WW_I006D
-PRODUCT_SYSTEM_DEVICE := ASUS_I006D
-PRODUCT_SYSTEM_NAME := WW_I006D
+TARGET_DEVICE := WW_AI2202
+PRODUCT_SYSTEM_DEVICE := ASUS_AI2202
+PRODUCT_SYSTEM_NAME := WW_AI2202
 
 OMNI_PRODUCT_PROPERTIES += \
-    ro.build.product=ZS590KS
+    ro.build.product=AI2202
 
 PRODUCT_BUILD_PROP_OVERRIDES += \
-    PRODUCT_DEVICE=ASUS_I006D \
-    PRODUCT_NAME=WW_I006D \
-    TARGET_DEVICE=ZS590KS
+    PRODUCT_DEVICE=ASUS_AI2202 \
+    PRODUCT_NAME=WW_AI2202 \
+    TARGET_DEVICE=AI2202
 
-PLATFORM_SECURITY_PATCH_OVERRIDE := 2022-10-05
+PLATFORM_SECURITY_PATCH_OVERRIDE := 2022-10-01
diff --git a/policy_hal/Android.mk b/policy_hal/Android.mk
index 1ccc01b..a5ec0af 100644
--- a/policy_hal/Android.mk
+++ b/policy_hal/Android.mk
@@ -1,4 +1,4 @@
-ifeq ($(TARGET_DEVICE),$(filter $(TARGET_DEVICE),zenfone8))
+ifeq ($(TARGET_DEVICE),$(filter $(TARGET_DEVICE),zenfone9))
 ifneq ($(USE_LEGACY_AUDIO_POLICY), 1)
 ifeq ($(USE_CUSTOM_AUDIO_POLICY), 1)
 LOCAL_PATH := $(call my-dir)
diff --git a/prebuilt/product/etc/permissions/privapp-permissions-google_edited.xml b/prebuilt/product/etc/permissions/privapp-permissions-google_edited.xml
index b9cbc7e..2cfa43b 100644
--- a/prebuilt/product/etc/permissions/privapp-permissions-google_edited.xml
+++ b/prebuilt/product/etc/permissions/privapp-permissions-google_edited.xml
@@ -11,6 +11,7 @@
     </privapp-permissions>
 
     <privapp-permissions package="com.google.android.projection.gearhead">
+        <permission name="android.permission.ACTIVITY_EMBEDDING"/>
         <permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
         <permission name="android.permission.BIND_DIRECTORY_SEARCH"/>
         <permission name="android.permission.CALL_PRIVILEGED"/>
diff --git a/prebuilt/root/init.recovery.qcom.rc b/prebuilt/root/init.recovery.qcom.rc
index c0fa50d..2587de1 100644
--- a/prebuilt/root/init.recovery.qcom.rc
+++ b/prebuilt/root/init.recovery.qcom.rc
@@ -1,4 +1,4 @@
-# Copyright (c) 2017-2018,2020 The Linux Foundation. All rights reserved.
+# Copyright (c) 2017-2018,2020-2021 The Linux Foundation. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are met:
@@ -31,7 +31,9 @@
 
 on property:ro.boot.usbcontroller=*
     setprop sys.usb.controller ${ro.boot.usbcontroller}
-    write /sys/class/udc/${ro.boot.usbcontroller}/device/../mode peripheral
+    wait /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode
+    write /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode peripheral
+    wait /sys/class/udc/${ro.boot.usbcontroller} 1
 
 on fs
     wait /dev/block/platform/soc/${ro.boot.bootdevice}
diff --git a/prebuilt/system/etc/permissions/privapp-permissions-SM8350.xml b/prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml
similarity index 85%
rename from prebuilt/system/etc/permissions/privapp-permissions-SM8350.xml
rename to prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml
index ae615ac..9870df2 100644
--- a/prebuilt/system/etc/permissions/privapp-permissions-SM8350.xml
+++ b/prebuilt/system/etc/permissions/privapp-permissions-ASUS_AI2202.xml
@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
 <permissions>
     <privapp-permissions package="com.asus.camera">
+        <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
         <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
         <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
         <permission name="com.asus.permission.HARDWARE_PROPERTIES"/>
     </privapp-permissions>
+
     <privapp-permissions package="com.asus.ephotoburst">
         <permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
         <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
     </privapp-permissions>
+
     <privapp-permissions package="com.asus.gallery">
         <permission name="android.permission.DELETE_PACKAGES"/>
         <permission name="android.permission.LOCAL_MAC_ADDRESS"/>
         <permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
         <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
     </privapp-permissions>
-    <privapp-permissions package="com.asus.motorservice">
-        <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
-    </privapp-permissions>
+
 </permissions>
diff --git a/prebuilt/system/etc/permissions/privapp-permissions-qti.xml b/prebuilt/system/etc/permissions/privapp-permissions-qti.xml
index 75f7f1b..380b7bd 100644
--- a/prebuilt/system/etc/permissions/privapp-permissions-qti.xml
+++ b/prebuilt/system/etc/permissions/privapp-permissions-qti.xml
@@ -88,11 +88,6 @@
         <permission name="android.permission.CALL_PRIVILEGED"/>
     </privapp-permissions>
 
-    <privapp-permissions package="org.codeaurora.bluetooth.batestapp">
-        <permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
-        <permission name="android.permission.LOCAL_MAC_ADDRESS"/>
-    </privapp-permissions>
-
     <privapp-permissions package="org.codeaurora.snapcam">
         <permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
         <permission name="android.permission.WRITE_MEDIA_STORAGE"/>
diff --git a/prebuilt/system_ext/etc/public.libraries-qti.txt b/prebuilt/system_ext/etc/public.libraries-qti.txt
index 25c1234..42e461b 100644
--- a/prebuilt/system_ext/etc/public.libraries-qti.txt
+++ b/prebuilt/system_ext/etc/public.libraries-qti.txt
@@ -2,4 +2,5 @@
 libthermalclient.qti.so
 libdiag_system.qti.so
 libqape.qti.so
-liblistenjni.qti.so
\ No newline at end of file
+libqesdk_ndk_platform.qti.so
+liblistenjni.qti.so
diff --git a/prebuilt/vendor/etc/init/hw/init.asus.rc b/prebuilt/vendor/etc/init/hw/init.asus.rc
index 55afd8b..069d630 100644
--- a/prebuilt/vendor/etc/init/hw/init.asus.rc
+++ b/prebuilt/vendor/etc/init/hw/init.asus.rc
@@ -12,78 +12,83 @@
 #
 #################################
 
-import /vendor/etc/init/init.asus.storage.rc
-
 on boot
-    # ASUS_BSP Audio +++
-    mkdir /mnt/vendor/persist/audio 0770 root audio
-    # ASUS_BSP Audio ---
+   insmod /vendor/lib/modules/tfs_linux.ko
+   insmod /vendor/lib/modules/texfat.ko
+   insmod /vendor/lib/modules/tntfs.ko
 
 # BT A2DP offload mode property
     setprop persist.bluetooth.a2dp_offload.disabled false
 
-#+++ASUS_BSP : add for charger mode to access LEDs
 on charger
-    wait /dev/block/bootdevice/by-name/batinfo
-    exec /system/bin/e2fsck -p /dev/block/bootdevice/by-name/batinfo
-    mount ext4 /dev/block/bootdevice/by-name/batinfo /batinfo nosuid nodev noatime barrier=1
-    chown shell root /batinfo
-    chmod 0775 /batinfo
-    restorecon_recursive /batinfo
-
-# Changer LED path authority
-    chmod 0777 /sys/class/leds/red/brightness
-    chmod 0777 /sys/class/leds/green/brightness
-    chmod 0777 /sys/class/leds/red/delay_on
-    chmod 0777 /sys/class/leds/green/delay_on
-    chmod 0777 /sys/class/leds/red/delay_off
-    chmod 0777 /sys/class/leds/green/delay_off
-
-    chmod 0666 /proc/cmdline
-#---ASUS_BSP : add for charger mode to access LEDs
+    wait /dev/block/bootdevice/by-name/asdf
+    mount ext4 /dev/block/bootdevice/by-name/asdf /asdf nosuid nodev noatime barrier=1
+    chmod 0775 /asdf
+    restorecon_recursive /asdf
+    write /proc/asusevtlog "charger: enter charger mode"
+    write /sys/class/asuslib/set_charger_mode 1
+    write /sys/devices/platform/soc/soc:goodix_gf3626@0/gf_charger_mode 1
 
 on init
 
+    
 on fs
 
 
 on post-fs
-
     chmod 0755 /mnt/vendor/persist/adbkey.pub
     chown root root /mnt/vendor/persist/adbkey.pub
 
 on post-fs-data
 
+# +++ ASUS_BSP : add for asus boot animation partition
+# mount ADF
+    wait /dev/block/bootdevice/by-name/ADF
+    exec /system/bin/e2fsck -p /dev/block/bootdevice/by-name/ADF
+    mount ext4 /dev/block/bootdevice/by-name/ADF /ADF nosuid nodev noatime barrier=1
+    chmod 0775 /ADF
+    chmod 0775 /ADF/boot
+    chown system system /ADF
+    restorecon_recursive /ADF
+
+#mount APD
+    wait /dev/block/bootdevice/by-name/APD
+    exec /system/bin/e2fsck -p /dev/block/bootdevice/by-name/APD
+    mount ext4 /dev/block/bootdevice/by-name/APD /APD nosuid nodev noatime barrier=1
+    chmod 0775 /APD
+    chown system system /APD
+    restorecon_recursive /APD
+# --- ASUS_BSP : add for asus boot animation partition
+
 # +++ ASUS_BSP : add for asus battery safety upgrade and health partition
 #mount batinfo
     wait /dev/block/bootdevice/by-name/batinfo
     exec /system/bin/e2fsck -p /dev/block/bootdevice/by-name/batinfo
     mount ext4 /dev/block/bootdevice/by-name/batinfo /batinfo nosuid nodev noatime barrier=1
     chown shell root /batinfo
-    chmod 0775 /batinfo
+    chmod 0777 /batinfo
+    chmod 0777 /batinfo/.bs
+    chmod 0777 /batinfo/bat_safety
+    chmod 0777 /batinfo/Batpercentage
     restorecon_recursive /batinfo
 # --- ASUS_BSP : add for asus battery safety upgrade and health partition
 
 # ASUS_BSP : add for trigger ftm mode
     setprop ro.boot.ftm  ${ro.boot.pre-ftm}
 
+#ABSP++++ for asusrecord service
+    start asus_record
+#ABSP++
+
 # +++ ASUS_BSP : adb enable property
     setprop factory.adbon ${ro.boot.adb.enable}
     setprop factory.adbon2 ${ro.boot.adb.enable}
 # --- ASUS_BSP : adb enable property
 
 # +++ ASUS_BSP : add persist.asus.serialno for CSCMMI
-#    setprop persist.asus.serialno ${ro.boot.serialno}
+    setprop persist.asus.serialno ${ro.boot.serialno}
 # --- ASUS_BSP : add persist.asus.serialno for CSCMMI
 
-# ASUS_BSP "mediaflag" +++
-    start asus_mediaflag
-# ASUS_BSP "mediaflag" ---
-
-#ABSP++++ for asusrecord service
-    start asus_record
-#ABSP++
-
 # +++ ASUS_BSP : NFC
     mkdir /data/vendor 0777 nfc nfc
     mkdir /data/vendor/nfc 0777 nfc nfc
@@ -92,35 +97,26 @@
     chown nfc nfc /dev/pn553
 # --- ASUS_BSP : NFC
 
-    # ASUS_BSP Audio +++
-    chown root audio /mnt/vendor/persist/audio/rcv_cal_val
-    chown root audio /mnt/vendor/persist/audio/spk_cal_val
-    chmod 0660 /mnt/vendor/persist/audio/rcv_cal_val
-    chmod 0660 /mnt/vendor/persist/audio/spk_cal_val
-    # ASUS_BSP Audio ---
+# ASUS BSP Camera +++
+    chmod 777 /data/vendor/camera
+# ASUS BSP Camera ---
 
-#ASUS_BSP 2nd G+G +++
-    chown system camera /dev/asus2ndAccelSensor
-    chmod 0660 /dev/asus2ndAccelSensor
-    chown system camera /dev/asus2ndGyroSensor
-    chmod 0660 /dev/asus2ndGyroSensor
-    chown system camera /sys/class/icm206xx/gyro2_poll_delay
-    chmod 0664 /sys/class/icm206xx/gyro2_poll_delay
-    chown system camera /sys/class/icm206xx/accel2_poll_delay
-    chmod 0664 /sys/class/icm206xx/accel2_poll_delay
-#ASUS_BSP 2nd G+G ---
+# ASUS BSP DISPLAY +++
+    chmod 0666 /sys/class/asus_fod/hdr_mode
+    chmod 0666 /sys/class/asus_fod/hbm_mode
+# ASUS BSP DISPLAY ---
 
-    # FOD
-    chown system system /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fp_mode
-    chown system system /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fod_pressed
+#Thermal cdn Porting +++
+    mkdir /data/vendor/BBY 0777 system system
+#Thermal cdn Porting ---
 
-#ASUS_BSP Display +++
-    chmod 0666 /sys/class/drm/hdr_mode
-    chmod 0666 /sys/class/drm/fod_touched
-    chmod 0444 /sys/class/drm/ghbm_on_requested
-    chmod 0444 /sys/class/drm/ghbm_on_achieved
-    chmod 0444 /sys/class/drm/spot_on_achieved
-#ASUS_BSP Display ---
+# +++ ASUS_BSP : Audio AMP calibration
+    mkdir /mnt/vendor/persist/audio/ 0770 audio audio
+# --- ASUS_BSP : Audio AMP calibration
+
+
+chmod 0777 /dev/OIS
+
 #####################################################
 #####################################################
 #####################################################
@@ -142,41 +138,47 @@
 ###-----------------------------------------------###
 
 
+
 #####################################################
 #####################################################
 #####################################################
 
 
+
 ###+++++++++++++++++++++++++++++++++++++++++++++++###
 #               ALL ASUS service (start)
 #
 #         ****DO NOT insert any on property***
 ###+++++++++++++++++++++++++++++++++++++++++++++++###
 
-#ASUS_BSP 2nd G+G +++
-service rstg2k /vendor/bin/sh /vendor/etc/rstg2k.sh
-    user system
-    group system
-    seclabel u:r:asus_sensors:s0
-    oneshot
-    disabled
+# ASUS_BSP Eason for Ecompass accessory offset  +++
+service ecompass_accessoryALL_removed /vendor/bin/magnetometer_accessory_removed.sh
+			seclabel u:r:ASensorsService:s0
+			class core
+			user root
+			oneshot
+			disabled
+service ecompass_accessoryA_installed /vendor/bin/magnetometer_accessory_installed.sh
+			seclabel u:r:ASensorsService:s0
+			class core
+			user root
+			oneshot
+			disabled
+service ecompass_accessoryC_installed /vendor/bin/magnetometer_accessory2_installed.sh
+			seclabel u:r:ASensorsService:s0
+			class core
+			user root
+			oneshot
+			disabled
+# ASUS_BSP Eason for Ecompass accessory offset  ---
 
-service rstgy2k /vendor/bin/sh /vendor/etc/rstgy2k.sh
-    user system
-    group system
-    seclabel u:r:asus_sensors:s0
-    oneshot
-    disabled
-#ASUS_BSP 2nd G+G ---
-
-#ASUS_BSP +++ BT WIFI MAC, BT WIFI firmware version
-service qcfwver /vendor/bin/qcfwver
-    seclabel u:r:asus_bluetooth:s0
-    class core
-    user root
-    group root
-    oneshot
-    disabled
+# ASUS_BSP Proximity: add command for double tap
+service service_get_pstatus /vendor/bin/proximity_report_status.sh
+        class core
+		seclabel u:r:ASensorsService:s0
+        user root
+        oneshot
+        disabled
 
 service wifimacsh /vendor/bin/sh /vendor/bin/WifiMac.sh
     class core
@@ -184,16 +186,30 @@
     group root
     oneshot
     disabled
-#ASUS_BSP --- BT WIFI MAC, BT WIFI firmware version
 
-#ASUS_BSP_WIFI +++ SAR Reduce wifi power
-service SARPower-sh /vendor/bin/sh /vendor/bin/WifiSARPower.sh
+service WifiSARPower /vendor/bin/sh /vendor/bin/WifiSARPower.sh
     class core
     user root
     group root
+    oneshot
+    disabled
+
+# ASUS_BSP+ dynamic change default network
+service vendor.country /vendor/bin/sh /vendor/bin/country.sh
+    class main
+    user root
+    group root
+    oneshot
+# ASUS_BSP- dynamic change default network
+
+# ASUS_BSP RIL +++ switch antenna
+service vendor.antennaswitch /vendor/bin/antenna_switch_dci
+    class core
+    user radio
+    group oem_2901 radio
     disabled
     oneshot
-#ASUS_BSP_WIFI +++ SAR Reduce wifi power
+# ASUS_BSP RIL ---
 
 #ASUS_BSP NFC +++
 service nfcfelica /vendor/bin/sh /vendor/bin/NfcFelica.sh ${vendor.asus.nfc.felica}
@@ -204,32 +220,23 @@
     disabled
 #ASUS_BSP NFC ---
 
-# Sake BSP Touch +++
+# Touch +++
 service touch_ver /vendor/bin/sh  /vendor/bin/touch_ver.sh
     class core
     user root
     group root
     oneshot
     disabled
-# Sake BSP Touch ---
+# Touch ---
 
-# ASUS_BSP "mediaflag" +++
-service asus_mediaflag /vendor/bin/sh /vendor/bin/asus_mediaflag.sh
+#zram++++
+service asus_zram /system/vendor/bin/sh /vendor/bin/init.asus.zram.sh
     user root
     group root
     disabled
     seclabel u:r:savelogmtp:s0
     oneshot
-# ASUS_BSP "mediaflag" ---
-
-# BSP Power +++
-service battery_ver /vendor/bin/sh  /vendor/bin/firmware_version.sh
-    class core
-    user root
-    group root
-    oneshot
-    disabled
-# BSP Power ---
+#zram----
 
 ###-----------------------------------------------###
 #                ALL ASUS service (end)
@@ -248,121 +255,19 @@
 #           ****DO NOT insert service***     
 ###+++++++++++++++++++++++++++++++++++++++++++++++###
 
-on property:ro.boot.asus.authorized=1
+on property:ro.boot.asus.authorized=1 && property:persist.vendor.asus.adrt=1
     setprop vendor.x-rr.debuggable 1
-    write /proc/asusevtlog  "ASUS start adr"
+    write /proc/asusevtlog  "ASUS start adb root"
     write /sys/fs/selinux/aps 1
 
-# Sake BSP Touch +++
-on property:persist.vendor.asus.fp.wakeup=true
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fp_mode 1
-on property:persist.vendor.asus.fp.wakeup=false
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fp_mode 0
+on property:debug.asus.adrt=1
+    setprop persist.vendor.asus.adrt 1
+on property:debug.asus.adrt=0
+    setprop persist.vendor.asus.adrt 0
 
-on property:vendor.asus.touch_control_fod=0
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fp_ctrl_mode 0
-on property:vendor.asus.touch_control_fod=1
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fp_ctrl_mode 1
-on property:vendor.asus.touch_control_fod=2
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_fp_ctrl_mode 2
-
-on property:vendor.asus.touch_control_aod=0
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_aod_ctrl_mode 0
-on property:vendor.asus.touch_control_aod=1
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_aod_ctrl_mode 1
-
-on property:vendor.goodix.sensor.status=*
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fp_auth_status ${vendor.goodix.sensor.status}
-
-on property:vendor.audio.in_call=1
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_phone_state 1
-on property:vendor.audio.in_call=0
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_phone_state 0
-
-on property:vendor.asus.gamingtype=1
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_game_mode 1
-on property:vendor.asus.gamingtype=0
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_game_mode 0
-
-on property:vendor.screen.rotation=0
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_rotation_mode 0
-on property:vendor.screen.rotation=90
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_rotation_mode 1
-on property:vendor.screen.rotation=270
-   write /sys/devices/platform/soc/990000.i2c/i2c-1/1-0038/fts_rotation_mode 2
-
-on property:sys.boot_completed=1
-   start touch_ver
-# Sake BSP Touch ---
-
-# BSP Power +++
-on property:sys.boot_completed=1
-    rm /data/data/EnterShipMode
-    symlink /vendor/bin/EnterShipMode /data/data/EnterShipMode
-    chmod 0777 /data/data/EnterShipMode
-    chown system shell /data/data/EnterShipMode
-    chmod 777 /sys/class/qcom-battery/ship_mode_en
-    chmod 777 /sys/class/asuslib/enter_ship_mode
-
-    start battery_ver
-
-    write /sys/class/asuslib/boot_completed 1
-
-# BSP Power ---
-
-#ASUS_BSP 2nd G+G +++
-on property:debug.vendor.asus.rstg2k=*
-    start rstg2k
-on property:debug.vendor.asus.rstgy2k=*
-    start rstgy2k
-#ASUS_BSP 2nd G+G ---
-
-# ASUS_BSP camera+++
-on property:vendor.camera.set.apk.usingname=*
-	setprop vendor.camera.apk.usingname   ${vendor.camera.set.apk.usingname}
-
-on property:vendor.camera.set.apk.activity=*
-	setprop vendor.camera.apk.activity   ${vendor.camera.set.apk.activity}
-
-on property:vendor.asus.dis_flash_light=1
-	write /proc/driver/asus_flash "2 1"
-
-on property:vendor.asus.dis_flash_light=0
-	write /proc/driver/asus_flash "2 0"
-
-on property:sys.boot_completed=1
-    chmod 0666 /mnt/vendor/persist/MediaFlag
-    chown shell shell /mnt/vendor/persist/MediaFlag
-
-on property:sys.boot_completed=1
-   chmod 0777 /data/vendor/camera/
-   chmod 644 /vendor/factory/dualcam_cali.bin	
-   copy /vendor/factory/dualcam_cali.bin /data/vendor/camera/dualcam_cali.bin
-   chmod 0755 /data/vendor/camera/dualcam_cali.bin
-
-   copy /proc/driver/dualcam_cali /data/vendor/camera/dualcam_cali	
-   chmod 0755 /data/vendor/camera/dualcam_cali
-# ASUS_BSP camera---
-
-# ASUS_BSP +++ BT WIFI MAC, BT WIFI firmware version
-on property:sys.boot_completed=1
-    start qcfwver
-
+# ASUS_BSP +++ WIFI
 on property:sys.boot_completed=1
     start wifimacsh
-# ASUS_BSP ---BT WIFI MAC, BT WIFI firmware version
-
-#ASUS_BSP_WIFI +++ SAR Reduce wifi power
-on property:vendor.asus.operator.iso-country=*
-    restart SARPower-sh
-
-on property:wlan.driver.status=*
-    restart SARPower-sh
-
-on property:vendor.asus.sar.softap=*
-    restart SARPower-sh
-
-#ASUS_BSP_WIFI --- SAR Reduce wifi power
 
 on property:vendor.asus.wfd.config=1
     setprop vendor.asus.wfd2.config 1
@@ -374,41 +279,47 @@
     setprop vendor.asus.wfd2.config 0
 
 on property:vendor.wlan.softap.driver.status=ok
-    setprop vendor.asus.sar.softap ok
     write /proc/driver/UTSstatus 1
 
 on property:vendor.wlan.softap.driver.status=unloaded
-    setprop vendor.asus.sar.softap unloaded
     write /proc/driver/UTSstatus 0
 
 # ASUS_BSP+++ for wlan miracast log
 on property:persist.vendor.asus.miracastlog=1
     setprop debug.wfd.uibcevents 1
     write /data/vendor/mmosal_logmask.cfg "LOGMASK = 6013:63\\nLOGMASK = 6015:63"
+    chmod 666 /data/vendor/mmosal_logmask.cfg
 
 on property:persist.vendor.asus.miracastlog=0
     setprop debug.wfd.uibcevents 0
     rm /data/vendor/mmosal_logmask.cfg
 # ASUS_BSP--- for wlan miracast log
 
-#Asus log tool switch usb +++
-on property:vendor.asus.usb.diag=1
-    setprop vendor.usb.diag 1
+on property:persist.vendor.asus.cnelog=1
+    setprop persist.vendor.cne.logging.qxdm 3974
 
-on property:vendor.asus.usb.diag=0
-    setprop vendor.usb.diag 0
-#Asus log tool switch usb ---
+on property:persist.vendor.asus.cnelog=0
+    setprop persist.vendor.cne.logging.qxdm 4242
 
-# ASUS_BSP NFC +++
-on property:vendor.asus.nfc.status=*
-    setprop persist.vendor.nfc.status ${vendor.asus.nfc.status}
+on property:log.asus.sar.audio=*
+    restart WifiSARPower
 
-on property:vendor.asus.nfc.fw.version=*
-    setprop persist.vendor.nfc.fw.version ${vendor.asus.nfc.fw.version}
+on property:wlan.driver.status=*
+    restart WifiSARPower
 
-on property:vendor.asus.nfc.felica=*
-    start nfcfelica
-# ASUS_BSP NFC ---
+on property:vendor.wlan.softap.driver.status=*
+    restart WifiSARPower
+
+on property:vendor.sla.enabled=*
+    restart WifiSARPower
+
+on property:log.ril.tel.mobiledata=*
+    setprop vendor.ril.tel.mobiledata ${sys.ril.tel.mobiledata}
+
+on property:vendor.ril.tel.mobiledata=*
+    restart WifiSARPower
+
+# ASUS_BSP --- WIFI
 
 #ABSP++++ for asusrecord service
 # for asusrecord service (falling)
@@ -438,6 +349,13 @@
 #ABSP++
 
 # ASUS_BSP Charger : Add the inteface with ASUS userspace +++
+service battery_ver /vendor/bin/sh  /vendor/bin/firmware_version.sh
+    class core
+    user root
+    group root
+    oneshot
+    disabled
+
 on property:persist.sys.enableAPD=1
     write /sys/class/asuslib/demo_app_status 1
 on property:persist.sys.enableAPD=0
@@ -445,7 +363,6 @@
 
 on property:persist.sys.ultrabatterylife=1
     write /sys/class/asuslib/ultra_bat_life 1
-    write /asdf/CHGLimit 0
 on property:persist.sys.ultrabatterylife=0
     write /sys/class/asuslib/ultra_bat_life 0
 
@@ -457,34 +374,185 @@
 on property:persist.sys.charginglimit=*
     write /sys/class/asuslib/smartchg_slow_charging ${persist.sys.charginglimit}
 
-on property:persist.sys.enableLPD=1
-    write /sys/class/qcom-battery/moisture_detection_en 1
-on property:persist.sys.enableLPD=0
-    write /sys/class/qcom-battery/moisture_detection_en 0
+on property:sys.boot_completed=1
+   start battery_ver
 
-on property:vendor.asus.virtualtherm=*
-    write /sys/class/asuslib/virtual_thermal ${vendor.asus.virtualtherm}
+# ASUS_BSP RIL +++ switch antenna
+on property:vendor.asus.tel.antenna=*
+    start vendor.antennaswitch
+# ASUS_BSP RIL ---
+
+on property:sys.battery.versionupdate=1
+    start battery_ver
 
 on property:vendor.audio.in_call=1
-   write /sys/class/asuslib/in_call 1
+    write /sys/class/asuslib/in_call 1
 on property:vendor.audio.in_call=0
-   write /sys/class/asuslib/in_call 0
+    write /sys/class/asuslib/in_call 0
 # ASUS_BSP Charger : Add the inteface with ASUS userspace ---
 
-# ASUS_BSP Psensor : Add phone/voip call property get +++
-on property:vendor.audio.in_call=*
-	write /sys/class/sensors/psensor/oil_flag ${vendor.audio.in_call}
-# ASUS_BSP Psensor : Add phone/voip call property get ---
-# ASUS_BSP Psensor : check pocket mode status +++
-on property:persist.vendor.asus.InadvertentTouch=*
-	write /sys/class/sensors/psensor/pocket_en ${persist.vendor.asus.InadvertentTouch}
-# ASUS_BSP Psensor : check pocket mode status ---
+#for log tool switch usb+++
+on property:vendor.asus.usb.diag=1
+    setprop vendor.usb.diag 1
+
+on property:vendor.asus.usb.diag=0
+    setprop vendor.usb.diag 0
+#for log tool switch usb---
+
+# ASUS_BSP camera+++
+on property:sys.boot_completed=1
+    chmod 644 /vendor/factory/dualcam_cali.bin
+    copy /vendor/factory/dualcam_cali.bin /data/vendor/camera/dualcam_cali.bin
+    chmod 0755 /data/vendor/camera/dualcam_cali.bin
+    copy /proc/driver/dualcam_cali /data/vendor/camera/dualcam_cali
+    chmod 0755 /data/vendor/camera/dualcam_cali
+
+on property:vendor.camera.set.apk.usingname=*
+	setprop vendor.camera.apk.usingname   ${vendor.camera.set.apk.usingname}
+
+on property:vendor.camera.set.apk.activity=*
+	setprop vendor.camera.apk.activity   ${vendor.camera.set.apk.activity}
+
+on property:vendor.asus.dis_flash_light=1
+	write /proc/driver/asus_flash "2 1"
+
+on property:vendor.asus.dis_flash_light=0
+	write /proc/driver/asus_flash "2 0"
+# ASUS_BSP camera---
+
+# ASUS_BSP+ dynamic change default network
+on property:vold.decrypt=trigger_restart_framework
+    start vendor.country
+# ASUS_BSP- dynamic change default network
+
+# ASUS_BSP Eason for Ecompass accessory offset  +++
+on property:vendor.asus.hall.accessory=0
+    start ecompass_accessoryALL_removed
+
+on property:vendor.asus.hall.accessory=1
+    start ecompass_accessoryA_installed
+    
+on property:vendor.asus.hall.accessory=2
+    start ecompass_accessoryC_installed
+
+on property:vendor.asus.mag.accessory=0
+    start ecompass_accessoryALL_removed
+
+on property:vendor.asus.mag.accessory=1
+    start ecompass_accessoryA_installed
+    
+on property:vendor.asus.mag.accessory=2
+    start ecompass_accessoryC_installed
+# ASUS_BSP Eason for Ecompass accessory offset ---
+
+# ASUS_BSP NFC +++
+on property:vendor.asus.nfc.felica=*
+    start nfcfelica
+# ASUS_BSP NFC ---
+
+# BSP Power +++
+on property:sys.boot_completed=1
+    chmod 777 /sys/class/qcom-battery/ship_mode_en
+    chmod 777 /sys/class/asuslib/enter_ship_mode
+    write /sys/class/asuslib/boot_completed 1
+# BSP Power ---
+
+# Touch +++
+on property:sys.boot_completed=1
+   start touch_ver
+
+on property:vendor.asus.touch_control_aod=0
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_aod_ctrl_mode 0
+on property:vendor.asus.touch_control_aod=1
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_aod_ctrl_mode 1
+
+on property:vendor.audio.in_call=1
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_phone_state 1
+on property:vendor.audio.in_call=0
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_phone_state 0
+
+on property:vendor.asus.gamingtype=1
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_game_mode 1
+on property:vendor.asus.gamingtype=0
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_game_mode 0
+
+on property:vendor.screen.rotation=0
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_rotation_mode 0
+on property:vendor.screen.rotation=90
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_rotation_mode 1
+on property:vendor.screen.rotation=270
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_rotation_mode 2
+
+on property:vendor.asus.touch.resize=0
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_xy_resize 0
+on property:vendor.asus.touch.resize=1
+   write /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/fts_xy_resize 1
+# Touch ---
+
+# ASUS_BSP +++ set btsnoop_status property
+on property:persist.bluetooth.btsnooplogmode=filtered
+setprop debug.bluetooth.btsnoop_status start
+
+on property:persist.bluetooth.btsnooplogmode=full
+setprop debug.bluetooth.btsnoop_status start
+
+on property:persist.bluetooth.btsnooplogmode=snoopheadersfiltered
+setprop debug.bluetooth.btsnoop_status start
+
+on property:persist.bluetooth.btsnooplogmode=mediapktsfiltered
+setprop debug.bluetooth.btsnoop_status start
+
+on property:persist.bluetooth.btsnooplogmode=disabled
+setprop debug.bluetooth.btsnoop_status stop
+# ASUS_BSP --- set btsnoop_status property
+
+on property:persist.vendor.asus.foregroundapp=*
+   setprop vendor.foreground.app   ${persist.vendor.asus.foregroundapp}
+
+on property:persist.sys.systemmode=*
+   setprop vendor.setting.mode   ${persist.sys.systemmode}
+
+#add for game cdn
+on property:sys.asusconfigupdater.game_policy_cdn_version.csv=*
+   setprop vendor.asusconfigupdater.game_policy_cdn_version.csv   	   ${sys.asusconfigupdater.game_policy_cdn_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_0_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_0_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_0_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_1_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_1_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_1_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_2_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_2_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_2_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_3_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_3_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_3_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_4_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_4_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_4_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_5_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_5_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_5_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_6_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_6_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_6_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_7_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_7_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_7_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_8_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_8_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_8_version.csv}
+on property:sys.asusconfigupdater.game_perf_para_cdn_9_version.csv=*
+   setprop vendor.asusconfigupdater.game_perf_para_cdn_9_version.csv   ${sys.asusconfigupdater.game_perf_para_cdn_9_version.csv}
+
+on property:sys.boot_completed=1
+    start asus_zram
+
+on property:persist.vendor.zram.enable=*
+    start asus_zram
+
+on property:vendor.init.zram.enable=*
+    setprop persist.vendor.zram.enable ${vendor.init.zram.enable}
 
 on property:vendor.drm.keystatus=1
     setprop vendor.debug.drm.keystatus 1
 on property:vendor.drm.keystatus=-1
     setprop vendor.debug.drm.keystatus -1
 
+# ASUS_BSP Proximity: add command for double tap
+on property:vendor.proximity.get_status=1
+	start service_get_pstatus
 ###-----------------------------------------------###
 #              ALL ASUS on property (end)
 # 
diff --git a/prebuilt/vendor/etc/init/hw/init.qcom.rc b/prebuilt/vendor/etc/init/hw/init.qcom.rc
index b5bec35..fcf2735 100644
--- a/prebuilt/vendor/etc/init/hw/init.qcom.rc
+++ b/prebuilt/vendor/etc/init/hw/init.qcom.rc
@@ -1,4 +1,4 @@
-# Copyright (c) 2009-2012, 2014-2020, The Linux Foundation. All rights reserved.
+# Copyright (c) 2009-2012, 2014-2021, The Linux Foundation. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are met:
@@ -25,17 +25,16 @@
 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-import /vendor/etc/init/hw/init.asus.usb.rc
 import /vendor/etc/init/hw/init.qti.ufs.rc
+import /vendor/etc/init/hw/init.qcom.usb.rc
 import /vendor/etc/init/hw/init.qcom.test.rc
 import /vendor/etc/init/hw/init.target.rc
 import /vendor/etc/init/hw/init.qcom.factory.rc
 # +++ ASUS_BSP : add for import asus rc
 import /vendor/etc/init/hw/init.asus.rc
 # --- ASUS_BSP : add for import asus rc
+
 on early-init
-    mount debugfs debugfs /sys/kernel/debug
-    chmod 0755 /sys/kernel/debug
     mount tracefs tracefs /sys/kernel/tracing
     chmod 0755 /sys/kernel/tracing
 
@@ -44,22 +43,15 @@
     symlink /vendor/bt_firmware /bt_firmware
     symlink /vendor/dsp /dsp
 
-  # Change ownership of hw_recovery related nodes
-    chown system graphics /sys/kernel/debug/dri/0/debug/dump
-    chown system graphics /sys/kernel/debug/dri/0/debug/recovery_reg
-    chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dbgbus
-    chown system graphics /sys/kernel/debug/dri/0/debug/recovery_vbif_dbgbus
-    chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dsi_dbgbus
-
   # Change ownership of sysfs power control node
     chown system graphics /sys/class/drm/card0/device/power/control
 
-    # Change ownership of sw_sync node
-    chown system graphics /sys/kernel/debug/sync/sw_sync
-    chmod 0666 /sys/kernel/debug/sync/sw_sync
-
     #Disable UFS clock scaling
     write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 0
+    #Disable UFS auto_hibern8
+    write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 0
+    #Disable UFS clock gating
+    write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 0
 
     chown root system /dev/kmsg
     chmod 0620 /dev/kmsg
@@ -77,21 +69,13 @@
     write /sys/fs/cgroup/memory/bg/memory.swappiness 140
     write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
     chown root system /sys/fs/cgroup/memory/bg/tasks
-    write /sys/kernel/icnss/wpss_boot 1
     chmod 0660 /sys/fs/cgroup/memory/bg/tasks
 
 on post-fs
-    chmod 0755 /sys/kernel/debug/tracing
-    chmod 444 /dev/stmvl53l5
 
 on early-boot
     # set RLIMIT_MEMLOCK to 64MB
     setrlimit 8 67108864 67108864
-    # Allow subsystem (modem etc) debugging
-    write /sys/kernel/boot_adsp/boot 1
-    write /sys/kernel/boot_cdsp/boot 1
-    write /sys/devices/virtual/npu/msm_npu/boot 1
-    write /sys/devices/virtual/cvp/cvp/boot 1
     exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh
     exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.can.sh
     setprop ro.sf.lcd_density ${vendor.display.lcd_density}
@@ -120,8 +104,6 @@
     chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
     chown system system /sys/module/msm_core/parameters/polling_interval
     chown system system /sys/module/msm_core/parameters/disabled
-    chown system system /sys/kernel/debug/msm_core/enable
-    chown system system /sys/kernel/debug/msm_core/ptable
     chown system system /sys/kernel/boot_slpi/ssr
     chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
     chmod 0660 /sys/module/bluetooth_power/parameters/power
@@ -141,6 +123,7 @@
 
     chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
     chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
+    chown media audio /sys/kernel/snd_card/card_state
 
     # This location is used by QCRIL to host UNIX domain
     # socket files used for internal IPC within QCRIL
@@ -180,19 +163,13 @@
     # an ack packet comes out of order
     write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
 
-    # Set the console loglevel to < KERN_WARN
-    # Set the default message loglevel to KERN_INFO
-    write /proc/sys/kernel/printk "4 6 1 7"
-
     # Allow access for CCID command/response timeout configuration
     chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
 
     # bond0 used by FST Manager
     chown wifi wifi /sys/class/net/bond0/bonding/queue_id
 
-    # Allow access to emmc rawdump block partition and dload sysfs node
-    chown root system /dev/block/bootdevice/by-name/rawdump
-    chmod 0660 /dev/block/bootdevice/by-name/rawdump
+    # Allow access to dload sysfs node
     chown root system /sys/kernel/dload/emmc_dload
     chmod 0660 /sys/kernel/dload/emmc_dload
     chown root system /dev/block/bootdevice/by-name/ramdump
@@ -200,6 +177,11 @@
     chown root system /sys/kernel/dload/dload_mode
     chmod 0660 /sys/kernel/dload/dload_mode
 
+    chown root graphics /sys/module/msm_drm/parameters/dsi_display0
+    chmod 0640 /sys/module/msm_drm/parameters/dsi_display0
+    chown root graphics /sys/module/msm_drm/parameters/dsi_display1
+    chmod 0640 /sys/module/msm_drm/parameters/dsi_display1
+
     chown system system /sys/class/backlight/panel0-backlight/brightness
     chown system system /sys/class/backlight/panel0-backlight/max_brightness
     chown system system /sys/class/backlight/panel1-backlight/brightness
@@ -219,10 +201,7 @@
     # for backward compatibility
     mkdir /persist/display 0770 system graphics
     mkdir /mnt/vendor/persist/display 0770 system graphics
-    
-    # ASUS_BSP +++ ClayWang "For checking support front RGB or not"
-    # setprop ro.asus.screen.colortemp.enable 0
-    # ASUS_BSP --- 
+
     #ASUS_BSP +++ ClayWang "Proximity/Light sensor"
     chown system shell /sys/class/sensors/psensor/switch
     chown system shell /sys/class/sensors/psensor/inf_cal
@@ -231,23 +210,15 @@
     chown system shell /sys/class/sensors/psensor/proxm
     chown system shell /sys/class/sensors/psensor/load_cal
     chown system shell /sys/class/sensors/psensor/selection
-    chown system shell /sys/class/sensors/psensor_2nd/switch
-    chown system shell /sys/class/sensors/psensor_2nd/inf_cal
-    chown system shell /sys/class/sensors/psensor_2nd/hi_cal
-    chown system shell /sys/class/sensors/psensor_2nd/low_cal
-    chown system shell /sys/class/sensors/psensor_2nd/proxm
-    chown system shell /sys/class/sensors/psensor_2nd/load_cal
-    chown system shell /sys/class/sensors/psensor_2nd/selection
+    chown system shell /sys/class/sensors/psensor/load_pocket_cal
+    chown system shell /sys/class/sensors/psensor/load_near_cal
+    chown system shell /sys/class/sensors/psensor/load_far_cal
+    chown system shell /sys/class/sensors/psensor/load_inf_cal
     
     chown system shell /sys/class/sensors/lsensor/switch
     chown system shell /sys/class/sensors/lsensor/selection
     chown system shell /sys/class/sensors/lsensor/cal
     chown system shell /sys/class/sensors/lsensor/adc
-    chown system shell /sys/class/sensors/lsensor_2nd/switch
-    chown system shell /sys/class/sensors/lsensor_2nd/selection
-    chown system shell /sys/class/sensors/lsensor_2nd/cal
-    chown system shell /sys/class/sensors/lsensor_2nd/adc
-    #chown system shell /sys/class/sensors/frgbsensor/switch
     #ASUS_BSP --- ClayWang "Proximity/Light sensor"
     
     # Create vpp directory
@@ -310,27 +281,6 @@
     # Create the directories used by WiGig Sensing
     mkdir /data/vendor/sensing 0770 system wifi
 
-    # Create config file for WIFI_SLM
-    mkdir /data/vendor/sla 0775 system system
-    copy /vendor/etc/sla/slad.conf /data/vendor/sla/slad.conf
-    copy /vendor/etc/sla/slad_data_iface.conf /data/vendor/sla/slad_data_iface.conf
-    copy /vendor/etc/sla/slad_wlan0_iface.conf /data/vendor/sla/slad_wlan0_iface.conf
-    copy /vendor/etc/sla/slad_wlan1_iface.conf /data/vendor/sla/slad_wlan1_iface.conf
-    copy /vendor/etc/sla/slmAppUseCase.conf /data/vendor/sla/slmAppUseCase.conf
-    copy /vendor/etc/sla/slad_num_iface.conf /data/vendor/sla/slad_num_iface.conf
-    copy /vendor/etc/sla/slm_supported_list.xml /data/vendor/sla/slm_supported_list.xml
-    chmod 0664 /data/vendor/sla/slad.conf
-    chmod 0664 /data/vendor/sla/slad_data_iface.conf
-    chmod 0664 /data/vendor/sla/slad_wlan0_iface.conf
-    chmod 0664 /data/vendor/sla/slad_wlan1_iface.conf
-    chmod 0664 /data/vendor/sla/slad_num_iface.conf
-    chmod 0664 /data/vendor/sla/slm_supported_list.xml
-    chown system system /data/vendor/sla/slad_data_iface.conf
-    chown system system /data/vendor/sla/slad_wlan0_iface.conf
-    chown system system /data/vendor/sla/slad_wlan1_iface.conf
-    chown system system /data/vendor/sla/slad_num_iface.conf
-    chmod 0664 /data/vendor/sla/slmAppUseCase.conf
-
     # Create the directories used by CnE subsystem
     mkdir /data/vendor/connectivity 0771 radio radio
     chown radio radio /data/vendor/connectivity
@@ -368,15 +318,6 @@
     #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
     #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
 
-    #Create directories for Location services
-    mkdir /data/vendor/location 0770 gps gps
-    mkdir /data/vendor/location/mq 0770 gps gps
-    mkdir /data/vendor/location/xtwifi 0770 gps gps
-    mkdir /dev/socket/location 0770 gps gps
-    mkdir /dev/socket/location/mq 0770 gps gps
-    mkdir /dev/socket/location/xtra 0770 gps gps
-    mkdir /dev/socket/location/dgnss 0770 gps gps
-
     #Create directories for wifihal services
     mkdir /dev/socket/wifihal 0770 wifi wifi
     chmod 2770 /dev/socket/wifihal
@@ -400,6 +341,8 @@
 
     mkdir /data/vendor/secure_element 0777 system system
 
+    mkdir /data/vendor/nfc 0770 nfc nfc
+
     #Create IOP  deamon related dirs
     mkdir /data/vendor/iop 0700 root system
 
@@ -447,43 +390,17 @@
 
     #Create dir for TUI
     mkdir /data/vendor/tui 0700 system drmrpc
-    
+
     #ASUS_BSP +++ ClayWang "Proximity/Light sensor"
     write /sys/class/sensors/psensor/load_cal 1
-    write /sys/class/sensors/psensor_2nd/load_cal 1
     #ASUS_BSP --- ClayWamg "Proximity/Light sensor"
 
-#SLM
-service sls_notify /system/bin/sls_notify
-    class main
-    user root
-    group root
-    oneshot
-    disabled
-    seclabel u:r:sls_notify:s0
-
-on property:vendor.sla.sls_change_iface=*
-    stop sls_notify
-    start sls_notify
-
-#Focus mode +++
-service AsusFocusService /system/bin/AsusFocusService
-    class main
-    user root
-    group root
-    oneshot
-    disabled
-    seclabel u:r:AsusFocusService:s0
-
-on property:persist.vendor.asus.focus_mode=*
-    start AsusFocusService
-
-on property:vendor.asus.gamingtype=*
-    start AsusFocusService
-
-on property:vendor.asus.focus_uid=*
-    start AsusFocusService
-#Focus mode ---
+    #ASUS+BSP christie coresight for user
+    mkdir /config/stp-policy/coresight-stm:p_ost.policy
+    chmod 0660 /config/stp-policy/coresight-stm:p_ost.policy
+    mkdir /config/stp-policy/coresight-stm:p_ost.policy/default
+    chmod 0660 /config/stp-policy/coresight-stm:p_ost.policy/default
+    write /sys/bus/coresight/devices/coresight-stm/traceid 0x10
 
 service nqnfcinfo /system/vendor/bin/nqnfcinfo
     class late_start
@@ -549,16 +466,39 @@
 on property:persist.vendor.ssr.restart_level=*
     start vendor.ssr_setup
 
+on property:persist.vendor.ssr.wlan=1
+    write /sys/kernel/cnss/recovery 1
+
+on property:persist.vendor.ssr.wlan=0
+    write /sys/kernel/cnss/recovery 0
+
 on property:persist.vendor.ssr.enable_ramdumps=1
     write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
+    write /sys/module/qcom_ramdump/parameters/enable_dump_collection 1
+    write /sys/class/remoteproc/remoteproc0/coredump enabled
+    write /sys/class/remoteproc/remoteproc1/coredump enabled
+    write /sys/class/remoteproc/remoteproc2/coredump enabled
+    write /sys/class/remoteproc/remoteproc3/coredump enabled
+    write /sys/class/remoteproc/remoteproc4/coredump enabled
     mkdir /data/vendor/ramdump_ssr 770 system system
     start vendor.ss_ramdump
 
-#AS-K SSR SAR and Modem Log Config - Stop ss_ramdump when ramdump disabled+
 on property:persist.vendor.ssr.enable_ramdumps=0
     write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
+    write /sys/module/qcom_ramdump/parameters/enable_dump_collection 0
+    write /sys/class/remoteproc/remoteproc0/coredump disabled
+    write /sys/class/remoteproc/remoteproc1/coredump disabled
+    write /sys/class/remoteproc/remoteproc2/coredump disabled
+    write /sys/class/remoteproc/remoteproc3/coredump disabled
+    write /sys/class/remoteproc/remoteproc4/coredump disabled
     stop vendor.ss_ramdump
 
+on property:persist.vendor.sys.rawdump_copy=1
+    write /sys/kernel/dload/emmc_dload 1
+
+on property:persist.vendor.sys.rawdump_copy=0
+    write /sys/kernel/dload/emmc_dload 0
+
 # yujoe tcpdump_warp service to save tcpdump to /sdcard
 service tcpdump-warp /system/bin/netlog -i any -p -s 0 -Z root -C ${sys.tcpdump.size:-50} -W ${sys.tcpdump.num:-10} -w /data/logcat_log/capture.pcap
     class late_start
@@ -578,16 +518,15 @@
     restart vendor.netmgrd
 #AS-K Workaround for unable to get dsi hndl issue-
 
-on property:persist.vendor.sys.rawdump_copy=1
-    write /sys/kernel/dload/emmc_dload 1
-
-on property:persist.vendor.sys.rawdump_copy=0
-    write /sys/kernel/dload/emmc_dload 0
 
 on property:sys.boot_completed=1
     write /dev/kmsg "Boot completed "
     #Enable UFS clock scaling back
     write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
+    #Enable UFS auto_hibern8 back
+    write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 5000
+    #Enable UFS clock gating back
+    write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 1
     #Reset read ahead for dm-0 and dm-1 to 512kb
     write /sys/block/dm-0/queue/read_ahead_kb 512
     write /sys/block/dm-1/queue/read_ahead_kb 512
@@ -596,6 +535,8 @@
     chown media audio /sys/kernel/wcd_cpe0/fw_name
     #Reinit lmkd to reconfigure lmkd properties
     setprop lmkd.reinit 1
+    chown media audio /sys/kernel/aud_dev/state
+    write /sys/devices/virtual/cvp/cvp/boot 1
 
 on property:persist.vendor.radio.atfwd.start=false
     stop vendor.atfwd
@@ -611,9 +552,6 @@
 on property:vendor.media.target.version=*
     setprop vendor.sys.media.target.version ${vendor.media.target.version}
 
-on property:vendor.netflix.bsp_rev=*
-    setprop ro.netflix.bsp_rev ${vendor.netflix.bsp_rev}
-
 on property:vendor.media.target_variant=*
     setprop ro.media.xml_variant.codecs ${vendor.media.target_variant}
     setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant}
@@ -623,22 +561,6 @@
     user root
     oneshot
 
-# ASUS_BSP +++ shianliang "[Kirin][SIM]SYNC SIMCODE VALUE"
-service vendor.simcode /vendor/bin/sh /vendor/bin/parse.simcode.sh
-    class main
-    user root
-    group root
-    oneshot
-# ASUS_BSP --- shianliang "[Kirin][SIM]SYNC SIMCODE VALUE"
-
-#ASUS_BSP LanceHuang+++ dynamic change default network
-service vendor.country /vendor/bin/sh /vendor/bin/country.sh
-    class main
-    user root
-    group root
-    oneshot
-#ASUS_BSP LanceHuang--- dynamic change default network
-
 service qcom-c_main-sh /vendor/bin/init.class_main.sh
     class main
     user root
@@ -646,14 +568,9 @@
     oneshot
 
 on property:vold.decrypt=trigger_restart_framework
-    start vendor.country
-    start vendor.simcode
     start qcom-c_main-sh
     start wcnss-service
 
-on property:persist.vendor.radio.multisim.config=*
-    setprop persist.radio.multisim.config ${persist.vendor.radio.multisim.config}
-
 service vendor.qrtr-ns /vendor/bin/qrtr-ns -f
     class core
     user vendor_qrtr
@@ -820,11 +737,6 @@
     group gps
     socket mlid stream 0666 gps gps
 
-service loc_launcher /system/vendor/bin/loc_launcher
-    class late_start
-    user gps
-    group gps
-
 service qcom-sh /vendor/bin/init.qcom.sh
     class late_start
     user root
@@ -925,32 +837,6 @@
     group system
     disabled
 
-service hvdcp /system/bin/hvdcp
-    class core
-    user root
-    disabled
-
-on property:persist.usb.hvdcp.detect=true
-    start hvdcp
-
-on property:persist.usb.hvdcp.detect=false
-    stop hvdcp
-
-service charger_monitor /system/bin/charger_monitor
-    user root
-    group root
-    disabled
-
-service qbcharger /charger -m 1
-    disabled
-    oneshot
-
-on property:sys.qbcharger.enable=true
-    start qbcharger
-
-on property:sys.qbcharger.enable=false
-    stop qbcharger
-
 #AS-K SSR SAR and Modem Log Config - Add -c to Send mask cleanup to modem at exit+
 service diag_mdlog_start /system/vendor/bin/diag_mdlog -c -u
     class late_start
@@ -982,35 +868,36 @@
     disabled
     oneshot
 
+on property:sys.asus.sar.audio=*
+    setprop log.asus.sar.audio ${sys.asus.sar.audio}
+
+on property:log.asus.sar.audio=*
+    restart vendor.sar_setting
+
 on property:log.asus.sar.data=*
     restart vendor.sar_setting
 
-on property:ro.boot.country_code=*
-    setprop persist.logd.config.versatility ${ro.boot.country_code}
+on property:ro.vendor.config.versatility=*
+    setprop persist.logd.config.versatility ${ro.vendor.config.versatility}
 
 on property:persist.logd.config.versatility=*
     restart vendor.sar_setting
 
+on property:vendor.sla.enabled=*
+    setprop log.sla.enabled ${vendor.sla.enabled}
+
+on property:log.sla.enabled=*
+    restart vendor.sar_setting
+
 on property:vendor.wlan.softap.driver.status=*
     setprop log.wlan.softap.driver.status ${vendor.wlan.softap.driver.status}
 
 on property:log.wlan.softap.driver.status=*
     restart vendor.sar_setting
 
-on property:vendor.audio.asus.sar=*
-    setprop log.asus.sar.audio ${vendor.audio.asus.sar}
-
-on property:log.asus.sar.audio=*
+on property:log.asus.reducesar=*
     restart vendor.sar_setting
 
-on property:vendor.asus.operator.iso-country=*
-    setprop log.asus.operator.iso-country ${vendor.asus.operator.iso-country}
-
-on property:log.asus.operator.iso-country=*
-    restart vendor.sar_setting
-
-
-
 service vendor.sar_setting /system/vendor/bin/sar_setting
 #Set class as core to avoid be killed when Cryptfs running
     class core
@@ -1034,10 +921,10 @@
 on property:persist.logd.qxdmlog.enable=1
    #insmod /system/lib/modules/diagchar.ko
    start qcomsysd
-   chown root oem_2902 /sys/devices/platform/soc/6048000.tmc/coresight-tmc-etr/block_size
-   chmod 777 /sys/devices/platform/soc/6048000.tmc/coresight-tmc-etr/block_size
-   chown root oem_2902 /sys/devices/platform/soc/6048000.tmc/coresight-tmc-etr/buffer_size
-   chmod 660 /sys/devices/platform/soc/6048000.tmc/coresight-tmc-etr/buffer_size
+   chown root oem_2902 /sys/bus/coresight/devices/coresight-tmc-etr/block_size
+   chmod 777 /sys/bus/coresight/devices/coresight-tmc-etr/block_size
+   chown root oem_2902 /sys/bus/coresight/devices/coresight-tmc-etr/buffer_size
+   chmod 660 /sys/bus/coresight/devices/coresight-tmc-etr/buffer_size
    restart diag_mdlog_start
    write /proc/driver/UTSstatus  3
 
@@ -1051,7 +938,7 @@
    write /sys/power/wake_lock "qxdm_test"
 
 on property:persist.logd.qxdmlog.wakelock_enable=0
-   write /sys/power/wake_unlock "qxdm_test"	
+   write /sys/power/wake_unlock "qxdm_test"
 
 #Control by Property - Disable Modem Log
 on property:persist.logd.qxdmlog.enable=0
@@ -1137,6 +1024,10 @@
     group system
     capabilities SYS_TIME
 
+# apply cta property to radio can access
+on property:ro.vendor.build.cta=1
+    setprop ro.vendor.odm.tel.cta 1
+
 # Set vendor-ril lib path based on Meta version
 on property:vendor.rild.libpath=*
     setprop rild.libpath ${vendor.rild.libpath}
@@ -1181,39 +1072,6 @@
 on property:vendor.gpu.available_frequencies=*
     setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}
 
-service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
-    override
-    class hal
-    user audioserver
-    # media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
-    group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock
-    capabilities BLOCK_SUSPEND
-    ioprio rt 4
-    writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
-    onrestart restart audioserver
-
-# ASUS_BSP Paul +++
-service audio_amp_cal /vendor/bin/AudioAmpCalibration
-    user root
-    group root system audio
-    disabled
-    oneshot
-    seclabel u:r:audio_amp_cal:s0
-
-service tinyfeedback /vendor/bin/tinyfeedback -p 1920 -n 2
-    user root
-    group root
-    disabled
-    oneshot
-    seclabel u:r:vendor_init:s0
-
-on property:vendor.audio.tinyfeedback.enabled=0
-    stop tinyfeedback
-
-on property:vendor.audio.tinyfeedback.enabled=1
-    start tinyfeedback
-# ASUS_BSP Paul ---
-
 # pc qxdm qcomsysd enable
 on property:vendor.usb.diag=1
 	setprop persist.vendor.qcomsysd.enabled 1
diff --git a/prebuilt/vendor/etc/init/hw/init.target.rc b/prebuilt/vendor/etc/init/hw/init.target.rc
index c07eb52..85eda44 100644
--- a/prebuilt/vendor/etc/init/hw/init.target.rc
+++ b/prebuilt/vendor/etc/init/hw/init.target.rc
@@ -1,5 +1,5 @@
 
-# Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
+# Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions are
@@ -26,91 +26,67 @@
 # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
+# Changes from Qualcomm Innovation Center are provided under the following
+# license:
+#
+# Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted (subject to the limitations in the
+# disclaimer below) provided that the following conditions are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#
+#     * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+# NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+# GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+# HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
 import /vendor/etc/init/hw/init.qti.kernel.rc
 
 on early-init
-    exec u:r:vendor_modprobe:s0 -- /vendor/bin/vendor_modprobe.sh
-    write /proc/sys/kernel/sched_boost 1
-    wait /sys/devices/soc0/soc_id
+    write /proc/sys/kernel/printk_devkmsg ratelimited
+    export MEMTAG_OPTIONS off
 
 on init
-    # Scheduler uclamp
-    mkdir /dev/cpuctl/foreground
-    mkdir /dev/cpuctl/background
-    mkdir /dev/cpuctl/top-app
-    mkdir /dev/cpuctl/rt
-    chown system system /dev/cpuctl
-    chown system system /dev/cpuctl/foreground
-    chown system system /dev/cpuctl/background
-    chown system system /dev/cpuctl/top-app
-    chown system system /dev/cpuctl/rt
-    chown system system /dev/cpuctl/tasks
-    chown system system /dev/cpuctl/foreground/tasks
-    chown system system /dev/cpuctl/background/tasks
-    chown system system /dev/cpuctl/top-app/tasks
-    chown system system /dev/cpuctl/rt/tasks
-    chmod 0664 /dev/cpuctl/tasks
-    chmod 0664 /dev/cpuctl/foreground/tasks
-    chmod 0664 /dev/cpuctl/background/tasks
-    chmod 0664 /dev/cpuctl/top-app/tasks
-    chmod 0664 /dev/cpuctl/rt/tasks
-    write /dev/cpuctl/foreground/cpu.rt_runtime_us 950000
-    write /dev/cpuctl/background/cpu.rt_runtime_us 950000
-    write /dev/cpuctl/top-app/cpu.rt_runtime_us 950000
-    write /dev/cpuctl/rt/cpu.rt_runtime_us 950000
-
     wait /dev/block/platform/soc/${ro.boot.bootdevice}
     symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
     chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
     chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
     start logd
 
-###################################################################################++
-
-# adding big/little cpu affinity
-
-    mkdir /dev/stune/big-aff
-    chown system system /dev/stune/big-aff
-    chmod 0664 /dev/stune/big-aff/tasks
-
-    mkdir /dev/stune/little-aff
-    chown system system /dev/stune/little-aff
-    chmod 0664 /dev/stune/little-aff/tasks
-
-    mkdir /dev/cpuset/big-aff
-    write /dev/cpuset/big-aff/cpus 4-7
-    write /dev/cpuset/big-aff/mems 0
-    chown system system /dev/cpuset/big-aff
-    chown system system /dev/cpuset/big-aff/tasks
-    chmod 0660 /dev/cpuset/big-aff/tasks
-
-    mkdir /dev/cpuset/little-aff
-    write /dev/cpuset/little-aff/cpus 0-3
-    write /dev/cpuset/little-aff/mems 0
-    chown system system /dev/cpuset/little-aff
-    chown system system /dev/cpuset/little-aff/tasks
-    chmod 0660 /dev/cpuset/little-aff/tasks
-
-    restorecon_recursive /dev/cpuset/big-aff/
-    restorecon_recursive /dev/cpuset/little-aff/
-
-###################################################################################-
-
 on early-fs
     start vold
 
 on fs
     start hwservicemanager
-    mkdir /mnt/vendor/spunvm 0660 system system
-    mount_all --early
+    mount_all /vendor/etc/fstab.qcom --early
     chown root system /mnt/vendor/persist
     chmod 0771 /mnt/vendor/persist
     restorecon_recursive /mnt/vendor/persist
     mkdir /mnt/vendor/persist/data 0700 system system
 
-on fs && property:ro.boot.product.vendor.sku=lahaina
+on fs && property:ro.boot.product.vendor.sku=taro
     mkdir /mnt/vendor/spunvm 0660 system system
     wait /dev/block/bootdevice/by-name/spunvm
     mount vfat /dev/block/bootdevice/by-name/spunvm /mnt/vendor/spunvm rw noatime shortname=lower,uid=1000,gid=1000,dmask=007,fmask=007,context=u:object_r:vendor_spunvm_file:s0
@@ -122,19 +98,16 @@
 on late-fs
     wait_for_prop hwservicemanager.ready true
     #exec_start wait_for_keymaster
-    start console
-    mount_all --late
+    mount_all /vendor/etc/fstab.qcom --late
 
 on post-fs-data
     mkdir /vendor/data/tombstones 0771 system system
     # Enable WLAN cold boot calibration
-    write /sys/devices/platform/soc/b0000000.qcom,cnss-qca6490/fs_ready 1
-
-    #SLM
-    mkdir /data/vendor/misc/sla 0775 system system
+    write /sys/kernel/cnss/fs_ready 1
 
 on early-boot
     start vendor.sensors
+    verity_update_state
 
 on boot
     #write /dev/cpuset/audio-app/cpus 1-2
@@ -146,36 +119,18 @@
     chown cameraserver cameraserver /dev/cpuset/camera-daemon
     chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
     chmod 0660 /dev/cpuset/camera-daemon/tasks
-    chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_enable
-    chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_enable
     chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
     chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
-    chown system /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_enable
-    chmod 0660 /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_enable
-    chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_event
-    chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0049/trusted_touch_event
-    chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_event
-    chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_event
-    chown system /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_event
-    chmod 0660 /sys/devices/platform/soc/988000.i2c/i2c-1/1-0038/trusted_touch_event
-    chown system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_enable
-    chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_enable
-    chown system /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_event
-    chmod 0660 /sys/devices/platform/soc/a94000.i2c/i2c-2/2-0062/trusted_touch_event
+    chown system /sys/devices/platform/soc/990000.spi/spi_master/spi0/spi0.0/trusted_touch_enable
+    chmod 0660 /sys/devices/platform/soc/990000.spi/spi_master/spi0/spi0.0/trusted_touch_enable
+    chown system /sys/devices/platform/soc/980000.i2c/i2c-0/0-0062/trusted_touch_enable
+    chmod 0660 /sys/devices/platform/soc/980000.i2c/i2c-0/0-0062/trusted_touch_enable
+    chown system /sys/devices/platform/soc/980000.i2c/i2c-0/0-0062/trusted_touch_event
+    chmod 0660 /sys/devices/platform/soc/980000.i2c/i2c-0/0-0062/trusted_touch_event
     chown system /sys/devices/system/cpu/hyp_core_ctl/enable
     chown system /sys/devices/system/cpu/hyp_core_ctl/hcc_min_freq
     #USB controller configuration
-    setprop vendor.usb.rndis.func.name "gsi"
-    setprop vendor.usb.rmnet.func.name "gsi"
-    setprop vendor.usb.rmnet.inst.name "rmnet"
-    setprop vendor.usb.dpl.inst.name "dpl"
-    setprop vendor.usb.qdss.inst.name "qdss_mdm"
     setprop vendor.usb.controller a600000.dwc3
-    #Load WLAN driver
-    exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_wlan qca_cld3_qca6390
-    exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/5.4-gki qca_cld3_wlan qca_cld3_qca6390
-    #Allow access to memory hotplug device attributes
-    chown system system /sys/kernel/mem-offline/anon_migrate
 
 on property:vendor.display.lcd_density=560
    setprop dalvik.vm.heapgrowthlimit 256m
@@ -183,24 +138,24 @@
 on property:vendor.display.lcd_density=640
    setprop dalvik.vm.heapgrowthlimit 512m
 
-on boot && property:persist.vendor.usb.controller.default=*
-    setprop vendor.usb.controller ${persist.vendor.usb.controller.default}
-
 on init && property:ro.boot.mode=charger
+    wait_for_prop vendor.all.modules.ready 1
     mount_all /vendor/etc/charger_fw_fstab.qti --early
+    wait /sys/kernel/boot_adsp/boot
     write /sys/kernel/boot_adsp/boot 1
-    wait /sys/class/power_supply/battery
 
 on charger
     start vendor.power_off_alarm
     setprop sys.usb.controller a600000.dwc3
+    wait /sys/class/udc/${sys.usb.controller}
     setprop sys.usb.configfs 1
+    write /sys/kernel/cnss/charger_mode 1
 
-service vendor.lowi /vendor/bin/lowirpcd
-   class core
-   user system
-   group system wakelock
-   capabilities BLOCK_SUSPEND
+#service vendor.lowi /vendor/bin/sscrpcd
+#   class core
+#   user system
+#   group system wakelock
+#   capabilities BLOCK_SUSPEND
 
 #pd-mapper
 service vendor.pd_mapper /vendor/bin/pd-mapper
@@ -221,10 +176,10 @@
     group system
     disabled
 
-#service vendor.mdm_helper /vendor/bin/mdm_helper
-#    class core
-#    group system wakelock
-#    disabled
+service vendor.mdm_helper /vendor/bin/mdm_helper
+    class core
+    group system wakelock
+    disabled
 
 service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh
     class core
@@ -234,6 +189,7 @@
     start vendor.per_proxy
 
 on property:sys.shutdown.requested=*
+    write /sys/kernel/qcom_rproc/shutdown_in_progress 1
     stop vendor.per_proxy
 
 on property:persist.vendor.asus.wlanfwdbg=1
@@ -248,15 +204,10 @@
    disabled
    oneshot
 
-#fan-controller
-service fan_control_turn_on /vendor/bin/fan_control 1
-    class late_start
-    user root
-    disabled
-    oneshot
+on early-boot && property:persist.vendor.pcie.boot_option=*
+    write /sys/bus/platform/devices/1c00000.qcom,pcie/debug/boot_option ${persist.vendor.pcie.boot_option}
+    write /sys/bus/platform/devices/1c08000.qcom,pcie/debug/boot_option ${persist.vendor.pcie.boot_option}
 
-service fan_control_turn_off /vendor/bin/fan_control 0
-    class late_start
-    user root
-    disabled
-    oneshot
+on property:sys.boot_completed=1
+    enable vendor.qvirtmgr
+    start  vendor.qvirtmgr
diff --git a/prebuilt/vendor/etc/init/init.zenfone8.rc b/prebuilt/vendor/etc/init/init.zenfone9.rc
similarity index 100%
rename from prebuilt/vendor/etc/init/init.zenfone8.rc
rename to prebuilt/vendor/etc/init/init.zenfone9.rc
diff --git a/rro_overlays/TetheringOverlay/AndroidManifest.xml b/rro_overlays/TetheringOverlay/AndroidManifest.xml
index 3c60c75..68ac6a2 100644
--- a/rro_overlays/TetheringOverlay/AndroidManifest.xml
+++ b/rro_overlays/TetheringOverlay/AndroidManifest.xml
@@ -1,5 +1,5 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.networkstack.tethering.asus_lahaina"
+    package="com.android.networkstack.tethering.asus_taro"
     android:versionCode="1"
     android:versionName="1.0">
     <application android:hasCode="false" />
diff --git a/rro_overlays/WifiOverlay/AndroidManifest.xml b/rro_overlays/WifiOverlay/AndroidManifest.xml
index 73c59bf..4be97e0 100644
--- a/rro_overlays/WifiOverlay/AndroidManifest.xml
+++ b/rro_overlays/WifiOverlay/AndroidManifest.xml
@@ -15,7 +15,7 @@
 -->
 <!-- Pixel specific wifi overlays -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.wifi.resources.asus_lahaina"
+    package="com.android.wifi.resources.asus_taro"
     android:versionCode="1"
     android:versionName="1.0">
     <application android:hasCode="false" />
diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
index 320795a..3b6bd10 100644
--- a/sepolicy/vendor/file_contexts
+++ b/sepolicy/vendor/file_contexts
@@ -37,4 +37,4 @@
 /dev/asus2ndGyroSensor                                                                             u:object_r:sensors_device:s0
 
 # Vibrator
-/(vendor|system/vendor)/bin/hw/android\.hardware\.vibrator\.service\.sake                          u:object_r:hal_vibrator_default_exec:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.vibrator\.service\.zenfone9                          u:object_r:hal_vibrator_default_exec:s0
diff --git a/setup-makefiles.sh b/setup-makefiles.sh
index 31571d2..ce8f1ee 100755
--- a/setup-makefiles.sh
+++ b/setup-makefiles.sh
@@ -20,10 +20,10 @@
 set -e
 
 # Required!
-DEVICE=zenfone8
+DEVICE=zenfone9
 VENDOR=asus
 
-INITIAL_COPYRIGHT_YEAR=2021
+INITIAL_COPYRIGHT_YEAR=2022
 
 # Load extractutils and do some sanity checks
 MY_DIR="${BASH_SOURCE%/*}"
@@ -42,7 +42,7 @@
 setup_vendor "$DEVICE" "$VENDOR" "$CM_ROOT"
 
 # Copyright headers and guards
-write_headers "zenfone8"
+write_headers "zenfone9"
 
 # The standard blobs
 write_makefiles "$MY_DIR"/proprietary-files.txt
diff --git a/vibrator/Android.bp b/vibrator/Android.bp
index 1b6b1e8..b1ecac2 100644
--- a/vibrator/Android.bp
+++ b/vibrator/Android.bp
@@ -2,12 +2,12 @@
 Common_CFlags += ["-Werror"]
 
 cc_binary {
-    name: "android.hardware.vibrator.service.sake",
+    name: "android.hardware.vibrator.service.zenfone9",
     vendor: true,
     relative_install_path: "hw",
-    init_rc: ["android.hardware.vibrator.service.sake.rc"],
+    init_rc: ["android.hardware.vibrator.service.zenfone9.rc"],
     vintf_fragments: [
-        "android.hardware.vibrator.service.sake.xml",
+        "android.hardware.vibrator.service.zenfone9.xml",
     ],
     cflags: Common_CFlags,
     srcs: [
diff --git a/vibrator/Vibrator.cpp b/vibrator/Vibrator.cpp
index b0d227b..73e17fb 100644
--- a/vibrator/Vibrator.cpp
+++ b/vibrator/Vibrator.cpp
@@ -4,7 +4,7 @@
  * SPDX-License-Identifier: Apache-2.0
  */
 
-#define LOG_TAG "android.hardware.vibrator.service.sake"
+#define LOG_TAG "android.hardware.vibrator.service.zenfone9"
 
 #include "Vibrator.h"
 
diff --git a/vibrator/android.hardware.vibrator.service.sake.rc b/vibrator/android.hardware.vibrator.service.zenfone9.rc
similarity index 83%
rename from vibrator/android.hardware.vibrator.service.sake.rc
rename to vibrator/android.hardware.vibrator.service.zenfone9.rc
index 74cc854..0a55a42 100644
--- a/vibrator/android.hardware.vibrator.service.sake.rc
+++ b/vibrator/android.hardware.vibrator.service.zenfone9.rc
@@ -10,7 +10,7 @@
 on property:service.bootanim.exit=0
     write /sys/class/leds/vibrator/boot_vibrator 1
 
-service vendor.sake.vibrator /vendor/bin/hw/android.hardware.vibrator.service.sake
+service vendor.zenfone9.vibrator /vendor/bin/hw/android.hardware.vibrator.service.zenfone9
     class hal
     user system
     group system input
diff --git a/vibrator/android.hardware.vibrator.service.sake.xml b/vibrator/android.hardware.vibrator.service.zenfone9.xml
similarity index 100%
rename from vibrator/android.hardware.vibrator.service.sake.xml
rename to vibrator/android.hardware.vibrator.service.zenfone9.xml