16kb: Set platform elf alignment to 16kb for raviole targets am: d568b025b3 am: 479cbee36e

Original change: https://android-review.googlesource.com/c/device/google/raviole/+/3063575

Change-Id: I1f10a95108f2a5e608278745fc9e2c23f5b64cfb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/audio/oriole/config/audio_policy_configuration.xml b/audio/oriole/config/audio_policy_configuration.xml
index f91a44d..b40204e 100644
--- a/audio/oriole/config/audio_policy_configuration.xml
+++ b/audio/oriole/config/audio_policy_configuration.xml
@@ -94,7 +94,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
index bc18a46..0f85d74 100644
--- a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -94,7 +94,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/oriole/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/oriole/config/audio_policy_configuration_bluetooth_legacy_hal.xml
index 90e4a16..a55b5d1 100644
--- a/audio/oriole/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/oriole/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -90,7 +90,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml b/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml
index a96e6b3..72748dd 100644
--- a/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml
+++ b/audio/oriole/config/audio_policy_configuration_le_offload_disabled.xml
@@ -94,7 +94,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/raven/config/audio_policy_configuration.xml b/audio/raven/config/audio_policy_configuration.xml
index f91a44d..b40204e 100644
--- a/audio/raven/config/audio_policy_configuration.xml
+++ b/audio/raven/config/audio_policy_configuration.xml
@@ -94,7 +94,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
index bc18a46..0f85d74 100644
--- a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -94,7 +94,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/raven/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/raven/config/audio_policy_configuration_bluetooth_legacy_hal.xml
index 90e4a16..a55b5d1 100644
--- a/audio/raven/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/raven/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -90,7 +90,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml b/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml
index a96e6b3..72748dd 100644
--- a/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml
+++ b/audio/raven/config/audio_policy_configuration_le_offload_disabled.xml
@@ -94,7 +94,7 @@
                              samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
                 </mixPort>
-                <mixPort name="incall capture" role="sink">
+                <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
                     <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                              samplingRates="48000"
                              channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/bluetooth/bt_vendor_overlay.conf b/bluetooth/bt_vendor_overlay.conf
index 4208da8..e12005e 100644
--- a/bluetooth/bt_vendor_overlay.conf
+++ b/bluetooth/bt_vendor_overlay.conf
@@ -2,4 +2,7 @@
 
 BtA2dpOffloadCap = sbc-aac-aptx-aptxhd-ldac-opus
 
+# Update BQR Event Mask property value
+BqrEventMaskValueUpdate = 262238
+
 BtOpusEnabled = true
diff --git a/conf/init.oriole.rc b/conf/init.oriole.rc
index 23d1bff..a68876f 100644
--- a/conf/init.oriole.rc
+++ b/conf/init.oriole.rc
@@ -3,10 +3,8 @@
 import /vendor/etc/init/hw/init.raviole.rc
 
 on init
-    # logbuffer
-    chown system system /dev/logbuffer_5-0057
     # nvmem dump
-    chown system system /sys/bus/nvmem/devices/4-00500/nvmem
+    chown system system /sys/bus/nvmem/devices/8-00500/nvmem
 
 on init && property:ro.boot.vh_sched_available=0
     setprop vendor.powerhal.config powerhint-mainline.json
diff --git a/conf/init.raven.rc b/conf/init.raven.rc
index 816e368..b3776ae 100644
--- a/conf/init.raven.rc
+++ b/conf/init.raven.rc
@@ -3,10 +3,8 @@
 import /vendor/etc/init/hw/init.raviole.rc
 
 on init
-    # logbuffer
-    chown system system /dev/logbuffer_5-0057
     # nvmem dump
-    chown system system /sys/bus/nvmem/devices/5-00500/nvmem
+    chown system system /sys/bus/nvmem/devices/8-00500/nvmem
 
     # Power Stats HAL
     chown system system /sys/devices/platform/10d30000.spi/spi_master/spi10/spi10.0/uwb/power_stats
diff --git a/conf/init.slider.rc b/conf/init.slider.rc
index af4a484..49c20ea 100644
--- a/conf/init.slider.rc
+++ b/conf/init.slider.rc
@@ -10,10 +10,6 @@
 on init && property:ro.build.flavor=factory_slider-userdebug
     import /vendor/etc/init/hw/init.factory.rc
 
