diff --git a/audio/aidl.mk b/audio/aidl.mk
index 1044148..ae64e13 100644
--- a/audio/aidl.mk
+++ b/audio/aidl.mk
@@ -9,3 +9,6 @@
 include device/google/gs-common/audio/common.mk
 
 DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/audio/aidl/device_framework_matrix_product.xml
+
+PRODUCT_PROPERTY_OVERRIDES += \
+       vendor.audio_hal.aidl.enable=true
diff --git a/audio/sepolicy/common/property_contexts b/audio/sepolicy/common/property_contexts
index aa981f1..1749ac8 100644
--- a/audio/sepolicy/common/property_contexts
+++ b/audio/sepolicy/common/property_contexts
@@ -8,3 +8,4 @@
 vendor.audiodump.encode.disable                 u:object_r:vendor_audio_prop:s0
 vendor.audiodump.log.cca.updated                u:object_r:vendor_audio_prop:s0
 vendor.audiodump.cca.config                     u:object_r:vendor_audio_prop:s0
+vendor.audio_hal.aidl.enable                    u:object_r:vendor_audio_prop:s0
diff --git a/audio/sepolicy/common/rild.te b/audio/sepolicy/common/rild.te
new file mode 100644
index 0000000..fe86848
--- /dev/null
+++ b/audio/sepolicy/common/rild.te
@@ -0,0 +1 @@
+get_prop(rild, vendor_audio_prop);
diff --git a/audio/sepolicy/common/vendor_init.te b/audio/sepolicy/common/vendor_init.te
new file mode 100644
index 0000000..26f3fa8
--- /dev/null
+++ b/audio/sepolicy/common/vendor_init.te
@@ -0,0 +1,2 @@
+# Audio property
+set_prop(vendor_init, vendor_audio_prop)
diff --git a/edgetpu/edgetpu.mk b/edgetpu/edgetpu.mk
index 862de56..2f0f77c 100644
--- a/edgetpu/edgetpu.mk
+++ b/edgetpu/edgetpu.mk
@@ -27,4 +27,4 @@
 BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/edgetpu/sepolicy
 
 # Tflite Darwinn delegate property
-PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.tflite_delegate.force_disable_io_coherency=1
+PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.tflite_delegate.force_disable_io_coherency=0
diff --git a/edgetpu/sepolicy/appdomain.te b/edgetpu/sepolicy/appdomain.te
index 37cb1db..804a202 100644
--- a/edgetpu/sepolicy/appdomain.te
+++ b/edgetpu/sepolicy/appdomain.te
@@ -1,2 +1,5 @@
 # Allow apps to read tflite Darwinn delegate properties
 get_prop(appdomain, vendor_tflite_delegate_prop)
+
+# Allow apps to read hetero runtime properties
+get_prop(appdomain, vendor_hetero_runtime_prop)
diff --git a/edgetpu/sepolicy/edgetpu_dba_service.te b/edgetpu/sepolicy/edgetpu_dba_service.te
index dca4ac4..ce1f200 100644
--- a/edgetpu/sepolicy/edgetpu_dba_service.te
+++ b/edgetpu/sepolicy/edgetpu_dba_service.te
@@ -39,3 +39,5 @@
 
 # Allow EdgeTPU DBA service to read tflite Darwinn delegate properties
 get_prop(edgetpu_dba_server, vendor_tflite_delegate_prop)
+# Allow EdgeTPU DBA service to read hetero runtime properties
+get_prop(edgetpu_dba_server, vendor_hetero_runtime_prop)
diff --git a/edgetpu/sepolicy/hal_camera_default.te b/edgetpu/sepolicy/hal_camera_default.te
index a8ea541..3c09f2f 100644
--- a/edgetpu/sepolicy/hal_camera_default.te
+++ b/edgetpu/sepolicy/hal_camera_default.te
@@ -1,2 +1,5 @@
 # Allow camera HAL to read tflite Darwinn delegate properties
 get_prop(hal_camera_default, vendor_tflite_delegate_prop)
+
+# Allow camera HAL to read hetero runtime properties
+get_prop(hal_camera_default, vendor_hetero_runtime_prop)
diff --git a/edgetpu/sepolicy/hal_neuralnetworks_darwinn.te b/edgetpu/sepolicy/hal_neuralnetworks_darwinn.te
index 02e485c..7d50bfc 100644
--- a/edgetpu/sepolicy/hal_neuralnetworks_darwinn.te
+++ b/edgetpu/sepolicy/hal_neuralnetworks_darwinn.te
@@ -54,3 +54,5 @@
 
 # Allow NNAPI HAL to read tflite DarwiNN delegate properties
 get_prop(hal_neuralnetworks_darwinn, vendor_tflite_delegate_prop)
