Update SVN for O6R4 December 2021 (EMEA/AU) am: 00d1ed2b06 am: f9298257a4 am: bfc2b37738

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

Change-Id: I327229ba3aa4785d581c05003d283ede89e89a50
diff --git a/audio/oriole/audio-tables.mk b/audio/oriole/audio-tables.mk
index 52e4858..79fff6b 100644
--- a/audio/oriole/audio-tables.mk
+++ b/audio/oriole/audio-tables.mk
@@ -37,11 +37,7 @@
 SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
 SPK_FIRMWARE_FULL_PATH := device/google/raviole/audio/$(SPK_FIRMWARE_PATH)
 
-SPK_FIRMWAR_FILES := $(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*)
-
-PRODUCT_COPY_FILES += $(foreach spk_firmware, \
-    $(SPK_FIRMWAR_FILES), \
-    $(spk_firmware):$(TARGET_COPY_OUT_VENDOR)/firmware/$(notdir $(spk_firmware)))
+PRODUCT_COPY_FILES += $(call copy-files,$(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
 
 # Audio tuning
 PRODUCT_COPY_FILES += \
diff --git a/audio/oriole/config/audio_platform_configuration.xml b/audio/oriole/config/audio_platform_configuration.xml
index 6bc6159..f0bec9b 100644
--- a/audio/oriole/config/audio_platform_configuration.xml
+++ b/audio/oriole/config/audio_platform_configuration.xml
@@ -176,8 +176,8 @@
         <usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
         <!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
         <usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
-        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 80 periods * 48 frames/period(=1ms w/ 48k sample rate) * 4 bytes/frame = 15360 bytes -->
-        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="80"/>
+        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch * 4(float) = 15360 bytes -->
+        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
         <!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
         <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
         <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
diff --git a/audio/oriole/config/audio_policy_configuration.xml b/audio/oriole/config/audio_policy_configuration.xml
index 90ee1c3..b715a76 100644
--- a/audio/oriole/config/audio_policy_configuration.xml
+++ b/audio/oriole/config/audio_policy_configuration.xml
@@ -60,7 +60,7 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall playback" role="source"
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 ea540e8..2c05921 100644
--- a/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/oriole/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -60,7 +60,7 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall playback" role="source"
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 0623ec4..b600178 100644
--- a/audio/oriole/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/oriole/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -60,7 +60,7 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall playback" role="source"
diff --git a/audio/oriole/tuning/bluenote/recording.gatf b/audio/oriole/tuning/bluenote/recording.gatf
index f0160d4..2667f0c 100644
--- a/audio/oriole/tuning/bluenote/recording.gatf
+++ b/audio/oriole/tuning/bluenote/recording.gatf
Binary files differ
diff --git a/audio/oriole/tuning/bluenote/template.xml b/audio/oriole/tuning/bluenote/template.xml
index 52a75ba..c27188e 100644
--- a/audio/oriole/tuning/bluenote/template.xml
+++ b/audio/oriole/tuning/bluenote/template.xml
@@ -234,6 +234,8 @@
         <param name="attackTime_ms" size="4" type="float"/>
         <param name="releaseTime_ms" size="4" type="float"/>
         <param name="hysteresis" size="4" type="float"/>
+        <param default="0" max="1" min="0" name="rms_manual_enable" type="uint32"/>
+        <param default="0" max="2" min="0" name="rms_channel" type="uint32"/>
       </struct>
       <struct id="17">
         <param max="30" min="-30" name="limiter_gain_dB" type="float"/>
@@ -273,7 +275,7 @@
       <block id="137">
         <moduleRef id="14"/>
         <moduleRef id="7"/>
-        <moduleRef id="8"/>
+        <moduleRef id="32"/>
       </block>
     </signalflow>
     <signalflow id="1000" name="Smart Feature">
diff --git a/audio/raven/audio-tables.mk b/audio/raven/audio-tables.mk
index b79674e..905464c 100644
--- a/audio/raven/audio-tables.mk
+++ b/audio/raven/audio-tables.mk
@@ -37,11 +37,7 @@
 SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
 SPK_FIRMWARE_FULL_PATH := device/google/raviole/audio/$(SPK_FIRMWARE_PATH)
 
-SPK_FIRMWAR_FILES := $(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*)
-
-PRODUCT_COPY_FILES += $(foreach spk_firmware, \
-    $(SPK_FIRMWAR_FILES), \
-    $(spk_firmware):$(TARGET_COPY_OUT_VENDOR)/firmware/$(notdir $(spk_firmware)))
+PRODUCT_COPY_FILES += $(call copy-files,$(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
 
 # Audio tuning
 PRODUCT_COPY_FILES += \
diff --git a/audio/raven/config/audio_platform_configuration.xml b/audio/raven/config/audio_platform_configuration.xml
index 6bc6159..f0bec9b 100644
--- a/audio/raven/config/audio_platform_configuration.xml
+++ b/audio/raven/config/audio_platform_configuration.xml
@@ -176,8 +176,8 @@
         <usecase id="UC_RAW_PLAYBACK" dev1="23" dyn_path="true" dsp_vol="false" mmap="true" period="64" period_num="32"/>
         <!-- for output with AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST, 4 * 10ms buffer -->
         <usecase id="UC_LOW_LATENCY_PLAYBACK" dev1="1" dyn_path="true" dsp_vol="false" mmap="false" period="10" period_num="4"/>
-        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 80 periods * 48 frames/period(=1ms w/ 48k sample rate) * 4 bytes/frame = 15360 bytes -->
-        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="80"/>
+        <!-- for output with AUDIO_OUTPUT_FLAG_MMAP_NOIRQ, 40 periods * 48 frames/period(=1ms w/ 48k sample rate) * 2ch * 4(float) = 15360 bytes -->
+        <usecase id="UC_MMAP_PLAYBACK" dev1="0" dyn_path="true" dsp_vol="false" mmap="true" period="1" period_num="40"/>
         <!-- for output with AUDIO_OUTPUT_FLAG_DEEP_BUFFER, 4 * 20ms buffer -->
         <usecase id="UC_DEEP_BUFFER_PLAYBACK" dev1="5" dyn_path="true" dsp_vol="false" mmap="false" period="20" period_num="4"/>
         <!-- dev1: voice-call downlink dev2: voice-clal uplink -->
diff --git a/audio/raven/config/audio_policy_configuration.xml b/audio/raven/config/audio_policy_configuration.xml
index 90ee1c3..b715a76 100644
--- a/audio/raven/config/audio_policy_configuration.xml
+++ b/audio/raven/config/audio_policy_configuration.xml
@@ -60,7 +60,7 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall playback" role="source"
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 ea540e8..2c05921 100644
--- a/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/raven/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -60,7 +60,7 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall playback" role="source"
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 0623ec4..b600178 100644
--- a/audio/raven/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/raven/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -60,7 +60,7 @@
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="mmap_no_irq_out" role="source" flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_MMAP_NOIRQ">
-                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
+                    <profile name="" format="AUDIO_FORMAT_PCM_FLOAT"
                              samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                 </mixPort>
                 <mixPort name="incall playback" role="source"
diff --git a/audio/raven/tuning/bluenote/recording.gatf b/audio/raven/tuning/bluenote/recording.gatf
index 61a6f5e..dba7c69 100644
--- a/audio/raven/tuning/bluenote/recording.gatf
+++ b/audio/raven/tuning/bluenote/recording.gatf
Binary files differ
diff --git a/audio/raven/tuning/bluenote/template.xml b/audio/raven/tuning/bluenote/template.xml
index 52a75ba..c27188e 100644
--- a/audio/raven/tuning/bluenote/template.xml
+++ b/audio/raven/tuning/bluenote/template.xml
@@ -234,6 +234,8 @@
         <param name="attackTime_ms" size="4" type="float"/>
         <param name="releaseTime_ms" size="4" type="float"/>
         <param name="hysteresis" size="4" type="float"/>
+        <param default="0" max="1" min="0" name="rms_manual_enable" type="uint32"/>
+        <param default="0" max="2" min="0" name="rms_channel" type="uint32"/>
       </struct>
       <struct id="17">
         <param max="30" min="-30" name="limiter_gain_dB" type="float"/>
@@ -273,7 +275,7 @@
       <block id="137">
         <moduleRef id="14"/>
         <moduleRef id="7"/>
-        <moduleRef id="8"/>
+        <moduleRef id="32"/>
       </block>
     </signalflow>
     <signalflow id="1000" name="Smart Feature">
diff --git a/audio/slider/audio-tables.mk b/audio/slider/audio-tables.mk
index 03783c2..21200ce 100644
--- a/audio/slider/audio-tables.mk
+++ b/audio/slider/audio-tables.mk
@@ -36,11 +36,7 @@
 SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
 SPK_FIRMWARE_FULL_PATH := device/google/raviole/audio/$(SPK_FIRMWARE_PATH)
 
-SPK_FIRMWAR_FILES := $(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*)
-
-PRODUCT_COPY_FILES += $(foreach spk_firmware, \
-    $(SPK_FIRMWAR_FILES), \
-    $(spk_firmware):$(TARGET_COPY_OUT_VENDOR)/firmware/$(notdir $(spk_firmware)))
+PRODUCT_COPY_FILES += $(call copy-files,$(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
 
 # Audio tuning
 PRODUCT_COPY_FILES += \
diff --git a/audio/whitefin/audio-tables.mk b/audio/whitefin/audio-tables.mk
index b299e4b..f87c54b 100644
--- a/audio/whitefin/audio-tables.mk
+++ b/audio/whitefin/audio-tables.mk
@@ -36,11 +36,7 @@
 SPK_FIRMWARE_PATH := $(AUDIO_TABLE_FOLDER)/cs35l41/fw
 SPK_FIRMWARE_FULL_PATH := device/google/raviole/audio/$(SPK_FIRMWARE_PATH)
 
-SPK_FIRMWAR_FILES := $(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*)
-
-PRODUCT_COPY_FILES += $(foreach spk_firmware, \
-    $(SPK_FIRMWAR_FILES), \
-    $(spk_firmware):$(TARGET_COPY_OUT_VENDOR)/firmware/$(notdir $(spk_firmware)))
+PRODUCT_COPY_FILES += $(call copy-files,$(wildcard  $(SPK_FIRMWARE_FULL_PATH)/*),$(TARGET_COPY_OUT_VENDOR)/firmware)
 
 # Audio tuning
 PRODUCT_COPY_FILES += \
diff --git a/conf/init.oriole.rc b/conf/init.oriole.rc
index 1724b5f..10206b3 100644
--- a/conf/init.oriole.rc
+++ b/conf/init.oriole.rc
@@ -15,9 +15,16 @@
 on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
     write /sys/class/spi_master/spi11/spi11.0/glove_mode 01
 
+# Thermal
 on late-init && property:ro.boot.hardware.revision=PROTO1.0
     setprop vendor.thermal.config "thermal_info_config_WHI_A.json"
 
+on late-init && property:ro.boot.hardware.revision=PROTO1.1
+    setprop vendor.disable.usb.overheat.mitigation.control 1
+
+on late-init && property:ro.boot.hardware.revision=EVT1.0
+    setprop vendor.disable.usb.overheat.mitigation.control 1
+
 # For Japan sku, always enforce camera shutter sound
 # Since this property is read by the audio server in system service,
 # it should be written by the system init.
diff --git a/conf/init.raven.rc b/conf/init.raven.rc
index af9fbfc..5153c58 100644
--- a/conf/init.raven.rc
+++ b/conf/init.raven.rc
@@ -34,6 +34,16 @@
 on property:graphics.display.kernel_idle_timer.enabled=false
     write /sys/devices/platform/exynos-drm/primary-panel/panel_idle "0"
 
+# Thermal
+on late-init && property:ro.boot.hardware.revision=PROTO1.0
+    setprop vendor.disable.usb.overheat.mitigation.control 1
+
+on late-init && property:ro.boot.hardware.revision=PROTO1.1
+    setprop vendor.disable.usb.overheat.mitigation.control 1
+
+on late-init && property:ro.boot.hardware.revision=EVT1.0
+    setprop vendor.disable.usb.overheat.mitigation.control 1
+
 # Bluetooth
 on post-fs-data
     chown bluetooth system /proc/bluetooth/timesync
diff --git a/conf/init.raviole.rc b/conf/init.raviole.rc
index ed55764..cb70c03 100644
--- a/conf/init.raviole.rc
+++ b/conf/init.raviole.rc
@@ -52,3 +52,7 @@
 
 on property:ro.revision=PROTO1.0
     setprop persist.fingerprint.ghbm true
+
+# SecureElement eSE2 cts mode
+on property:persist.vendor.se.ese2.mode=ctsmode
+    write /sys/class/st33spi/st33spi/st33spi_state 33
diff --git a/device-oriole.mk b/device-oriole.mk
index 1f00caf..949a804 100644
--- a/device-oriole.mk
+++ b/device-oriole.mk
@@ -31,7 +31,9 @@
 include device/google/raviole/audio/oriole/audio-tables.mk
 include device/google/gs101/device-shipping-common.mk
 include device/google/gs101/fingerprint/udfps_common.mk
+include device/google/gs101/telephony/pktrouter.mk
 include hardware/google/pixel/vibrator/cs40l25/device.mk
+include device/google/gs101/bluetooth/bluetooth.mk
 
 ifeq ($(filter factory_oriole, $(TARGET_PRODUCT)),)
 include device/google/gs101/fingerprint/udfps_shipping.mk
@@ -114,12 +116,14 @@
 
 # SecureElement
 PRODUCT_PACKAGES += \
-	android.hardware.secure_element@1.2-service-gto
+	android.hardware.secure_element@1.2-service-gto \
+	android.hardware.secure_element@1.2-service-gto-ese2
 
 PRODUCT_COPY_FILES += \
 	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
 	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
-        device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
+	device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
+	device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
 
 DEVICE_MANIFEST_FILE += \
 	device/google/raviole/nfc/manifest_nfc.xml \
@@ -203,6 +207,10 @@
 PRODUCT_VENDOR_PROPERTIES += \
     persist.vendor.camera.exif_reveal_make_model=true
 
+# Bluetooth HAL
+PRODUCT_PACKAGES += \
+	bt_vendor.conf
+
 # Override default distortion output gain according to UX experiments
 PRODUCT_PRODUCT_PROPERTIES += \
     vendor.audio.hapticgenerator.distortion.output.gain=0.5
diff --git a/device-raven.mk b/device-raven.mk
index eae5b11..d0d07ba 100644
--- a/device-raven.mk
+++ b/device-raven.mk
@@ -31,6 +31,8 @@
 include device/google/raviole/audio/raven/audio-tables.mk
 include device/google/gs101/device-shipping-common.mk
 include device/google/gs101/fingerprint/udfps_common.mk
+include device/google/gs101/telephony/pktrouter.mk
+include device/google/gs101/bluetooth/bluetooth.mk
 
 ifeq ($(filter factory_raven, $(TARGET_PRODUCT)),)
 include device/google/gs101/fingerprint/udfps_shipping.mk
@@ -129,17 +131,20 @@
 
 # SecureElement
 PRODUCT_PACKAGES += \
-	android.hardware.secure_element@1.2-service-gto
+	android.hardware.secure_element@1.2-service-gto \
+	android.hardware.secure_element@1.2-service-gto-ese2
 
 PRODUCT_COPY_FILES += \
 	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
 	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml \
-        device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf
+	device/google/raviole/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
+	device/google/raviole/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
 
 DEVICE_MANIFEST_FILE += \
 	device/google/raviole/nfc/manifest_nfc.xml \
 	device/google/raviole/nfc/manifest_se.xml
 
+
 # Vibrator HAL
 PRODUCT_PRODUCT_PROPERTIES +=\
     ro.vendor.vibrator.hal.long.frequency.shift=15
@@ -219,6 +224,10 @@
 PRODUCT_VENDOR_PROPERTIES += \
     persist.vendor.camera.exif_reveal_make_model=true
 
+# Bluetooth HAL
+PRODUCT_PACKAGES += \
+	bt_vendor.conf
+
 # Override default distortion output gain according to UX experiments
 PRODUCT_PRODUCT_PROPERTIES += \
     vendor.audio.hapticgenerator.distortion.output.gain=0.5
diff --git a/device-slider.mk b/device-slider.mk
index acacaf7..47f85ea 100644
--- a/device-slider.mk
+++ b/device-slider.mk
@@ -27,6 +27,7 @@
 include device/google/gs101/device-common.mk
 include device/google/raviole/audio/slider/audio-tables.mk
 include hardware/google/pixel/vibrator/cs40l25/device.mk
+include device/google/gs101/bluetooth/bluetooth.mk
 
 SOONG_CONFIG_lyric_tuning_product := slider
 SOONG_CONFIG_google3a_config_target_device := slider
@@ -104,3 +105,7 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
+
+# Bluetooth HAL
+PRODUCT_PACKAGES += \
+	bt_vendor.conf
diff --git a/device-whitefin.mk b/device-whitefin.mk
index 52e556b..e708376 100644
--- a/device-whitefin.mk
+++ b/device-whitefin.mk
@@ -27,6 +27,7 @@
 include device/google/gs101/device-common.mk
 include hardware/google/pixel/vibrator/drv2624/device.mk
 include device/google/raviole/audio/whitefin/audio-tables.mk
+include device/google/gs101/bluetooth/bluetooth.mk
 
 SOONG_CONFIG_lyric_tuning_product := slider
 SOONG_CONFIG_google3a_config_target_device := slider
@@ -85,3 +86,7 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/raviole/prebuilts
+
+# Bluetooth HAL
+PRODUCT_PACKAGES += \
+	bt_vendor.conf
diff --git a/nfc/manifest_se.xml b/nfc/manifest_se.xml
index 9e5cee9..60dc4c2 100644
--- a/nfc/manifest_se.xml
+++ b/nfc/manifest_se.xml
@@ -3,5 +3,6 @@
     <name>android.hardware.secure_element</name>
     <transport>hwbinder</transport>
     <fqname>@1.2::ISecureElement/eSE1</fqname>
+    <fqname>@1.2::ISecureElement/eSE2</fqname>
   </hal>
 </manifest>
diff --git a/oriole/BoardConfig.mk b/oriole/BoardConfig.mk
index e1ef669..5a05c40 100644
--- a/oriole/BoardConfig.mk
+++ b/oriole/BoardConfig.mk
@@ -13,8 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-ifdef PHONE_CAR_BOARD_CONFIG
-  include $(PHONE_CAR_BOARD_CONFIG)
+ifdef PHONE_CAR_BOARD_PRODUCT
+  include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
 else
   TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
   TARGET_BOOTLOADER_BOARD_NAME := oriole
diff --git a/raven/BoardConfig.mk b/raven/BoardConfig.mk
index c3f2cc7..4ff656e 100644
--- a/raven/BoardConfig.mk
+++ b/raven/BoardConfig.mk
@@ -14,8 +14,8 @@
 # limitations under the License.
 #
 
-ifdef PHONE_CAR_BOARD_CONFIG
-  include $(PHONE_CAR_BOARD_CONFIG)
+ifdef PHONE_CAR_BOARD_PRODUCT
+  include device/google_car/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
 else
   TARGET_BOARD_INFO_FILE := device/google/raviole/board-info.txt
   TARGET_BOOTLOADER_BOARD_NAME := raven