-on init
-    # logbuffer
-    chown system system /dev/logbuffer_6-0057
-
 on early-boot
     # Wait for insmod_sh to finish all common modules
     wait_for_prop vendor.common.modules.ready 1
diff --git a/device-oriole.mk b/device-oriole.mk
index 6044ec6..4b7480a 100644
--- a/device-oriole.mk
+++ b/device-oriole.mk
@@ -17,8 +17,10 @@
 # Restrict the visibility of Android.bp files to improve build analysis time
 $(call inherit-product-if-exists, vendor/google/products/sources_pixel.mk)
 
-TARGET_KERNEL_DIR ?= device/google/raviole-kernel
-TARGET_BOARD_KERNEL_HEADERS := device/google/raviole-kernel/kernel-headers
+TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_ORIOLE_VERSION)
+# Keeps flexibility for kasan and ufs builds
+TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_ORIOLE_DIR)
+TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_ORIOLE_DIR)/kernel-headers
 
 $(call inherit-product-if-exists, vendor/google_devices/raviole/prebuilts/device-vendor-oriole.mk)
 $(call inherit-product-if-exists, vendor/google_devices/gs101/prebuilts/device-vendor.mk)
@@ -39,13 +41,6 @@
 
 # Fingerprint HAL
 GOODIX_CONFIG_BUILD_VERSION := g6_trusty
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/firmware/fingerprint/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/firmware/fingerprint/24Q2
-else
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/firmware/fingerprint/trunk
-endif
 $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
 ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
 $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
@@ -199,7 +194,7 @@
 
 # Increment the SVN for any official public releases
 PRODUCT_VENDOR_PROPERTIES += \
-    ro.vendor.build.svn=75
+    ro.vendor.build.svn=83
 
 # Set support hide display cutout feature
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -237,13 +232,6 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q2
-else
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/trunk
-endif
 
 # Set support one-handed mode
 PRODUCT_PRODUCT_PROPERTIES += \
diff --git a/device-raven.mk b/device-raven.mk
index 1549d07..de04e6c 100644
--- a/device-raven.mk
+++ b/device-raven.mk
@@ -17,8 +17,10 @@
 # Restrict the visibility of Android.bp files to improve build analysis time
 $(call inherit-product-if-exists, vendor/google/products/sources_pixel.mk)
 
-TARGET_KERNEL_DIR ?= device/google/raviole-kernel
-TARGET_BOARD_KERNEL_HEADERS := device/google/raviole-kernel/kernel-headers
+TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_RAVEN_VERSION)
+# Keeps flexibility for kasan and ufs builds
+TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_RAVEN_DIR)
+TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_RAVEN_DIR)/kernel-headers
 
 $(call inherit-product, device/google/raviole/uwb/uwb_calibration_country.mk)
 $(call inherit-product-if-exists, vendor/google_devices/raviole/prebuilts/device-vendor-raven.mk)
@@ -39,13 +41,6 @@
 
 # Fingerprint HAL
 GOODIX_CONFIG_BUILD_VERSION := g6_trusty
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/firmware/fingerprint/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/firmware/fingerprint/24Q2
-else
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/firmware/fingerprint/trunk
-endif
 $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
 ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
 $(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
@@ -203,7 +198,7 @@
 
 # Increment the SVN for any official public releases
 PRODUCT_VENDOR_PROPERTIES += \
-    ro.vendor.build.svn=75
+    ro.vendor.build.svn=83
 
 # Set support hide display cutout feature
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -245,13 +240,6 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q2
-else
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/trunk
-endif
 
 # Set support one-handed mode
 PRODUCT_PRODUCT_PROPERTIES += \
diff --git a/device-slider.mk b/device-slider.mk
index 75287bc..70b52fc 100644
--- a/device-slider.mk
+++ b/device-slider.mk
@@ -14,8 +14,9 @@
 # limitations under the License.
 #
 
-TARGET_KERNEL_DIR ?= device/google/raviole-kernel
-TARGET_BOARD_KERNEL_HEADERS := device/google/raviole-kernel/kernel-headers
+# Keeps flexibility for kasan and ufs builds
+TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_ORIOLE_DIR)
+TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_ORIOLE_DIR)/kernel-headers
 
 $(call inherit-product-if-exists, vendor/google_devices/raviole/prebuilts/device-vendor-slider.mk)
 $(call inherit-product-if-exists, vendor/google_devices/gs101/prebuilts/device-vendor.mk)
