audio: rename spk module config am: 3a50fbbc53

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

Change-Id: Ie07acb2eb11d7f43d05064c10a9394ef496b3fb3
Ignore-AOSP-First: this is an automerge
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/audio/cheetah/config/mixer_paths.xml b/audio/cheetah/config/mixer_paths.xml
index b268f0f..7cccf52 100644
--- a/audio/cheetah/config/mixer_paths.xml
+++ b/audio/cheetah/config/mixer_paths.xml
@@ -105,6 +105,12 @@
     <ctl name="ASP TX4 Source" value="Zero" />
     <ctl name="R ASP TX4 Source" value="Zero" />
 
+    <!-- Cirrus fast switch init -->
+    <ctl name="Fast Use Case Switch Enable" value="0" />
+    <ctl name="Fast Use Case Delta File" value="fast_switch5.txt" />
+    <ctl name="R Fast Use Case Switch Enable" value="0" />
+    <ctl name="R Fast Use Case Delta File" value="fast_switch5.txt" />
+
     <!-- default EP volume -->
     <ctl name="PCM Playback Switch" value="1"/>
     <ctl name="PCM Playback Volume" value="10"/>
@@ -635,6 +641,14 @@
         <ctl name="R Main AMP Enable Switch" value="1"/>
     </path>
 
+    <path name="speaker-post">
+        <!-- load Bypass FIR -->
+        <ctl name="Fast Use Case Delta File" value="fast_switch3.txt" />
+        <ctl name="Fast Use Case Switch Enable" value="1" />
+        <ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
+        <ctl name="R Fast Use Case Switch Enable" value="1" />
+    </path>
+
     <path name="voice-speaker">
         <ctl name="R Boost Peak Current Limit" value="3.50A"/>
         <ctl name="Boost Peak Current Limit" value="3.50A"/>
@@ -643,12 +657,21 @@
     <!--<ctl name="R DSP RX2 Source" value="ASPRX2"/>-->
         <ctl name="R Main AMP Enable Switch" value="1"/>
         <ctl name="Main AMP Enable Switch" value="1"/>
-        <ctl name="R AMP PCM Gain" value="17"/>
-        <ctl name="AMP PCM Gain" value="17"/>
+    </path>
+
+    <path name="voice-speaker-post">
+        <!-- load Enable FIR -->
+        <ctl name="Fast Use Case Delta File" value="fast_switch1.txt" />
+        <ctl name="Fast Use Case Switch Enable" value="1" />
+        <ctl name="R Fast Use Case Delta File" value="fast_switch2.txt" />
+        <ctl name="R Fast Use Case Switch Enable" value="1" />
+        <ctl name="Digital PCM Volume" value="800"/>
     </path>
 
     <path name="voice-dual-speaker">
-        <path name="speaker" />
+        <!-- Speaker Separation -->
+        <path name="voice-speaker" />
+        <path name="voice-speaker-post" />
     </path>
 
     <path name="speaker-safe">
@@ -656,6 +679,12 @@
         <ctl name="R Main AMP Enable Switch" value="1"/>
     </path>
 
+    <path name="speaker-safe-post">
+        <!-- load Bypass FIR -->
+        <ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
+        <ctl name="R Fast Use Case Switch Enable" value="1" />
+    </path>
+
     <path name="usb-tty-full">
     </path>
 
diff --git a/audio/cheetah/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin b/audio/cheetah/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
index ed74bad..8d6fb23 100644
--- a/audio/cheetah/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
+++ b/audio/cheetah/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
Binary files differ
diff --git a/audio/cheetah/cs35l41/fw/cs35l41-dsp1-spk-prot.bin b/audio/cheetah/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
index 75ebae3..e972b87 100644
--- a/audio/cheetah/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
+++ b/audio/cheetah/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
Binary files differ
diff --git a/audio/cheetah/cs35l41/fw/fast_switch1.txt b/audio/cheetah/cs35l41/fw/fast_switch1.txt
new file mode 100644
index 0000000..00d4d29
--- /dev/null
+++ b/audio/cheetah/cs35l41/fw/fast_switch1.txt
@@ -0,0 +1 @@
+11,4,768,1236,222608,131072,2167332,1,7,0,629947780
\ No newline at end of file
diff --git a/audio/cheetah/cs35l41/fw/fast_switch2.txt b/audio/cheetah/cs35l41/fw/fast_switch2.txt
new file mode 100644
index 0000000..1d7bd81
--- /dev/null
+++ b/audio/cheetah/cs35l41/fw/fast_switch2.txt
@@ -0,0 +1 @@
+11,4,768,1236,222608,135168,2167332,1,7,0,919471758
\ No newline at end of file
diff --git a/audio/cheetah/cs35l41/fw/fast_switch3.txt b/audio/cheetah/cs35l41/fw/fast_switch3.txt
new file mode 100644
index 0000000..671662e
--- /dev/null
+++ b/audio/cheetah/cs35l41/fw/fast_switch3.txt
@@ -0,0 +1 @@
+11,4,768,1236,222608,131328,2167332,1,7,4194304,35123929
\ No newline at end of file
diff --git a/audio/cheetah/cs35l41/fw/fast_switch4.txt b/audio/cheetah/cs35l41/fw/fast_switch4.txt
new file mode 100644
index 0000000..61d8dca
--- /dev/null
+++ b/audio/cheetah/cs35l41/fw/fast_switch4.txt
@@ -0,0 +1 @@
+11,4,768,1236,222608,135424,2167332,1,7,4194304,290834899
\ No newline at end of file
diff --git a/audio/panther/config/mixer_paths.xml b/audio/panther/config/mixer_paths.xml
index b268f0f..7cccf52 100644
--- a/audio/panther/config/mixer_paths.xml
+++ b/audio/panther/config/mixer_paths.xml
@@ -105,6 +105,12 @@
     <ctl name="ASP TX4 Source" value="Zero" />
     <ctl name="R ASP TX4 Source" value="Zero" />
 
+    <!-- Cirrus fast switch init -->
+    <ctl name="Fast Use Case Switch Enable" value="0" />
+    <ctl name="Fast Use Case Delta File" value="fast_switch5.txt" />
+    <ctl name="R Fast Use Case Switch Enable" value="0" />
+    <ctl name="R Fast Use Case Delta File" value="fast_switch5.txt" />
+
     <!-- default EP volume -->
     <ctl name="PCM Playback Switch" value="1"/>
     <ctl name="PCM Playback Volume" value="10"/>
@@ -635,6 +641,14 @@
         <ctl name="R Main AMP Enable Switch" value="1"/>
     </path>
 
+    <path name="speaker-post">
+        <!-- load Bypass FIR -->
+        <ctl name="Fast Use Case Delta File" value="fast_switch3.txt" />
+        <ctl name="Fast Use Case Switch Enable" value="1" />
+        <ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
+        <ctl name="R Fast Use Case Switch Enable" value="1" />
+    </path>
+
     <path name="voice-speaker">
         <ctl name="R Boost Peak Current Limit" value="3.50A"/>
         <ctl name="Boost Peak Current Limit" value="3.50A"/>
@@ -643,12 +657,21 @@
     <!--<ctl name="R DSP RX2 Source" value="ASPRX2"/>-->
         <ctl name="R Main AMP Enable Switch" value="1"/>
         <ctl name="Main AMP Enable Switch" value="1"/>
-        <ctl name="R AMP PCM Gain" value="17"/>
-        <ctl name="AMP PCM Gain" value="17"/>
+    </path>
+
+    <path name="voice-speaker-post">
+        <!-- load Enable FIR -->
+        <ctl name="Fast Use Case Delta File" value="fast_switch1.txt" />
+        <ctl name="Fast Use Case Switch Enable" value="1" />
+        <ctl name="R Fast Use Case Delta File" value="fast_switch2.txt" />
+        <ctl name="R Fast Use Case Switch Enable" value="1" />
+        <ctl name="Digital PCM Volume" value="800"/>
     </path>
 
     <path name="voice-dual-speaker">
-        <path name="speaker" />
+        <!-- Speaker Separation -->
+        <path name="voice-speaker" />
+        <path name="voice-speaker-post" />
     </path>
 
     <path name="speaker-safe">
@@ -656,6 +679,12 @@
         <ctl name="R Main AMP Enable Switch" value="1"/>
     </path>
 
+    <path name="speaker-safe-post">
+        <!-- load Bypass FIR -->
+        <ctl name="R Fast Use Case Delta File" value="fast_switch4.txt" />
+        <ctl name="R Fast Use Case Switch Enable" value="1" />
+    </path>
+
     <path name="usb-tty-full">
     </path>
 
