Merge "Updated confirmationui HAL name." am: 2aa4bb7932

Original change: https://android-review.googlesource.com/c/device/google/gs101/+/2252476

Change-Id: I3c646747cd16a475a1431a8dd39b3fc4a6ff1756
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/Android.mk b/Android.mk
index 4072655..de54c3a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -32,7 +32,7 @@
 $(eval $(call declare-copy-files-license-metadata,device/google/gs101,media_codecs_performance.xml,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
 $(eval $(call declare-copy-files-license-metadata,device/google/gs101,device_state_configuration.xml,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
 $(eval $(call declare-copy-files-license-metadata,device/google/gs101,task_profiles.json,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
-$(eval $(call declare-copy-files-license-metadata,device/google/gs101,p2p_supplicant.conf,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
+$(eval $(call declare-copy-files-license-metadata,device/google/gs101,p2p_supplicant_overlay.conf,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
 $(eval $(call declare-copy-files-license-metadata,device/google/gs101,wpa_supplicant.conf,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
 $(eval $(call declare-copy-files-license-metadata,device/google/gs101,wpa_supplicant_overlay.conf,SPDX-license-identifier-Apache-2.0,notice,build/soong/licenses/LICENSE,))
 
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index e92a6be..bcfd7bb 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -377,4 +377,4 @@
 # Protected VM firmware
 BOARD_PVMFWIMAGE_PARTITION_SIZE := 0x00100000
 
--include vendor/google_devices/gs101/proprietary/BoardConfigVendor.mk
+-include vendor/google_devices/gs-common/proprietary/BoardConfigVendor.mk
diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc
index 4d9fafe..7b3bc8b 100644
--- a/conf/init.gs101.rc
+++ b/conf/init.gs101.rc
@@ -254,6 +254,13 @@
     # Thermal Charge stats (write 0)
     chown system system /sys/devices/platform/google,charger/thermal_stats
 
+    # Google Charger stats (write 0)
+    chown system system /sys/devices/platform/google,charger/charge_stats
+
+    # Permission for wireless charging fan
+    chown system system /sys/devices/platform/google,charger/thermal_dc_fan_alarm
+    chown system system /sys/devices/platform/google,cpm/thermal_mdis_fan_alarm
+
     # Permission for wireless charging
     chown system system /sys/class/power_supply/wireless/capacity
     chown system system /sys/class/power_supply/wireless/device/rtx
@@ -297,6 +304,11 @@
     chown system system /sys/devices/platform/google,charger/charge_start_level
     chown system system /sys/devices/platform/google,charger/charge_stop_level
     chown system system /sys/devices/platform/google,cpm/dc_ctl
+    # Important to include dd_state as it's used in battery defender in charger mode
+    chown system system /sys/devices/platform/google,charger/dd_state
+    # Disable dock-defend by default
+    chown system system /sys/devices/platform/google,charger/dd_settings
+    write /sys/devices/platform/google,charger/dd_settings -1
 
     # Power Stats HAL
     chown system system /dev/bbd_pwrstat
@@ -326,10 +338,6 @@
     write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/mem_latency/ratio_ceil 3200
     write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/mem_latency/ratio_ceil 3200
 
-# For GKI kernel, no device specific modules
-on init
-    setprop vendor.device.modules.ready 1
-
 on init && property:ro.boot.hw.soc.rev=0
     setprop vendor.powerhal.config powerhint_a0.json
 
@@ -472,13 +480,6 @@
     # Wait for insmod_sh to finish all common modules
     wait_for_prop vendor.common.modules.ready 1
 
-    # Wait for insmod_sh to finish all device specific modules
-    wait_for_prop vendor.device.modules.ready 1
-
-    # Other services depend on the properties
-    setprop vendor.all.modules.ready 1
-    setprop vendor.all.devices.ready 1
-
     # Permission for Health Storage HAL
     chown system system /dev/sys/block/bootdevice/manual_gc
 
@@ -631,17 +632,6 @@
     group audioserver
     seclabel u:r:abox:s0
 
-service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-    -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1p2p_device=1 \
-    -m/vendor/etc/wifi/p2p_supplicant.conf \
-    -g@android:wpa_wlan0 -dd
-    interface aidl android.hardware.wifi.supplicant.ISupplicant/default
-    socket wpa_wlan0 dgram 660 wifi wifi
-    class main
-    disabled
-    oneshot
-
-
 # GPS
 service lhd /vendor/bin/hw/lhd /vendor/etc/gnss/lhd.conf
     class main
@@ -665,6 +655,8 @@
     class hal
     user gps
     group system gps radio
+    ioprio be 0
+    priority -1
 
 # disable gps service if no gps h/w
 on property:vendor.ril.cbd.svc=0
@@ -935,12 +927,9 @@
     write /dev/thermal/tz-by-name/soc/policy user_space
     write /dev/thermal/tz-by-name/batoilo/policy user_space
     write /sys/devices/virtual/pmic/mitigation/triggered_lvl/smpl_lvl 3100
-    write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_cpu2_lvl 9000
-    write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_gpu_lvl 9000
-    write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_tpu_lvl 8500
-    write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x201
-    write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x801
-    write /sys/devices/virtual/pmic/mitigation/clock_div/cpu2_clk_div 0x801
+    write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x1
+    write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x1
+    write /sys/devices/virtual/pmic/mitigation/clock_div/cpu2_clk_div 0x1
     chown system system /dev/thermal/tz-by-name/soc/mode
     chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_temp
     chown system system /dev/thermal/tz-by-name/batoilo/trip_point_0_hyst
@@ -986,18 +975,21 @@
     chown system system /dev/thermal/cdev-by-name/wlc_fcc/cur_state
     chown system system /dev/thermal/cdev-by-name/usbc-port/cur_state
 
-# Create thermal symlink in off charging mode
 on charger
+    write /proc/vendor_sched/sys_uclamp_min 0
+    write /proc/vendor_sched/sys_prefer_idle 0
+
+    # Use charger thermal config
+    setprop vendor.thermal.config "thermal_info_config_charge.json"
+
+    # Wait for insmod_sh to finish all common modules
+    wait_for_prop vendor.common.modules.ready 1
+
+    # Create thermal symlink in off charging mode
     mkdir /dev/thermal 0750 system system
     mkdir /dev/thermal/tz-by-name 0750 system system
     mkdir /dev/thermal/cdev-by-name 0750 system system
     start vendor.thermal.symlinks
-    write /proc/vendor_sched/sys_uclamp_min 0
-    write /proc/vendor_sched/sys_prefer_idle 0
-
-# Launch thermal hal in off charging mode
-on charger && property:vendor.thermal.link_ready=1
-    start vendor.thermal-hal-2-0
 
 on property:vendor.disable.bcl.control=1
     write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 0
@@ -1009,6 +1001,8 @@
 on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
     # Enable UFS powersaving in Off Mode Charger
     write /dev/sys/block/bootdevice/clkgate_enable 1
+    # Disable dock-defend in Off Mode Charger
+    write /sys/devices/platform/google,charger/dd_state -1
 
 # Cpuset experiment
 on property:persist.device_config.vendor_system_native.top-app_cpuset=*
diff --git a/conf/ueventd.gs101.rc b/conf/ueventd.gs101.rc
index 2f03009..a821fd1 100644
--- a/conf/ueventd.gs101.rc
+++ b/conf/ueventd.gs101.rc
@@ -142,7 +142,8 @@
 /dev/aoc                 0660   system     system
 
 # Sensors (USF)
-/dev/acd-com.google.usf  0660   system     system
+/dev/acd-com.google.usf  		0660   system     system
+/dev/acd-com.google.usf.non_wake_up	0660   system     system
 
 # LWIS
 /dev/lwis*               0660   system     system
diff --git a/default-permissions.xml b/default-permissions.xml
index 4765cb2..d65d7aa 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -113,6 +113,8 @@
     <exception package="com.google.android.wfcactivation">
         <!-- SMS -->
         <permission name="android.permission.RECEIVE_WAP_PUSH" fixed="false"/>
+        <!-- Notifications -->
+        <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
     </exception>
 
     <exception package="com.google.android.apps.accessibility.voiceaccess">
diff --git a/device-common.mk b/device-common.mk
index 4087c31..cc37346 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -14,13 +14,17 @@
 # limitations under the License.
 #
 
+ifneq ($(BOARD_WITHOUT_RADIO),true)
 -include vendor/google_devices/gs101/proprietary/telephony/device-vendor.mk
+endif
 include device/google/gs101/device.mk
 include device/google/gs101/tts/voice_packs.mk
 
+ifneq ($(BOARD_WITHOUT_RADIO),true)
 # Telephony
 PRODUCT_COPY_FILES += \
     frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml
+endif
 
 # Android Verified Boot
 PRODUCT_COPY_FILES += \
diff --git a/device-shipping-common.mk b/device-shipping-common.mk
index 49897aa..a4539fc 100644
--- a/device-shipping-common.mk
+++ b/device-shipping-common.mk
@@ -18,5 +18,5 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.bluetooth.a2dp_offload.supported=true \
     persist.bluetooth.a2dp_offload.disabled=false \
-    persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
+    persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus
 
diff --git a/device.mk b/device.mk
index e7af97e..a084838 100644
--- a/device.mk
+++ b/device.mk
@@ -66,9 +66,11 @@
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
 	ro.oem_unlock_supported=1
 
+ifneq ($(BOARD_WITHOUT_RADIO),true)
 # Include vendor telephony soong namespace
 PRODUCT_SOONG_NAMESPACES += \
 	vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)
+endif
 
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
 #Set IKE logs to verbose for WFC
@@ -714,7 +716,7 @@
 
 # WPA SUPPLICANT
 PRODUCT_COPY_FILES += \
-	device/google/gs101/wifi/p2p_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant.conf \
+	device/google/gs101/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \
 	device/google/gs101/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf
 
 # WIFI COEX
@@ -898,6 +900,7 @@
 	calliope_iva.bin \
 	vts.bin
 
+ifneq ($(BOARD_WITHOUT_RADIO),true)
 # This will be called only if IMSService is building with source code for dev branches.
 $(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/shannon-ims/device-vendor.mk)
 
@@ -910,6 +913,7 @@
 	TestRcsApp
 
 PRODUCT_PACKAGES += ShannonRcs
+endif
 
 # Boot Control HAL
 PRODUCT_PACKAGES += \
@@ -941,7 +945,11 @@
 #$(call inherit-product-if-exists, hardware/google_devices/gs101/gs101.mk)
 #$(call inherit-product-if-exists, vendor/google_devices/common/exynos-vendor.mk)
 #$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4375/device-bcm.mk)
+ifeq ($(wildcard vendor/google/sensors/usf),)
+$(call inherit-product-if-exists, vendor/google_devices/gs101/proprietary/usf/usf_product.mk)
+else
 $(call inherit-product-if-exists, vendor/google/sensors/usf/android/usf_efw_product.mk)
+endif
 $(call inherit-product-if-exists, vendor/google/services/LyricCameraHAL/src/build/device-vendor.mk)
 $(call inherit-product-if-exists, vendor/google/camera/devices/whi/device-vendor.mk)
 
@@ -1056,6 +1064,7 @@
         vendor/google/whitechapel/aoc
 
 $(call soong_config_set,aoc,target_soc,$(TARGET_BOARD_PLATFORM))
+$(call soong_config_set,aoc,target_product,$(TARGET_PRODUCT))
 
 $(call soong_config_set,android_hardware_audio,run_64bit,true)
 
@@ -1160,8 +1169,10 @@
 # Pixel Logger
 include hardware/google/pixel/PixelLogger/PixelLogger.mk
 
+ifneq ($(BOARD_WITHOUT_RADIO),true)
 # Telephony
 include device/google/gs101/telephony/user.mk
+endif
 
 # Wifi ext
 include hardware/google/pixel/wifi_ext/device.mk
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
index 5e4785b..a9f026e 100644
--- a/device_framework_matrix_product.xml
+++ b/device_framework_matrix_product.xml
@@ -25,7 +25,7 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
-        <name>com.fingerprints35.extension</name>
+        <name>com.fingerprints42.extension</name>
         <version>1.0</version>
         <interface>
             <name>IFingerprintAuthenticator</name>
@@ -57,6 +57,14 @@
         </interface>
     </hal>
     <hal format="aidl" optional="true">
+      <name>com.google.face.debug</name>
+      <version>2</version>
+        <interface>
+            <name>IDebugHost</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="aidl" optional="true">
       <name>com.google.edgetpu</name>
         <version>2</version>
         <interface>
@@ -114,6 +122,7 @@
     </hal>
     <hal format="aidl" optional="true">
         <name>hardware.qorvo.uwb</name>
+        <version>2</version>
         <interface>
             <name>IUwbVendor</name>
             <instance>default</instance>
@@ -127,9 +136,9 @@
             <instance>default</instance>
         </interface>
     </hal>
-    <hal format="hidl" optional="true">
+    <hal format="aidl" optional="true">
         <name>vendor.google.google_battery</name>
-        <version>1.2</version>
+        <version>1</version>
         <interface>
             <name>IGoogleBattery</name>
             <instance>default</instance>
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index b75ba64..cbe997e 100644
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -379,6 +379,7 @@
     DumpFileToFd(fd, "PPS-google_cpm", "/dev/logbuffer_cpm");
     DumpFileToFd(fd, "PPS-dc", "/dev/logbuffer_pca9468");
 
+    DumpFileToFd(fd, "Battery Health", "/sys/class/power_supply/battery/health_index_stats");
     DumpFileToFd(fd, "BMS", "/dev/logbuffer_ssoc");
     DumpFileToFd(fd, "TTF", "/dev/logbuffer_ttf");
     DumpFileToFd(fd, "TTF details", "/sys/class/power_supply/battery/ttf_details");
@@ -975,7 +976,8 @@
     DumpFileToFd(fd, "AoC logging wake", "/sys/devices/platform/19000000.aoc/control/logging_wakeup");
     DumpFileToFd(fd, "AoC hotword wake", "/sys/devices/platform/19000000.aoc/control/hotword_wakeup");
     DumpFileToFd(fd, "AoC memory exception wake", "/sys/devices/platform/19000000.aoc/control/memory_exception");
-    DumpFileToFd(fd, "AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes");
+    DumpFileToFd(fd, "AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_a32");
+    DumpFileToFd(fd, "AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_ff1");
     RunCommandToFd(fd, "AoC Heap Stats (A32)",
       {"/vendor/bin/sh", "-c", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
       CommandOptions::WithTimeout(1).Build());
@@ -988,9 +990,6 @@
     RunCommandToFd(fd, "AoC Heap Stats (HF1)",
       {"/vendor/bin/sh", "-c", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
       CommandOptions::WithTimeout(1).Build());
-    RunCommandToFd(fd, "AoC MIF Stats",
-      {"/vendor/bin/sh", "-c", "echo 'mif details' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug"},
-      CommandOptions::WithTimeout(1).Build());
 }
 
 // Dump items related to sensors usf.
@@ -1008,6 +1007,9 @@
             RunCommandToFd(fd, "USF Registry",
                            {"/vendor/bin/sh", "-c", "usf_reg_edit save -"},
                            options);
+            RunCommandToFd(fd, "USF Last Stat Buffer",
+                           {"/vendor/bin/sh", "-c", "cat /data/vendor/sensors/debug/stats.history"},
+                           options);
         }
     }
 }
diff --git a/fingerprint/fpc1540/sw42/fingerprint_aidl_config.mk b/fingerprint/fpc1540/sw42/fingerprint_aidl_config.mk
new file mode 100644
index 0000000..fe8cf8b
--- /dev/null
+++ b/fingerprint/fpc1540/sw42/fingerprint_aidl_config.mk
@@ -0,0 +1,28 @@
+# ----------------------------
+# Add feature flags below
+# ----------------------------
+FPC_CONFIG_BUILD_VERSION=42
+FPC_CONFIG_GOOGLE_CUSTOMIZE=1
+FPC_CONFIG_HAL_SHARED_LIB=1
+FPC_CONFIG_MAX_NR_TEMPLATES=5
+FPC_CONFIG_NO_TU=0
+FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
+FPC_CONFIG_SENSORTEST=1
+FPC_CONFIG_TA_FS=1
+FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
+FPC_OTP_DECODE_ERRORS_IGNORE=1
+FPC_SENSOR_SDK_LOG_LEVEL=3
+FPC_TEE_RUNTIME=TRUSTY
+LIBFPC_NAME=libfpcmulti_debug.a
+FPC_CONFIG_DEBUG=1
+FPC_CONFIG_ENGINEERING=1
+FPC_CONFIG_GOOGLE_RELEASE=1
+FPC_CONFIG_TRUSTY_CLEAN_TA=1
+
+GOOGLE_CONFIG_PERFORMANCE=1
+
+# Enable Suez
+$(call soong_config_set,fp_hal_feature,biometric_suez_support,true)
+
+# Must add below method to each project's device.mk to show sensorLocation
+#$(call soong_config_set,fp_hal_feature,pixel_product, project_XX)
diff --git a/fingerprint/fpc1540/sw42/fingerprint_hidl_config_factory.mk b/fingerprint/fpc1540/sw42/fingerprint_hidl_config_factory.mk
new file mode 100644
index 0000000..4b2567d
--- /dev/null
+++ b/fingerprint/fpc1540/sw42/fingerprint_hidl_config_factory.mk
@@ -0,0 +1,18 @@
+# ----------------------------
+# Add feature flags below
+# ----------------------------
+FPC_CONFIG_BUILD_VERSION=42
+FPC_CONFIG_GOOGLE_CUSTOMIZE=1
+FPC_CONFIG_MAX_NR_TEMPLATES=5
+FPC_CONFIG_NO_TU=0
+FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
+FPC_CONFIG_SENSORTEST=1
+FPC_CONFIG_TA_FS=1
+FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
+FPC_OTP_DECODE_ERRORS_IGNORE=1
+FPC_SENSOR_SDK_LOG_LEVEL=3
+FPC_TEE_RUNTIME=TRUSTY
+LIBFPC_NAME=libfpcmulti_debug.a
+FPC_CONFIG_DEBUG=1
+FPC_CONFIG_ENGINEERING=1
+
diff --git a/fingerprint/fpc1540/sw42/fpc1540.mk b/fingerprint/fpc1540/sw42/fpc1540.mk
new file mode 100644
index 0000000..7770538
--- /dev/null
+++ b/fingerprint/fpc1540/sw42/fpc1540.mk
@@ -0,0 +1,30 @@
+# Factory build, use HIDL hal & extension so that we can use Test tool
+ifneq ( ,$(findstring factory, $(TARGET_PRODUCT)))
+include device/google/gs101/fingerprint/fpc1540/sw42/fingerprint_hidl_config_factory.mk
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint@2.1-service.fpc \
+    fpc_tee_test\
+    SensorTestTool \
+    ImageTool \
+    ImageCollection \
+    fp_test \
+
+PRODUCT_PACKAGES += \
+    com.fingerprints.extension.xml \
+    com.fingerprints.extension \
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+else
+# Non facotry build, use fingerprint AIDL version
+include device/google/gs101/fingerprint/fpc1540/sw42/fingerprint_aidl_config.mk
+
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint-service.fpc42 \
+    fingerprint.fpc \
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+endif
diff --git a/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so b/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so
index cf16410..729c29e 100755
--- a/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so
+++ b/gnss/47765/bin/android.hardware.gnss@2.1-impl-google.so
Binary files differ
diff --git a/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm b/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm
index b9fee32..57c040b 100755
--- a/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm
+++ b/gnss/47765/bin/android.hardware.gnss@2.1-service-brcm
Binary files differ
diff --git a/gnss/47765/bin/flp.default.so b/gnss/47765/bin/flp.default.so
index ae700bd..5580503 100755
--- a/gnss/47765/bin/flp.default.so
+++ b/gnss/47765/bin/flp.default.so
Binary files differ
diff --git a/gnss/47765/bin/gps.default.so b/gnss/47765/bin/gps.default.so
index 771e4be..37d378f 100755
--- a/gnss/47765/bin/gps.default.so
+++ b/gnss/47765/bin/gps.default.so
Binary files differ
diff --git a/gnss/47765/bin/gpsd b/gnss/47765/bin/gpsd
index 34c8012..ca2001c 100755
--- a/gnss/47765/bin/gpsd
+++ b/gnss/47765/bin/gpsd
Binary files differ
diff --git a/gnss/47765/bin/lhd b/gnss/47765/bin/lhd
index 5854d35..b1789ec 100755
--- a/gnss/47765/bin/lhd
+++ b/gnss/47765/bin/lhd
Binary files differ
diff --git a/gnss/47765/bin/scd b/gnss/47765/bin/scd
index 631d7c8..22d5791 100755
--- a/gnss/47765/bin/scd
+++ b/gnss/47765/bin/scd
Binary files differ
diff --git a/gnss/47765/config/gps.xml b/gnss/47765/config/gps.xml
index eeb4caa..40dcd36 100644
--- a/gnss/47765/config/gps.xml
+++ b/gnss/47765/config/gps.xml
@@ -20,7 +20,9 @@
 
        SuplSslMethod="SSLv23_NO_TLSv1_2"
        SuplEnable="true"
-       SuplUseApn="true"
+       SuplUseApn="false"
+       SuplUseApnNI="true"
+       SuplDummyCellInfo="true"
        SuplUseFwCellInfo="false"
        SuplTlsCertDirPath="/etc/security/cacerts"
        SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
@@ -57,9 +59,11 @@
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
        ReAidingIntervalSec="1200"
+       PpsDevice="/sys/class/pps/pps0/assert_elapsed"
   />
 
   <gll
+       PpsEnable="true"
        LogPriMask="LOG_INFO"
        LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
        FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
diff --git a/gnss/47765/config/gps.xml.oriole b/gnss/47765/config/gps.xml.oriole
index f2489f7..2e59b78 100644
--- a/gnss/47765/config/gps.xml.oriole
+++ b/gnss/47765/config/gps.xml.oriole
@@ -20,7 +20,9 @@
 
        SuplSslMethod="SSLv23_NO_TLSv1_2"
        SuplEnable="true"
-       SuplUseApn="true"
+       SuplUseApn="false"
+       SuplUseApnNI="true"
+       SuplDummyCellInfo="true"
        SuplUseFwCellInfo="false"
        SuplTlsCertDirPath="/etc/security/cacerts"
        SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
@@ -57,9 +59,11 @@
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
        ReAidingIntervalSec="1200"
+       PpsDevice="/sys/class/pps/pps0/assert_elapsed"
   />
 
   <gll
+       PpsEnable="true"
        LogPriMask="LOG_INFO"
        LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
        FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
diff --git a/gnss/47765/config/gps.xml.raven b/gnss/47765/config/gps.xml.raven
index dc8ea18..c4a25b4 100644
--- a/gnss/47765/config/gps.xml.raven
+++ b/gnss/47765/config/gps.xml.raven
@@ -20,7 +20,9 @@
 
        SuplSslMethod="SSLv23_NO_TLSv1_2"
        SuplEnable="true"
-       SuplUseApn="true"
+       SuplUseApn="false"
+       SuplUseApnNI="true"
+       SuplDummyCellInfo="true"
        SuplUseFwCellInfo="false"
        SuplTlsCertDirPath="/etc/security/cacerts"
        SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
@@ -57,9 +59,11 @@
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
        ReAidingIntervalSec="1200"
+       PpsDevice="/sys/class/pps/pps0/assert_elapsed"
   />
 
   <gll
+       PpsEnable="true"
        LogPriMask="LOG_INFO"
        LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
        FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
diff --git a/gnss/47765/config/gps_user.xml b/gnss/47765/config/gps_user.xml
index a752fa1..16c1230 100644
--- a/gnss/47765/config/gps_user.xml
+++ b/gnss/47765/config/gps_user.xml
@@ -19,7 +19,9 @@
 
        SuplSslMethod="SSLv23_NO_TLSv1_2"
        SuplEnable="true"
-       SuplUseApn="true"
+       SuplUseApn="false"
+       SuplUseApnNI="true"
+       SuplDummyCellInfo="true"
        SuplUseFwCellInfo="false"
        SuplTlsCertDirPath="/etc/security/cacerts"
        SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
@@ -56,9 +58,11 @@
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
        ReAidingIntervalSec="1200"
+       PpsDevice="/sys/class/pps/pps0/assert_elapsed"
   />
 
   <gll
+       PpsEnable="true"
        LogPriMask="LOG_INFO"
        LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
        FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
diff --git a/gnss/47765/config/gps_user.xml.oriole b/gnss/47765/config/gps_user.xml.oriole
index 0495378..47ba3d1 100644
--- a/gnss/47765/config/gps_user.xml.oriole
+++ b/gnss/47765/config/gps_user.xml.oriole
@@ -19,7 +19,9 @@
 
        SuplSslMethod="SSLv23_NO_TLSv1_2"
        SuplEnable="true"
-       SuplUseApn="true"
+       SuplUseApn="false"
+       SuplUseApnNI="true"
+       SuplDummyCellInfo="true"
        SuplUseFwCellInfo="false"
        SuplTlsCertDirPath="/etc/security/cacerts"
        SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
@@ -56,9 +58,11 @@
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
        ReAidingIntervalSec="1200"
+       PpsDevice="/sys/class/pps/pps0/assert_elapsed"
   />
 
   <gll
+       PpsEnable="true"
        LogPriMask="LOG_INFO"
        LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
        FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
diff --git a/gnss/47765/config/gps_user.xml.raven b/gnss/47765/config/gps_user.xml.raven
index fd031b6..3a0cb55 100644
--- a/gnss/47765/config/gps_user.xml.raven
+++ b/gnss/47765/config/gps_user.xml.raven
@@ -19,7 +19,9 @@
 
        SuplSslMethod="SSLv23_NO_TLSv1_2"
        SuplEnable="true"
-       SuplUseApn="true"
+       SuplUseApn="false"
+       SuplUseApnNI="true"
+       SuplDummyCellInfo="true"
        SuplUseFwCellInfo="false"
        SuplTlsCertDirPath="/etc/security/cacerts"
        SuplTlsCertPath="/vendor/etc/gnss/gps.cer"
@@ -56,9 +58,11 @@
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
        ReAidingIntervalSec="1200"
+       PpsDevice="/sys/class/pps/pps0/assert_elapsed"
   />
 
   <gll
+       PpsEnable="true"
        LogPriMask="LOG_INFO"
        LogFacMask="LOG_NMEA | LOG_GLLIOS | LOG_GLLAPI"
        FrqPlan="FRQ_PLAN_26MHZ_2PPM_49_152MHZ_300PPB"
diff --git a/gnss/47765/config/lhd.conf b/gnss/47765/config/lhd.conf
index efde25b..c000d58 100644
--- a/gnss/47765/config/lhd.conf
+++ b/gnss/47765/config/lhd.conf
@@ -31,3 +31,4 @@
 
 SkipSensorWakeLock=true
 LoggerWakeLockEnable=false
+PpsEnable=true
diff --git a/gnss/47765/config/lhd_user.conf b/gnss/47765/config/lhd_user.conf
index 0216ace..682d03a 100644
--- a/gnss/47765/config/lhd_user.conf
+++ b/gnss/47765/config/lhd_user.conf
@@ -29,3 +29,4 @@
 
 SkipSensorWakeLock=true
 LoggerWakeLockEnable=false
+PpsEnable=true
diff --git a/gnss/47765/firmware/SensorHub.patch b/gnss/47765/firmware/SensorHub.patch
index 30f4b71..9d7016b 100644
--- a/gnss/47765/firmware/SensorHub.patch
+++ b/gnss/47765/firmware/SensorHub.patch
@@ -1,9 +1,9 @@
 <FormatVersion=0x00010003>
 
-<Crc=112>
+<Crc=94>
 <BlobLength=161839>
 <AsicVersion=0x004776A0>
-<ChangeList=540442>
+<ChangeList=547844>
 <PatchLevel=0>
 <PostPatchLevel=1>
 <CustomerVersion=None>
@@ -79,7 +79,7 @@
 009102A101F438F703B000BD4170700080BD8900708989
 00805D8A006905800025643A2564095374617274206368
 70704170705461736B0A00000000633A5C77735C626F64
-5F3437373631303539335F3534303434325C637573746F
+5F3437373631313336315F3534373834345C637573746F
 6D6572735C676F6F676C655C503231466C61677461696C
 6D63755C64656C69766572795C53656E736F724875625F
 5032315C7372635C6875625F636F6E74726F6C6C65722E
@@ -390,7 +390,7 @@
 F22046FEF700FF07E002464FF4D1630FF2F4518F2011F4
 5FF2FEF769FC04F5A6620A23C2E9000105F0F00006F00F
 0101433A462046BDE8F041FFF7BDBB0000633A5C77735C
-626F645F3437373631303539335F3534303434325C6375
+626F645F3437373631313336315F3534373834345C6375
 73746F6D6572735C676F6F676C655C503231466C616774
 61696C6D63755C64656C69766572795C53656E736F7248
 75625F5032315C7372635C636870705C7472616E73706F
@@ -526,7 +526,7 @@
 25210378204626F4F1F510B010BD000025643A25640948
 232568687520756E6B6E6F776E20726571756573742E20
 636D643D2523782C2049443D256868750A00633A5C7773
-5C626F645F3437373631303539335F3534303434325C63
+5C626F645F3437373631313336315F3534373834345C63
 7573746F6D6572735C676F6F676C655C503231466C6167
 7461696C6D63755C64656C69766572795C53656E736F72
 4875625F5032315C7372F19403502E8000635C63687070
@@ -585,7 +585,7 @@
 D803B000BDF07E8A000C53890028878A00113280009D32
 800025643A256409434850502042617564726174652069
 732073657420746F20256C640A0A00633A5C77735C626F
-645F3437373631303539335F3534303434325C63757374
+645F3437373631313336315F3534373834345C63757374
 6F6D6572735C676F6F676C655C503231466C6167746169
 6C6D63755C64656C69766572795C53656E736F72487562
 5F5032315C7372635C73656E736F725F6875622E630000
@@ -679,13 +679,13 @@
 B5C90382B0A0F5A86419D500F65C552846FDF7F6DD0600
 12D00020009069462846FDF712DE761E012804DB024600
 992046FEF79EF82846FDF76FDD002EECD173BD70470000
-633A5C77735C626F645F3437373631303539335F353430
-3434325C637573746F6D6572735C676F6F676C655C5032
+633A5C77735C626F645F3437373631313336315F353437
+3834345C637573746F6D6572735C676F6F676C655C5032
 31466C61677461696C6D63755C64656C69766572795C53
 656E736F724875625F5032315C7372635C636870705C69
 6E636C7564655C636870702F7472616E73706F72742E68
-00633A5C77735C626F645F3437373631303539335F3534
-303434325C637573746F6D6572735C676F6F676C655C50
+00633A5C77735C626F645F3437373631313336315F3534
+373834345C637573746F6D6572735C676F6F676C655C50
 3231466C61677461696C6D63755C64656C69766572795C
 53656E736F724875625F5032315C7372635C636870705C
 706C6174666F726D5C62636D5C42434D343737785C6C69
@@ -695,8 +695,8 @@
 138EA4B29C42EBD2D26A04EB440302EBC306327C012AF1
 D1D6E90223D0E918679F42E7D8E8D39642E4D2E5E7D0E9
 1823CDE900230FF27C010FF2100240F21E238F200FF4B1
-F403B0F0BD0000633A5C77735C626F645F343737363130
-3539335F3534303434325C637573746F6D6572735C676F
+F403B0F0BD0000633A5C77735C626F645F343737363131
+3336315F3534373834345C637573746F6D6572735C676F
 6F676C655C503231466C61677461696C6D63755C64656C
 69766572795C53656E736F724875625F5032315C737263
 5C636870705C636C69656E74732E630000000025643A25
@@ -706,7 +706,7 @@
 21FEF75DF80AE03246294625F420F40120787032462068
 3946FEF718F8012003B0F0BD25643A2564094F4F4D2061
 742025733A25640A00633A5C77735C626F645F34373736
-31303539335F3534303434325C637573746F6D6572735C
+31313336315F3534373834345C637573746F6D6572735C
 676F6F676C655C503231466C61677461696C6D63755C64
 656C69766572795C53656E736F724875625F5032315C73
 72635C636870705C73657276696365735C6C6F6F706261
@@ -718,8 +718,8 @@
 0122460E2000908F200FF2B0010FF4C3F32868314604B0
 BDE870400E22FDF78CBF10B58B880124012B02D1FFF7BE
 FF00E00024204610BD25643A2564094F4F4D2061742025
-733A25640A00633A5C77735C626F645F34373736313035
-39335F3534303434325C637573746F6D6572735C676F6F
+733A25640A00633A5C77735C626F645F34373736313133
+36315F3534373834345C637573746F6D6572735C676F6F
 676C655C503231466C61677461696C6D63755C64656C69
 766572795C53656E736F724875625F5032315C7372635C
 636870705C73657276696365735C74696D6573796E632E
@@ -734,7 +734,7 @@
 314603B0BDE8F043FDF7E2BE10B58A880124012A02D1FF
 F7BAFF00E00024204610BD25643A2564094F4F4D206174
 2025733A25640A00633A5C77735C626F645F3437373631
-303539335F3534303434325C637573746F6D6572735C67
+313336315F3534373834345C637573746F6D6572735C67
 6F6F676C655C503231466C61677461696C6D63755C6465
 6C69766572795C53656E736F724875625F5032315C7372
 635C636870705C73657276696365735C646973636F7665
@@ -761,7 +761,7 @@
 05CDE90445AD230FF2AC118F200FF4D8F106B0BDE87083
 70B50446084615461E46FFF7BEFF3246294620680068BD
 E87040FDF797BD00000000633A5C77735C626F645F3437
-373631303539335F3534303434325C637573746F6D6572
+373631313336315F3534373834345C637573746F6D6572
 735C676F6F676C655C503231466C61677461696C6D6375
 5C64656C69766572795C53656E736F724875625F503231
 5C7372635C636870705C73657276696365732E63000000
@@ -788,8 +788,8 @@
 230FF240020FF22C018E2007E001A8009042230FF22C02
 0FF218018F200FF49DF00DF5027D10BC5DF80CFB0FF284
 014160704725643A25640950414C3A2025730A0000633A
-5C77735C626F645F3437373631303539335F3534303434
-325C637573746F6D6572735C676F6F676C655C50323146
+5C77735C626F645F3437373631313336315F3534373834
+345C637573746F6D6572735C676F6F676C655C50323146
 6C61677461696C6D63755C64656C69766572795C53656E
 736F724875625F5032315C7372635C636870705C706C61
 74666F726D5C70616C5F6170692E6300000000000001C9
@@ -848,7 +848,7 @@
 32BD13460A4601460248007810F469B000001453890055
 47800065478000687B890060D09100354780002B488000
 436870704C696E6B5461736B00000000633A5C77735C62
-6F645F3437373631303539335F3534303434325C637573
+6F645F3437373631313336315F3534373834345C637573
 746FF19403D04A80006D6572735C676F6F676C655C5032
 31466C61677461696C6D63755C64656C69766572795C53
 656E736F724875625F5032315C7372635C636870705C70
@@ -914,7 +914,7 @@
 0023002240F293210FF2380001B0BDE83040FBF732BB31
 BD0000D088890025643A256409474E5353207365727669
 636520616C7265616479206F70656E0A00000000633A5C
-77735C626F645F3437373631303539335F353430343432
+77735C626F645F3437373631313336315F353437383434
 5C637573746F6D6572735C676F6F676C655C503231466C
 61677461696C6D63755C64656C69766572795C53656E73
 6F724875625F5032315C7372635C636870705C73657276
@@ -965,7 +965,7 @@
 0023002295210FF23000FBF7EFF836B90023002296210F
 F22000FBF7E7F83620FEF78EF9286030B1811D2046FFF7
 99FF36203060012070BD633A5C77735C626F645F343737
-3631303539335F3534303434325C637573746F6D657273
+3631313336315F3534373834345C637573746F6D657273
 5C676F6F676C655C503231466C61677461696C6D63755C
 64656C69766572795C53656E736F724875625F5032315C
 7372635C636870705C636F6D6D6F6E5C676E73735F63F1
@@ -1020,7 +1020,7 @@
 0025643A2564095B25735D204D6561737572656D656E74
 2064617461206576656E74203A206D6561737572656D65
 6E745F636F756E74203D20282564290A000000633A5C77
-735C626F645F3437373631303539335F3534303434325C
+735C626F645F3437373631313336315F3534373834345C
 637573746F6D6572735C676F6F676C655C503231466C61
 677461696C6D63755C64656C69766572795C53656E736F
 724875625F5032315C7372635C636870705C706C617466
@@ -1229,9 +1229,9 @@
 8891FBF0F111FB00F008E0B08838B1A88070BD00291CBF
 F088002800D0A08070BD0B480170704700000948007870
 4700000848017070470000064800787047000001484161
-70470000787B89001A3F080099CB91009ACB91002F2F64
+70470000787B8900045C080099CB91009ACB91002F2F64
 65706F742F636C69656E742F636F72652F72656C2F476F
-6F676C652F4D32322F542D4652432F2E2E2E000000007E
+6F676C652F5032322F3534353339302F2E2E2E0000007E
 24247E5056542044756D70203A20474C4C207665722E20
 256C7520666C61677461696C3A25730A000000007E2424
 7E5056542044756D70203A2054203D20256C752C204E54
diff --git a/health/Health.cpp b/health/Health.cpp
index a50cc8b..a81e731 100644
--- a/health/Health.cpp
+++ b/health/Health.cpp
@@ -28,7 +28,6 @@
 #include <health-impl/ChargerUtils.h>
 #include <pixelhealth/BatteryDefender.h>
 #include <pixelhealth/BatteryMetricsLogger.h>
-#include <pixelhealth/BatteryThermalControl.h>
 #include <pixelhealth/ChargerDetect.h>
 #include <pixelhealth/DeviceHealth.h>
 #include <pixelhealth/LowBatteryShutdownMetrics.h>
@@ -55,7 +54,6 @@
 using aidl::android::hardware::health::charger::ChargerModeMain;
 using hardware::google::pixel::health::BatteryDefender;
 using hardware::google::pixel::health::BatteryMetricsLogger;
-using hardware::google::pixel::health::BatteryThermalControl;
 using hardware::google::pixel::health::DeviceHealth;
 using hardware::google::pixel::health::LowBatteryShutdownMetrics;
 using hardware::google::pixel::health::ChargerDetect;
@@ -70,8 +68,6 @@
 static BatteryDefender battDefender(WLC_DIR "/present",
     "/sys/devices/platform/google,charger/charge_start_level",
     "/sys/devices/platform/google,charger/charge_stop_level");
-static BatteryThermalControl battThermalControl(
-    "/dev/thermal/tz-by-name/soc/mode");
 static BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV);
 static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg);
 static DeviceHealth deviceHealth;
@@ -145,7 +141,6 @@
 
 int private_healthd_board_battery_update(HealthInfo *health_info) {
   deviceHealth.update(health_info);
-  battThermalControl.updateThermalState(*health_info);
   battMetricsLogger.logBatteryProperties(*health_info);
   shutdownMetrics.logShutdownVoltage(*health_info);
   // Allow BatteryDefender to override online properties
diff --git a/init.insmod.sh b/init.insmod.sh
index 97ae7bc..645391a 100755
--- a/init.insmod.sh
+++ b/init.insmod.sh
@@ -51,6 +51,8 @@
   # to unblock early-boot trigger
   setprop vendor.common.modules.ready
   setprop vendor.device.modules.ready
+  setprop vendor.all.modules.ready
+  setprop vendor.all.devices.ready
   exit 1
 fi
 
diff --git a/manifest.xml b/manifest.xml
index 1cb5345..bc4c300 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -134,15 +134,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-      <name>vendor.google.google_battery</name>
-      <transport>hwbinder</transport>
-      <version>1.2</version>
-      <interface>
-        <name>IGoogleBattery</name>
-        <instance>default</instance>
-      </interface>
-    </hal>
-    <hal format="hidl">
        <name>vendor.google.whitechapel.audio.audioext</name>
        <transport>hwbinder</transport>
        <version>3.0</version>
diff --git a/manifest_64.xml b/manifest_64.xml
index 09466c9..4d67efc 100644
--- a/manifest_64.xml
+++ b/manifest_64.xml
@@ -44,15 +44,6 @@
             <instance>default</instance>
         </interface>
     </hal>
-    <hal format="hidl">
-        <name>android.hardware.renderscript</name>
-        <transport arch="32+64">passthrough</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IDevice</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
     <hal format = "hidl">
         <name>android.hardware.dumpstate</name>
         <transport>hwbinder</transport>
@@ -135,15 +126,6 @@
         </interface>
     </hal>
     <hal format="hidl">
-      <name>vendor.google.google_battery</name>
-      <transport>hwbinder</transport>
-      <version>1.2</version>
-      <interface>
-        <name>IGoogleBattery</name>
-        <instance>default</instance>
-      </interface>
-    </hal>
-    <hal format="hidl">
        <name>vendor.google.whitechapel.audio.audioext</name>
        <transport>hwbinder</transport>
        <version>3.0</version>
diff --git a/media_codecs_aosp_c2.xml b/media_codecs_aosp_c2.xml
index 62b4707..31842ff 100644
--- a/media_codecs_aosp_c2.xml
+++ b/media_codecs_aosp_c2.xml
@@ -154,6 +154,7 @@
             <Feature name="can-swap-width-height" value="1" />
             <Feature name="vq-minimum-quality"/>
             <Feature name="qp-bounds"/>
+            <Feature name="bitrate-modes" value="VBR,CBR,CBR-FD" />
         </MediaCodec>
         <MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" >
             <Limit name="size" min="64x64" max="3840x2176" />
@@ -168,6 +169,7 @@
             <Feature name="can-swap-width-height" value="1" />
             <Feature name="vq-minimum-quality"/>
             <Feature name="qp-bounds"/>
+            <Feature name="bitrate-modes" value="VBR,CBR,CBR-FD" />
         </MediaCodec>
         <MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es">
             <Limit name="size" min="32x32" max="2048x2048" />
@@ -182,6 +184,7 @@
             <Feature name="can-swap-width-height" value="1" />
             <Feature name="vq-minimum-quality"/>
             <Feature name="qp-bounds"/>
+            <Feature name="bitrate-modes" value="VBR,CBR" />
         </MediaCodec>
         <MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp">
             <Limit name="size" min="32x32" max="2048x1152" />
@@ -195,6 +198,7 @@
             <Limit name="concurrent-instances" max="16" />
             <Feature name="vq-minimum-quality"/>
             <Feature name="qp-bounds"/>
+            <Feature name="bitrate-modes" value="VBR,CBR" />
         </MediaCodec>
         <MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
             <Limit name="size" min="32x32" max="3840x2160" />
@@ -209,6 +213,7 @@
             <Feature name="can-swap-width-height" value="1" />
             <Feature name="vq-minimum-quality"/>
             <Feature name="qp-bounds"/>
+            <Feature name="bitrate-modes" value="VBR,CBR" />
         </MediaCodec>
         <MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
             <Limit name="size" min="64x64" max="3840x2176" />
@@ -223,6 +228,7 @@
             <Feature name="can-swap-width-height" value="1" />
             <Feature name="vq-minimum-quality"/>
             <Feature name="qp-bounds"/>
+            <Feature name="bitrate-modes" value="VBR,CBR" />
         </MediaCodec>
     </Encoders>
 </MediaCodecs>
diff --git a/media_codecs_bo_c2.xml b/media_codecs_bo_c2.xml
index 22ad88e..40c81ff 100644
--- a/media_codecs_bo_c2.xml
+++ b/media_codecs_bo_c2.xml
@@ -15,6 +15,7 @@
 -->
 <MediaCodecs>
     <Include href="media_codecs_aosp_c2.xml" />
+    <Include href="media_codecs_dolby_c2.xml" />
     <Decoders>
         <MediaCodec name="c2.google.av1.decoder" type="video/av01">
           <Limit name="size" min="96x96" max="3840x2160" />
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index 4497748..a1fe772 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -25,6 +25,7 @@
 using android::hardware::google::pixel::SysfsCollector;
 using android::hardware::google::pixel::UeventListener;
 
+#define BLOCK_STATS_LENGTH 17
 #define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
 #define UFS_ERR_PATH(err_type) UFSHC_PATH(err_stats/) #err_type
 const struct SysfsCollector::SysfsPaths sysfs_paths = {
@@ -52,7 +53,8 @@
             UFS_ERR_PATH(dme_err_count),
             UFS_ERR_PATH(fatal_err_count),
             UFS_ERR_PATH(auto_hibern8_err_count)
-        }
+        },
+        .AmsRatePath = "/sys/devices/platform/audiometrics/ams_rate_read_once",
 };
 
 const struct UeventListener::UeventPaths ueventPaths = {
diff --git a/powerstats/Gs101CommonDataProviders.cpp b/powerstats/Gs101CommonDataProviders.cpp
index 13e6b71..035810b 100644
--- a/powerstats/Gs101CommonDataProviders.cpp
+++ b/powerstats/Gs101CommonDataProviders.cpp
@@ -45,6 +45,8 @@
 constexpr char kBootHwSoCRev[] = "ro.boot.hw.soc.rev";
 
 void addAoC(std::shared_ptr<PowerStats> p) {
+    // AoC clock is synced from "libaoc.c"
+    static const uint64_t AOC_CLOCK = 4096;
     std::string prefix = "/sys/devices/platform/19000000.aoc/control/";
 
     // Add AoC cores (a32, ff1, hf0, and hf1)
@@ -57,7 +59,7 @@
     std::vector<std::pair<std::string, std::string>> coreStates = {
             {"DWN", "off"}, {"RET", "retention"}, {"WFI", "wfi"}};
     p->addStateResidencyDataProvider(std::make_unique<AocStateResidencyDataProvider>(coreIds,
-            coreStates));
+            coreStates, AOC_CLOCK));
 
     // Add AoC voltage stats
     std::vector<std::pair<std::string, std::string>> voltageIds = {
@@ -68,7 +70,7 @@
                                                                       {"UUD", "ultra_underdrive"},
                                                                       {"UD", "underdrive"}};
     p->addStateResidencyDataProvider(
-            std::make_unique<AocStateResidencyDataProvider>(voltageIds, voltageStates));
+            std::make_unique<AocStateResidencyDataProvider>(voltageIds, voltageStates, AOC_CLOCK));
 
     // Add AoC monitor mode
     std::vector<std::pair<std::string, std::string>> monitorIds = {
@@ -78,7 +80,7 @@
             {"MON", "mode"},
     };
     p->addStateResidencyDataProvider(
-            std::make_unique<AocStateResidencyDataProvider>(monitorIds, monitorStates));
+            std::make_unique<AocStateResidencyDataProvider>(monitorIds, monitorStates, AOC_CLOCK));
 
     // Add AoC restart count
     const GenericStateResidencyDataProvider::StateResidencyConfig restartCountConfig = {
diff --git a/radio/config/Pixel_stability.nprf b/radio/config/Pixel_stability.nprf
index 5814892..c2ce485 100644
--- a/radio/config/Pixel_stability.nprf
+++ b/radio/config/Pixel_stability.nprf
Binary files differ
diff --git a/tts/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice b/tts/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice
deleted file mode 100644
index b3b2a45..0000000
--- a/tts/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/de-de/de-de-x-multi-r31.zvoice b/tts/de-de/de-de-x-multi-r31.zvoice
deleted file mode 100644
index 782094f..0000000
--- a/tts/de-de/de-de-x-multi-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/de-de/de-de-x-multi-r35.zvoice b/tts/de-de/de-de-x-multi-r35.zvoice
new file mode 100644
index 0000000..0e7d9a3
--- /dev/null
+++ b/tts/de-de/de-de-x-multi-r35.zvoice
Binary files differ
diff --git a/tts/de-de/de-de-x-multi-seanet-r31.zvoice b/tts/de-de/de-de-x-multi-seanet-r31.zvoice
deleted file mode 100644
index 2d24bad..0000000
--- a/tts/de-de/de-de-x-multi-seanet-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/de-de/de-de-x-multi-wavernn-r31.zvoice b/tts/de-de/de-de-x-multi-wavernn-r31.zvoice
deleted file mode 100644
index 9950e0b..0000000
--- a/tts/de-de/de-de-x-multi-wavernn-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice b/tts/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice
deleted file mode 100644
index 1a934ba..0000000
--- a/tts/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/es-es/es-es-x-multi-r31.zvoice b/tts/es-es/es-es-x-multi-r31.zvoice
deleted file mode 100644
index 41fe8d0..0000000
--- a/tts/es-es/es-es-x-multi-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/es-es/es-es-x-multi-r35.zvoice b/tts/es-es/es-es-x-multi-r35.zvoice
new file mode 100644
index 0000000..4b35606
--- /dev/null
+++ b/tts/es-es/es-es-x-multi-r35.zvoice
Binary files differ
diff --git a/tts/es-es/es-es-x-multi-seanet-r31.zvoice b/tts/es-es/es-es-x-multi-seanet-r31.zvoice
deleted file mode 100644
index 25b1a7c..0000000
--- a/tts/es-es/es-es-x-multi-seanet-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/es-es/es-es-x-multi-wavernn-r31.zvoice b/tts/es-es/es-es-x-multi-wavernn-r31.zvoice
deleted file mode 100644
index d954a64..0000000
--- a/tts/es-es/es-es-x-multi-wavernn-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice b/tts/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice
deleted file mode 100644
index 14a3264..0000000
--- a/tts/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/fr-fr/fr-fr-x-multi-r31.zvoice b/tts/fr-fr/fr-fr-x-multi-r31.zvoice
deleted file mode 100644
index 09a071e..0000000
--- a/tts/fr-fr/fr-fr-x-multi-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/fr-fr/fr-fr-x-multi-r35.zvoice b/tts/fr-fr/fr-fr-x-multi-r35.zvoice
new file mode 100644
index 0000000..67e4f0d
--- /dev/null
+++ b/tts/fr-fr/fr-fr-x-multi-r35.zvoice
Binary files differ
diff --git a/tts/fr-fr/fr-fr-x-multi-seanet-r31.zvoice b/tts/fr-fr/fr-fr-x-multi-seanet-r31.zvoice
deleted file mode 100644
index d1238d5..0000000
--- a/tts/fr-fr/fr-fr-x-multi-seanet-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/fr-fr/fr-fr-x-multi-wavernn-r31.zvoice b/tts/fr-fr/fr-fr-x-multi-wavernn-r31.zvoice
deleted file mode 100644
index 5fe1665..0000000
--- a/tts/fr-fr/fr-fr-x-multi-wavernn-r31.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/it-it/it-it-x-multi-r27.zvoice b/tts/it-it/it-it-x-multi-r27.zvoice
deleted file mode 100644
index 4ec64c3..0000000
--- a/tts/it-it/it-it-x-multi-r27.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/it-it/it-it-x-multi-r32.zvoice b/tts/it-it/it-it-x-multi-r32.zvoice
new file mode 100644
index 0000000..a90c9d8
--- /dev/null
+++ b/tts/it-it/it-it-x-multi-r32.zvoice
Binary files differ
diff --git a/tts/ja-jp/ja-jp-x-multi-darwinn-wavernn-r29.zvoice b/tts/ja-jp/ja-jp-x-multi-darwinn-wavernn-r29.zvoice
deleted file mode 100644
index ecd5282..0000000
--- a/tts/ja-jp/ja-jp-x-multi-darwinn-wavernn-r29.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/ja-jp/ja-jp-x-multi-r29.zvoice b/tts/ja-jp/ja-jp-x-multi-r29.zvoice
deleted file mode 100644
index c979108..0000000
--- a/tts/ja-jp/ja-jp-x-multi-r29.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/ja-jp/ja-jp-x-multi-r34.zvoice b/tts/ja-jp/ja-jp-x-multi-r34.zvoice
new file mode 100644
index 0000000..dcb46dc
--- /dev/null
+++ b/tts/ja-jp/ja-jp-x-multi-r34.zvoice
Binary files differ
diff --git a/tts/ja-jp/ja-jp-x-multi-wavernn-r29.zvoice b/tts/ja-jp/ja-jp-x-multi-wavernn-r29.zvoice
deleted file mode 100644
index f4e4956..0000000
--- a/tts/ja-jp/ja-jp-x-multi-wavernn-r29.zvoice
+++ /dev/null
Binary files differ
diff --git a/tts/voice_packs.mk b/tts/voice_packs.mk
index fbc3050..9e535dd 100644
--- a/tts/voice_packs.mk
+++ b/tts/voice_packs.mk
@@ -15,19 +15,8 @@
 
 # Voice packs for Text-To-Speech
 PRODUCT_COPY_FILES += \
-	device/google/gs101/tts/ja-jp/ja-jp-x-multi-r29.zvoice:product/tts/google/ja-jp/ja-jp-x-multi-r29.zvoice\
-	device/google/gs101/tts/ja-jp/ja-jp-x-multi-darwinn-wavernn-r29.zvoice:product/tts/google/ja-jp/ja-jp-x-multi-darwinn-wavernn-r29.zvoice\
-	device/google/gs101/tts/ja-jp/ja-jp-x-multi-wavernn-r29.zvoice:product/tts/google/ja-jp/ja-jp-x-multi-wavernn-r29.zvoice\
-	device/google/gs101/tts/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-darwinn-wavernn-r31.zvoice\
-	device/google/gs101/tts/fr-fr/fr-fr-x-multi-r31.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-r31.zvoice\
-	device/google/gs101/tts/fr-fr/fr-fr-x-multi-seanet-r31.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-seanet-r31.zvoice\
-	device/google/gs101/tts/fr-fr/fr-fr-x-multi-wavernn-r31.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-wavernn-r31.zvoice\
-	device/google/gs101/tts/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice:product/tts/google/de-de/de-de-x-multi-darwinn-wavernn-r31.zvoice\
-	device/google/gs101/tts/de-de/de-de-x-multi-r31.zvoice:product/tts/google/de-de/de-de-x-multi-r31.zvoice\
-	device/google/gs101/tts/de-de/de-de-x-multi-seanet-r31.zvoice:product/tts/google/de-de/de-de-x-multi-seanet-r31.zvoice\
-	device/google/gs101/tts/de-de/de-de-x-multi-wavernn-r31.zvoice:product/tts/google/de-de/de-de-x-multi-wavernn-r31.zvoice\
-	device/google/gs101/tts/it-it/it-it-x-multi-r27.zvoice:product/tts/google/it-it/it-it-x-multi-r27.zvoice\
-	device/google/gs101/tts/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice:product/tts/google/es-es/es-es-x-multi-darwinn-wavernn-r31.zvoice\
-	device/google/gs101/tts/es-es/es-es-x-multi-r31.zvoice:product/tts/google/es-es/es-es-x-multi-r31.zvoice\
-	device/google/gs101/tts/es-es/es-es-x-multi-seanet-r31.zvoice:product/tts/google/es-es/es-es-x-multi-seanet-r31.zvoice\
-	device/google/gs101/tts/es-es/es-es-x-multi-wavernn-r31.zvoice:product/tts/google/es-es/es-es-x-multi-wavernn-r31.zvoice
+	device/google/gs101/tts/ja-jp/ja-jp-x-multi-r34.zvoice:product/tts/google/ja-jp/ja-jp-x-multi-r34.zvoice\
+	device/google/gs101/tts/fr-fr/fr-fr-x-multi-r35.zvoice:product/tts/google/fr-fr/fr-fr-x-multi-r35.zvoice\
+	device/google/gs101/tts/de-de/de-de-x-multi-r35.zvoice:product/tts/google/de-de/de-de-x-multi-r35.zvoice\
+	device/google/gs101/tts/it-it/it-it-x-multi-r32.zvoice:product/tts/google/it-it/it-it-x-multi-r32.zvoice\
+	device/google/gs101/tts/es-es/es-es-x-multi-r35.zvoice:product/tts/google/es-es/es-es-x-multi-r35.zvoice
diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp
index 6cff2f2..d3c5036 100644
--- a/usb/usb/Usb.cpp
+++ b/usb/usb/Usb.cpp
@@ -731,7 +731,9 @@
             // When connected return powerBrickStatus
             if (port.second) {
                 string usbType;
-                if (ReadFileToString(string(kPowerSupplyUsbType), &usbType)) {
+                if ((*currentPortStatus)[i].currentPowerRole == PortPowerRole::SOURCE) {
+                    (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::NOT_CONNECTED;
+                } else if (ReadFileToString(string(kPowerSupplyUsbType), &usbType)) {
                     if (strstr(usbType.c_str(), "[D")) {
                         (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::CONNECTED;
                     } else if (strstr(usbType.c_str(), "[U")) {
diff --git a/uwb/uwb.mk b/uwb/uwb.mk
index 718a52a..7984a09 100644
--- a/uwb/uwb.mk
+++ b/uwb/uwb.mk
@@ -19,23 +19,23 @@
 LOCAL_UWB_CAL_DIR=device/google/gs101/uwb/calibration
 
 PRODUCT_COPY_FILES += \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-jp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-jp.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-ar.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-ar.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-am.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-am.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-az.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-az.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-by.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-by.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-id.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-id.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-kz.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-kz.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-kg.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-kg.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-np.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-np.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-pk.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-pk.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-py.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-py.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-ru.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-ru.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-sb.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-sb.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-tj.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-tj.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-tm.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-tm.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-ua.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-ua.conf \
-    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-uz.conf:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-uz.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-jp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-jp.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-ar.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ar.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-am.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-am.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-az.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-az.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-by.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-by.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-id.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-id.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-kz.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-kz.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-kg.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-kg.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-np.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-np.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-pk.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-pk.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-py.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-py.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-ru.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ru.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-sb.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-sb.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-tj.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-tj.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-tm.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-tm.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-ua.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-ua.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-uz.conf:$(TARGET_COPY_OUT_VENDOR)/etc/uwb/UWB-calibration-uz.conf \
     $(LOCAL_UWB_CAL_DIR)/init.uwb.calib.xtal.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.uwb.calib.sh \
 
 PRODUCT_COPY_FILES += \
diff --git a/wifi/BoardConfig-wifi.mk b/wifi/BoardConfig-wifi.mk
index 58a9778..a9dc7db 100644
--- a/wifi/BoardConfig-wifi.mk
+++ b/wifi/BoardConfig-wifi.mk
@@ -30,4 +30,4 @@
 WIFI_AVOID_IFACE_RESET_MAC_CHANGE := true
 WIFI_FEATURE_HOSTAPD_11AX := true
 BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL := true
-
+WIFI_HIDL_UNIFIED_SUPPLICANT_SERVICE_RC_ENTRY := true
diff --git a/wifi/p2p_supplicant.conf b/wifi/p2p_supplicant_overlay.conf
similarity index 100%
rename from wifi/p2p_supplicant.conf
rename to wifi/p2p_supplicant_overlay.conf