@@ -105,13 +106,6 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q2
-else
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/trunk
-endif
 
 # tetheroffload HAL
 PRODUCT_PACKAGES += \
diff --git a/device-whitefin.mk b/device-whitefin.mk
index 0e03ece..23805c4 100644
--- a/device-whitefin.mk
+++ b/device-whitefin.mk
@@ -14,8 +14,9 @@
 # limitations under the License.
 #
 
-TARGET_KERNEL_DIR ?= device/google/raviole-kernel
-TARGET_BOARD_KERNEL_HEADERS := device/google/raviole-kernel/kernel-headers
+# Keeps flexibility for kasan and ufs builds
+TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_ORIOLE_DIR)
+TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_ORIOLE_DIR)/kernel-headers
 
 $(call inherit-product-if-exists, vendor/google_devices/raviole/prebuilts/device-vendor-whitefin.mk)
 $(call inherit-product-if-exists, vendor/google_devices/gs101/prebuilts/device-vendor.mk)
@@ -88,13 +89,6 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/24Q2
-else
-PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts/trusty/trunk
-endif
 
 # tetheroffload HAL
 PRODUCT_PACKAGES += \
diff --git a/init.insmod.oriole.cfg b/init.insmod.oriole.cfg
index 6617a28..0ab8ad5 100644
--- a/init.insmod.oriole.cfg
+++ b/init.insmod.oriole.cfg
@@ -9,6 +9,7 @@
 modprobe|bcmdhd4389.ko
 modprobe|ftm5.ko
 modprobe|sec_touch.ko
+modprobe|st33spi.ko
 
 # All device specific modules loaded
 setprop|vendor.device.modules.ready
diff --git a/init.insmod.raven.cfg b/init.insmod.raven.cfg
index d12fc88..84b3239 100644
--- a/init.insmod.raven.cfg
+++ b/init.insmod.raven.cfg
@@ -8,6 +8,7 @@
 # Modules here will be loaded *after* all common modules
 modprobe|bcmdhd4389.ko
 modprobe|sec_touch.ko
+modprobe|st33spi.ko
 
 # All device specific modules loaded
 setprop|vendor.device.modules.ready
diff --git a/location/gps.xml b/location/gps.xml
index 97c7d8b..52827b8 100644
--- a/location/gps.xml
+++ b/location/gps.xml
@@ -59,7 +59,7 @@
        CpLppeCancelDbhOnAgnssProvideLoc="true"
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
-       ReAidingIntervalSec="1200"
+       ReAidingIntervalSec="3600"
        PpsDevice="/sys/class/pps/pps0/assert_elapsed"
        SensorsMask="0x244"
        MaxThreadNum="13"
@@ -92,6 +92,8 @@
        MinGpsWeekNumber="2216"
        OnChipAccMask="50"
        EnableB1C="false"
+
+       RTICacheTimeoutSec="3600"
   />
 
   <gll_features
diff --git a/location/gps.xml.oriole b/location/gps.xml.oriole
index a76f153..323fe17 100644
--- a/location/gps.xml.oriole
+++ b/location/gps.xml.oriole
@@ -59,7 +59,7 @@
        CpLppeCancelDbhOnAgnssProvideLoc="true"
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
-       ReAidingIntervalSec="1200"
+       ReAidingIntervalSec="3600"
        PpsDevice="/sys/class/pps/pps0/assert_elapsed"
        SensorsMask="0x244"
        MaxThreadNum="13"
@@ -92,6 +92,8 @@
        MinGpsWeekNumber="2216"
        OnChipAccMask="50"
        EnableB1C="false"
+
+       RTICacheTimeoutSec="3600"
   />
 
   <gll_features