diff --git a/audio/panther/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin b/audio/panther/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
index 797bfc5..0cb054e 100644
--- a/audio/panther/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
+++ b/audio/panther/cs35l41/fw/R-cs35l41-dsp1-spk-prot.bin
Binary files differ
diff --git a/audio/panther/cs35l41/fw/cs35l41-dsp1-spk-prot.bin b/audio/panther/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
index b688240..a29b144 100644
--- a/audio/panther/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
+++ b/audio/panther/cs35l41/fw/cs35l41-dsp1-spk-prot.bin
Binary files differ
diff --git a/audio/panther/cs35l41/fw/fast_switch1.txt b/audio/panther/cs35l41/fw/fast_switch1.txt
new file mode 100644
index 0000000..d6a7551
--- /dev/null
+++ b/audio/panther/cs35l41/fw/fast_switch1.txt
@@ -0,0 +1 @@
+11,4,768,1236,157072,131072,2167332,1,7,0,849631556
\ No newline at end of file
diff --git a/audio/panther/cs35l41/fw/fast_switch2.txt b/audio/panther/cs35l41/fw/fast_switch2.txt
new file mode 100644
index 0000000..9ebe3be
--- /dev/null
+++ b/audio/panther/cs35l41/fw/fast_switch2.txt
@@ -0,0 +1 @@
+11,4,768,1236,157072,135168,2167332,1,7,0,568746574
\ No newline at end of file
diff --git a/audio/panther/cs35l41/fw/fast_switch3.txt b/audio/panther/cs35l41/fw/fast_switch3.txt
new file mode 100644
index 0000000..97006ef
--- /dev/null
+++ b/audio/panther/cs35l41/fw/fast_switch3.txt
@@ -0,0 +1 @@
+11,4,768,1236,157072,131328,2167332,1,7,4194304,356488729
\ No newline at end of file
diff --git a/audio/panther/cs35l41/fw/fast_switch4.txt b/audio/panther/cs35l41/fw/fast_switch4.txt
new file mode 100644
index 0000000..2bbc374
--- /dev/null
+++ b/audio/panther/cs35l41/fw/fast_switch4.txt
@@ -0,0 +1 @@
+11,4,768,1236,157072,135424,2167332,1,7,4194304,108899603
\ No newline at end of file
diff --git a/cheetah/overlay/packages/services/AlternativeNetworkAccess/res/values/config.xml b/cheetah/overlay/packages/services/AlternativeNetworkAccess/res/values/config.xml
new file mode 100644
index 0000000..46c95af
--- /dev/null
+++ b/cheetah/overlay/packages/services/AlternativeNetworkAccess/res/values/config.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 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.
+-->
+<resources>
+  <bool name="enable_ons_auto_provisioning">true</bool>
+</resources>
diff --git a/rro_overlays/WifiOverlay/Android.bp b/cheetah/rro_overlays/WifiOverlay/Android.bp
similarity index 76%
copy from rro_overlays/WifiOverlay/Android.bp
copy to cheetah/rro_overlays/WifiOverlay/Android.bp
index 4c617c2..965ec06 100644
--- a/rro_overlays/WifiOverlay/Android.bp
+++ b/cheetah/rro_overlays/WifiOverlay/Android.bp
@@ -5,13 +5,13 @@
     // to get the below license kinds:
     //   SPDX-license-identifier-Apache-2.0
     default_applicable_licenses: [
-        "//device/google/pantah:device_google_pantah_license",
+        "//device/google/pantah/cheetah:device_google_pantah_license",
     ],
 }
 
 runtime_resource_overlay {
-    name: "WifiOverlay2022",
-    theme: "WifiOverlay2022",
+    name: "WifiOverlay2022_C10",
+    theme: "WifiOverlay2022_C10",
     certificate: "platform",
     sdk_version: "current",
     product_specific: true
diff --git a/rro_overlays/WifiOverlay/AndroidManifest.xml b/cheetah/rro_overlays/WifiOverlay/AndroidManifest.xml
similarity index 100%
rename from rro_overlays/WifiOverlay/AndroidManifest.xml
rename to cheetah/rro_overlays/WifiOverlay/AndroidManifest.xml
diff --git a/rro_overlays/WifiOverlay/OWNERS b/cheetah/rro_overlays/WifiOverlay/OWNERS
similarity index 100%
rename from rro_overlays/WifiOverlay/OWNERS
rename to cheetah/rro_overlays/WifiOverlay/OWNERS
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/cheetah/rro_overlays/WifiOverlay/res/values/config.xml
similarity index 100%
rename from rro_overlays/WifiOverlay/res/values/config.xml
rename to cheetah/rro_overlays/WifiOverlay/res/values/config.xml
diff --git a/conf/init.cheetah.rc b/conf/init.cheetah.rc
index cf1af49..af53fa9 100644
--- a/conf/init.cheetah.rc
+++ b/conf/init.cheetah.rc
@@ -32,3 +32,9 @@
 
 on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
     write /sys/class/spi_master/spi0/spi0.0/synaptics_tcm.0/sysfs/high_sensitivity 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.
+on property:ro.boot.hardware.sku=GFE4J
+    setprop audio.camerasound.force true
diff --git a/conf/init.pantah.rc b/conf/init.pantah.rc
index 24c22ed..697aca9 100644
--- a/conf/init.pantah.rc
+++ b/conf/init.pantah.rc
@@ -50,6 +50,10 @@
     # Speaker amp permission
     chmod 644 /mnt/vendor/persist/audio/speaker.cal
 
+    # Allow secure_element group to read / write ST33 SPI state
+    chown secure_element secure_element  /sys/class/st33spi/st33spi/st33spi_state
+    chmod 0660  /sys/class/st33spi/st33spi/st33spi_state
+
 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 \
@@ -97,4 +101,4 @@
     chown system system /proc/focaltech_touch/selftest/Scap_CB
     chown system system /proc/focaltech_touch/selftest/Scap_Rawdata
     chown system system /proc/focaltech_touch/selftest/Short
-    chown system system /proc/focaltech_touch/selftest/Strength
\ No newline at end of file
+    chown system system /proc/focaltech_touch/selftest/Strength
diff --git a/conf/init.panther.rc b/conf/init.panther.rc
index b3cc621..8d2bf97 100644
--- a/conf/init.panther.rc
+++ b/conf/init.panther.rc
@@ -12,3 +12,9 @@
 
 on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
     write /proc/focaltech_touch/high_sensitivity 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.
+on property:ro.boot.hardware.sku=G03Z5
+    setprop audio.camerasound.force true
diff --git a/device-cheetah.mk b/device-cheetah.mk
index 45dfe6f..cbf2a9f 100644
--- a/device-cheetah.mk
+++ b/device-cheetah.mk
@@ -39,6 +39,7 @@
 $(call soong_config_set,google3a_config,target_device,cheetah)
 
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.support_kernel_idle_timer=true
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
 
 # Init files
 PRODUCT_COPY_FILES += \
@@ -108,7 +109,8 @@
 
 # Thermal Config
 PRODUCT_COPY_FILES += \
-	device/google/pantah/thermal_info_config_cheetah.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
+	device/google/pantah/thermal_info_config_cheetah.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
+	device/google/pantah/thermal_info_config_A0.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_A0.json
 
 # Power HAL config
 PRODUCT_COPY_FILES += \
@@ -186,7 +188,10 @@
 
 # WiFi Overlay
 PRODUCT_PACKAGES += \
-	WifiOverlay2022
+	WifiOverlay2022_C10 \
+	PixelWifiOverlay2022_C10
+
+PRODUCT_SOONG_NAMESPACES += device/google/pantah/cheetah/
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/pantah/prebuilts
diff --git a/device-cloudripper.mk b/device-cloudripper.mk
index 400338b..72d6a7b 100644
--- a/device-cloudripper.mk
+++ b/device-cloudripper.mk
@@ -79,7 +79,8 @@
 
 # Thermal Config
 PRODUCT_COPY_FILES += \
-	device/google/pantah/thermal_info_config_cloudripper.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
+	device/google/pantah/thermal_info_config_cloudripper.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
+	device/google/pantah/thermal_info_config_A0.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_A0.json
 
 # Power HAL config
 PRODUCT_COPY_FILES += \
@@ -145,7 +146,10 @@
 
 # WiFi Overlay
 PRODUCT_PACKAGES += \
-	WifiOverlay2022
+	WifiOverlay2022_C10 \
+	PixelWifiOverlay2022_C10
+
+PRODUCT_SOONG_NAMESPACES += device/google/pantah/cheetah/
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/pantah/prebuilts
diff --git a/device-panther.mk b/device-panther.mk
index 2565d92..fa17108 100644
--- a/device-panther.mk
+++ b/device-panther.mk
@@ -97,7 +97,8 @@
 
 # Thermal Config
 PRODUCT_COPY_FILES += \
-	device/google/pantah/thermal_info_config_panther.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
+	device/google/pantah/thermal_info_config_panther.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
+	device/google/pantah/thermal_info_config_A0.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_A0.json
 
 # Power HAL config
 PRODUCT_COPY_FILES += \
@@ -175,10 +176,14 @@
 
 # Display
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.set_idle_timer_ms=1500
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.ignore_hdr_camera_layers=true
 
 # WiFi Overlay
 PRODUCT_PACKAGES += \
-	WifiOverlay2022
+	WifiOverlay2022_P10 \
+	PixelWifiOverlay2022_P10
+
+PRODUCT_SOONG_NAMESPACES += device/google/pantah/panther/
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/pantah/prebuilts
diff --git a/device-ravenclaw.mk b/device-ravenclaw.mk
index d4d31ea..c922dc5 100644
--- a/device-ravenclaw.mk
+++ b/device-ravenclaw.mk
@@ -84,7 +84,8 @@
 
 # Thermal Config
 PRODUCT_COPY_FILES += \
-	device/google/pantah/thermal_info_config_ravenclaw.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json
+	device/google/pantah/thermal_info_config_ravenclaw.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json \
+	device/google/pantah/thermal_info_config_A0.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config_A0.json
 
 # Power HAL config
 PRODUCT_COPY_FILES += \
@@ -154,7 +155,10 @@
 
 # WiFi Overlay
 PRODUCT_PACKAGES += \
-	WifiOverlay2022
+	WifiOverlay2022_C10 \
+	PixelWifiOverlay2022_C10
+
+PRODUCT_SOONG_NAMESPACES += device/google/pantah/cheetah/
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/pantah/prebuilts
diff --git a/location/gps.xml.c10 b/location/gps.xml.c10
index 4d73818..b119e7f 100644
--- a/location/gps.xml.c10
+++ b/location/gps.xml.c10
@@ -69,7 +69,7 @@
        MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1_L5"
        MultiCarrLnaMask="L1_EXT_ON|L5_EXT_ON"
        RfType="GL_RF_4776_BRCM"
-       ExtL5Bias="13.0"
+       ExtL5Bias="20.1"
 
        WarmStandbyTimeout1Seconds="10"
        WarmStandbyTimeout2Seconds="15"
diff --git a/location/gps.xml.p10 b/location/gps.xml.p10
index 634e21d..760d30b 100644
--- a/location/gps.xml.p10
+++ b/location/gps.xml.p10
@@ -69,7 +69,7 @@
        MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1_L5"
        MultiCarrLnaMask="L1_EXT_ON|L5_EXT_ON"
        RfType="GL_RF_4776_BRCM"
-       ExtL5Bias="13.0"
+       ExtL5Bias="21.2"
 
        WarmStandbyTimeout1Seconds="10"
        WarmStandbyTimeout2Seconds="15"
diff --git a/location/gps_user.xml.c10 b/location/gps_user.xml.c10
index 7a60567..d9ca029 100644
--- a/location/gps_user.xml.c10
+++ b/location/gps_user.xml.c10
@@ -68,7 +68,7 @@
        MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1_L5"
        MultiCarrLnaMask="L1_EXT_ON|L5_EXT_ON"
        RfType="GL_RF_4776_BRCM"
-       ExtL5Bias="13.0"
+       ExtL5Bias="20.1"
 
        WarmStandbyTimeout1Seconds="10"
        WarmStandbyTimeout2Seconds="15"
diff --git a/location/gps_user.xml.p10 b/location/gps_user.xml.p10
index 92526b5..53fe55c 100644
--- a/location/gps_user.xml.p10
+++ b/location/gps_user.xml.p10
@@ -68,7 +68,7 @@
        MultiCarrRFMode="GL_MULTI_CARR_RF_MODE_L1_L5"
        MultiCarrLnaMask="L1_EXT_ON|L5_EXT_ON"
        RfType="GL_RF_4776_BRCM"
-       ExtL5Bias="13.0"
+       ExtL5Bias="21.2"
 
        WarmStandbyTimeout1Seconds="10"
        WarmStandbyTimeout2Seconds="15"
diff --git a/panther/overlay/packages/services/AlternativeNetworkAccess/res/values/config.xml b/panther/overlay/packages/services/AlternativeNetworkAccess/res/values/config.xml
new file mode 100644
index 0000000..46c95af
--- /dev/null
+++ b/panther/overlay/packages/services/AlternativeNetworkAccess/res/values/config.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 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.
+-->
+<resources>
+  <bool name="enable_ons_auto_provisioning">true</bool>
+</resources>
diff --git a/rro_overlays/WifiOverlay/Android.bp b/panther/rro_overlays/WifiOverlay/Android.bp
similarity index 88%
rename from rro_overlays/WifiOverlay/Android.bp
rename to panther/rro_overlays/WifiOverlay/Android.bp
index 4c617c2..5acd0b7 100644
--- a/rro_overlays/WifiOverlay/Android.bp
+++ b/panther/rro_overlays/WifiOverlay/Android.bp
@@ -10,8 +10,8 @@
 }
 
 runtime_resource_overlay {
-    name: "WifiOverlay2022",
-    theme: "WifiOverlay2022",
+    name: "WifiOverlay2022_P10",
+    theme: "WifiOverlay2022_P10",
     certificate: "platform",
     sdk_version: "current",
     product_specific: true
diff --git a/rro_overlays/WifiOverlay/AndroidManifest.xml b/panther/rro_overlays/WifiOverlay/AndroidManifest.xml
similarity index 100%
copy from rro_overlays/WifiOverlay/AndroidManifest.xml
copy to panther/rro_overlays/WifiOverlay/AndroidManifest.xml
diff --git a/rro_overlays/WifiOverlay/OWNERS b/panther/rro_overlays/WifiOverlay/OWNERS
similarity index 100%
copy from rro_overlays/WifiOverlay/OWNERS
copy to panther/rro_overlays/WifiOverlay/OWNERS
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/panther/rro_overlays/WifiOverlay/res/values/config.xml
similarity index 100%
copy from rro_overlays/WifiOverlay/res/values/config.xml
copy to panther/rro_overlays/WifiOverlay/res/values/config.xml
diff --git a/powerhint-cheetah-a0.json b/powerhint-cheetah-a0.json
index cac640e..3150c45 100644
--- a/powerhint-cheetah-a0.json
+++ b/powerhint-cheetah-a0.json
@@ -126,7 +126,8 @@
       "Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load",
       "Values": [
         "20 5 80",
-        "20 10 80"
+        "20 10 80",
+        "80 10 80"
       ],
       "ResetOnInit": true
     },
@@ -135,12 +136,12 @@
       "Path": "/proc/vendor_sched/ta_uclamp_min",
       "Values": [
         "553",
-        "158",
-        "108",
-        "43",
+        "185",
+        "127",
+        "64",
         "1",
-        "157",
-        "42"
+        "183",
+        "63"
       ],
       "ResetOnInit": true
     },
@@ -148,9 +149,9 @@
       "Name": "SFUClampBoost",
       "Path": "/proc/vendor_sched/sf_uclamp_min",
       "Values": [
-        "125",
-        "65",
-        "30"
+        "159",
+        "85",
+        "39"
       ],
       "ResetOnInit": true
     },
@@ -158,7 +159,7 @@
       "Name": "MLUclampBoost",
       "Path": "/proc/vendor_sched/nnapi_uclamp_min",
       "Values": [
-          "154",
+          "180",
           "512"
       ],
       "DefaultIndex": 0,
@@ -304,7 +305,7 @@
       "Path": "/dev/thermal/tz-by-name/BIG/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -314,7 +315,7 @@
       "Path": "/dev/thermal/tz-by-name/MID/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -324,7 +325,7 @@
       "Path": "/dev/thermal/tz-by-name/LITTLE/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -334,7 +335,7 @@
       "Path": "/dev/thermal/tz-by-name/G3D/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -344,7 +345,7 @@
       "Path": "/dev/thermal/tz-by-name/TPU/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -354,7 +355,7 @@
       "Path": "/dev/thermal/tz-by-name/ISP/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -364,7 +365,7 @@
       "Path": "/dev/thermal/tz-by-name/AUR/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -374,7 +375,7 @@
       "Path": "/dev/thermal/tz-by-name/BIG/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -384,7 +385,7 @@
       "Path": "/dev/thermal/tz-by-name/MID/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -394,7 +395,7 @@
       "Path": "/dev/thermal/tz-by-name/LITTLE/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -404,7 +405,7 @@
       "Path": "/dev/thermal/tz-by-name/G3D/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -414,7 +415,7 @@
       "Path": "/dev/thermal/tz-by-name/TPU/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -424,7 +425,7 @@
       "Path": "/dev/thermal/tz-by-name/ISP/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -434,7 +435,7 @@
       "Path": "/dev/thermal/tz-by-name/AUR/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -472,13 +473,13 @@
       "PowerHint": "INTERACTION",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "65"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH_120FPS",
       "Node": "SFUClampBoost",
       "Duration": 1000,
-      "Value": "125"
+      "Value": "159"
     },
     {
       "PowerHint": "LAUNCH",
@@ -489,7 +490,7 @@
       "PowerHint": "LAUNCH",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "65"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH",
@@ -807,7 +808,7 @@
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "MIFTargetLoad",
       "Duration": 0,
-      "Value": "20 10 80"
+      "Value": "80 10 80"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -885,7 +886,7 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "MIFTargetLoad",
       "Duration": 0,
-      "Value": "20 10 80"
+      "Value": "80 10 80"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -1185,13 +1186,13 @@
       "PowerHint": "REFRESH_120FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "157"
+      "Value": "183"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "42"
+      "Value": "63"
     },
     {
       "PowerHint": "REFRESH_60FPS",
@@ -1238,13 +1239,13 @@
       "PowerHint": "BOOST_120HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "158"
+      "Value": "185"
     },
     {
       "PowerHint": "BOOST_60HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "108"
+      "Value": "127"
     },
     {
       "PowerHint": "REFRESH_120FPS",
@@ -1327,85 +1328,85 @@
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "BigControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "MidControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "LittleControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "G3dControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "TpuControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "IspControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "AurControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "BigSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "MidSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "LittleSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "G3dSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "TpuSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "IspSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "AurSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "FACE_UNLOCK_BOOST",
@@ -1489,49 +1490,49 @@
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "BigControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "MidControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "LittleControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "G3dControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "BigSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "MidSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "LittleSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "G3dSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "ML_ACC",
diff --git a/powerhint-cheetah.json b/powerhint-cheetah.json
index 0741724..df0c126 100644
--- a/powerhint-cheetah.json
+++ b/powerhint-cheetah.json
@@ -5,7 +5,6 @@
       "Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq",
       "Values": [
         "3172000",
-        "2028000",
         "1014000",
         "421000"
       ],
@@ -137,11 +136,11 @@
       "Path": "/proc/vendor_sched/ta_uclamp_min",
       "Values": [
         "553",
-        "158",
-        "108",
+        "185",
+        "127",
         "1",
-        "157",
-        "53"
+        "183",
+        "63"
       ],
       "ResetOnInit": true
     },
@@ -149,9 +148,9 @@
       "Name": "SFUClampBoost",
       "Path": "/proc/vendor_sched/sf_uclamp_min",
       "Values": [
-        "125",
-        "78",
-        "30"
+        "159",
+        "85",
+        "39"
       ],
       "ResetOnInit": true
     },
@@ -159,7 +158,7 @@
       "Name": "MLUclampBoost",
       "Path": "/proc/vendor_sched/nnapi_uclamp_min",
       "Values": [
-          "154",
+          "180",
           "512"
       ],
       "DefaultIndex": 0,