+# Allow NNAPI HAL to read hetero runtime properties
+get_prop(hal_neuralnetworks_darwinn, vendor_hetero_runtime_prop)
diff --git a/edgetpu/sepolicy/property.te b/edgetpu/sepolicy/property.te
index 254d059..1ed9a59 100644
--- a/edgetpu/sepolicy/property.te
+++ b/edgetpu/sepolicy/property.te
@@ -5,3 +5,6 @@
 # Tflite Darwinn delegate properties are written once by vendor_init,
 # and then read by apps, camera hal, and some Darwinn vendor services.
 system_vendor_config_prop(vendor_tflite_delegate_prop)
+
+# Hetero runtime properties, including tracing levels.
+system_vendor_config_prop(vendor_hetero_runtime_prop)
diff --git a/edgetpu/sepolicy/property_contexts b/edgetpu/sepolicy/property_contexts
index 56c2bf6..c21eb13 100644
--- a/edgetpu/sepolicy/property_contexts
+++ b/edgetpu/sepolicy/property_contexts
@@ -3,3 +3,6 @@
 
 # for DarwinnDelegate
 vendor.edgetpu.tflite_delegate.                 u:object_r:vendor_tflite_delegate_prop:s0
+
+# for hetero runtime
+vendor.google.silicon.                          u:object_r:vendor_hetero_runtime_prop:s0
diff --git a/modem/Android.bp b/modem/Android.bp
index 2bf023c..84bdd61 100644
--- a/modem/Android.bp
+++ b/modem/Android.bp
@@ -18,7 +18,9 @@
         "-Werror",
     ],
     shared_libs: [
+        "libbase",
         "libdump",
+        "liblog",
     ],
     vendor: true,
     relative_install_path: "dump",
diff --git a/modem/dump_modemlog.cpp b/modem/dump_modemlog.cpp
index 216cffe..5aaa554 100644
--- a/modem/dump_modemlog.cpp
+++ b/modem/dump_modemlog.cpp
@@ -14,9 +14,47 @@
  * limitations under the License.
  */
 #include <dump/pixel_dump.h>