diff --git a/location/gps.xml.raven b/location/gps.xml.raven
index 9a64d97..f205e75 100644
--- a/location/gps.xml.raven
+++ b/location/gps.xml.raven
@@ -59,7 +59,7 @@
        CpLppeCancelDbhOnAgnssProvideLoc="true"
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
-       ReAidingIntervalSec="1200"
+       ReAidingIntervalSec="3600"
        PpsDevice="/sys/class/pps/pps0/assert_elapsed"
        SensorsMask="0x244"
        MaxThreadNum="13"
@@ -92,6 +92,8 @@
        MinGpsWeekNumber="2216"
        OnChipAccMask="50"
        EnableB1C="false"
+
+       RTICacheTimeoutSec="3600"
   />
 
   <gll_features
diff --git a/location/gps_user.xml b/location/gps_user.xml
index c2184c2..a5a4066 100644
--- a/location/gps_user.xml
+++ b/location/gps_user.xml
@@ -58,7 +58,7 @@
        CpLppeCancelDbhOnAgnssProvideLoc="true"
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
-       ReAidingIntervalSec="1200"
+       ReAidingIntervalSec="3600"
        PpsDevice="/sys/class/pps/pps0/assert_elapsed"
        SensorsMask="0x244"
        MaxThreadNum="13"
@@ -91,6 +91,8 @@
        MinGpsWeekNumber="2216"
        OnChipAccMask="50"
        EnableB1C="false"
+
+       RTICacheTimeoutSec="3600"
   />
 
   <gll_features
diff --git a/location/gps_user.xml.oriole b/location/gps_user.xml.oriole
index f09913a..e04f9fe 100644
--- a/location/gps_user.xml.oriole
+++ b/location/gps_user.xml.oriole
@@ -58,7 +58,7 @@
        CpLppeCancelDbhOnAgnssProvideLoc="true"
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
-       ReAidingIntervalSec="1200"
+       ReAidingIntervalSec="3600"
        PpsDevice="/sys/class/pps/pps0/assert_elapsed"
        SensorsMask="0x244"
        MaxThreadNum="13"
@@ -91,6 +91,8 @@
        MinGpsWeekNumber="2216"
        OnChipAccMask="50"
        EnableB1C="false"
+
+       RTICacheTimeoutSec="3600"
   />
 
   <gll_features
diff --git a/location/gps_user.xml.raven b/location/gps_user.xml.raven
index 858732d..c132781 100644
--- a/location/gps_user.xml.raven
+++ b/location/gps_user.xml.raven
@@ -58,7 +58,7 @@
        CpLppeCancelDbhOnAgnssProvideLoc="true"
        CpLppeUseAgnssLocForEmptyDbh="true"
        ReAidingOnHotStart="false"
-       ReAidingIntervalSec="1200"
+       ReAidingIntervalSec="3600"
        PpsDevice="/sys/class/pps/pps0/assert_elapsed"
        SensorsMask="0x244"
        MaxThreadNum="13"
@@ -91,6 +91,8 @@
        MinGpsWeekNumber="2216"
        OnChipAccMask="50"
        EnableB1C="false"
+
+       RTICacheTimeoutSec="3600"
   />
 
   <gll_features
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
index b7599c7..7300e21 100644
--- a/nfc/libnfc-hal-st.conf
+++ b/nfc/libnfc-hal-st.conf
@@ -8,7 +8,7 @@
 
 ###############################################################################
 # Vendor specific mode to enable FW (RF & SWP) traces.
-STNFC_FW_DEBUG_ENABLED=0
+STNFC_FW_DEBUG_ENABLED=1
 
 ###############################################################################
 # File used for NFA storage
diff --git a/oriole/BoardConfig.mk b/oriole/BoardConfig.mk
index 5176a54..50c2ba7 100644
--- a/oriole/BoardConfig.mk
+++ b/oriole/BoardConfig.mk
@@ -24,13 +24,9 @@
 BOARD_KERNEL_CMDLINE += g2d.load_sequential=1
 
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_ORIOLE_RADIO_DIR)
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
-else
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
-endif
+RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR ?= trunk # Keep this for pdk TODO: b/327119000
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR)
+$(call soong_config_set,bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR))
 
 ifdef AUTOMOTIVE_PRODUCT_PATH
   #RBC# include_top device/google/auto_tcu
diff --git a/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index fa178a8..8e6ed37 100644
--- a/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/oriole/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -52,5 +52,8 @@
 
     <!-- Offset should not be more than 1mm -->
     <dimen name="udfps_burn_in_offset_y">16px</dimen>