@@ -473,13 +472,13 @@
       "PowerHint": "INTERACTION",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "78"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH_120FPS",
       "Node": "SFUClampBoost",
       "Duration": 1000,
-      "Value": "125"
+      "Value": "159"
     },
     {
       "PowerHint": "LAUNCH",
@@ -490,7 +489,7 @@
       "PowerHint": "LAUNCH",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "78"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH",
@@ -625,12 +624,6 @@
       "Value": "1401000"
     },
     {
-      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
-      "Node": "MemFreq",
-      "Duration": 1000,
-      "Value": "2028000"
-    },
-    {
       "PowerHint": "CAMERA_SHOT",
       "Node": "MemFreq",
       "Duration": 300,
@@ -1192,13 +1185,13 @@
       "PowerHint": "REFRESH_120FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "157"
+      "Value": "183"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "53"
+      "Value": "63"
     },
     {
       "PowerHint": "REFRESH_60FPS",
@@ -1245,13 +1238,13 @@
       "PowerHint": "BOOST_120HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "158"
+      "Value": "185"
     },
     {
       "PowerHint": "BOOST_60HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "108"
+      "Value": "127"
     },
     {
       "PowerHint": "REFRESH_120FPS",
diff --git a/powerhint-panther-a0.json b/powerhint-panther-a0.json
index f7bebd3..3a6868d 100644
--- a/powerhint-panther-a0.json
+++ b/powerhint-panther-a0.json
@@ -126,7 +126,8 @@
       "Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load",
       "Values": [
         "20 5 80",
-        "20 10 80"
+        "20 10 80",
+        "80 10 80"
       ],
       "ResetOnInit": true
     },
@@ -135,11 +136,11 @@
       "Path": "/proc/vendor_sched/ta_uclamp_min",
       "Values": [
         "553",
-        "108",
-        "43",
+        "127",
+        "64",
         "1",
-        "107",
-        "42"
+        "125",
+        "63"
       ],
       "ResetOnInit": true
     },
@@ -147,9 +148,9 @@
       "Name": "SFUClampBoost",
       "Path": "/proc/vendor_sched/sf_uclamp_min",
       "Values": [
-        "125",
-        "65",
-        "30"
+        "159",
+        "85",
+        "39"
       ],
       "ResetOnInit": true
     },
@@ -157,7 +158,7 @@
       "Name": "MLUclampBoost",
       "Path": "/proc/vendor_sched/nnapi_uclamp_min",
       "Values": [
-          "154",
+          "180",
           "512"
       ],
       "DefaultIndex": 0,
@@ -303,7 +304,7 @@
       "Path": "/dev/thermal/tz-by-name/BIG/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -313,7 +314,7 @@
       "Path": "/dev/thermal/tz-by-name/MID/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -323,7 +324,7 @@
       "Path": "/dev/thermal/tz-by-name/LITTLE/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -333,7 +334,7 @@
       "Path": "/dev/thermal/tz-by-name/G3D/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -343,7 +344,7 @@
       "Path": "/dev/thermal/tz-by-name/TPU/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -353,7 +354,7 @@
       "Path": "/dev/thermal/tz-by-name/ISP/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -363,7 +364,7 @@
       "Path": "/dev/thermal/tz-by-name/AUR/trip_point_2_temp",
       "Values": [
         "95000",
-        "75000"
+        "80000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -373,7 +374,7 @@
       "Path": "/dev/thermal/tz-by-name/BIG/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -383,7 +384,7 @@
       "Path": "/dev/thermal/tz-by-name/MID/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -393,7 +394,7 @@
       "Path": "/dev/thermal/tz-by-name/LITTLE/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -403,7 +404,7 @@
       "Path": "/dev/thermal/tz-by-name/G3D/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -413,7 +414,7 @@
       "Path": "/dev/thermal/tz-by-name/TPU/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -423,7 +424,7 @@
       "Path": "/dev/thermal/tz-by-name/ISP/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -433,7 +434,7 @@
       "Path": "/dev/thermal/tz-by-name/AUR/trip_point_1_temp",
       "Values": [
         "75000",
-        "55000"
+        "60000"
       ],
       "DefaultIndex": 0,
       "ResetOnInit": false
@@ -471,13 +472,13 @@
       "PowerHint": "INTERACTION",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "65"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "65"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH",
@@ -795,7 +796,7 @@
       "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "MIFTargetLoad",
       "Duration": 0,
-      "Value": "20 10 80"
+      "Value": "80 10 80"
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
@@ -873,7 +874,7 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "MIFTargetLoad",
       "Duration": 0,
-      "Value": "20 10 80"
+      "Value": "80 10 80"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -1173,13 +1174,13 @@
       "PowerHint": "REFRESH_90FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "107"
+      "Value": "125"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "42"
+      "Value": "63"
     },
     {
       "PowerHint": "ADPF_DISABLE_TA_BOOST",
@@ -1221,13 +1222,13 @@
       "PowerHint": "BOOST_90HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "108"
+      "Value": "127"
     },
     {
       "PowerHint": "BOOST_60HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "108"
+      "Value": "127"
     },
     {
       "PowerHint": "REFRESH_90FPS",
@@ -1310,85 +1311,85 @@
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "BigControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "MidControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "LittleControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "G3dControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "TpuControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "IspControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "AurControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "BigSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "MidSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "LittleSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "G3dSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "TpuSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "IspSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_LIGHT",
       "Node": "AurSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "FACE_UNLOCK_BOOST",
@@ -1472,49 +1473,49 @@
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "BigControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "MidControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "LittleControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "G3dControlTempSet",
       "Duration": 0,
-      "Value": "75000"
+      "Value": "80000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "BigSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "MidSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "LittleSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "THERMAL_VIRTUAL-SKIN_EMERGENCY",
       "Node": "G3dSwitchOnTempSet",
       "Duration": 0,
-      "Value": "55000"
+      "Value": "60000"
     },
     {
       "PowerHint": "ML_ACC",
diff --git a/powerhint-panther.json b/powerhint-panther.json
index fe2f175..307efd0 100644
--- a/powerhint-panther.json
+++ b/powerhint-panther.json
@@ -5,7 +5,6 @@
       "Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq",
       "Values": [
         "3172000",
-        "2028000",
         "1014000",
         "421000"
       ],
@@ -137,10 +136,10 @@
       "Path": "/proc/vendor_sched/ta_uclamp_min",
       "Values": [
         "553",
-        "108",
+        "127",
         "1",
-        "107",
-        "53"
+        "125",
+        "63"
       ],
       "ResetOnInit": true
     },
@@ -148,9 +147,9 @@
       "Name": "SFUClampBoost",
       "Path": "/proc/vendor_sched/sf_uclamp_min",
       "Values": [
-        "125",
-        "78",
-        "30"
+        "159",
+        "85",
+        "39"
       ],
       "ResetOnInit": true
     },
@@ -158,7 +157,7 @@
       "Name": "MLUclampBoost",
       "Path": "/proc/vendor_sched/nnapi_uclamp_min",
       "Values": [
-          "154",
+          "180",
           "512"
       ],
       "DefaultIndex": 0,
@@ -472,13 +471,13 @@
       "PowerHint": "INTERACTION",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "78"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH",
       "Node": "SFUClampBoost",
       "Duration": 5000,