+#include <android-base/properties.h>
+#include <log/log.h>
+
+#define MODEM_LOGGING_PERSIST_PROPERTY "persist.vendor.sys.modem.logging.enable"
+#define MODEM_LOGGING_PROPERTY "vendor.sys.modem.logging.enable"
+#define MODEM_LOGGING_STATUS_PROPERTY "vendor.sys.modem.logging.status"
+#define MODEM_LOGGING_NUMBER_BUGREPORT_PROPERTY "persist.vendor.sys.modem.logging.br_num"
+#define MODEM_LOGGING_PATH_PROPERTY "vendor.sys.modem.logging.log_path"
+#define MODEM_LOG_PREFIX "sbuff_"
 
 int main() {
-    dumpLogs("/data/vendor/radio/extended_logs", "/data/vendor/radio/logs/always-on/all_logs", 20, "extended_log_");
+    bool modemLogEnabled = ::android::base::GetBoolProperty(MODEM_LOGGING_PERSIST_PROPERTY, false);
+    if (modemLogEnabled && ::android::base::GetProperty(MODEM_LOGGING_PATH_PROPERTY, "") == MODEM_LOG_DIRECTORY) {
+        bool modemLogStarted = ::android::base::GetBoolProperty(MODEM_LOGGING_STATUS_PROPERTY, false);
+        int maxFileNum = ::android::base::GetIntProperty(MODEM_LOGGING_NUMBER_BUGREPORT_PROPERTY, 100);
+
+        if (modemLogStarted) {
+            ::android::base::SetProperty(MODEM_LOGGING_PROPERTY, "false");
+            ALOGD("Stopping modem logging...\n");
+        } else {
+            ALOGD("modem logging is not running\n");
+        }
+
+        for (int i = 0; i < 15; i++) {
+            if (!::android::base::GetBoolProperty(MODEM_LOGGING_STATUS_PROPERTY, false)) {
+                ALOGD("modem logging stopped\n");
+                sleep(1);
+                break;
+            }
+            sleep(1);
+        }
+
+        dumpLogs(MODEM_LOG_DIRECTORY, BUGREPORT_PACKING_DIR, maxFileNum, MODEM_LOG_PREFIX);
+
+        if (modemLogStarted) {
+            ALOGD("Restarting modem logging...\n");
+            ::android::base::SetProperty(MODEM_LOGGING_PROPERTY, "true");
+        }
+    }
+
+    dumpLogs("/data/vendor/radio/extended_logs", BUGREPORT_PACKING_DIR, 20, "extended_log_");
     copyFile("/mnt/vendor/efs/nv_normal.bin", "/data/vendor/radio/logs/always-on/all_logs/nv_normal.bin");
     copyFile("/mnt/vendor/efs/nv_protected.bin", "/data/vendor/radio/logs/always-on/all_logs/nv_protected.bin");
     return 0;
diff --git a/modem/sepolicy/dump_modemlog.te b/modem/sepolicy/dump_modemlog.te
index c49bd5e..0afcedf 100644
--- a/modem/sepolicy/dump_modemlog.te
+++ b/modem/sepolicy/dump_modemlog.te
@@ -4,6 +4,9 @@
   allow dump_modemlog mnt_vendor_file:dir search;
   allow dump_modemlog modem_efs_file:dir search;
   allow dump_modemlog modem_efs_file:file r_file_perms;
+  allow dump_modemlog vendor_slog_file:dir r_dir_perms;
+  allow dump_modemlog vendor_slog_file:file r_file_perms;
   allow dump_modemlog radio_vendor_data_file:dir create_dir_perms;
   allow dump_modemlog radio_vendor_data_file:file create_file_perms;
+  set_prop(dump_modemlog, vendor_modem_prop)
 ')
diff --git a/powerstats/AdaptiveDvfsStateResidencyDataProvider.cpp b/powerstats/AdaptiveDvfsStateResidencyDataProvider.cpp
new file mode 100644
index 0000000..6e377aa
--- /dev/null
+++ b/powerstats/AdaptiveDvfsStateResidencyDataProvider.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "AdaptiveDvfsStateResidencyDataProvider.h"
+
+#include <android-base/logging.h>
+#include <android-base/parseint.h>
+#include <android-base/strings.h>
+
+#include <string>
+#include <utility>
+
+using android::base::Split;
+using android::base::Trim;
+
+static const std::string pathSuffix = "/time_in_state";
+static const std::string stateSuffix = "MHz";
+
+namespace aidl {
+namespace android {
+namespace hardware {
+namespace power {
+namespace stats {
+
+AdaptiveDvfsStateResidencyDataProvider::AdaptiveDvfsStateResidencyDataProvider(
+        std::string path,
+        uint64_t clockRate,
+        std::vector<std::pair<std::string, std::string>> powerEntities)
+    : DvfsStateResidencyDataProvider(path, clockRate, {}) {
+    size_t len = 0;
+    char *line = nullptr;
+    std::vector<std::pair<std::string, std::string>> states = {};
+    std::vector<std::string> parts;
+
+    for (int32_t i = 0; i < powerEntities.size(); i++) {
+        std::string freqPath = powerEntities[i].second + pathSuffix;
+        std::unique_ptr<FILE, decltype(&fclose)> fp(fopen(freqPath.c_str(), "r"), fclose);
+        if (!fp) {
+            PLOG(ERROR) << __func__ << ":Failed to open file " << freqPath;
+            continue;
+        }
+
+        while (getline(&line, &len, fp.get()) != -1) {
+            parts = Split(Trim(std::string(line)), " ");
+            if (parts.size() > 0) {
+                std::string freqStr = Trim(parts[0]);
+                states.push_back(std::make_pair(
+                        freqStr.substr(0, freqStr.length() - 3) + stateSuffix,
+                        freqStr));
+            }
+        }
+
+        mPowerEntities.push_back({powerEntities[i].first, std::move(states)});
+    }
+
+    free(line);
+}
+
+bool AdaptiveDvfsStateResidencyDataProvider::getStateResidencies(
+        std::unordered_map<std::string, std::vector<StateResidency>> *residencies) {
+    return DvfsStateResidencyDataProvider::getStateResidencies(residencies);
+}
+
+std::unordered_map<std::string, std::vector<State>>
+        AdaptiveDvfsStateResidencyDataProvider::getInfo() {
+    return DvfsStateResidencyDataProvider::getInfo();
+}
+
+}  // namespace stats
+}  // namespace power
+}  // namespace hardware
+}  // namespace android
+}  // namespace aidl
diff --git a/powerstats/DvfsStateResidencyDataProvider.cpp b/powerstats/DvfsStateResidencyDataProvider.cpp
index 511159e..ba8bd5e 100644
--- a/powerstats/DvfsStateResidencyDataProvider.cpp
+++ b/powerstats/DvfsStateResidencyDataProvider.cpp
@@ -37,7 +37,7 @@
 
 DvfsStateResidencyDataProvider::DvfsStateResidencyDataProvider(std::string path, uint64_t clockRate,
         std::vector<Config> cfgs)
-    : mPath(std::move(path)), mClockRate(clockRate), mPowerEntities(std::move(cfgs)) {}
+    : mPowerEntities(std::move(cfgs)), mPath(std::move(path)), mClockRate(clockRate) {}
 
 int32_t DvfsStateResidencyDataProvider::matchEntity(char const *line) {
     for (int32_t i = 0; i < mPowerEntities.size(); i++) {
@@ -103,6 +103,10 @@
             it = residencies->find(mPowerEntities[powerEntityIndex].powerEntityName + nameSuffix);
         }
 
+        // The given string is last state for each entity.
+        if (StartsWith(Trim(std::string(line)), "last_freq_change_time_ns:"))
+            it = residencies->end();
+
         if (it != residencies->end()) {
             stateId = matchState(line, mPowerEntities[powerEntityIndex]);
 
diff --git a/powerstats/include/AdaptiveDvfsStateResidencyDataProvider.h b/powerstats/include/AdaptiveDvfsStateResidencyDataProvider.h
new file mode 100644
index 0000000..5983f0b
--- /dev/null
+++ b/powerstats/include/AdaptiveDvfsStateResidencyDataProvider.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#pragma once
+
+#include "DvfsStateResidencyDataProvider.h"
+
+namespace aidl {
+namespace android {
+namespace hardware {
+namespace power {
+namespace stats {
+
+class AdaptiveDvfsStateResidencyDataProvider : public DvfsStateResidencyDataProvider {
+  public:
+    /*
+     * path - path to dvfs sysfs node.
+     * clockRate - clock rate in KHz.
+     * powerEntities - list of power entity pairs (name to power entity, path to frequency table)
+     */
+    AdaptiveDvfsStateResidencyDataProvider(
+        std::string path,
+        uint64_t clockRate,
+        std::vector<std::pair<std::string, std::string>> powerEntities);
+    ~AdaptiveDvfsStateResidencyDataProvider() = default;
+
+    /*
+     * See IStateResidencyDataProvider::getStateResidencies
+     */
+    bool getStateResidencies(
+        std::unordered_map<std::string, std::vector<StateResidency>> *residencies) override;
+
+    /*
+     * See IStateResidencyDataProvider::getInfo
+     */
+    std::unordered_map<std::string, std::vector<State>> getInfo() override;
+};
+
+}  // namespace stats
+}  // namespace power
+}  // namespace hardware
+}  // namespace android
+}  // namespace aidl
diff --git a/powerstats/include/DvfsStateResidencyDataProvider.h b/powerstats/include/DvfsStateResidencyDataProvider.h
index ca8ab22..0aeafb7 100644
--- a/powerstats/include/DvfsStateResidencyDataProvider.h
+++ b/powerstats/include/DvfsStateResidencyDataProvider.h
@@ -51,6 +51,9 @@
      */
     std::unordered_map<std::string, std::vector<State>> getInfo() override;
 
+  protected:
+    std::vector<Config> mPowerEntities;
+
   private:
     int32_t matchEntity(char const *line);
     int32_t matchState(char const *line, const Config& powerEntity);
@@ -58,7 +61,6 @@
 
     const std::string mPath;
     const uint64_t mClockRate;
-    std::vector<Config> mPowerEntities;
 };
 
 }  // namespace stats
diff --git a/soc/sepolicy/freq/genfs_contexts b/soc/sepolicy/freq/genfs_contexts
index b747c1c..76a783d 100644
--- a/soc/sepolicy/freq/genfs_contexts
+++ b/soc/sepolicy/freq/genfs_contexts
@@ -7,6 +7,7 @@
 genfscon sysfs /devices/platform/17000060.devfreq_tnr/devfreq/17000060.devfreq_tnr/time_in_state       u:object_r:sysfs_cpu:s0
 genfscon sysfs /devices/platform/17000070.devfreq_mfc/devfreq/17000070.devfreq_mfc/time_in_state       u:object_r:sysfs_cpu:s0
 genfscon sysfs /devices/platform/17000080.devfreq_bw/devfreq/17000080.devfreq_bw/time_in_state         u:object_r:sysfs_cpu:s0
+genfscon sysfs /devices/platform/17000080.devfreq_bo/devfreq/17000080.devfreq_bo/time_in_state         u:object_r:sysfs_cpu:s0
 genfscon sysfs /devices/platform/17000090.devfreq_dsu/devfreq/17000090.devfreq_dsu/time_in_state       u:object_r:sysfs_cpu:s0
 genfscon sysfs /devices/platform/170000a0.devfreq_bci/devfreq/170000a0.devfreq_bci/time_in_state       u:object_r:sysfs_cpu:s0
 genfscon sysfs /devices/platform/1f000000.mali/time_in_state                                           u:object_r:sysfs_cpu:s0
diff --git a/storage/dumpstate.te b/storage/sepolicy/dumpstate.te
similarity index 100%
rename from storage/dumpstate.te
rename to storage/sepolicy/dumpstate.te