+
+    <!-- Pixel pitch of the device. um/px -->
+    <item name="pixel_pitch" format="float" type="dimen">61.8</item>
 </resources>
 
diff --git a/oriole/rro_overlays/NfcOverlay/res/values/config.xml b/oriole/rro_overlays/NfcOverlay/res/values/config.xml
index d1f5832..1b70812 100644
--- a/oriole/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/oriole/rro_overlays/NfcOverlay/res/values/config.xml
@@ -32,4 +32,5 @@
   <integer-array name="antenna_y">
     <item>106</item>
   </integer-array>
+  <bool name="nfc_observe_mode_supported">true</bool>
 </resources>
diff --git a/powerhint-oriole-mainline.json b/powerhint-oriole-mainline.json
index 55adc6b..e10d6a9 100644
--- a/powerhint-oriole-mainline.json
+++ b/powerhint-oriole-mainline.json
@@ -1230,14 +1230,14 @@
       "PID_Du": 0,
       "UclampMin_On": true,
       "UclampMin_Init": 232,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 83333330,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 15
     },
@@ -1254,14 +1254,14 @@
       "PID_Du": 0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 111111110,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 15
     },
@@ -1278,14 +1278,14 @@
       "PID_Du": 0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 166666660,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 15
     },
@@ -1332,8 +1332,6 @@
       "UclampMin_High": 53,
       "UclampMin_Low": 53,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 5
     },
@@ -1356,8 +1354,6 @@
       "UclampMin_High": 0,
       "UclampMin_Low": 0,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 5
     }
diff --git a/powerhint-oriole.json b/powerhint-oriole.json
index 7161acd..e97fa3a 100644
--- a/powerhint-oriole.json
+++ b/powerhint-oriole.json
@@ -122,7 +122,7 @@
     },
     {
       "Name": "CPUBigClusterDownRateLimitUs",
-      "Path": "/sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us",
+      "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
         "3000"
@@ -1746,14 +1746,15 @@
       "PID_Du": 0.0,
       "UclampMin_On": true,
       "UclampMin_Init": 232,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 83333330,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0
     },
@@ -1770,14 +1771,15 @@
       "PID_Du": 0.0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 111111110,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0
     },
@@ -1794,14 +1796,15 @@
       "PID_Du": 0.0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 166666660,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0
     },
@@ -1823,9 +1826,8 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 197,
       "UclampMin_Low": 197,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 5.0
     },
@@ -1847,9 +1849,8 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 53,
       "UclampMin_Low": 53,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 5.0
     },
@@ -1871,9 +1872,8 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 0,
       "UclampMin_Low": 0,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 5.0
     }
diff --git a/powerhint-raven-mainline.json b/powerhint-raven-mainline.json
index 89e38f0..f6d6ce1 100644
--- a/powerhint-raven-mainline.json
+++ b/powerhint-raven-mainline.json
@@ -1211,14 +1211,14 @@
       "PID_Du": 0,
       "UclampMin_On": true,
       "UclampMin_Init": 232,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 83333330,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 15
     },
@@ -1235,14 +1235,14 @@
       "PID_Du": 0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 111111110,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 15
     },
@@ -1259,14 +1259,14 @@
       "PID_Du": 0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 166666660,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 15
     },
@@ -1289,8 +1289,6 @@
       "UclampMin_High": 197,
       "UclampMin_Low": 197,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 5
     },
@@ -1313,8 +1311,6 @@
       "UclampMin_High": 53,
       "UclampMin_Low": 53,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 5
     },
@@ -1337,8 +1333,6 @@
       "UclampMin_High": 0,
       "UclampMin_Low": 0,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0,
       "TargetTimeFactor": 1,
       "StaleTimeFactor": 5
     }
diff --git a/powerhint-raven.json b/powerhint-raven.json
index 1dc065c..3872e3e 100644
--- a/powerhint-raven.json
+++ b/powerhint-raven.json
@@ -121,7 +121,7 @@
     },
     {
       "Name": "CPUBigClusterDownRateLimitUs",
-      "Path": "/sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us",
+      "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
         "3000"
@@ -1727,14 +1727,15 @@
       "PID_Du": 0.0,
       "UclampMin_On": true,
       "UclampMin_Init": 232,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 83333330,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0
     },