-      "Value": "78"
+      "Value": "85"
     },
     {
       "PowerHint": "LAUNCH",
@@ -613,12 +612,6 @@
       "Value": "1401000"
     },
     {
-      "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
-      "Node": "MemFreq",
-      "Duration": 1000,
-      "Value": "2028000"
-    },
-    {
       "PowerHint": "CAMERA_SHOT",
       "Node": "MemFreq",
       "Duration": 300,
@@ -1180,13 +1173,13 @@
       "PowerHint": "REFRESH_90FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "107"
+      "Value": "125"
     },
     {
       "PowerHint": "REFRESH_60FPS",
       "Node": "TAUClampBoost",
       "Duration": 0,
-      "Value": "53"
+      "Value": "63"
     },
     {
       "PowerHint": "ADPF_DISABLE_TA_BOOST",
@@ -1228,13 +1221,13 @@
       "PowerHint": "BOOST_90HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "108"
+      "Value": "127"
     },
     {
       "PowerHint": "BOOST_60HZ",
       "Node": "TAUClampBoost",
       "Duration": 200,
-      "Value": "108"
+      "Value": "127"
     },
     {
       "PowerHint": "REFRESH_90FPS",
diff --git a/self-extractors_cheetah/Android.mk b/self-extractors_cheetah/Android.mk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/self-extractors_cheetah/Android.mk
diff --git a/self-extractors_cheetah/METADATA b/self-extractors_cheetah/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/self-extractors_cheetah/METADATA
@@ -0,0 +1,3 @@
+third_party {
+  license_type: NOTICE
+}
diff --git a/self-extractors_cheetah/PART1 b/self-extractors_cheetah/PART1
new file mode 100644
index 0000000..935267e
--- /dev/null
+++ b/self-extractors_cheetah/PART1
@@ -0,0 +1,12 @@
+#
+# Usage is subject to the enclosed license agreement
+
+echo
+echo The license for this software will now be displayed.
+echo You must agree to this license before using this software.
+echo
+echo -n Press Enter to view the license
+read dummy
+echo
+
+more << __EOF__
diff --git a/self-extractors_cheetah/PART2 b/self-extractors_cheetah/PART2
new file mode 100644
index 0000000..30e8d43
--- /dev/null
+++ b/self-extractors_cheetah/PART2
@@ -0,0 +1,22 @@
+__EOF__
+
+if test $? != 0
+then
+  echo ERROR: Couldn\'t display license file 1>&2
+  exit 1
+fi
+
+echo
+
+echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\ 
+read typed
+
+if test "$typed" != I\ ACCEPT
+then
+  echo
+  echo You didn\'t accept the license. Extraction aborted.
+  exit 2
+fi
+
+echo
+
diff --git a/self-extractors_cheetah/PART3 b/self-extractors_cheetah/PART3
new file mode 100644
index 0000000..6847be5
--- /dev/null
+++ b/self-extractors_cheetah/PART3
@@ -0,0 +1,12 @@
+
+if test $? != 0
+then
+  echo
+  echo ERROR: Couldn\'t extract files. 1>&2
+  exit 3
+else
+  echo
+  echo Files extracted successfully.
+fi
+exit 0
+
diff --git a/self-extractors_cheetah/PROLOGUE b/self-extractors_cheetah/PROLOGUE
new file mode 100644
index 0000000..c856ef1
--- /dev/null
+++ b/self-extractors_cheetah/PROLOGUE
@@ -0,0 +1,2 @@
+#!/bin/bash
+#
diff --git a/self-extractors_cheetah/extract-lists.txt b/self-extractors_cheetah/extract-lists.txt
new file mode 100644
index 0000000..e09731b
--- /dev/null
+++ b/self-extractors_cheetah/extract-lists.txt
@@ -0,0 +1,16 @@
+  google_devices)
+    TO_EXTRACT="\
+            IMAGES/vbmeta_vendor.img \
+            IMAGES/vendor.img \
+            IMAGES/vendor_dlkm.img \
+            RADIO/bootloader.img \
+            RADIO/radio.img \
+            system_ext/etc/permissions/com.shannon.imsservice.xml \
+            system_ext/etc/permissions/com.shannon.rcsservice.xml \
+            system_ext/lib64/libmediaadaptor.so \
+            system_ext/priv-app/ShannonRcs/ShannonRcs.apk \
+            system_ext/priv-app/ShannonIms/ShannonIms.apk \
+            system_ext/priv-app/QualifiedNetworksService/QualifiedNetworksService.apk \
+            "
+    ;;
+
diff --git a/self-extractors_cheetah/google_devices/COPYRIGHT b/self-extractors_cheetah/google_devices/COPYRIGHT
new file mode 100644
index 0000000..db593ae
--- /dev/null
+++ b/self-extractors_cheetah/google_devices/COPYRIGHT
@@ -0,0 +1 @@
+# (C) Google Inc.
diff --git a/self-extractors_cheetah/google_devices/LICENSE b/self-extractors_cheetah/google_devices/LICENSE
new file mode 100644
index 0000000..6b4042b
--- /dev/null
+++ b/self-extractors_cheetah/google_devices/LICENSE
@@ -0,0 +1,264 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN Google Inc. ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited copyright license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution for academic
+          purposes only of a reasonable number of copies of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          non-commercial purposes on an Authorized Android Enabled Device.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+      f.  Licensor shall retain all title, ownership and Intellectual
+          Property Rights in and to the Software and any derivative thereof.
+          "Intellectual Property Rights" shall mean all patent, copyright,
+          trade secret, trademark and other proprietary and intellectual
+          property rights, including moral rights.
+
+      g.  Neither this Agreement, nor any act by Licensor or its Affiliates
+          persuant to this Agreement or relating to the Software (including,
+          without limitation, the provision by Licensor or its Affiliates of
+          the Software) shall provide to You any license or any other rights
+          whatsoever under any patents, trademarks, trade secrets, copyrights
+          or any other intellectual property rights of Licensor or its
+          Affiliates, except for the copyrights expressly set forth in this
+          Agreement. You understand and agree that:
+
+      h.  Neither this Agreement, nor delivery of the Software alone or in
+          combination with any Licensor ASIC grants you any right to
+          practice, or any other right at all with respect to, any patent of
+          Licensor or its Affiliates, and
+
+      i.  A separating license agreement from Motorola Incorporated is needed
+          to use or practice any patent of Licensor or its Affiliates.
+
+      j.  You agree not to contend in any context that, as a result of the
+          provision or use of this software, either Licensor or Affiliate has
+          any obligation to extend, or Licensor or any other party has
+          obtained any right to, any license, whether express or implied,
+          with respect to any patent of Licensor or its Affiliates for any
+          purpose. For the purposes of this agreement, "Affiliate" means
+          (i) any corporation or any other legal entity that owns, directly
+          or indirectly, more than fifty percent (50%) of the shares, equity
+          interest or other securities of any entity entitled to vote for
+          election of directors (or other managing authority), or (ii) any
+          corporation or any other legal entity fifty percent (50%) or more
+          of whose shares, equity interest, or other securities entitled to
+          vote for election of directors (or other managing authority) is
+          owned or controlled by an entity, either directly or indirectly.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor, Google, and
+          their officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors_cheetah/google_devices/staging/Android.bp.txt b/self-extractors_cheetah/google_devices/staging/Android.bp.txt
new file mode 100644
index 0000000..e7dce94
--- /dev/null
+++ b/self-extractors_cheetah/google_devices/staging/Android.bp.txt
@@ -0,0 +1,41 @@
+// Copyright (C) 2022 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.
+
+soong_namespace {
+}
+
+cc_prebuilt_library_shared {
+    name: "libmediaadaptor",
+    arch: {
+        arm64: {
+            srcs: ["lib64/libmediaadaptor.so"],
+            shared_libs: [
+                "libandroid_runtime",
+                "libbinder",
+                "libc++",
+                "liblog",
+                "libmedia",
+                "libnativehelper",
+                "libstagefright",
+                "libutils",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    system_ext_specific: true,
+    strip: {
+        none: true,
+    },
+}
+
diff --git a/self-extractors_cheetah/google_devices/staging/Android.mk b/self-extractors_cheetah/google_devices/staging/Android.mk
new file mode 100644
index 0000000..8e8b2fc
--- /dev/null
+++ b/self-extractors_cheetah/google_devices/staging/Android.mk
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2022 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+ifneq ($(filter cheetah,$(TARGET_DEVICE)),)
+  $(call add-radio-file,bootloader.img)
+  $(call add-radio-file,radio.img)
+endif
+
+ifneq ($(filter cheetah,$(TARGET_DEVICE)),)
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := QualifiedNetworksService
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := ShannonIms
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := ShannonRcs
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+endif
diff --git a/self-extractors_cheetah/google_devices/staging/BoardConfigPartial.mk b/self-extractors_cheetah/google_devices/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..d35f456
--- /dev/null
+++ b/self-extractors_cheetah/google_devices/staging/BoardConfigPartial.mk
@@ -0,0 +1,37 @@
+# Copyright 2022 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.
+
+BOARD_PREBUILT_VENDORIMAGE := vendor/google_devices/cheetah/proprietary/vendor.img
+
+BOARD_PREBUILT_VENDOR_DLKMIMAGE := vendor/google_devices/cheetah/proprietary/vendor_dlkm.img
+
+TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
+
+BOARD_AVB_VBMETA_VENDOR := vendor
+BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
+BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
+BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
+BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3
+
+AB_OTA_PARTITIONS += \
+    vbmeta_vendor \
+    vendor \
+    vendor_dlkm \
+
+-include vendor/google/tools/android-info.mk
+ifdef USE_ANDROID_INFO
+  TARGET_BOARD_INFO_FILE := vendor/google_devices/cheetah/android-info.txt
+endif
+
+VENDOR_BLOBS_LICENSE := vendor/google_devices/cheetah/LICENSE
diff --git a/self-extractors_cheetah/google_devices/staging/device-partial.mk b/self-extractors_cheetah/google_devices/staging/device-partial.mk
new file mode 100644
index 0000000..f8bba00
--- /dev/null
+++ b/self-extractors_cheetah/google_devices/staging/device-partial.mk
@@ -0,0 +1,31 @@
+# Copyright 2022 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.
+
+PRODUCT_SOONG_NAMESPACES += \
+    vendor/google_devices/cheetah/proprietary \
+
+# AOSP packages required by the blobs
+PRODUCT_PACKAGES := \
+    QualifiedNetworksService \
+    ShannonIms \
+    ShannonRcs \
+
+PRODUCT_PACKAGES += \
+    libmediaadaptor \
+
+#  blob(s) necessary for cheetah hardware
+PRODUCT_COPY_FILES := \
+    vendor/google_devices/cheetah/proprietary/com.shannon.imsservice.xml:system_ext/etc/permissions/com.shannon.imsservice.xml:samsung \
+    vendor/google_devices/cheetah/proprietary/com.shannon.rcsservice.xml:system_ext/etc/permissions/com.shannon.rcsservice.xml:samsung \
+
diff --git a/self-extractors_cheetah/root/android-info.txt b/self-extractors_cheetah/root/android-info.txt
new file mode 100644
index 0000000..682e5d3
--- /dev/null
+++ b/self-extractors_cheetah/root/android-info.txt
@@ -0,0 +1,6 @@
+require board=cloudripper|cheetah|panther
+require version-bootloader=cloudripper-1.0-8428895
+
+
+
+require version-baseband=g5300g-220331-220406-V-8411772
diff --git a/self-extractors_cheetah/root/proprietary/BoardConfigVendor.mk b/self-extractors_cheetah/root/proprietary/BoardConfigVendor.mk
new file mode 100644
index 0000000..885c4e2
--- /dev/null
+++ b/self-extractors_cheetah/root/proprietary/BoardConfigVendor.mk
@@ -0,0 +1,15 @@
+# Copyright 2022 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 vendor/google_devices/cheetah/BoardConfigPartial.mk
diff --git a/self-extractors_cheetah/root/proprietary/device-vendor.mk b/self-extractors_cheetah/root/proprietary/device-vendor.mk
new file mode 100644
index 0000000..1117f27
--- /dev/null
+++ b/self-extractors_cheetah/root/proprietary/device-vendor.mk
@@ -0,0 +1,15 @@
+# Copyright 2022 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.
+
+$(call inherit-product-if-exists, vendor/google_devices/cheetah/device-partial.mk)
diff --git a/self-extractors_panther/Android.mk b/self-extractors_panther/Android.mk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/self-extractors_panther/Android.mk
diff --git a/self-extractors_panther/METADATA b/self-extractors_panther/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/self-extractors_panther/METADATA
@@ -0,0 +1,3 @@
+third_party {
+  license_type: NOTICE
+}
diff --git a/self-extractors_panther/PART1 b/self-extractors_panther/PART1
new file mode 100644
index 0000000..935267e
--- /dev/null
+++ b/self-extractors_panther/PART1
@@ -0,0 +1,12 @@
+#
+# Usage is subject to the enclosed license agreement
+
+echo
+echo The license for this software will now be displayed.
+echo You must agree to this license before using this software.
+echo
+echo -n Press Enter to view the license
+read dummy
+echo
+
+more << __EOF__
diff --git a/self-extractors_panther/PART2 b/self-extractors_panther/PART2
new file mode 100644
index 0000000..30e8d43
--- /dev/null
+++ b/self-extractors_panther/PART2
@@ -0,0 +1,22 @@
+__EOF__
+
+if test $? != 0
+then
+  echo ERROR: Couldn\'t display license file 1>&2
+  exit 1
+fi
+
+echo
+
+echo -n Type \"I ACCEPT\" if you agree to the terms of the license:\ 
+read typed
+
+if test "$typed" != I\ ACCEPT
+then
+  echo
+  echo You didn\'t accept the license. Extraction aborted.
+  exit 2
+fi
+
+echo
+
diff --git a/self-extractors_panther/PART3 b/self-extractors_panther/PART3
new file mode 100644
index 0000000..6847be5
--- /dev/null
+++ b/self-extractors_panther/PART3
@@ -0,0 +1,12 @@
+
+if test $? != 0
+then
+  echo
+  echo ERROR: Couldn\'t extract files. 1>&2
+  exit 3
+else
+  echo
+  echo Files extracted successfully.
+fi
+exit 0
+
diff --git a/self-extractors_panther/PROLOGUE b/self-extractors_panther/PROLOGUE
new file mode 100644
index 0000000..c856ef1
--- /dev/null
+++ b/self-extractors_panther/PROLOGUE
@@ -0,0 +1,2 @@
+#!/bin/bash
+#
diff --git a/self-extractors_panther/extract-lists.txt b/self-extractors_panther/extract-lists.txt
new file mode 100644
index 0000000..e09731b
--- /dev/null
+++ b/self-extractors_panther/extract-lists.txt
@@ -0,0 +1,16 @@
+  google_devices)
+    TO_EXTRACT="\
+            IMAGES/vbmeta_vendor.img \
+            IMAGES/vendor.img \
+            IMAGES/vendor_dlkm.img \
+            RADIO/bootloader.img \
+            RADIO/radio.img \
+            system_ext/etc/permissions/com.shannon.imsservice.xml \
+            system_ext/etc/permissions/com.shannon.rcsservice.xml \
+            system_ext/lib64/libmediaadaptor.so \
+            system_ext/priv-app/ShannonRcs/ShannonRcs.apk \
+            system_ext/priv-app/ShannonIms/ShannonIms.apk \
+            system_ext/priv-app/QualifiedNetworksService/QualifiedNetworksService.apk \
+            "
+    ;;
+
diff --git a/self-extractors_panther/google_devices/COPYRIGHT b/self-extractors_panther/google_devices/COPYRIGHT
new file mode 100644
index 0000000..db593ae
--- /dev/null
+++ b/self-extractors_panther/google_devices/COPYRIGHT
@@ -0,0 +1 @@
+# (C) Google Inc.
diff --git a/self-extractors_panther/google_devices/LICENSE b/self-extractors_panther/google_devices/LICENSE
new file mode 100644
index 0000000..6b4042b
--- /dev/null
+++ b/self-extractors_panther/google_devices/LICENSE
@@ -0,0 +1,264 @@
+THIS DEVELOPER SOFTWARE LICENSE AGREEMENT (THE "AGREEMENT") IS A LEGALLY
+BINDING AGREEMENT BETWEEN Google Inc. ("LICENSOR") AND
+YOU OR THE LEGAL ENTITY YOU REPRESENT ("You" or its possessive, "Your"). BY
+TYPING "I ACCEPT" WHERE INDICATED YOU ACKNOWLEDGE THAT YOU HAVE READ THIS
+AGREEMENT, UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AND CONDITIONS.
+IF YOU DO NOT AGREE TO THESE TERMS YOU MUST DISCONTINUE THE INSTALLATION
+PROCESS AND YOU SHALL NOT USE THE SOFTWARE OR RETAIN ANY COPIES OF THE
+SOFTWARE OR DOCUMENTATION. ANY USE OR POSSESSION OF THE SOFTWARE BY YOU IS
+SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. IF THE
+SOFTWARE IS INSTALLED ON A COMPUTER OWNED BY A CORPORATION OR OTHER LEGAL
+ENTITY, THEN YOU REPRESENT AND WARRANT THAT YOU HAVE THE AUTHORITY TO BIND
+SUCH ENTITY TO THE TERMS AND CONDITIONS OF THIS AGREEMENT.
+
+   1.  Special Definitions
+
+      a.  The term "Android" means the open source mobile platform, software
+          stack, operating system, middleware, application programming
+          interfaces and mobile applications under the trade-name "Android"
+          distributed at Android.com.
+
+      b.  The term "Android Applications" means a software application or
+          open-source contribution developed by You, designed to operate with
+          Android that does not contain or incorporate any of the Software.
+
+      c.  The term "Authorized Android Enabled Device" means only the device
+          identified on the site from which You downloaded the Software.
+          The term "Software" means the Licensor's proprietary software and
+          libraries in object code form, designed for use on the Authorized
+          Android Enabled Device.
+
+      d.  The term "Authorized Android Enabled Device Software" means a
+          packaged build for Authorized Android Enabled Devices, consisting
+          of files suitable for installation on an Authorized Android Enabled
+          Device using a mechanism such as fastboot mode or recovery mode.
+
+   2.  License Grant
+
+      a.  Subject to the terms of this Agreement, Licensor hereby grants to
+          You, free of charge, a non-exclusive, non-sublicensable,
+          non-transferable, limited copyright license, during the term of
+          this Agreement, to download, install and use the Software
+          internally in machine-readable (i.e., object code) form and the
+          Documentation for non-commercial use on an Authorized Android
+          Enabled Device and non-commercial redistribution for academic
+          purposes only of a reasonable number of copies of the Authorized
+          Android Enabled Device Software (the "Limited Purpose"). You may
+          grant your end users the right to use the Software for
+          non-commercial purposes on an Authorized Android Enabled Device.
+          The license to the Software granted to You hereunder is solely for
+          the Limited Purpose set forth in this section, and the Software
+          shall not be used for any other purpose.
+
+   3.  Restrictions
+
+      a.  Retention of Rights. The entire right, title and interest in the
+          Software shall remain with Licensor and, unless specified in
+          writing hereunder, no rights are granted to any of the Software.
+          Except for the right to use the Software for the Limited Purpose,
+          the delivery of the Software to You does not convey to You any
+          intellectual property rights in the Software, including, but not
+          limited to any rights under any patent, trademark, copyright, or
+          trade secret. Neither the delivery of the Software to You nor any
+          terms set forth herein shall be construed to grant to You, either
+          expressly, by implication or by way of estoppel, any license under
+          any patents or other intellectual property rights covering or
+          relating to any other product or invention or any combination of
+          the Software with any other product. Any rights not expressly
+          granted to You herein are reserved by Licensor.
+
+      b.  No Commercialization or Distribution of the Software and
+          Documentation. Except as expressly provided in Section 2 of this
+          Agreement, You shall have no right to (i) copy, disclose,
+          distribute, publically perform, publically display, transfer,
+          alter, modify, translate, disassemble, decompile, reverse engineer,
+          or adapt the Software and Documentation, or any portion thereof, or
+          create any derivative works based thereon; (ii) rent, lease,
+          assign, sublicense, resell, disclose or otherwise transfer the
+          Software and Documentation in whole or in part to any third party
+          (iii) use the Software and Documentation except for the Limited
+          Purpose, (iv) remove or alter any of the copyright or proprietary
+          notices contained in any of the Software and Documentation. For the
+          purposes of clarity, nothing in this Agreement prohibits You from
+          making and distributing Android Applications under commercial or
+          non-commercial terms, provided that You shall not contain,
+          incorporate, and/or compile the Software or any of its derivative
+          works, in whole or in part, into Your Android Applications and/or
+          any software/devices created by You or by third parties acting on
+          Your behalf. You and any such third party shall comply with all of
+          the terms and conditions of this Agreement.
+
+      c.  No Reverse Engineering. Except for any portions of the Software
+          provided to You in source code format and except for any third
+          party code distributed with the Software that is licensed under
+          contrary terms, You will not reverse engineer, disassemble,
+          decompile, or translate the Software, or otherwise attempt to
+          derive the source code version of the Software, except if and to
+          the extent expressly permitted under any applicable law.
+
+      d.  Third Party Software. You agree that Android may contain third
+          party software. You agree that you may not distribute such third
+          party software for any purpose without appropriate licenses from
+          the applicable third party or parties.
+
+      e.  No Transfer or Assignment. You shall not assign any of its rights
+          or obligations under this Agreement. Any attempted assignment in
+          contravention of this Section shall be void.
+
+      f.  Licensor shall retain all title, ownership and Intellectual
+          Property Rights in and to the Software and any derivative thereof.
+          "Intellectual Property Rights" shall mean all patent, copyright,
+          trade secret, trademark and other proprietary and intellectual
+          property rights, including moral rights.
+
+      g.  Neither this Agreement, nor any act by Licensor or its Affiliates
+          persuant to this Agreement or relating to the Software (including,
+          without limitation, the provision by Licensor or its Affiliates of
+          the Software) shall provide to You any license or any other rights
+          whatsoever under any patents, trademarks, trade secrets, copyrights
+          or any other intellectual property rights of Licensor or its
+          Affiliates, except for the copyrights expressly set forth in this
+          Agreement. You understand and agree that:
+
+      h.  Neither this Agreement, nor delivery of the Software alone or in
+          combination with any Licensor ASIC grants you any right to
+          practice, or any other right at all with respect to, any patent of
+          Licensor or its Affiliates, and
+
+      i.  A separating license agreement from Motorola Incorporated is needed
+          to use or practice any patent of Licensor or its Affiliates.
+
+      j.  You agree not to contend in any context that, as a result of the
+          provision or use of this software, either Licensor or Affiliate has
+          any obligation to extend, or Licensor or any other party has
+          obtained any right to, any license, whether express or implied,
+          with respect to any patent of Licensor or its Affiliates for any
+          purpose. For the purposes of this agreement, "Affiliate" means
+          (i) any corporation or any other legal entity that owns, directly
+          or indirectly, more than fifty percent (50%) of the shares, equity
+          interest or other securities of any entity entitled to vote for
+          election of directors (or other managing authority), or (ii) any
+          corporation or any other legal entity fifty percent (50%) or more
+          of whose shares, equity interest, or other securities entitled to
+          vote for election of directors (or other managing authority) is
+          owned or controlled by an entity, either directly or indirectly.
+
+   4.  Indemnity
+
+      a.  You agree to indemnify and hold harmless Licensor, Google, and
+          their officers, directors, customers, employees and successors and
+          assigns (each an "Indemnified Party") against any and all claims,
+          demands, causes of action, losses, liabilities, damages, costs and
+          expenses, incurred by the Indemnified Party (including but not
+          limited to costs of defense, investigation and reasonable
+          attorney's fees) arising out of, resulting from or related to
+          (i) any software, products, documentation, content, materials or
+          derivative works created or developed by You using the Software
+          which causes an infringement of any patent, copyright, trademark,
+          trade secret, or other property, publicity or privacy rights of any
+          third parties arising in any jurisdiction anywhere in the world,
+          (ii) the download, distribution, installation, storage, execution,
+          use or transfer of such software, products, documentation, content,
+          materials or derivative works by any person or entity, and/or
+          (iii) any breach of this Agreement by You. If requested by an
+          Indemnified Party, You agree to defend such Indemnified Party in
+          connection with any third party claims, demands, or causes of
+          action resulting from, arising out of or in connection with any of
+          the foregoing.
+
+   5.  Limitation of Liability
+
+      a.  TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAWS, UNDER NO
+          CIRCUMSTANCES, INCLUDING WITHOUT LIMITATION NEGLIGENCE, SHALL
+          LICENSOR, GOOGLE, THEIR AFFILIATES AND/OR ITS DIRECTORS, OFFICERS,
+          EMPLOYEES OR AGENTS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+          SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT
+          LIMITED TO DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS
+          INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING
+          OUT OF OR IN CONNECTION WITH THE SOFTWARE OR ANY DOWNLOAD,
+          INSTALLATION OR USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF
+          LICENSOR OR GOOGLE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
+          DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR
+          EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO
+          THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY OR MAY BE LIMITED.
+          IN NO EVENT SHALL LICENSOR'S OR GOOGLE'S TOTAL AGGREGATE LIABILITY
+          TO YOU FOR ANY AND ALL DAMAGES, LOSSES, CLAIMS AND CAUSES OF
+          ACTIONS (WHETHER IN CONTRACT, TORT, INCLUDING NEGLIGENCE,
+          INDEMNIFICATION OR OTHERWISE) EXCEED ONE HUNDRED U.S. DOLLARS
+          (US$100). THE LIMITATIONS SET FORTH IN THIS PARAGRAPH SHALL BE
+          DEEMED TO APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW.
+          THE PARTIES HAVE FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK
+          AND FIND IT REASONABLE, AND THAT THE FOREGOING LIMITATIONS IN THIS
+          PARAGRAPH ARE AN ESSENTIAL BASIS OF THE BARGAIN BETWEEN THE
+          PARTIES.
+
+   6.  No Warranty
+
+      a.  LICENSOR AND GOOGLE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, WITH
+          RESPECT TO THE SOFTWARE AND DOCUMENTATION PROVIDED UNDER THIS
+          AGREEMENT, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
+          MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR AGAINST
+          INFRINGEMENT, OR ANY EXPRESS OR IMPLIED WARRANTY ARISING OUT OF
+          TRADE USAGE OR OUT OF A COURSE OF DEALING OR COURSE OF PERFORMANCE.
+          NOTHING CONTAINED IN THIS AGREEMENT SHALL BE CONSTRUED AS A
+          WARRANTY OR REPRESENTATION BY LICENSOR (I) AS TO THE VALIDITY OR
+          SCOPE OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT
+          AND (II) THAT ANY MANUFACTURE OR USE WILL BE FREE FROM INFRINGEMENT
+          OF PATENTS, COPYRIGHTS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF
+          OTHERS, AND IT SHALL BE THE SOLE RESPONSIBILITY OF YOU TO MAKE SUCH
+          DETERMINATION AS IS NECESSARY WITH RESPECT TO THE ACQUISITION OF
+          LICENSES UNDER PATENTS AND OTHER INTELLECTUAL PROPERTY OF THIRD
+          PARTIES. LICENSOR AND GOOGLE SHALL NOT HAVE ANY OBLIGATION TO
+          PROVIDE ANY TECHNICAL SUPPORT OF THE SOFTWARE UNDER THIS AGREEMENT.
+
+   7.  Term and Termination
+
+      a.  This Agreement shall be effective on the date You accept this
+          Agreement and shall remain in effect until terminated as provided
+          herein. You may terminate the Agreement at any time by deleting and
+          destroying all copies of the Software and all related information
+          in Your possession or control. This Agreement terminates
+          immediately and automatically, with or without notice, if You fail
+          to comply with any provision hereof. Additionally, Licensor may at
+          any time terminate this Agreement, without cause, upon notice to
+          You. Upon termination You must delete or destroy all copies of the
+          Software in Your possession, and the license granted to You in this
+          Agreement shall terminate. Sections 3, 4, 5, 6 and 8 shall survive
+          the termination of this Agreement.
+
+   8.  Miscellaneous
+
+      a.  Governing Law. This Agreement is governed and interpreted in
+          accordance with the laws of the State of California without giving
+          effect to its conflict of laws provisions. The United Nations
+          Convention on Contracts for the International Sale of Goods is
+          expressly disclaimed and shall not apply. Any claim arising out of
+          or related to this Agreement must be brought exclusively in a
+          federal or state court located in Santa Clara County, California
+          and You consent to the jurisdiction and venue of such courts.
+
+      b.  Waiver and Severability. The failure of either party to require
+          performance by the other party of any provision of this Agreement
+          shall not affect the full right to require such performance at any
+          time thereafter; nor shall the waiver by either party of a breach
+          of any provision of this Agreement be taken or held to be a waiver
+          of the provision itself. Severability. If any provision of this
+          Agreement is unenforceable or invalid under any applicable law or
+          is so held by applicable court decision, such unenforceability or
+          invalidity shall not render this Agreement unenforceable or invalid
+          as a whole, and such provision shall be changed and interpreted so
+          as to best accomplish the objectives of such unenforceable or
+          invalid provision within the limits of applicable law or
+          applicable court decisions.
+
+      c.  Amendment and Modification. This Agreement and any of its terms and
+          provisions may only be amended, modified, supplemented or waived in
+          a writing signed by both parties hereto.
+
+      d.  Compliance with Laws. You shall comply with all applicable laws,
+          rules, and regulations in connection with its activities under this
+          Agreement.
+
+      e.  Entire Agreement. This Agreement completely and exclusively states
+          the agreement between You and Licensor regarding this subject
+          matter.
diff --git a/self-extractors_panther/google_devices/staging/Android.bp.txt b/self-extractors_panther/google_devices/staging/Android.bp.txt
new file mode 100644
index 0000000..e7dce94
--- /dev/null
+++ b/self-extractors_panther/google_devices/staging/Android.bp.txt
@@ -0,0 +1,41 @@
+// Copyright (C) 2022 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.
+
+soong_namespace {
+}
+
+cc_prebuilt_library_shared {
+    name: "libmediaadaptor",
+    arch: {
+        arm64: {
+            srcs: ["lib64/libmediaadaptor.so"],
+            shared_libs: [
+                "libandroid_runtime",
+                "libbinder",
+                "libc++",
+                "liblog",
+                "libmedia",
+                "libnativehelper",
+                "libstagefright",
+                "libutils",
+            ],
+        },
+    },
+    compile_multilib: "both",
+    system_ext_specific: true,
+    strip: {
+        none: true,
+    },
+}
+
diff --git a/self-extractors_panther/google_devices/staging/Android.mk b/self-extractors_panther/google_devices/staging/Android.mk
new file mode 100644
index 0000000..db9e432
--- /dev/null
+++ b/self-extractors_panther/google_devices/staging/Android.mk
@@ -0,0 +1,73 @@
+#
+# Copyright (C) 2022 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+ifneq ($(filter panther,$(TARGET_DEVICE)),)
+  $(call add-radio-file,bootloader.img)
+  $(call add-radio-file,radio.img)
+endif
+
+ifneq ($(filter panther,$(TARGET_DEVICE)),)
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := QualifiedNetworksService
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := ShannonIms
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := ShannonRcs
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+endif
diff --git a/self-extractors_panther/google_devices/staging/BoardConfigPartial.mk b/self-extractors_panther/google_devices/staging/BoardConfigPartial.mk
new file mode 100644
index 0000000..48fe046
--- /dev/null
+++ b/self-extractors_panther/google_devices/staging/BoardConfigPartial.mk
@@ -0,0 +1,37 @@
+# Copyright 2022 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.
+
+BOARD_PREBUILT_VENDORIMAGE := vendor/google_devices/panther/proprietary/vendor.img
+
+BOARD_PREBUILT_VENDOR_DLKMIMAGE := vendor/google_devices/panther/proprietary/vendor_dlkm.img
+
+TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm
+
+BOARD_AVB_VBMETA_VENDOR := vendor
+BOARD_AVB_VBMETA_VENDOR_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
+BOARD_AVB_VBMETA_VENDOR_ALGORITHM := SHA256_RSA2048
+BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
+BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 3
+
+AB_OTA_PARTITIONS += \
+    vbmeta_vendor \
+    vendor \
+    vendor_dlkm \
+
+-include vendor/google/tools/android-info.mk
+ifdef USE_ANDROID_INFO
+  TARGET_BOARD_INFO_FILE := vendor/google_devices/panther/android-info.txt
+endif
+
+VENDOR_BLOBS_LICENSE := vendor/google_devices/panther/LICENSE
diff --git a/self-extractors_panther/google_devices/staging/device-partial.mk b/self-extractors_panther/google_devices/staging/device-partial.mk
new file mode 100644
index 0000000..72b15e6
--- /dev/null
+++ b/self-extractors_panther/google_devices/staging/device-partial.mk
@@ -0,0 +1,31 @@
+# Copyright 2022 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.
+
+PRODUCT_SOONG_NAMESPACES += \
+    vendor/google_devices/panther/proprietary \
+
+# AOSP packages required by the blobs
+PRODUCT_PACKAGES := \
+    QualifiedNetworksService \
+    ShannonIms \
+    ShannonRcs \
+
+PRODUCT_PACKAGES += \
+    libmediaadaptor \
+
+#  blob(s) necessary for panther hardware
+PRODUCT_COPY_FILES := \
+    vendor/google_devices/panther/proprietary/com.shannon.imsservice.xml:system_ext/etc/permissions/com.shannon.imsservice.xml:samsung \
+    vendor/google_devices/panther/proprietary/com.shannon.rcsservice.xml:system_ext/etc/permissions/com.shannon.rcsservice.xml:samsung \
+
diff --git a/self-extractors_panther/root/android-info.txt b/self-extractors_panther/root/android-info.txt
new file mode 100644
index 0000000..682e5d3
--- /dev/null
+++ b/self-extractors_panther/root/android-info.txt
@@ -0,0 +1,6 @@
+require board=cloudripper|cheetah|panther
+require version-bootloader=cloudripper-1.0-8428895
+
+
+
+require version-baseband=g5300g-220331-220406-V-8411772
diff --git a/self-extractors_panther/root/proprietary/BoardConfigVendor.mk b/self-extractors_panther/root/proprietary/BoardConfigVendor.mk
new file mode 100644
index 0000000..346f04b
--- /dev/null
+++ b/self-extractors_panther/root/proprietary/BoardConfigVendor.mk
@@ -0,0 +1,15 @@
+# Copyright 2022 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 vendor/google_devices/panther/BoardConfigPartial.mk
diff --git a/self-extractors_panther/root/proprietary/device-vendor.mk b/self-extractors_panther/root/proprietary/device-vendor.mk
new file mode 100644
index 0000000..e65f206
--- /dev/null
+++ b/self-extractors_panther/root/proprietary/device-vendor.mk
@@ -0,0 +1,15 @@
+# Copyright 2022 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.
+
+$(call inherit-product-if-exists, vendor/google_devices/panther/device-partial.mk)
diff --git a/thermal_info_config_A0.json b/thermal_info_config_A0.json
new file mode 100644
index 0000000..ea9c711
--- /dev/null
+++ b/thermal_info_config_A0.json
@@ -0,0 +1,591 @@
+{
+    "Sensors":[
+        {
+            "Name":"battery",
+            "Type":"BATTERY",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "60.0"
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":0.001
+        },
+        {
+            "Name":"LITTLE",
+            "Type":"CPU",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                115.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":0.001
+        },
+        {
+            "Name":"MID",
+            "Type":"CPU",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                115.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":0.001
+        },
+        {
+            "Name":"G3D",
+            "Type":"GPU",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                115.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":0.001
+        },
+        {
+            "Name":"battery_cycle",
+            "Type":"BCL_VOLTAGE",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN"
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":false
+        },
+        {
+            "Name":"critical-battery-cell",
+            "Type":"BCL_VOLTAGE",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "vdroop1",
+            "Combination":[
+                "battery",
+                "battery_cycle",
+                "vdroop1"
+            ],
+            "Coefficient":[
+                "-10000",
+                "400",
+                "1000"
+            ],
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                3.00,
+                "NAN"
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"FLASH_LED_REDUCE",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "vdroop1",
+            "Combination":[
+                "battery",
+                "battery_cycle",
+                "vdroop1"
+            ],
+            "Coefficient":[
+                "-10000",
+                "400",
+                "1000"
+            ],
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                3.00,
+                "NAN",
+                "NAN"
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "SendPowerHint":true
+        },
+        {
+            "Name":"soc",
+            "Type":"BCL_PERCENTAGE",
+            "HotThreshold":[
+                "NAN",
+                80,
+                "NAN",
+                90,
+                93,
+                96,
+                "NAN"
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "PollingDelay":300000,
+            "PassiveDelay":5000,
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "LimitInfo": [0, 0, 0, 7, 7, 10, 10]
+                }
+            ]
+        },
+        {
+            "Name":"batoilo",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                5000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "LimitInfo": [0, 0, 0, 0, 7, 10, 10]
+                },
+                {
+                    "CdevRequest": "thermal-gpufreq-0",
+                    "LimitInfo": [0, 0, 0, 0, 10, 11, 11]
+                },
+                {
+                    "CdevRequest": "tpu_cooling",
+                    "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
+                }
+            ]
+        },
+        {
+            "Name":"BCL_AUDIO_BAACL",
+            "Type":"BCL_VOLTAGE",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "soc",
+            "Combination":[
+                "battery",
+                "soc"
+            ],
+            "Coefficient":[
+                "-25000",
+                "80"
+            ],
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                2.0,
+                "NAN",
+                "NAN"
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"vdroop1",
+            "Type":"BCL_VOLTAGE",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                1000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "LimitInfo": [0, 0, 0, 0, 7, 10, 10]
+                },
+                {
+                    "CdevRequest": "thermal-gpufreq-0",
+                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
+                },
+                {
+                    "CdevRequest": "tpu_cooling",
+                    "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
+                }
+            ]
+        },
+        {
+            "Name":"vdroop2",
+            "Type":"BCL_VOLTAGE",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                1200,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "LimitInfo": [0, 0, 0, 0, 7, 10, 10]
+                },
+                {
+                    "CdevRequest": "thermal-gpufreq-0",
+                    "LimitInfo": [0, 0, 0, 0, 15, 15, 15]
+                },
+                {
+                    "CdevRequest": "tpu_cooling",
+                    "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
+                }
+            ]
+        },
+        {
+            "Name":"smpl_gm",
+            "Type":"BCL_VOLTAGE",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                1100,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "LimitInfo": [0, 0, 0, 0, 7, 10, 10]
+                },
+                {
+                    "CdevRequest": "thermal-gpufreq-0",
+                    "LimitInfo": [0, 0, 0, 0, 13, 13, 13]
+                },
+                {
+                    "CdevRequest": "tpu_cooling",
+                    "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
+                }
+            ]
+        },
+        {
+            "Name":"ocp_cpu1",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                7000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"ocp_cpu2",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                12000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"ocp_tpu",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                10500,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"ocp_gpu",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                12000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"soft_ocp_cpu2",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                9000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"soft_ocp_cpu1",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                7000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"soft_ocp_tpu",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                8500,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"soft_ocp_gpu",
+            "Type":"BCL_CURRENT",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                9000,
+                "NAN",
+                "NAN"
+            ],
+            "HotHysteresis":[
+                0.0,
+                0.0,
+                0.0,
+                0.0,
+                100,
+                0.0,
+                0.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true
+        },
+        {
+            "Name":"TPU",
+            "Type":"NPU",
+            "HotThreshold":[
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                "NAN",
+                115.0
+            ],
+            "VrThreshold":"NAN",
+            "Multiplier":0.001
+        }
+    ],
+    "CoolingDevices":[
+        {
+            "Name":"thermal-cpufreq-0",
+            "Type":"CPU",
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
+            "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+        },
+        {
+            "Name":"thermal-cpufreq-1",
+            "Type":"CPU",
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
+            "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+        },
+        {
+            "Name":"thermal-cpufreq-2",
+            "Type":"CPU",
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
+            "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+        },
+        {
+            "Name":"thermal-gpufreq-0",
+            "Type":"GPU",
+            "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote"
+        },
+        {
+            "Name":"tpu_cooling",
+            "Type":"NPU",
+            "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
+        }
+    ]
+}
diff --git a/thermal_info_config_cheetah.json b/thermal_info_config_cheetah.json
index c2df4a9..39d6a26 100644
--- a/thermal_info_config_cheetah.json
+++ b/thermal_info_config_cheetah.json
@@ -3,89 +3,33 @@
         {
             "Name":"battery",
             "Type":"BATTERY",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "60.0"
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 60.0],
             "Multiplier":0.001
         },
         {
             "Name":"neutral_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/neutral_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"gnss_tcxo_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"qi_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/qi_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"quiet_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "32.2",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.9,
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                0.0
-            ],
+            "HotThreshold":["NAN", 32.2, "NAN", "NAN", "NAN", "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
             "TempPath":"/dev/thermal/tz-by-name/quiet_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001,
             "PollingDelay":60000,
             "PassiveDelay":7000
@@ -93,42 +37,14 @@
         {
             "Name":"usb_pwr_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
+            "HotThreshold":["NAN", 35.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
             "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"usb_pwr_therm2",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "35.0",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.9,
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                0.0
-            ],
             "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001,
             "PollingDelay":60000,
             "PassiveDelay":7000
@@ -136,17 +52,7 @@
         {
             "Name":"disp_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/disp_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
@@ -155,25 +61,9 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "gnss_tcxo_therm",
-                "disp_therm"
-            ],
-            "Coefficient":[
-                "0.6",
-                "0.4"
-            ],
+            "Combination":["gnss_tcxo_therm", "disp_therm"],
+            "Coefficient":[0.6, 0.4],
             "Offset":-200,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
@@ -182,25 +72,9 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "usb_pwr_therm2",
-                "quiet_therm"
-            ],
-            "Coefficient":[
-                "0.559",
-                "0.441"
-            ],
+            "Combination":["usb_pwr_therm2", "quiet_therm"],
+            "Coefficient":[0.559, 0.441],
             "Offset":-1771,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
@@ -209,25 +83,9 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "quiet_therm",
-                "usb_pwr_therm2"
-            ],
-            "Coefficient":[
-                "1.208",
-                "-0.208"
-            ],
-            "Offset":-874,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["quiet_therm","usb_pwr_therm2"],
+            "Coefficient":[1.1, -0.1],
+            "Offset":-900,
             "Multiplier":0.001
         },
         {
@@ -236,89 +94,44 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "neutral_therm",
-                "quiet_therm"
-            ],
-            "Coefficient":[
-                "0.6",
-                "0.4"
-            ],
-            "Offset":-500,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["neutral_therm", "quiet_therm"],
+            "Coefficient":[0.378, 0.622],
+            "Offset":-453,
             "Multiplier":0.001
         },
         {
-            "Name":"VIRTUAL-NEUTRAL-USB",
+            "Name":"VIRTUAL-QI-QUIET",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "neutral_therm",
-                "usb_pwr_therm"
-            ],
-            "Coefficient":[
-                "0.460",
-                "0.540"
-            ],
-            "Offset":-3200,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["qi_therm","quiet_therm"],
+            "Coefficient":[0.3, 0.7],
+            "Offset":-500,
+            "Multiplier":0.001
+        },
+        {
+            "Name":"VIRTUAL-QI-DISP",
+            "Type":"UNKNOWN",
+            "Hidden":true,
+            "VirtualSensor":true,
+            "Formula":"WEIGHTED_AVG",
+            "Combination":["qi_therm", "disp_therm"],
+            "Coefficient":[0.257, 0.743],
+            "Offset":-268,
             "Multiplier":0.001
         },
         {
             "Name":"VIRTUAL-SKIN",
             "Type":"SKIN",
+            "Version":"0.5",
             "VirtualSensor":true,
             "TriggerSensor":"quiet_therm",
             "Formula":"MAXIMUM",
-            "Combination":[
-                "VIRTUAL-GNSS-DISP",
-                "VIRTUAL-USB2-QUIET",
-                "VIRTUAL-QUIET-USB2"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0",
-                "1.0"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "39",
-                "43",
-                "45",
-                "46.5",
-                "52.0",
-                "55.0"
-            ],
-            "HotHysteresis":[
-                0.0,
-                1.9,
-                1.9,
-                1.9,
-                1.4,
-                1.9,
-                1.9
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["VIRTUAL-GNSS-DISP", "VIRTUAL-USB2-QUIET", "VIRTUAL-QUIET-USB2", "VIRTUAL-NEUTRAL-QUIET"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0],
+            "HotThreshold":["NAN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
+            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
             "Multiplier":0.001,
             "SendPowerHint":true,
             "Monitor":true,
@@ -326,22 +139,6 @@
             "PassiveDelay":7000,
             "BindedCdevInfo": [
                 {
-                    "CdevRequest": "thermal-cpufreq-0",
-                    "LimitInfo": [0, 0, 0, 7, 8, 10, 10]
-                },
-                {
-                    "CdevRequest": "thermal-cpufreq-1",
-                    "LimitInfo": [0, 0, 0, 10, 12, 14, 14]
-                },
-                {
-                    "CdevRequest": "thermal-cpufreq-2",
-                    "LimitInfo": [0, 0, 0, 15, 15, 17, 17]
-                },
-                {
-                    "CdevRequest": "thermal-gpufreq-0",
-                    "LimitInfo": [0, 0, 0, 9, 10, 11, 11]
-                },
-                {
                     "CdevRequest": "tpu_cooling",
                     "LimitInfo": [0, 2, 3, 4, 5, 5, 5]
                 },
@@ -352,38 +149,75 @@
             ]
         },
         {
+            "Name":"VIRTUAL-SKIN-CPU-GPU",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "TriggerSensor":"quiet_therm",
+            "Formula":"MAXIMUM",
+            "Combination":["VIRTUAL-GNSS-DISP", "VIRTUAL-USB2-QUIET", "VIRTUAL-QUIET-USB2", "VIRTUAL-NEUTRAL-QUIET"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0],
+            "HotThreshold":["NAN", 39.0, 42.0, 44.0, 46.5, 52.0, 55.0],
+            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9],
+            "Multiplier":0.001,
+            "PollingDelay":300000,
+            "PassiveDelay":7000,
+            "PIDInfo": {
+                "K_Po":["NAN", "NAN", 1800, 500, "NAN", "NAN", "NAN"],
+                "K_Pu":["NAN", "NAN", 1800, 500, "NAN", "NAN", "NAN"],
+                "K_I":["NAN", "NAN", 20, 0, "NAN", "NAN", "NAN"],
+                "K_D":["NAN", "NAN", 0, 0, "NAN", "NAN", "NAN"],
+                "I_Max":["NAN", "NAN", 1500, 0, "NAN", "NAN", "NAN"],
+                "S_Power":["NAN", "NAN", 2500, 1300, "NAN", "NAN", "NAN"],
+                "MinAllocPower":["NAN", "NAN", 2000, 800, "NAN", "NAN", "NAN"],
+                "MaxAllocPower":["NAN", "NAN", 10000, 4000, "NAN", "NAN", "NAN"],
+                "I_Cutoff":["NAN", "NAN", 2, 0, "NAN", "NAN", "NAN"],
+                "E_Integral_Default": 50
+            },
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-0",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S4M_VDD_CPUCL0",
+                    "LimitInfo": [0, 0, 0, 0, 8, 10, 10]
+                },
+                {
+                    "CdevRequest": "thermal-cpufreq-1",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S3M_VDD_CPUCL1",
+                    "LimitInfo": [0, 0, 0, 0, 12, 14, 14]
+                },
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S2M_VDD_CPUCL2",
+                    "LimitInfo": [0, 0, 0, 0, 15, 17, 17]
+                },
+                {
+                    "CdevRequest": "thermal-gpufreq-0",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S2S_VDD_G3D",
+                    "LimitInfo": [0, 0, 0, 0, 10, 11, 11]
+                }
+            ]
+        },
+        {
             "Name":"VIRTUAL-SKIN-CHARGE",
             "Type":"UNKNOWN",
             "VirtualSensor":true,
             "TriggerSensor":"quiet_therm",
             "Formula":"MAXIMUM",
-            "Combination":[
-                "VIRTUAL-NEUTRAL-QUIET",
-                "VIRTUAL-NEUTRAL-USB"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "39.0",
-                "41.0",
-                "43.0",
-                "45.0",
-                "47.0",
-                "55.0"
-            ],
-            "HotHysteresis":[
-                0.0,
-                1.9,
-                1.9,
-                1.9,
-                1.9,
-                1.9,
-                1.9
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["VIRTUAL-QI-QUIET", "VIRTUAL-QI-DISP"],
+            "Coefficient":[1.0, 1.0],
+            "HotThreshold":["NAN", 39.0, 41.0, 43.0, 45.0, 47.0, 55.0],
+            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9],
             "Multiplier":0.001,
             "Monitor":true,
             "PollingDelay":300000,
@@ -424,113 +258,101 @@
             "VirtualSensor":true,
             "TriggerSensor":"quiet_therm",
             "Formula":"MAXIMUM",
-            "Combination":[
-                "VIRTUAL-GNSS-DISP",
-                "VIRTUAL-USB2-QUIET",
-                "VIRTUAL-QUIET-USB2"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0",
-                "1.0"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "54.0",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                1.9,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["VIRTUAL-GNSS-DISP", "VIRTUAL-USB2-QUIET", "VIRTUAL-QUIET-USB2", "VIRTUAL-NEUTRAL-QUIET"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 54.0, "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
             "Multiplier":0.001,
             "Monitor":true,
             "PollingDelay":300000,
             "PassiveDelay":7000
         },
         {
-            "Name":"LITTLE",
-            "Type":"CPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
+            "Name":"USB-MINUS-USB2",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "Formula":"WEIGHTED_AVG",
+            "Combination":["usb_pwr_therm", "usb_pwr_therm2"],
+            "Coefficient":[1.0, -1.0],
+            "Multiplier":0.001
+        },
+        {
+            "Name":"USB-MINUS-NEUTRAL",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "Formula":"WEIGHTED_AVG",
+            "Combination":["usb_pwr_therm", "neutral_therm"],
+            "Coefficient":[1.0, -1.0],
+            "Multiplier":0.001
+        },
+        {
+            "Name":"VIRTUAL-USB-THROTTLING",
+            "Type":"USB_PORT",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "usb_pwr_therm",
+            "Combination":["usb_pwr_therm", "USB-MINUS-USB2", "USB-MINUS-NEUTRAL"],
+            "Coefficient":[42000, 4000,7000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "3.0", "NAN", "NAN"],
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "usbc-port",
+                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
+                }
             ],
             "VrThreshold":"NAN",
+            "Multiplier":1,
+            "PollingDelay":60000,
+            "PassiveDelay":7000
+        },
+        {
+            "Name":"VIRTUAL-USB-UI",
+            "Type":"USB_PORT",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "usb_pwr_therm",
+            "Combination":["usb_pwr_therm", "USB-MINUS-USB2", "USB-MINUS-NEUTRAL"],
+            "Coefficient":[47000, 4500, 8000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "3.0", "NAN"],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "PollingDelay":60000,
+            "PassiveDelay":7000
+        },
+        {
+            "Name":"LITTLE",
+            "Type":"CPU",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"MID",
             "Type":"CPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"BIG",
             "Type":"CPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"G3D",
             "Type":"GPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
+            "Multiplier":0.001
+        },
+        {
+            "Name":"TPU",
+            "Type":"NPU",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"battery_cycle",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
             "Multiplier":1,
             "Monitor":false
         },