@@ -1751,14 +1752,15 @@
       "PID_Du": 0.0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 111111110,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0
     },
@@ -1775,14 +1777,15 @@
       "PID_Du": 0.0,
       "UclampMin_On": true,
       "UclampMin_Init": 162,
+      "UclampMin_LoadUp": 480,
+      "UclampMin_LoadReset": 480,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
       "ReportingRateLimitNs": 166666660,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 15.0
     },
@@ -1804,9 +1807,8 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 197,
       "UclampMin_Low": 197,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 5.0
     },
@@ -1828,9 +1830,8 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 53,
       "UclampMin_Low": 53,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 5.0
     },
@@ -1852,9 +1853,8 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 0,
       "UclampMin_Low": 0,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
-      "EarlyBoost_On": false,
-      "EarlyBoost_TimeFactor": 0.0,
       "TargetTimeFactor": 1.0,
       "StaleTimeFactor": 5.0
     }
diff --git a/powerhint-slider.json b/powerhint-slider.json
index d8755b1..a18eda1 100644
--- a/powerhint-slider.json
+++ b/powerhint-slider.json
@@ -121,7 +121,7 @@
     },
     {
       "Name": "CPUBigClusterDownRateLimitUs",
-      "Path": "/sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us",
+      "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
         "3000"
@@ -1503,6 +1503,7 @@
       "UclampMin_Init": 232,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
@@ -1527,6 +1528,7 @@
       "UclampMin_Init": 162,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
@@ -1551,6 +1553,7 @@
       "UclampMin_Init": 162,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
@@ -1578,6 +1581,7 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 197,
       "UclampMin_Low": 197,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
       "EarlyBoost_On": false,
       "EarlyBoost_TimeFactor": 0.0,
@@ -1602,6 +1606,7 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 53,
       "UclampMin_Low": 53,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
       "EarlyBoost_On": false,
       "EarlyBoost_TimeFactor": 0.0,
@@ -1626,6 +1631,7 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 0,
       "UclampMin_Low": 0,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
       "EarlyBoost_On": false,
       "EarlyBoost_TimeFactor": 0.0,
diff --git a/powerhint-whitefin.json b/powerhint-whitefin.json
index 8576d18..20e65c9 100644
--- a/powerhint-whitefin.json
+++ b/powerhint-whitefin.json
@@ -121,7 +121,7 @@
     },
     {
       "Name": "CPUBigClusterDownRateLimitUs",
-      "Path": "/sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us",
+      "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us",
       "Values": [
         "20000",
         "3000"
@@ -1470,6 +1470,7 @@
       "UclampMin_Init": 232,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
@@ -1494,6 +1495,7 @@
       "UclampMin_Init": 162,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
@@ -1518,6 +1520,7 @@
       "UclampMin_Init": 162,
       "UclampMin_High": 480,
       "UclampMin_Low": 2,
+      "UclampMax_Efficient": 400,
       "SamplingWindow_P": 1,
       "SamplingWindow_I": 0,
       "SamplingWindow_D": 1,
@@ -1545,6 +1548,7 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 197,
       "UclampMin_Low": 197,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
       "EarlyBoost_On": false,
       "EarlyBoost_TimeFactor": 0.0,
@@ -1569,6 +1573,7 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 53,
       "UclampMin_Low": 53,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
       "EarlyBoost_On": false,
       "EarlyBoost_TimeFactor": 0.0,
@@ -1593,6 +1598,7 @@
       "UclampMin_Init": 250,
       "UclampMin_High": 0,
       "UclampMin_Low": 0,
+      "UclampMax_Efficient": 400,
       "ReportingRateLimitNs": 1,
       "EarlyBoost_On": false,
       "EarlyBoost_TimeFactor": 0.0,
diff --git a/powerstats/oriole/service.cpp b/powerstats/oriole/service.cpp
index af936a3..fadc674 100644
--- a/powerstats/oriole/service.cpp
+++ b/powerstats/oriole/service.cpp
@@ -41,17 +41,24 @@
 
 void addDisplay(std::shared_ptr<PowerStats> p) {
     // Add display residency stats
-    std::vector<std::string> states = {
-        "Off",
-        "LP: 1080x2400@30",
-        "On: 1080x2400@60",
-        "On: 1080x2400@90",
-        "HBM: 1080x2400@60",
-    };
+    struct stat buffer;
+    if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &buffer)) {
+        // time_in_state exists
+        addDisplayMrr(p);
+    } else {
+        // time_in_state doesn't exist
+        std::vector<std::string> states = {
+            "Off",
+            "LP: 1080x2400@30",
+            "On: 1080x2400@60",
+            "On: 1080x2400@90",
+            "HBM: 1080x2400@60",
+        };
 
-    p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
-            "/sys/class/backlight/panel0-backlight/state",
-            states));
+        p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
+                "/sys/class/backlight/panel0-backlight/state",
+                states));
+    }
 
     std::string rev = android::base::GetProperty(kBootRevision, "");
 