@@ -540,26 +362,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "vdroop1",
-            "Combination":[
-                "battery",
-                "battery_cycle",
-                "vdroop1"
-            ],
-            "Coefficient":[
-                "-10000",
-                "400",
-                "1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.00,
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["battery", "battery_cycle", "vdroop1"],
+            "Coefficient":[-10000, 400, 1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 3.00, "NAN"],
             "Multiplier":1,
             "Monitor":true
         },
@@ -569,26 +374,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "vdroop1",
-            "Combination":[
-                "battery",
-                "battery_cycle",
-                "vdroop1"
-            ],
-            "Coefficient":[
-                "-10000",
-                "400",
-                "1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.00,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["battery", "battery_cycle", "vdroop1"],
+            "Coefficient":[-10000, 400, 1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.00, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "SendPowerHint":true
@@ -596,19 +384,8 @@
         {
             "Name":"soc",
             "Type":"BCL_PERCENTAGE",
-            "HotThreshold":[
-                "NAN",
-                20,
-                80,
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
             "Multiplier":1,
-            "PollingDelay":60000,
-            "PassiveDelay":7000,
             "Monitor":true
         },
         {
@@ -617,24 +394,9 @@
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
             "TriggerSensor": "ocp_tpu",
-            "Combination":[
-                "ocp_tpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "1",
-                "-10"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                13000,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["ocp_tpu", "battery"],
+            "Coefficient":[1, -10],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -651,24 +413,9 @@
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
             "TriggerSensor": "ocp_gpu",
-            "Combination":[
-                "ocp_gpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "1",
-                "-10"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                13000,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["ocp_gpu", "battery"],
+            "Coefficient":[1, -10],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -685,26 +432,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "batoilo",
-            "Combination":[
-                "batoilo",
-                "ocp_gpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "5000",
-                "12000",
-                "-1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["batoilo", "ocp_gpu", "battery"],
+            "Coefficient":[5000, 12000, -1000 ],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN",  3.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -721,26 +451,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "batoilo",
-            "Combination":[
-                "batoilo",
-                "ocp_tpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "5000",
-                "12000",
-                "-1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["batoilo", "ocp_tpu", "battery"],
+            "Coefficient":[5000, 12000, -1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -757,24 +470,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "batoilo",
-            "Combination":[
-                "batoilo",
-                "ocp_gpu"
-            ],
-            "Coefficient":[
-                "5000",
-                "12000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                2.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["batoilo", "ocp_gpu"],
+            "Coefficient":[5000, 12000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -795,20 +493,8 @@
                 "batoilo",
                 "ocp_tpu"
             ],
-            "Coefficient":[
-                "5000",
-                "12000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                2.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Coefficient":[5000, 12000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -822,25 +508,8 @@
         {
             "Name":"batoilo",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                5000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 5000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -857,49 +526,17 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "soc",
-            "Combination":[
-                "battery",
-                "soc"
-            ],
-            "Coefficient":[
-                "-25000",
-                "80"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                2.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["battery", "soc"],
+            "Coefficient":[-25000, 80],
+            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"vdroop1",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                1000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -921,25 +558,8 @@
         {
             "Name":"vdroop2",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                1200,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1200, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -961,25 +581,8 @@
         {
             "Name":"smpl_gm",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                1100,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1100, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -1001,217 +604,66 @@
         {
             "Name":"ocp_cpu1",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                8000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"ocp_cpu2",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"ocp_tpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"ocp_gpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"soft_ocp_cpu2",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"soft_ocp_cpu1",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                8000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"soft_ocp_tpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                8500,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8500, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"soft_ocp_gpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                9000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 9000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
-        },
-        {
-            "Name":"TPU",
-            "Type":"NPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
-            "Multiplier":0.001
         }
     ],
     "CoolingDevices":[
@@ -1219,25 +671,25 @@
             "Name":"thermal-cpufreq-0",
             "Type":"CPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
-            "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+            "State2Power":[1100, 1050, 1000, 950, 900, 850, 800, 750, 700, 650, 600]
         },
         {
             "Name":"thermal-cpufreq-1",
             "Type":"CPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
-            "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "State2Power":[1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
         },
         {
             "Name":"thermal-cpufreq-2",
             "Type":"CPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
-            "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "State2Power":[1450, 1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
         },
         {
             "Name":"thermal-gpufreq-0",
             "Type":"GPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
-            "State2Power":["4371", "3543", "3085", "2293", "1927", "1707", "1394", "1171", "967", "768", "592", "433"]
+            "State2Power":[4371, 3543, 3085, 2293, 1927, 1707, 1394, 1171, 967, 768, 592, 433]
         },
         {
             "Name":"fcc",
@@ -1252,6 +704,10 @@
             "Type":"BATTERY"
         },
         {
+            "Name":"usbc-port",
+            "Type":"BATTERY"
+        },
+        {
             "Name":"tpu_cooling",
             "Type":"NPU",
             "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
@@ -1271,19 +727,19 @@
         },
         {
             "Name":"S2M_VDD_CPUCL2",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
 
         },
         {
             "Name":"S3M_VDD_CPUCL1",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
         },
         {
             "Name":"S4M_VDD_CPUCL0",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
         },
         {
             "Name":"S5M_VDD_INT"
@@ -1293,31 +749,15 @@
         },
         {
             "Name":"S2S_VDD_G3D",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
         },
         {
             "Name":"POWER_FOR_CHARGING_THROTTLING",
             "VirtualRails":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "VSYS_PWR_MODEM",
-                "S2M_VDD_CPUCL2",
-                "S3M_VDD_CPUCL1",
-                "S4M_VDD_CPUCL0",
-                "S5M_VDD_INT",
-                "S1M_VDD_MIF",
-                "S2S_VDD_G3D"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0"
-            ],
+            "Combination":["VSYS_PWR_MODEM", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S1M_VDD_MIF", "S2S_VDD_G3D"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
             "PowerSampleDelay":14000,
             "PowerSampleCount":5
         }
diff --git a/thermal_info_config_cloudripper.json b/thermal_info_config_cloudripper.json
index c75ce64..cf069aa 100644
--- a/thermal_info_config_cloudripper.json
+++ b/thermal_info_config_cloudripper.json
@@ -142,22 +142,14 @@
                 "NAN",
                 80,
                 "NAN",
-                90,
-                93,
-                96,
+                "NAN",
+                "NAN",
+                "NAN",
                 "NAN"
             ],
             "VrThreshold":"NAN",
             "Multiplier":1,
-            "Monitor":true,
-            "PollingDelay":300000,
-            "PassiveDelay":5000,
-            "BindedCdevInfo": [
-                {
-                    "CdevRequest": "thermal-cpufreq-2",
-                    "LimitInfo": [0, 0, 0, 7, 7, 10, 10]
-                }
-            ]
+            "Monitor":true
         },
         {
             "Name":"batoilo",
diff --git a/thermal_info_config_panther.json b/thermal_info_config_panther.json
index b64e11f..f51b057 100644
--- a/thermal_info_config_panther.json
+++ b/thermal_info_config_panther.json
@@ -3,105 +3,38 @@
         {
             "Name":"battery",
             "Type":"BATTERY",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "60.0"
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 60.0],
             "Multiplier":0.001
         },
         {
             "Name":"neutral_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/neutral_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"gnss_tcxo_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"qi_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/qi_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"usb_pwr_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
+            "HotThreshold":["NAN", 35.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
             "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"usb_pwr_therm2",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "35.0",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.9,
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                0.0
-            ],
             "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001,
             "PollingDelay":60000,
             "PassiveDelay":7000
@@ -109,71 +42,28 @@
         {
             "Name":"disp_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
             "TempPath":"/dev/thermal/tz-by-name/disp_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
             "Name":"quiet_therm",
             "Type":"UNKNOWN",
-            "HotThreshold":[
-                "NAN",
-                "32.9",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.9,
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                0.0
-            ],
+            "HotThreshold":["NAN", 32.9, "NAN", "NAN", "NAN", "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
             "TempPath":"/dev/thermal/tz-by-name/quiet_therm/tz_temp",
-            "VrThreshold":"NAN",
             "Multiplier":0.001,
             "PollingDelay":60000,
             "PassiveDelay":7000
         },
         {
-            "Name":"VIRTUAL-QUIET-USB",
+            "Name":"VIRTUAL-GNSS-QUIET",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "quiet_therm",
-                "usb_pwr_therm"
-            ],
-            "Coefficient":[
-                "0.973",
-                "0.027"
-            ],
-            "Offset":-2200,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["gnss_tcxo_therm", "quiet_therm"],
+            "Coefficient":[1.3, -0.3],
+            "Offset":-1800,
             "Multiplier":0.001
         },
         {
@@ -182,25 +72,9 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "usb_pwr_therm",
-                "quiet_therm"
-            ],
-            "Coefficient":[
-                "0.580",
-                "0.420"
-            ],
+            "Combination":["usb_pwr_therm", "quiet_therm"],
+            "Coefficient":[0.580, 0.420],
             "Offset":-500,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
             "Multiplier":0.001
         },
         {
@@ -209,25 +83,9 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "gnss_tcxo_therm",
-                "disp_therm"
-            ],
-            "Coefficient":[
-                "0.550",
-                "0.450"
-            ],
-            "Offset":3000,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["gnss_tcxo_therm", "disp_therm"],
+            "Coefficient":[0.9, 0.1],
+            "Offset":-700,
             "Multiplier":0.001
         },
         {
@@ -236,89 +94,43 @@
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "neutral_therm",
-                "quiet_therm"
-            ],
-            "Coefficient":[
-                "0.6",
-                "0.4"
-            ],
-            "Offset":-400,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["neutral_therm", "quiet_therm"],
+            "Coefficient":[0.3, 0.7],
+            "Offset":-500,
             "Multiplier":0.001
         },
         {
-            "Name":"VIRTUAL-NEUTRAL-USB",
+            "Name":"VIRTUAL-QI-QUIET",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "neutral_therm",
-                "usb_pwr_therm"
-            ],
-            "Coefficient":[
-                "0.6",
-                "0.4"
-            ],
-            "Offset":-4000,
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["qi_therm", "quiet_therm"],
+            "Coefficient":[0.3, 0.7],
+            "Offset":-1400,
+        },
+        {
+            "Name":"VIRTUAL-QI-DISP",
+            "Type":"UNKNOWN",
+            "Hidden":true,
+            "VirtualSensor":true,
+            "Formula":"WEIGHTED_AVG",
+            "Combination":["qi_therm","disp_therm"],
+            "Coefficient":[0.2, 0.8],
+            "Offset":-900,
             "Multiplier":0.001
         },
         {
             "Name":"VIRTUAL-SKIN",
             "Type":"SKIN",
+            "Version":"0.5",
             "VirtualSensor":true,
             "TriggerSensor":"quiet_therm",
             "Formula":"MAXIMUM",
-            "Combination":[
-                "VIRTUAL-QUIET-USB",
-                "VIRTUAL-USB-QUIET",
-                "VIRTUAL-GNSS-DISP"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0",
-                "1.0"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "39.0",
-                "43.0",
-                "45.0",
-                "46.5",
-                "52.0",
-                "55.0"
-            ],
-            "HotHysteresis":[
-                0.0,
-                1.9,
-                1.9,
-                1.9,
-                1.4,
-                1.9,
-                1.9
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["VIRTUAL-GNSS-QUIET", "VIRTUAL-USB-QUIET", "VIRTUAL-GNSS-DISP", "VIRTUAL-NEUTRAL-QUIET"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0],
+            "HotThreshold":["NAN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
+            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
             "Multiplier":0.001,
             "SendPowerHint":true,
             "Monitor":true,
@@ -326,22 +138,6 @@
             "PassiveDelay":7000,
             "BindedCdevInfo": [
                 {
-                    "CdevRequest": "thermal-cpufreq-0",
-                    "LimitInfo": [0, 0, 0, 7, 8, 10, 10]
-                },
-                {
-                    "CdevRequest": "thermal-cpufreq-1",
-                    "LimitInfo": [0, 0, 0, 10, 12, 14, 14]
-                },
-                {
-                    "CdevRequest": "thermal-cpufreq-2",
-                    "LimitInfo": [0, 0, 0, 15, 15, 17, 17]
-                },
-                {
-                    "CdevRequest": "thermal-gpufreq-0",
-                    "LimitInfo": [0, 0, 0, 9, 10, 11, 11]
-                },
-                {
                     "CdevRequest": "tpu_cooling",
                     "LimitInfo": [0, 2, 3, 4, 5, 5, 5]
                 },
@@ -352,38 +148,75 @@
             ]
         },
         {
+            "Name":"VIRTUAL-SKIN-CPU-GPU",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "TriggerSensor":"quiet_therm",
+            "Formula":"MAXIMUM",
+            "Combination":["VIRTUAL-GNSS-QUIET", "VIRTUAL-USB-QUIET", "VIRTUAL-GNSS-DISP", "VIRTUAL-NEUTRAL-QUIET"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0],
+            "HotThreshold":["NAN", 39.0, 42.0, 44.0, 46.5, 52.0, 55.0],
+            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9],
+            "Multiplier":0.001,
+            "PollingDelay":300000,
+            "PassiveDelay":7000,
+            "PIDInfo": {
+                "K_Po":["NAN", "NAN", 1800, 500, "NAN", "NAN", "NAN"],
+                "K_Pu":["NAN", "NAN", 1800, 500, "NAN", "NAN", "NAN"],
+                "K_I":["NAN", "NAN", 20, 0, "NAN", "NAN", "NAN"],
+                "K_D":["NAN", "NAN", 0, 0, "NAN", "NAN", "NAN"],
+                "I_Max":["NAN", "NAN", 1500, 0, "NAN", "NAN", "NAN"],
+                "S_Power":["NAN", "NAN", 2500, 1300, "NAN", "NAN", "NAN"],
+                "MinAllocPower":["NAN", "NAN", 2000, 800, "NAN", "NAN", "NAN"],
+                "MaxAllocPower":["NAN", "NAN", 10000, 4000, "NAN", "NAN", "NAN"],
+                "I_Cutoff":["NAN", "NAN", 2, 0, "NAN", "NAN", "NAN"],
+                "E_Integral_Default": 50
+            },
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "thermal-cpufreq-0",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S4M_VDD_CPUCL0",
+                    "LimitInfo": [0, 0, 0, 0, 8, 10, 10]
+                },
+                {
+                    "CdevRequest": "thermal-cpufreq-1",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S3M_VDD_CPUCL1",
+                    "LimitInfo": [0, 0, 0, 0, 12, 14, 14]
+                },
+                {
+                    "CdevRequest": "thermal-cpufreq-2",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S2M_VDD_CPUCL2",
+                    "LimitInfo": [0, 0, 0, 0, 15, 17, 17]
+                },
+                {
+                    "CdevRequest": "thermal-gpufreq-0",
+                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
+                    "MaxReleaseStep": 1,
+                    "MaxThrottleStep": 1,
+                    "BindedPowerRail": "S2S_VDD_G3D",
+                    "LimitInfo": [0, 0, 0, 0, 10, 11, 11]
+                }
+            ]
+        },
+        {
             "Name":"VIRTUAL-SKIN-CHARGE",
             "Type":"UNKNOWN",
             "VirtualSensor":true,
             "TriggerSensor":"quiet_therm",
             "Formula":"MAXIMUM",
-            "Combination":[
-                "VIRTUAL-NEUTRAL-QUIET",
-                "VIRTUAL-NEUTRAL-USB"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "39.0",
-                "41.0",
-                "43.0",
-                "45.0",
-                "47.0",
-                "55.0"
-            ],
-            "HotHysteresis":[
-                0.0,
-                1.9,
-                1.9,
-                1.9,
-                1.9,
-                1.9,
-                1.9
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["VIRTUAL-QI-QUIET", "VIRTUAL-QI-DISP"],
+            "Coefficient":[1.0, 1.0],
+            "HotThreshold":["NAN", 39.0, 41.0, 43.0, 45.0, 47.0, 55.0],
+            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9],
             "Multiplier":0.001,
             "Monitor":true,
             "PollingDelay":300000,
@@ -424,113 +257,101 @@
             "VirtualSensor":true,
             "TriggerSensor":"quiet_therm",
             "Formula":"MAXIMUM",
-            "Combination":[
-                "VIRTUAL-QUIET-USB",
-                "VIRTUAL-USB-QUIET",
-                "VIRTUAL-GNSS-DISP"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0",
-                "1.0"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "54.0",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                1.9,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["VIRTUAL-GNSS-QUIET", "VIRTUAL-USB-QUIET", "VIRTUAL-GNSS-DISP", "VIRTUAL-NEUTRAL-QUIET"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 54.0, "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
             "Multiplier":0.001,
             "Monitor":true,
             "PollingDelay":300000,
             "PassiveDelay":7000
         },
         {
-            "Name":"LITTLE",
-            "Type":"CPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
+            "Name":"USB-MINUS-USB2",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "Formula":"WEIGHTED_AVG",
+            "Combination":["usb_pwr_therm", "usb_pwr_therm2"],
+            "Coefficient":[1.0, -1.0],
+            "Multiplier":0.001
+        },
+        {
+            "Name":"USB-MINUS-NEUTRAL",
+            "Type":"UNKNOWN",
+            "VirtualSensor":true,
+            "Formula":"WEIGHTED_AVG",
+            "Combination":["usb_pwr_therm", "neutral_therm"],
+            "Coefficient":[1.0, -1.0],
+            "Multiplier":0.001
+        },
+        {
+            "Name":"VIRTUAL-USB-THROTTLING",
+            "Type":"USB_PORT",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "usb_pwr_therm",
+            "Combination":["usb_pwr_therm", "USB-MINUS-USB2", "USB-MINUS-NEUTRAL"],
+            "Coefficient":[40000, 1500, 3000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "3.0", "NAN", "NAN"],
+            "BindedCdevInfo": [
+                {
+                    "CdevRequest": "usbc-port",
+                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
+                }
             ],
             "VrThreshold":"NAN",
+            "Multiplier":1,
+            "PollingDelay":60000,
+            "PassiveDelay":7000
+        },
+        {
+            "Name":"VIRTUAL-USB-UI",
+            "Type":"USB_PORT",
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "TriggerSensor": "usb_pwr_therm",
+            "Combination":["usb_pwr_therm", "USB-MINUS-USB2", "USB-MINUS-NEUTRAL"],
+            "Coefficient":[42000, 2000, 4000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "3.0", "NAN"],
+            "VrThreshold":"NAN",
+            "Multiplier":1,
+            "Monitor":true,
+            "PollingDelay":60000,
+            "PassiveDelay":7000
+        },
+        {
+            "Name":"LITTLE",
+            "Type":"CPU",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"MID",
             "Type":"CPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"BIG",
             "Type":"CPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"G3D",
             "Type":"GPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
+            "Multiplier":0.001
+        },
+        {
+            "Name":"TPU",
+            "Type":"NPU",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 115.0],
             "Multiplier":0.001
         },
         {
             "Name":"battery_cycle",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
             "Multiplier":1,
             "Monitor":false
         },
@@ -540,26 +361,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "vdroop1",
-            "Combination":[
-                "battery",
-                "battery_cycle",
-                "vdroop1"
-            ],
-            "Coefficient":[
-                "-10000",
-                "400",
-                "1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.00,
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["battery", "battery_cycle", "vdroop1"],
+            "Coefficient":[-10000, 400, 1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 3.00, "NAN"],
             "Multiplier":1,
             "Monitor":true
         },
@@ -569,26 +373,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "vdroop1",
-            "Combination":[
-                "battery",
-                "battery_cycle",
-                "vdroop1"
-            ],
-            "Coefficient":[
-                "-10000",
-                "400",
-                "1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.00,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["battery", "battery_cycle", "vdroop1"],
+            "Coefficient":[-10000, 400, 1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.00, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "SendPowerHint":true
@@ -596,19 +383,8 @@
         {
             "Name":"soc",
             "Type":"BCL_PERCENTAGE",
-            "HotThreshold":[
-                "NAN",
-                20,
-                80,
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
             "Multiplier":1,
-            "PollingDelay":60000,
-            "PassiveDelay":7000,
             "Monitor":true
         },
         {
@@ -617,24 +393,9 @@
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
             "TriggerSensor": "ocp_tpu",
-            "Combination":[
-                "ocp_tpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "1",
-                "-10"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                13000,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["ocp_tpu", "battery"],
+            "Coefficient":[1, -10],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -651,24 +412,9 @@
             "VirtualSensor":true,
             "Formula":"WEIGHTED_AVG",
             "TriggerSensor": "ocp_gpu",
-            "Combination":[
-                "ocp_gpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "1",
-                "-10"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                13000,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["ocp_gpu", "battery"],
+            "Coefficient":[1, -10],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -685,26 +431,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "batoilo",
-            "Combination":[
-                "batoilo",
-                "ocp_gpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "5000",
-                "12000",
-                "-1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["batoilo", "ocp_gpu", "battery"],
+            "Coefficient":[5000, 12000, -1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN",  3.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -721,26 +450,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "batoilo",
-            "Combination":[
-                "batoilo",
-                "ocp_tpu",
-                "battery"
-            ],
-            "Coefficient":[
-                "5000",
-                "12000",
-                "-1000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                3.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["batoilo", "ocp_tpu", "battery"],
+            "Coefficient":[5000, 12000, -1000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -757,24 +469,9 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "batoilo",
-            "Combination":[
-                "batoilo",
-                "ocp_gpu"
-            ],
-            "Coefficient":[
-                "5000",
-                "12000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                2.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["batoilo", "ocp_gpu"],
+            "Coefficient":[5000, 12000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -795,20 +492,8 @@
                 "batoilo",
                 "ocp_tpu"
             ],
-            "Coefficient":[
-                "5000",
-                "12000"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                2.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Coefficient":[5000, 12000],
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -822,25 +507,8 @@
         {
             "Name":"batoilo",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                5000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 5000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -857,49 +525,17 @@
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
             "TriggerSensor": "soc",
-            "Combination":[
-                "battery",
-                "soc"
-            ],
-            "Coefficient":[
-                "-25000",
-                "80"
-            ],
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                2.0,
-                "NAN",
-                "NAN"
-            ],
-            "VrThreshold":"NAN",
+            "Combination":["battery", "soc"],
+            "Coefficient":[-25000, 80],
+            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"vdroop1",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                1000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -921,25 +557,8 @@
         {
             "Name":"vdroop2",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                1200,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1200, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -961,25 +580,8 @@
         {
             "Name":"smpl_gm",
             "Type":"BCL_VOLTAGE",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                1100,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1100, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true,
             "PassiveDelay":500,
@@ -1001,217 +603,66 @@
         {
             "Name":"ocp_cpu1",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                8000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"ocp_cpu2",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"ocp_tpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"ocp_gpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"soft_ocp_cpu2",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                12000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"soft_ocp_cpu1",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                8000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Monitor":true
         },
         {
             "Name":"soft_ocp_tpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                8500,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8500, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
         },
         {
             "Name":"soft_ocp_gpu",
             "Type":"BCL_CURRENT",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                9000,
-                "NAN",
-                "NAN"
-            ],
-            "HotHysteresis":[
-                0.0,
-                0.0,
-                0.0,
-                0.0,
-                100,
-                0.0,
-                0.0
-            ],
-            "VrThreshold":"NAN",
+            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 9000, "NAN", "NAN"],
+            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
             "Multiplier":1,
             "Hidden":true
-        },
-        {
-            "Name":"TPU",
-            "Type":"NPU",
-            "HotThreshold":[
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                "NAN",
-                115.0
-            ],
-            "VrThreshold":"NAN",
-            "Multiplier":0.001
         }
     ],
     "CoolingDevices":[
@@ -1219,25 +670,25 @@
             "Name":"thermal-cpufreq-0",
             "Type":"CPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
-            "State2Power":["1100", "1050", "1000", "950", "900", "850", "800", "750", "700", "650", "600"]
+            "State2Power":[1100, 1050, 1000, 950, 900, 850, 800, 750, 700, 650, 600]
         },
         {
             "Name":"thermal-cpufreq-1",
             "Type":"CPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
-            "State2Power":["1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "State2Power":[1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
         },
         {
             "Name":"thermal-cpufreq-2",
             "Type":"CPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
-            "State2Power":["1450", "1400", "1350", "1300", "1250", "1200", "1150", "1100", "1050", "1000", "950", "900", "850", "800", "750"]
+            "State2Power":[1450, 1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
         },
         {
             "Name":"thermal-gpufreq-0",
             "Type":"GPU",
             "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
-            "State2Power":["4599", "3727", "3259", "2378", "2044", "1813", "1449", "1223", "1007", "804", "633", "452"]
+            "State2Power":[4599, 3727, 3259, 2378, 2044, 1813, 1449, 1223, 1007, 804, 633, 452]
         },
         {
             "Name":"fcc",
@@ -1252,6 +703,10 @@
             "Type":"BATTERY"
         },
         {
+            "Name":"usbc-port",
+            "Type":"BATTERY"
+        },
+        {
             "Name":"tpu_cooling",
             "Type":"NPU",
             "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
@@ -1271,19 +726,19 @@
         },
         {
             "Name":"S2M_VDD_CPUCL2",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
 
         },
         {
             "Name":"S3M_VDD_CPUCL1",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
         },
         {
             "Name":"S4M_VDD_CPUCL0",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
         },
         {
             "Name":"S5M_VDD_INT"
@@ -1293,31 +748,15 @@
         },
         {
             "Name":"S2S_VDD_G3D",
-            "PowerSampleDelay":14000,
-            "PowerSampleCount":5
+            "PowerSampleDelay":7000,
+            "PowerSampleCount":1
         },
         {
             "Name":"POWER_FOR_CHARGING_THROTTLING",
             "VirtualRails":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":[
-                "VSYS_PWR_MODEM",
-                "S2M_VDD_CPUCL2",
-                "S3M_VDD_CPUCL1",
-                "S4M_VDD_CPUCL0",
-                "S5M_VDD_INT",
-                "S1M_VDD_MIF",
-                "S2S_VDD_G3D"
-            ],
-            "Coefficient":[
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0",
-                "1.0"
-            ],
+            "Combination":["VSYS_PWR_MODEM", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S1M_VDD_MIF", "S2S_VDD_G3D"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
             "PowerSampleDelay":14000,
             "PowerSampleCount":5
         }
diff --git a/thermal_info_config_ravenclaw.json b/thermal_info_config_ravenclaw.json
index ba85ef8..85d91b7 100644
--- a/thermal_info_config_ravenclaw.json
+++ b/thermal_info_config_ravenclaw.json
@@ -140,7 +140,7 @@
             "Type":"BCL_PERCENTAGE",
             "HotThreshold":[
                 "NAN",
-                20,
+                "NAN",
                 80,
                 "NAN",
                 "NAN",
@@ -149,8 +149,6 @@
             ],
             "VrThreshold":"NAN",
             "Multiplier":1,
-            "PollingDelay":60000,
-            "PassiveDelay":7000,
             "Monitor":true
         },
         {