@@ -87,18 +94,8 @@
 
     addGs101CommonDataProviders(p);
     addDisplay(p);
-    if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-3/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-3/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-4/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-4/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-5/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-5/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-6/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-6/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-7/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-7/i2c-st21nfc/power_stats");
-    } else {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-8/i2c-st21nfc/power_stats");
+    if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-7/7-0008/power_stats", &buffer)) {
+        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-7/7-0008/power_stats");
     }
     const std::string instance = std::string() + PowerStats::descriptor + "/default";
     binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str());
diff --git a/powerstats/raven/service.cpp b/powerstats/raven/service.cpp
index 10bf17e..56fc6fd 100644
--- a/powerstats/raven/service.cpp
+++ b/powerstats/raven/service.cpp
@@ -43,21 +43,28 @@
 
 void addDisplay(std::shared_ptr<PowerStats> p) {
     // Add display residency stats
-    std::vector<std::string> states = {
-        "Off",
-        "LP: 1440x3120@10",
-        "LP: 1440x3120@30",
-        "On: 1440x3120@10",
-        "On: 1440x3120@30",
-        "On: 1440x3120@60",
-        "On: 1440x3120@90",
-        "On: 1440x3120@120",
-        "HBM: 1440x3120@60",
-    };
+    struct stat buffer;
+    if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &buffer)) {
+        // time_in_state exists
+        addDisplayMrr(p);
+    } else {
+        // time_in_state doesn't exist
+        std::vector<std::string> states = {
+            "Off",
+            "LP: 1440x3120@10",
+            "LP: 1440x3120@30",
+            "On: 1440x3120@10",
+            "On: 1440x3120@30",
+            "On: 1440x3120@60",
+            "On: 1440x3120@90",
+            "On: 1440x3120@120",
+            "HBM: 1440x3120@60",
+        };
 
-    p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
-            "/sys/class/backlight/panel0-backlight/state",
-            states));
+        p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>("Display",
+                "/sys/class/backlight/panel0-backlight/state",
+                states));
+    }
 
     std::string rev = android::base::GetProperty(kBootRevision, "");
 
@@ -129,18 +136,8 @@
 
     addGs101CommonDataProviders(p);
     addDisplay(p);
-    if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-3/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-3/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-4/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-4/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-5/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-5/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-6/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-6/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-7/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-7/i2c-st21nfc/power_stats");
-    } else {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-8/i2c-st21nfc/power_stats");
+    if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-7/7-0008/power_stats", &buffer)) {
+        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-7/7-0008/power_stats");
     }
     const std::string instance = std::string() + PowerStats::descriptor + "/default";
     binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str());
diff --git a/powerstats/slider/service.cpp b/powerstats/slider/service.cpp
index 6969cc0..1d7966d 100644
--- a/powerstats/slider/service.cpp
+++ b/powerstats/slider/service.cpp
@@ -70,18 +70,8 @@
 
     addGs101CommonDataProviders(p);
     addDisplay(p);
-    if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-3/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-3/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-4/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-4/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-5/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-5/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-6/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-6/i2c-st21nfc/power_stats");
-    } else if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-7/i2c-st21nfc/power_stats", &buffer)) {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-7/i2c-st21nfc/power_stats");
-    } else {
-        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-8/i2c-st21nfc/power_stats");
+    if (!stat("/sys/devices/platform/10960000.hsi2c/i2c-7/7-0008/power_stats", &buffer)) {
+        addNFC(p, "/sys/devices/platform/10960000.hsi2c/i2c-7/7-0008/power_stats");
     }
     const std::string instance = std::string() + PowerStats::descriptor + "/default";
     binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str());
diff --git a/raven/BoardConfig.mk b/raven/BoardConfig.mk
index 0fc37e8..6a9530e 100644
--- a/raven/BoardConfig.mk
+++ b/raven/BoardConfig.mk
@@ -24,13 +24,9 @@
 BOARD_KERNEL_CMDLINE += g2d.load_sequential=1
 
 RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_RAVEN_RADIO_DIR)
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
-else
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
-endif
+RELEASE_GOOGLE_BOOTLOADER_RAVEN_DIR ?= trunk # Keep this for pdk TODO: b/327119000
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_RAVEN_DIR)
+$(call soong_config_set,bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_RAVEN_DIR))
 
 ifdef AUTOMOTIVE_PRODUCT_PATH
   #RBC# include_top device/google/auto_tcu
diff --git a/raven/overlay/frameworks/base/core/res/res/values/config.xml b/raven/overlay/frameworks/base/core/res/res/values/config.xml
index c8d8730..ea1bd1d 100644
--- a/raven/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/raven/overlay/frameworks/base/core/res/res/values/config.xml
@@ -43,7 +43,9 @@
 
 
     <!-- Radius of the software rounded corners. -->
-    <dimen name="rounded_corner_radius">50px</dimen>
+    <dimen name="rounded_corner_radius">67px</dimen>
+    <dimen name="rounded_corner_radius_top">67px</dimen>
+    <dimen name="rounded_corner_radius_bottom">66px</dimen>
 
     <!-- Adjustment for software rounded corners since corners aren't perfectly round. -->
     <dimen name="rounded_corner_radius_adjustment">5px</dimen>
diff --git a/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index bc7aab2..78e96da 100644
--- a/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/raven/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -59,5 +59,8 @@
 
     <!-- Padding for the lock icon on the keyguard. In pixels - should not scale with display size. -->
     <dimen name="lock_icon_padding">68px</dimen>
+
+    <!-- Pixel pitch of the device. um/px -->
+    <item name="pixel_pitch" format="float" type="dimen">49.6</item>
 </resources>
 
diff --git a/raven/rro_overlays/NfcOverlay/res/values/config.xml b/raven/rro_overlays/NfcOverlay/res/values/config.xml
index e17a0a2..9545f18 100644
--- a/raven/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/raven/rro_overlays/NfcOverlay/res/values/config.xml
@@ -32,4 +32,5 @@
   <integer-array name="antenna_y">
     <item>106</item>
   </integer-array>
+  <bool name="nfc_observe_mode_supported">true</bool>
 </resources>
diff --git a/slider/BoardConfig.mk b/slider/BoardConfig.mk
index 70a80b1..55a77a0 100644
--- a/slider/BoardConfig.mk
+++ b/slider/BoardConfig.mk
@@ -15,13 +15,9 @@
 #
 TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
 TARGET_BOOTLOADER_BOARD_NAME := slider
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
-else
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
-endif
+RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR ?= trunk # Keep this for pdk TODO: b/327119000
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR)
+$(call soong_config_set,bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR))
 TARGET_SCREEN_DENSITY := 560
 USES_DEVICE_GOOGLE_RAVIOLE := true
 
diff --git a/whitefin/BoardConfig.mk b/whitefin/BoardConfig.mk
index f78f6c8..1bff3de 100644
--- a/whitefin/BoardConfig.mk
+++ b/whitefin/BoardConfig.mk
@@ -15,13 +15,9 @@
 #
 TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
 TARGET_BOOTLOADER_BOARD_NAME := whitefin
-ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
-else ifneq (,$(filter AP2%,$(RELEASE_PLATFORM_VERSION)))
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
-else
-RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
-endif
+RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR ?= trunk # Keep this for pdk TODO: b/327119000
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR)
+$(call soong_config_set,bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_ORIOLE_DIR))
 TARGET_SCREEN_DENSITY := 440
 USES_DEVICE_GOOGLE_RAVIOLE := true