Merge "Attestation values for aosp_husky" into main
diff --git a/audio/husky/aidl_config/audio_platform_configuration.xml b/audio/husky/aidl_config/audio_platform_configuration.xml
index b34566d..226cf26 100644
--- a/audio/husky/aidl_config/audio_platform_configuration.xml
+++ b/audio/husky/aidl_config/audio_platform_configuration.xml
@@ -107,6 +107,212 @@
     </enablement>
   </spatialCapture>
 
+  <microphones>
+    <microphone id="builtin_mic_1" location="MAINBODY" group="0" indexInTheGroup="0"
+      directionality="OMNI">
+      <device type="IN_MICROPHONE" address="bottom" />
+      <sensitivity levelDbfs="37.0" maxSplDb="132.5" minSplDb="28.5" />
+      <position x="0.0269" y="0.0058" z="0.0079" />
+      <orientation x="0.0" y="0.0" z="1.0" />
+      <frequencyResponse>
+        <point frequencyHz="100.00" levelDb="-0.78" />
+        <point frequencyHz="106.00" levelDb="-0.71" />
+        <point frequencyHz="112.00" levelDb="-0.64" />
+        <point frequencyHz="118.00" levelDb="-0.60" />
+        <point frequencyHz="125.00" levelDb="-0.55" />
+        <point frequencyHz="132.00" levelDb="-0.50" />
+        <point frequencyHz="140.00" levelDb="-0.47" />
+        <point frequencyHz="150.00" levelDb="-0.42" />
+        <point frequencyHz="160.00" levelDb="-0.39" />
+        <point frequencyHz="170.00" levelDb="-0.36" />
+        <point frequencyHz="180.00" levelDb="-0.34" />
+        <point frequencyHz="190.00" levelDb="-0.33" />
+        <point frequencyHz="200.00" levelDb="-0.32" />
+        <point frequencyHz="212.00" levelDb="-0.29" />
+        <point frequencyHz="224.00" levelDb="-0.28" />
+        <point frequencyHz="236.00" levelDb="-0.28" />
+        <point frequencyHz="250.00" levelDb="-0.27" />
+        <point frequencyHz="265.00" levelDb="-0.25" />
+        <point frequencyHz="280.00" levelDb="-0.25" />
+        <point frequencyHz="300.00" levelDb="-0.24" />
+        <point frequencyHz="315.00" levelDb="-0.23" />
+        <point frequencyHz="335.00" levelDb="-0.23" />
+        <point frequencyHz="355.00" levelDb="-0.22" />
+        <point frequencyHz="375.00" levelDb="-0.22" />
+        <point frequencyHz="400.00" levelDb="-0.19" />
+        <point frequencyHz="425.00" levelDb="-0.17" />
+        <point frequencyHz="450.00" levelDb="-0.15" />
+        <point frequencyHz="475.00" levelDb="-0.15" />
+        <point frequencyHz="500.00" levelDb="-0.14" />
+        <point frequencyHz="530.00" levelDb="-0.14" />
+        <point frequencyHz="560.00" levelDb="-0.12" />
+        <point frequencyHz="600.00" levelDb="-0.11" />
+        <point frequencyHz="630.00" levelDb="-0.10" />
+        <point frequencyHz="670.00" levelDb="-0.10" />
+        <point frequencyHz="710.00" levelDb="-0.08" />
+        <point frequencyHz="750.00" levelDb="-0.07" />
+        <point frequencyHz="800.00" levelDb="-0.07" />
+        <point frequencyHz="850.00" levelDb="-0.04" />
+        <point frequencyHz="900.00" levelDb="-0.03" />
+        <point frequencyHz="950.00" levelDb="-0.01" />
+        <point frequencyHz="1000.00" levelDb="0.00" />
+        <point frequencyHz="1060.00" levelDb="0.04" />
+        <point frequencyHz="1120.00" levelDb="0.06" />
+        <point frequencyHz="1180.00" levelDb="0.07" />
+        <point frequencyHz="1250.00" levelDb="0.08" />
+        <point frequencyHz="1320.00" levelDb="0.13" />
+        <point frequencyHz="1400.00" levelDb="0.09" />
+        <point frequencyHz="1500.00" levelDb="0.14" />
+        <point frequencyHz="1600.00" levelDb="0.19" />
+        <point frequencyHz="1700.00" levelDb="0.23" />
+        <point frequencyHz="1800.00" levelDb="0.28" />
+        <point frequencyHz="1900.00" levelDb="0.29" />
+        <point frequencyHz="2000.00" levelDb="0.31" />
+        <point frequencyHz="2120.00" levelDb="0.37" />
+        <point frequencyHz="2240.00" levelDb="0.88" />
+        <point frequencyHz="2360.00" levelDb="0.86" />
+        <point frequencyHz="2500.00" levelDb="0.77" />
+        <point frequencyHz="2650.00" levelDb="0.78" />
+        <point frequencyHz="2800.00" levelDb="0.84" />
+        <point frequencyHz="3000.00" levelDb="0.86" />
+        <point frequencyHz="3150.00" levelDb="1.05" />
+        <point frequencyHz="3350.00" levelDb="1.12" />
+        <point frequencyHz="3550.00" levelDb="1.18" />
+        <point frequencyHz="3750.00" levelDb="1.25" />
+        <point frequencyHz="4000.00" levelDb="1.43" />
+        <point frequencyHz="4250.00" levelDb="1.66" />
+        <point frequencyHz="4500.00" levelDb="1.83" />
+        <point frequencyHz="4750.00" levelDb="2.02" />
+        <point frequencyHz="5000.00" levelDb="2.23" />
+        <point frequencyHz="5300.00" levelDb="2.59" />
+        <point frequencyHz="5600.00" levelDb="2.84" />
+        <point frequencyHz="6000.00" levelDb="3.35" />
+        <point frequencyHz="6300.00" levelDb="4.01" />
+        <point frequencyHz="6700.00" levelDb="6.82" />
+        <point frequencyHz="7100.00" levelDb="6.62" />
+        <point frequencyHz="7500.00" levelDb="6.42" />
+        <point frequencyHz="8000.00" levelDb="7.30" />
+        <point frequencyHz="8500.00" levelDb="8.23" />
+        <point frequencyHz="9000.00" levelDb="7.54" />
+        <point frequencyHz="9500.00" levelDb="12.68" />
+        <point frequencyHz="10000.00" levelDb="13.76" />
+        <point frequencyHz="10600.00" levelDb="18.69" />
+        <point frequencyHz="11200.00" levelDb="19.68" />
+        <point frequencyHz="11800.00" levelDb="20.90" />
+        <point frequencyHz="12500.00" levelDb="23.70" />
+        <point frequencyHz="13200.00" levelDb="25.10" />
+        <point frequencyHz="14000.00" levelDb="21.65" />
+        <point frequencyHz="15000.00" levelDb="16.18" />
+        <point frequencyHz="16000.00" levelDb="18.84" />
+        <point frequencyHz="17000.00" levelDb="25.44" />
+        <point frequencyHz="18000.00" levelDb="23.48" />
+        <point frequencyHz="19000.00" levelDb="23.22" />
+        <point frequencyHz="20000.00" levelDb="24.89" />
+      </frequencyResponse>
+    </microphone>
+    <microphone id="builtin_mic_2" location="MAINBODY" group="0" indexInTheGroup="1"
+      directionality="OMNI">
+      <device type="IN_MICROPHONE_BACK" address="back" />
+      <sensitivity levelDbfs="-37.0" maxSplDb="132.5" minSplDb="28.5" />
+      <position x="0.0546" y="0.1456" z="0.00415" />
+      <orientation x="0.0" y="1.0" z="0.0" />
+      <frequencyResponse>
+        <point frequencyHz="106.00" levelDb="-0.75" />
+        <point frequencyHz="112.00" levelDb="-0.74" />
+        <point frequencyHz="118.00" levelDb="-0.69" />
+        <point frequencyHz="125.00" levelDb="-0.65" />
+        <point frequencyHz="132.00" levelDb="-0.62" />
+        <point frequencyHz="140.00" levelDb="-0.61" />
+        <point frequencyHz="150.00" levelDb="-0.56" />
+        <point frequencyHz="160.00" levelDb="-0.53" />
+        <point frequencyHz="170.00" levelDb="-0.50" />
+        <point frequencyHz="180.00" levelDb="-0.47" />
+        <point frequencyHz="190.00" levelDb="-0.43" />
+        <point frequencyHz="200.00" levelDb="-0.40" />
+        <point frequencyHz="212.00" levelDb="-0.37" />
+        <point frequencyHz="224.00" levelDb="-0.36" />
+        <point frequencyHz="236.00" levelDb="-0.33" />
+        <point frequencyHz="250.00" levelDb="-0.30" />
+        <point frequencyHz="265.00" levelDb="-0.28" />
+        <point frequencyHz="280.00" levelDb="-0.25" />
+        <point frequencyHz="300.00" levelDb="-0.24" />
+        <point frequencyHz="315.00" levelDb="-0.24" />
+        <point frequencyHz="335.00" levelDb="-0.24" />
+        <point frequencyHz="355.00" levelDb="-0.25" />
+        <point frequencyHz="375.00" levelDb="-0.24" />
+        <point frequencyHz="400.00" levelDb="-0.12" />
+        <point frequencyHz="425.00" levelDb="-0.10" />
+        <point frequencyHz="450.00" levelDb="-0.08" />
+        <point frequencyHz="475.00" levelDb="-0.09" />
+        <point frequencyHz="500.00" levelDb="-0.07" />
+        <point frequencyHz="530.00" levelDb="-0.07" />
+        <point frequencyHz="560.00" levelDb="-0.06" />
+        <point frequencyHz="600.00" levelDb="-0.06" />
+        <point frequencyHz="630.00" levelDb="-0.06" />
+        <point frequencyHz="670.00" levelDb="-0.05" />
+        <point frequencyHz="710.00" levelDb="-0.04" />
+        <point frequencyHz="750.00" levelDb="-0.05" />
+        <point frequencyHz="800.00" levelDb="-0.04" />
+        <point frequencyHz="850.00" levelDb="-0.01" />
+        <point frequencyHz="900.00" levelDb="0.02" />
+        <point frequencyHz="950.00" levelDb="0.02" />
+        <point frequencyHz="1000.00" levelDb="0.00" />
+        <point frequencyHz="1060.00" levelDb="0.02" />
+        <point frequencyHz="1120.00" levelDb="0.03" />
+        <point frequencyHz="1180.00" levelDb="0.07" />
+        <point frequencyHz="1250.00" levelDb="0.10" />
+        <point frequencyHz="1320.00" levelDb="0.10" />
+        <point frequencyHz="1400.00" levelDb="0.13" />
+        <point frequencyHz="1500.00" levelDb="0.01" />
+        <point frequencyHz="1600.00" levelDb="0.01" />
+        <point frequencyHz="1700.00" levelDb="0.10" />
+        <point frequencyHz="1800.00" levelDb="0.11" />
+        <point frequencyHz="1900.00" levelDb="0.19" />
+        <point frequencyHz="2000.00" levelDb="0.24" />
+        <point frequencyHz="2120.00" levelDb="0.38" />
+        <point frequencyHz="2240.00" levelDb="0.46" />
+        <point frequencyHz="2360.00" levelDb="0.26" />
+        <point frequencyHz="2500.00" levelDb="0.27" />
+        <point frequencyHz="2650.00" levelDb="0.43" />
+        <point frequencyHz="2800.00" levelDb="0.76" />
+        <point frequencyHz="3000.00" levelDb="0.75" />
+        <point frequencyHz="3150.00" levelDb="1.09" />
+        <point frequencyHz="3350.00" levelDb="1.09" />
+        <point frequencyHz="3550.00" levelDb="0.94" />
+        <point frequencyHz="3750.00" levelDb="1.06" />
+        <point frequencyHz="4000.00" levelDb="1.21" />
+        <point frequencyHz="4250.00" levelDb="1.47" />
+        <point frequencyHz="4500.00" levelDb="1.45" />
+        <point frequencyHz="4750.00" levelDb="1.36" />
+        <point frequencyHz="5000.00" levelDb="2.07" />
+        <point frequencyHz="5300.00" levelDb="2.85" />
+        <point frequencyHz="5600.00" levelDb="2.90" />
+        <point frequencyHz="6000.00" levelDb="3.85" />
+        <point frequencyHz="6300.00" levelDb="4.65" />
+        <point frequencyHz="6700.00" levelDb="5.84" />
+        <point frequencyHz="7100.00" levelDb="5.46" />
+        <point frequencyHz="7500.00" levelDb="6.15" />
+        <point frequencyHz="8000.00" levelDb="7.50" />
+        <point frequencyHz="8500.00" levelDb="8.30" />
+        <point frequencyHz="9000.00" levelDb="10.62" />
+        <point frequencyHz="9500.00" levelDb="12.70" />
+        <point frequencyHz="10000.00" levelDb="16.65" />
+        <point frequencyHz="10600.00" levelDb="20.95" />
+        <point frequencyHz="11200.00" levelDb="25.41" />
+        <point frequencyHz="11800.00" levelDb="26.32" />
+        <point frequencyHz="12500.00" levelDb="20.20" />
+        <point frequencyHz="13200.00" levelDb="16.60" />
+        <point frequencyHz="14000.00" levelDb="11.24" />
+        <point frequencyHz="15000.00" levelDb="7.85" />
+        <point frequencyHz="16000.00" levelDb="7.62" />
+        <point frequencyHz="17000.00" levelDb="20.19" />
+        <point frequencyHz="18000.00" levelDb="7.32" />
+        <point frequencyHz="19000.00" levelDb="2.87" />
+        <point frequencyHz="20000.00" levelDb="5.18" />
+      </frequencyResponse>
+    </microphone>
+  </microphones>
+
   <xi:include href="audio_policy_volumes.xml" />
   <xi:include href="default_volume_tables.xml" />
 </audioPlatformConfiguration>
diff --git a/audio/husky/config/bluetooth_with_le_audio_policy_configuration_7_0.xml b/audio/husky/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
index 8b2af59..efd7277 100644
--- a/audio/husky/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
+++ b/audio/husky/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
@@ -11,6 +11,7 @@
                      channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
         </mixPort>
         <!-- Le Audio Audio Ports -->
+        <mixPort name="le audio broadcast output" role="source" />
         <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
             <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                      samplingRates="44100 48000"
@@ -51,6 +52,7 @@
         <devicePort tagName="BLE Headset Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"/>
         <devicePort tagName="BLE Speaker Out" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"/>
         <devicePort tagName="BLE Headset In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"/>
+        <devicePort tagName="BLE Broadcast Out" type="AUDIO_DEVICE_OUT_BLE_BROADCAST" role="sink"/>
     </devicePorts>
     <routes>
         <route type="mix" sink="BT A2DP Out"
@@ -66,6 +68,8 @@
         <route type="mix" sink="le audio input"
                sources="BLE Headset In"/>
         <route type="mix" sink="BLE Speaker Out"
-               sources="le audio output"/>
+            sources="le audio output"/>
+        <route type="mix" sink="BLE Broadcast Out"
+            sources="le audio broadcast output"/>
     </routes>
 </module>
\ No newline at end of file
diff --git a/audio/ripcurrent/config/bluetooth_with_le_audio_policy_configuration_7_0.xml b/audio/ripcurrent/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
index 8b2af59..efd7277 100644
--- a/audio/ripcurrent/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
+++ b/audio/ripcurrent/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
@@ -11,6 +11,7 @@
                      channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
         </mixPort>
         <!-- Le Audio Audio Ports -->
+        <mixPort name="le audio broadcast output" role="source" />
         <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
             <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                      samplingRates="44100 48000"
@@ -51,6 +52,7 @@
         <devicePort tagName="BLE Headset Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"/>
         <devicePort tagName="BLE Speaker Out" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"/>
         <devicePort tagName="BLE Headset In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"/>
+        <devicePort tagName="BLE Broadcast Out" type="AUDIO_DEVICE_OUT_BLE_BROADCAST" role="sink"/>
     </devicePorts>
     <routes>
         <route type="mix" sink="BT A2DP Out"
@@ -66,6 +68,8 @@
         <route type="mix" sink="le audio input"
                sources="BLE Headset In"/>
         <route type="mix" sink="BLE Speaker Out"
-               sources="le audio output"/>
+            sources="le audio output"/>
+        <route type="mix" sink="BLE Broadcast Out"
+            sources="le audio broadcast output"/>
     </routes>
 </module>
\ No newline at end of file
diff --git a/audio/shiba/aidl_config/audio_platform_configuration.xml b/audio/shiba/aidl_config/audio_platform_configuration.xml
index b34566d..226cf26 100644
--- a/audio/shiba/aidl_config/audio_platform_configuration.xml
+++ b/audio/shiba/aidl_config/audio_platform_configuration.xml
@@ -107,6 +107,212 @@
     </enablement>
   </spatialCapture>
 
+  <microphones>
+    <microphone id="builtin_mic_1" location="MAINBODY" group="0" indexInTheGroup="0"
+      directionality="OMNI">
+      <device type="IN_MICROPHONE" address="bottom" />
+      <sensitivity levelDbfs="37.0" maxSplDb="132.5" minSplDb="28.5" />
+      <position x="0.0269" y="0.0058" z="0.0079" />
+      <orientation x="0.0" y="0.0" z="1.0" />
+      <frequencyResponse>
+        <point frequencyHz="100.00" levelDb="-0.78" />
+        <point frequencyHz="106.00" levelDb="-0.71" />
+        <point frequencyHz="112.00" levelDb="-0.64" />
+        <point frequencyHz="118.00" levelDb="-0.60" />
+        <point frequencyHz="125.00" levelDb="-0.55" />
+        <point frequencyHz="132.00" levelDb="-0.50" />
+        <point frequencyHz="140.00" levelDb="-0.47" />
+        <point frequencyHz="150.00" levelDb="-0.42" />
+        <point frequencyHz="160.00" levelDb="-0.39" />
+        <point frequencyHz="170.00" levelDb="-0.36" />
+        <point frequencyHz="180.00" levelDb="-0.34" />
+        <point frequencyHz="190.00" levelDb="-0.33" />
+        <point frequencyHz="200.00" levelDb="-0.32" />
+        <point frequencyHz="212.00" levelDb="-0.29" />
+        <point frequencyHz="224.00" levelDb="-0.28" />
+        <point frequencyHz="236.00" levelDb="-0.28" />
+        <point frequencyHz="250.00" levelDb="-0.27" />
+        <point frequencyHz="265.00" levelDb="-0.25" />
+        <point frequencyHz="280.00" levelDb="-0.25" />
+        <point frequencyHz="300.00" levelDb="-0.24" />
+        <point frequencyHz="315.00" levelDb="-0.23" />
+        <point frequencyHz="335.00" levelDb="-0.23" />
+        <point frequencyHz="355.00" levelDb="-0.22" />
+        <point frequencyHz="375.00" levelDb="-0.22" />
+        <point frequencyHz="400.00" levelDb="-0.19" />
+        <point frequencyHz="425.00" levelDb="-0.17" />
+        <point frequencyHz="450.00" levelDb="-0.15" />
+        <point frequencyHz="475.00" levelDb="-0.15" />
+        <point frequencyHz="500.00" levelDb="-0.14" />
+        <point frequencyHz="530.00" levelDb="-0.14" />
+        <point frequencyHz="560.00" levelDb="-0.12" />
+        <point frequencyHz="600.00" levelDb="-0.11" />
+        <point frequencyHz="630.00" levelDb="-0.10" />
+        <point frequencyHz="670.00" levelDb="-0.10" />
+        <point frequencyHz="710.00" levelDb="-0.08" />
+        <point frequencyHz="750.00" levelDb="-0.07" />
+        <point frequencyHz="800.00" levelDb="-0.07" />
+        <point frequencyHz="850.00" levelDb="-0.04" />
+        <point frequencyHz="900.00" levelDb="-0.03" />
+        <point frequencyHz="950.00" levelDb="-0.01" />
+        <point frequencyHz="1000.00" levelDb="0.00" />
+        <point frequencyHz="1060.00" levelDb="0.04" />
+        <point frequencyHz="1120.00" levelDb="0.06" />
+        <point frequencyHz="1180.00" levelDb="0.07" />
+        <point frequencyHz="1250.00" levelDb="0.08" />
+        <point frequencyHz="1320.00" levelDb="0.13" />
+        <point frequencyHz="1400.00" levelDb="0.09" />
+        <point frequencyHz="1500.00" levelDb="0.14" />
+        <point frequencyHz="1600.00" levelDb="0.19" />
+        <point frequencyHz="1700.00" levelDb="0.23" />
+        <point frequencyHz="1800.00" levelDb="0.28" />
+        <point frequencyHz="1900.00" levelDb="0.29" />
+        <point frequencyHz="2000.00" levelDb="0.31" />
+        <point frequencyHz="2120.00" levelDb="0.37" />
+        <point frequencyHz="2240.00" levelDb="0.88" />
+        <point frequencyHz="2360.00" levelDb="0.86" />
+        <point frequencyHz="2500.00" levelDb="0.77" />
+        <point frequencyHz="2650.00" levelDb="0.78" />
+        <point frequencyHz="2800.00" levelDb="0.84" />
+        <point frequencyHz="3000.00" levelDb="0.86" />
+        <point frequencyHz="3150.00" levelDb="1.05" />
+        <point frequencyHz="3350.00" levelDb="1.12" />
+        <point frequencyHz="3550.00" levelDb="1.18" />
+        <point frequencyHz="3750.00" levelDb="1.25" />
+        <point frequencyHz="4000.00" levelDb="1.43" />
+        <point frequencyHz="4250.00" levelDb="1.66" />
+        <point frequencyHz="4500.00" levelDb="1.83" />
+        <point frequencyHz="4750.00" levelDb="2.02" />
+        <point frequencyHz="5000.00" levelDb="2.23" />
+        <point frequencyHz="5300.00" levelDb="2.59" />
+        <point frequencyHz="5600.00" levelDb="2.84" />
+        <point frequencyHz="6000.00" levelDb="3.35" />
+        <point frequencyHz="6300.00" levelDb="4.01" />
+        <point frequencyHz="6700.00" levelDb="6.82" />
+        <point frequencyHz="7100.00" levelDb="6.62" />
+        <point frequencyHz="7500.00" levelDb="6.42" />
+        <point frequencyHz="8000.00" levelDb="7.30" />
+        <point frequencyHz="8500.00" levelDb="8.23" />
+        <point frequencyHz="9000.00" levelDb="7.54" />
+        <point frequencyHz="9500.00" levelDb="12.68" />
+        <point frequencyHz="10000.00" levelDb="13.76" />
+        <point frequencyHz="10600.00" levelDb="18.69" />
+        <point frequencyHz="11200.00" levelDb="19.68" />
+        <point frequencyHz="11800.00" levelDb="20.90" />
+        <point frequencyHz="12500.00" levelDb="23.70" />
+        <point frequencyHz="13200.00" levelDb="25.10" />
+        <point frequencyHz="14000.00" levelDb="21.65" />
+        <point frequencyHz="15000.00" levelDb="16.18" />
+        <point frequencyHz="16000.00" levelDb="18.84" />
+        <point frequencyHz="17000.00" levelDb="25.44" />
+        <point frequencyHz="18000.00" levelDb="23.48" />
+        <point frequencyHz="19000.00" levelDb="23.22" />
+        <point frequencyHz="20000.00" levelDb="24.89" />
+      </frequencyResponse>
+    </microphone>
+    <microphone id="builtin_mic_2" location="MAINBODY" group="0" indexInTheGroup="1"
+      directionality="OMNI">
+      <device type="IN_MICROPHONE_BACK" address="back" />
+      <sensitivity levelDbfs="-37.0" maxSplDb="132.5" minSplDb="28.5" />
+      <position x="0.0546" y="0.1456" z="0.00415" />
+      <orientation x="0.0" y="1.0" z="0.0" />
+      <frequencyResponse>
+        <point frequencyHz="106.00" levelDb="-0.75" />
+        <point frequencyHz="112.00" levelDb="-0.74" />
+        <point frequencyHz="118.00" levelDb="-0.69" />
+        <point frequencyHz="125.00" levelDb="-0.65" />
+        <point frequencyHz="132.00" levelDb="-0.62" />
+        <point frequencyHz="140.00" levelDb="-0.61" />
+        <point frequencyHz="150.00" levelDb="-0.56" />
+        <point frequencyHz="160.00" levelDb="-0.53" />
+        <point frequencyHz="170.00" levelDb="-0.50" />
+        <point frequencyHz="180.00" levelDb="-0.47" />
+        <point frequencyHz="190.00" levelDb="-0.43" />
+        <point frequencyHz="200.00" levelDb="-0.40" />
+        <point frequencyHz="212.00" levelDb="-0.37" />
+        <point frequencyHz="224.00" levelDb="-0.36" />
+        <point frequencyHz="236.00" levelDb="-0.33" />
+        <point frequencyHz="250.00" levelDb="-0.30" />
+        <point frequencyHz="265.00" levelDb="-0.28" />
+        <point frequencyHz="280.00" levelDb="-0.25" />
+        <point frequencyHz="300.00" levelDb="-0.24" />
+        <point frequencyHz="315.00" levelDb="-0.24" />
+        <point frequencyHz="335.00" levelDb="-0.24" />
+        <point frequencyHz="355.00" levelDb="-0.25" />
+        <point frequencyHz="375.00" levelDb="-0.24" />
+        <point frequencyHz="400.00" levelDb="-0.12" />
+        <point frequencyHz="425.00" levelDb="-0.10" />
+        <point frequencyHz="450.00" levelDb="-0.08" />
+        <point frequencyHz="475.00" levelDb="-0.09" />
+        <point frequencyHz="500.00" levelDb="-0.07" />
+        <point frequencyHz="530.00" levelDb="-0.07" />
+        <point frequencyHz="560.00" levelDb="-0.06" />
+        <point frequencyHz="600.00" levelDb="-0.06" />
+        <point frequencyHz="630.00" levelDb="-0.06" />
+        <point frequencyHz="670.00" levelDb="-0.05" />
+        <point frequencyHz="710.00" levelDb="-0.04" />
+        <point frequencyHz="750.00" levelDb="-0.05" />
+        <point frequencyHz="800.00" levelDb="-0.04" />
+        <point frequencyHz="850.00" levelDb="-0.01" />
+        <point frequencyHz="900.00" levelDb="0.02" />
+        <point frequencyHz="950.00" levelDb="0.02" />
+        <point frequencyHz="1000.00" levelDb="0.00" />
+        <point frequencyHz="1060.00" levelDb="0.02" />
+        <point frequencyHz="1120.00" levelDb="0.03" />
+        <point frequencyHz="1180.00" levelDb="0.07" />
+        <point frequencyHz="1250.00" levelDb="0.10" />
+        <point frequencyHz="1320.00" levelDb="0.10" />
+        <point frequencyHz="1400.00" levelDb="0.13" />
+        <point frequencyHz="1500.00" levelDb="0.01" />
+        <point frequencyHz="1600.00" levelDb="0.01" />
+        <point frequencyHz="1700.00" levelDb="0.10" />
+        <point frequencyHz="1800.00" levelDb="0.11" />
+        <point frequencyHz="1900.00" levelDb="0.19" />
+        <point frequencyHz="2000.00" levelDb="0.24" />
+        <point frequencyHz="2120.00" levelDb="0.38" />
+        <point frequencyHz="2240.00" levelDb="0.46" />
+        <point frequencyHz="2360.00" levelDb="0.26" />
+        <point frequencyHz="2500.00" levelDb="0.27" />
+        <point frequencyHz="2650.00" levelDb="0.43" />
+        <point frequencyHz="2800.00" levelDb="0.76" />
+        <point frequencyHz="3000.00" levelDb="0.75" />
+        <point frequencyHz="3150.00" levelDb="1.09" />
+        <point frequencyHz="3350.00" levelDb="1.09" />
+        <point frequencyHz="3550.00" levelDb="0.94" />
+        <point frequencyHz="3750.00" levelDb="1.06" />
+        <point frequencyHz="4000.00" levelDb="1.21" />
+        <point frequencyHz="4250.00" levelDb="1.47" />
+        <point frequencyHz="4500.00" levelDb="1.45" />
+        <point frequencyHz="4750.00" levelDb="1.36" />
+        <point frequencyHz="5000.00" levelDb="2.07" />
+        <point frequencyHz="5300.00" levelDb="2.85" />
+        <point frequencyHz="5600.00" levelDb="2.90" />
+        <point frequencyHz="6000.00" levelDb="3.85" />
+        <point frequencyHz="6300.00" levelDb="4.65" />
+        <point frequencyHz="6700.00" levelDb="5.84" />
+        <point frequencyHz="7100.00" levelDb="5.46" />
+        <point frequencyHz="7500.00" levelDb="6.15" />
+        <point frequencyHz="8000.00" levelDb="7.50" />
+        <point frequencyHz="8500.00" levelDb="8.30" />
+        <point frequencyHz="9000.00" levelDb="10.62" />
+        <point frequencyHz="9500.00" levelDb="12.70" />
+        <point frequencyHz="10000.00" levelDb="16.65" />
+        <point frequencyHz="10600.00" levelDb="20.95" />
+        <point frequencyHz="11200.00" levelDb="25.41" />
+        <point frequencyHz="11800.00" levelDb="26.32" />
+        <point frequencyHz="12500.00" levelDb="20.20" />
+        <point frequencyHz="13200.00" levelDb="16.60" />
+        <point frequencyHz="14000.00" levelDb="11.24" />
+        <point frequencyHz="15000.00" levelDb="7.85" />
+        <point frequencyHz="16000.00" levelDb="7.62" />
+        <point frequencyHz="17000.00" levelDb="20.19" />
+        <point frequencyHz="18000.00" levelDb="7.32" />
+        <point frequencyHz="19000.00" levelDb="2.87" />
+        <point frequencyHz="20000.00" levelDb="5.18" />
+      </frequencyResponse>
+    </microphone>
+  </microphones>
+
   <xi:include href="audio_policy_volumes.xml" />
   <xi:include href="default_volume_tables.xml" />
 </audioPlatformConfiguration>
diff --git a/audio/shiba/aidl_config/audio_policy_volumes.xml b/audio/shiba/aidl_config/audio_policy_volumes.xml
index 3fe738d..b087a21 100644
--- a/audio/shiba/aidl_config/audio_policy_volumes.xml
+++ b/audio/shiba/aidl_config/audio_policy_volumes.xml
@@ -51,8 +51,14 @@
         <point>66,-2200</point>
         <point>100,-1800</point>
     </volume>
-    <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER"
-                                         ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+        <point>1,-4500</point>
+        <point>29,-3400</point>
+        <point>57,-2250</point>
+        <point>71,-1900</point>
+        <point>86,-1530</point>
+        <point>100,-1100</point>
+    </volume>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
                                          ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_SYSTEM" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
@@ -62,9 +68,12 @@
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                        ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>1,-2970</point>
-        <point>33,-2010</point>
-        <point>66,-1020</point>
+        <point>1,-4000</point>
+        <point>29,-2950</point>
+        <point>43,-2350</point>
+        <point>57,-1850</point>
+        <point>71,-1400</point>
+        <point>86,-700</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_RING" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -76,31 +85,31 @@
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                         ref="DEFAULT_MEDIA_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>1,-6438</point>
-        <point>4,-6438</point>
-        <point>8,-5961</point>
-        <point>12,-5543</point>
-        <point>16,-5167</point>
-        <point>20,-4743</point>
-        <point>24,-4391</point>
-        <point>28,-4061</point>
-        <point>32,-3871</point>
-        <point>36,-3673</point>
-        <point>40,-3471</point>
-        <point>44,-3273</point>
-        <point>48,-3065</point>
-        <point>52,-2850</point>
-        <point>56,-2618</point>
-        <point>60,-2355</point>
-        <point>64,-2060</point>
-        <point>68,-1773</point>
-        <point>72,-1482</point>
-        <point>76,-1205</point>
-        <point>80,-989</point>
-        <point>84,-791</point>
-        <point>88,-578</point>
-        <point>92,-374</point>
-        <point>96,-137</point>
+        <point>1,-5927</point>
+        <point>4,-5927</point>
+        <point>8,-5574</point>
+        <point>12,-5281</point>
+        <point>16,-4952</point>
+        <point>20,-4562</point>
+        <point>24,-4213</point>
+        <point>28,-3838</point>
+        <point>32,-3600</point>
+        <point>36,-3385</point>
+        <point>40,-3116</point>
+        <point>44,-2927</point>
+        <point>48,-2665</point>
+        <point>52,-2436</point>
+        <point>56,-2181</point>
+        <point>60,-1985</point>
+        <point>64,-1743</point>
+        <point>68,-1553</point>
+        <point>72,-1427</point>
+        <point>76,-1166</point>
+        <point>80,-1045</point>
+        <point>84,-895</point>
+        <point>88,-644</point>
+        <point>92,-486</point>
+        <point>96,-209</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_MUSIC" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -112,9 +121,11 @@
     <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                         ref="DEFAULT_NON_MUTABLE_HEADSET_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>0,-2970</point>
-        <point>33,-2010</point>
-        <point>66,-1020</point>
+        <point>0,-5600</point>
+        <point>29,-3520</point>
+        <point>57,-1500</point>
+        <point>71,-1150</point>
+        <point>86,-500</point>
         <point>100,0</point>
     </volume>
     <volume stream="AUDIO_STREAM_ALARM" deviceCategory="DEVICE_CATEGORY_EARPIECE"
@@ -126,10 +137,11 @@
     <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_HEADSET"
                                                ref="DEFAULT_DEVICE_CATEGORY_HEADSET_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_SPEAKER">
-        <point>1,-2970</point>
-        <point>33,-2010</point>
-        <point>66,-1020</point>
-        <point>100,0</point>
+        <point>1,-4500</point>
+        <point>29,-3800</point>
+        <point>71,-1850</point>
+        <point>86,-1000</point>
+        <point>100,-500</point>
     </volume>
     <volume stream="AUDIO_STREAM_NOTIFICATION" deviceCategory="DEVICE_CATEGORY_EARPIECE"
                                                ref="DEFAULT_DEVICE_CATEGORY_EARPIECE_VOLUME_CURVE"/>
@@ -165,8 +177,14 @@
         <point>66,-2200</point>
         <point>100,-1800</point>
     </volume>
-    <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER"
-                                                   ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+        <point>1,-4500</point>
+        <point>29,-3400</point>
+        <point>57,-2250</point>
+        <point>71,-1900</point>
+        <point>86,-1530</point>
+        <point>100,-1100</point>
+    </volume>
     <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EARPIECE"
                                                    ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_ENFORCED_AUDIBLE" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
@@ -179,8 +197,14 @@
         <point>66,-2200</point>
         <point>100,-1800</point>
     </volume>
-    <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER"
-                                       ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
+    <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_SPEAKER">
+        <point>1,-5700</point>
+        <point>29,-4230</point>
+        <point>43,-3300</point>
+        <point>57,-3100</point>
+        <point>71,-2500</point>
+        <point>100,-1400</point>
+    </volume>
     <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EARPIECE"
                                        ref="DEFAULT_SYSTEM_VOLUME_CURVE"/>
     <volume stream="AUDIO_STREAM_DTMF" deviceCategory="DEVICE_CATEGORY_EXT_MEDIA"
diff --git a/audio/shiba/aidl_config/mixer_paths_aidl.xml b/audio/shiba/aidl_config/mixer_paths_aidl.xml
index d970e8e..f42674f 100644
--- a/audio/shiba/aidl_config/mixer_paths_aidl.xml
+++ b/audio/shiba/aidl_config/mixer_paths_aidl.xml
@@ -1480,7 +1480,7 @@
   <path name="adapted-voice-speaker">
     <ctl name="R Boost Peak Current Limit" value="3.50A" />
     <ctl name="Boost Peak Current Limit" value="3.50A" />
-    <ctl name="Digital PCM Volume" value="800" />
+    <ctl name="Digital PCM Volume" value="817" />
     <ctl name="R Digital PCM Volume" value="817" />
   </path>
   <path name="adapted-voice-speaker-battery-throttled">
diff --git a/audio/shiba/config/bluetooth_with_le_audio_policy_configuration_7_0.xml b/audio/shiba/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
index 8b2af59..efd7277 100644
--- a/audio/shiba/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
+++ b/audio/shiba/config/bluetooth_with_le_audio_policy_configuration_7_0.xml
@@ -11,6 +11,7 @@
                      channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
         </mixPort>
         <!-- Le Audio Audio Ports -->
+        <mixPort name="le audio broadcast output" role="source" />
         <mixPort name="le audio output" role="source" flags="AUDIO_OUTPUT_FLAG_SPATIALIZER">
             <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                      samplingRates="44100 48000"
@@ -51,6 +52,7 @@
         <devicePort tagName="BLE Headset Out" type="AUDIO_DEVICE_OUT_BLE_HEADSET" role="sink"/>
         <devicePort tagName="BLE Speaker Out" type="AUDIO_DEVICE_OUT_BLE_SPEAKER" role="sink"/>
         <devicePort tagName="BLE Headset In" type="AUDIO_DEVICE_IN_BLE_HEADSET" role="source"/>
+        <devicePort tagName="BLE Broadcast Out" type="AUDIO_DEVICE_OUT_BLE_BROADCAST" role="sink"/>
     </devicePorts>
     <routes>
         <route type="mix" sink="BT A2DP Out"
@@ -66,6 +68,8 @@
         <route type="mix" sink="le audio input"
                sources="BLE Headset In"/>
         <route type="mix" sink="BLE Speaker Out"
-               sources="le audio output"/>
+            sources="le audio output"/>
+        <route type="mix" sink="BLE Broadcast Out"
+            sources="le audio broadcast output"/>
     </routes>
 </module>
\ No newline at end of file
diff --git a/bluetooth/bt_vendor_overlay.conf b/bluetooth/bt_vendor_overlay.conf
index df3cab7..172d66d 100644
--- a/bluetooth/bt_vendor_overlay.conf
+++ b/bluetooth/bt_vendor_overlay.conf
@@ -40,3 +40,5 @@
 BtA2dpOffloadCap = sbc-aac-aptx-aptxhd-ldac-opus
 
 BtOpusEnabled = true
+
+BtHalRecoveryByRestart = true
diff --git a/conf/init.husky.rc b/conf/init.husky.rc
index ffd9bd8..3479e7c 100644
--- a/conf/init.husky.rc
+++ b/conf/init.husky.rc
@@ -41,6 +41,7 @@
 # Bluetooth
 on post-fs-data
     chown bluetooth system /proc/bluetooth/timesync
+    chown bluetooth system /proc/bluetooth/sleep/wakelock_ctrl
 
 # Start the twoshay touch service
 on property:vendor.device.modules.ready=1
diff --git a/conf/init.shiba.rc b/conf/init.shiba.rc
index b30f54f..f19c3e2 100644
--- a/conf/init.shiba.rc
+++ b/conf/init.shiba.rc
@@ -37,6 +37,7 @@
 # Bluetooth
 on post-fs-data
     chown bluetooth system /proc/bluetooth/timesync
+    chown bluetooth system /proc/bluetooth/sleep/wakelock_ctrl
 
 # Start the twoshay touch service
 on property:vendor.device.modules.ready=1
diff --git a/device-husky.mk b/device-husky.mk
index 2db6270..efd2b95 100644
--- a/device-husky.mk
+++ b/device-husky.mk
@@ -72,10 +72,9 @@
 include device/google/shusky/camera/camera.mk
 include device/google/shusky/audio/husky/audio-tables.mk
 include device/google/zuma/device-shipping-common.mk
-include hardware/google/pixel/vibrator/cs40l26/device.mk
 include device/google/gs-common/bcmbt/bluetooth.mk
-include device/google/gs-common/touch/stm/stm20.mk
-include device/google/gs-common/touch/gti/gti.mk
+include device/google/gs-common/touch/stm/predump_stm20.mk
+include device/google/gs-common/touch/gti/predump_gti.mk
 include device/google/gs-common/touch/touchinspector/touchinspector.mk
 
 # Init files
@@ -145,10 +144,6 @@
 ifeq ($(USE_AUDIO_HAL_AIDL),true)
 # AIDL
 
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
-	ro.audio.stereo_spatialization_enabled=true
-
 else
 # HIDL
 
@@ -230,11 +225,10 @@
 	bluetooth.profile.ccp.server.enabled?=true \
 	bluetooth.profile.vcp.controller.enabled?=true
 
-ifeq ($(RELEASE_PIXEL_BROADCAST_ENABLED), true)
+# Bluetooth LE Audio Broadcast
 PRODUCT_PRODUCT_PROPERTIES += \
 	bluetooth.profile.bap.broadcast.assist.enabled=true \
 	bluetooth.profile.bap.broadcast.source.enabled=true
-endif
 
 # Bluetooth LE Audio enable hardware offloading
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -247,7 +241,7 @@
 
 # LE Audio Unicast Allowlist
 PRODUCT_PRODUCT_PROPERTIES += \
-    persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
+    persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5,SM-R630
 
 # Bluetooth LE Audio CIS handover to SCO
 # Set the property only for the controller couldn't support CIS/SCO simultaneously. More detailed in b/242908683.
@@ -416,14 +410,7 @@
     persist.vendor.vibrator.hal.context.scale=60 \
     persist.vendor.vibrator.hal.context.fade=true \
     persist.vendor.vibrator.hal.context.cooldowntime=1600 \
-    persist.vendor.vibrator.hal.context.settlingtime=5000 \
-    ro.vendor.vibrator.hal.dbc.enable=true \
-    ro.vendor.vibrator.hal.dbc.envrelcoef=8353728 \
-    ro.vendor.vibrator.hal.dbc.riseheadroom=1909602 \
-    ro.vendor.vibrator.hal.dbc.fallheadroom=1909602 \
-    ro.vendor.vibrator.hal.dbc.txlvlthreshfs=2516583 \
-    ro.vendor.vibrator.hal.dbc.txlvlholdoffms=0 \
-    ro.vendor.vibrator.hal.pm.activetimeout=5
+    persist.vendor.vibrator.hal.context.settlingtime=5000
 
 # Override Output Distortion Gain
 PRODUCT_VENDOR_PROPERTIES += \
@@ -549,3 +536,8 @@
 
 PRODUCT_COPY_FILES += \
     device/google/shusky/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
+
+# Enable APF by default
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.powerhal.apf_disabled=false \
+    vendor.powerhal.apf_enabled=true
diff --git a/device-ripcurrent.mk b/device-ripcurrent.mk
index 9d81cf0..d22ebca 100644
--- a/device-ripcurrent.mk
+++ b/device-ripcurrent.mk
@@ -45,7 +45,6 @@
 include device/google/shusky/audio/ripcurrent/audio-tables.mk
 include device/google/shusky/camera/camera.mk
 include device/google/zuma/device-shipping-common.mk
-include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk
 include device/google/gs-common/bcmbt/bluetooth.mk
 include device/google/gs-common/gps/brcm/cbd_gps.mk
 include device/google/gs-common/touch/stm/stm20.mk
@@ -280,3 +279,8 @@
 # PKVM Memory Reclaim
 PRODUCT_VENDOR_PROPERTIES += \
     hypervisor.memory_reclaim.supported=1
+
+# Enable APF by default
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.powerhal.apf_disabled=false \
+    vendor.powerhal.apf_enabled=true
diff --git a/device-shiba.mk b/device-shiba.mk
index 5cd1c6f..f8bcaed 100644
--- a/device-shiba.mk
+++ b/device-shiba.mk
@@ -56,9 +56,8 @@
 include device/google/shusky/camera/camera.mk
 include device/google/shusky/audio/shiba/audio-tables.mk
 include device/google/zuma/device-shipping-common.mk
-include hardware/google/pixel/vibrator/cs40l26/device.mk
 include device/google/gs-common/bcmbt/bluetooth.mk
-include device/google/gs-common/touch/gti/gti.mk
+include device/google/gs-common/touch/gti/predump_gti.mk
 
 # Init files
 PRODUCT_COPY_FILES += \
@@ -133,10 +132,6 @@
 ifeq ($(USE_AUDIO_HAL_AIDL),true)
 # AIDL
 
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
-	ro.audio.stereo_spatialization_enabled=true
-
 else
 # HIDL
 
@@ -218,11 +213,10 @@
 	bluetooth.profile.ccp.server.enabled?=true \
 	bluetooth.profile.vcp.controller.enabled?=true
 
-ifeq ($(RELEASE_PIXEL_BROADCAST_ENABLED), true)
+# Bluetooth LE Audio Broadcast
 PRODUCT_PRODUCT_PROPERTIES += \
 	bluetooth.profile.bap.broadcast.assist.enabled=true \
 	bluetooth.profile.bap.broadcast.source.enabled=true
-endif
 
 # Bluetooth LE Audio enable hardware offloading
 PRODUCT_PRODUCT_PROPERTIES += \
@@ -235,7 +229,7 @@
 
 # LE Audio Unicast Allowlist
 PRODUCT_PRODUCT_PROPERTIES += \
-    persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5
+    persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5,SM-R630
 
 # Bluetooth LE Audio CIS handover to SCO
 # Set the property only for the controller couldn't support CIS/SCO simultaneously. More detailed in b/242908683.
@@ -392,14 +386,7 @@
     persist.vendor.vibrator.hal.context.scale=60 \
     persist.vendor.vibrator.hal.context.fade=true \
     persist.vendor.vibrator.hal.context.cooldowntime=1600 \
-    persist.vendor.vibrator.hal.context.settlingtime=5000 \
-    ro.vendor.vibrator.hal.dbc.enable=true \
-    ro.vendor.vibrator.hal.dbc.envrelcoef=8353728 \
-    ro.vendor.vibrator.hal.dbc.riseheadroom=1909602 \
-    ro.vendor.vibrator.hal.dbc.fallheadroom=1909602 \
-    ro.vendor.vibrator.hal.dbc.txlvlthreshfs=2516583 \
-    ro.vendor.vibrator.hal.dbc.txlvlholdoffms=0 \
-    ro.vendor.vibrator.hal.pm.activetimeout=5
+    persist.vendor.vibrator.hal.context.settlingtime=5000
 
 # Override Output Distortion Gain
 PRODUCT_VENDOR_PROPERTIES += \
@@ -517,3 +504,8 @@
 
 PRODUCT_COPY_FILES += \
     device/google/caimito/bluetooth/audio_set_configurations.json:$(TARGET_COPY_OUT_VENDOR)/etc/aidl/le_audio/aidl_audio_set_configurations.json
+
+# Enable APF by default
+PRODUCT_VENDOR_PROPERTIES += \
+    vendor.powerhal.apf_disabled=false \
+    vendor.powerhal.apf_enabled=true
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
index 51dfb91..0709eb5 100644
--- a/nfc/libnfc-hal-st.conf
+++ b/nfc/libnfc-hal-st.conf
@@ -156,7 +156,7 @@
 ###############################################################################
 # Configure the ACTIVE_RW timer
 # Default 0x00, set 0x01 to enable it
-# STNFC_ACTIVERW_TIMER=0x01
+STNFC_ACTIVERW_TIMER=0x01
 
 ###############################################################################
 # Core configuration settings
diff --git a/perf/powerhint-husky.json b/perf/powerhint-husky.json
index 64fa155..8a52086 100644
--- a/perf/powerhint-husky.json
+++ b/perf/powerhint-husky.json
@@ -97,6 +97,7 @@
       "Values": [
         "9999999",
         "1548000",
+        "1425000",
         "1197000",
         "0"
       ],
@@ -136,6 +137,7 @@
         "9999999",
         "2245000",
         "2130000",
+        "1572000",
         "1836000",
         "0"
       ],
@@ -177,6 +179,7 @@
         "2687000",
         "2363000",
         "2147000",
+        "1745000",
         "1885000",
         "0"
       ],
@@ -321,6 +324,51 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value",
+      "Values": [
+        "765",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "570",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "110",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "139",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -429,6 +477,15 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAAutoPreferFit",
+      "Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "TAPreferredIdleMaskHigh",
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
@@ -864,7 +921,8 @@
       "PowerHint": "LAUNCH",
       "Node": "TAPreferredIdleMaskMid",
       "Duration": 5000,
-      "Value": "0x1ff"
+      "Value": "0x1ff",
+      "EnableProperty": "vendor.powerhal.apf_disabled"
     },
     {
       "PowerHint": "LAUNCH",
@@ -929,7 +987,8 @@
       "PowerHint": "LAUNCH",
       "Node": "TAUClampBoost",
       "Duration": 5000,
-      "Value": "765"
+      "Value": "765",
+      "EnableProperty": "vendor.powerhal.apf_disabled"
     },
     {
       "PowerHint": "LAUNCH",
@@ -1003,6 +1062,48 @@
     },
     {
       "PowerHint": "LAUNCH",
+      "Node": "TAAutoPreferFit",
+      "Duration": 5000,
+      "Value": "1",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 5000,
+      "Value": "1",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceHighValue",
+      "Duration": 5000,
+      "Value": "765",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 5000,
+      "Value": "110",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceMidValue",
+      "Duration": 5000,
+      "Value": "570",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 5000,
+      "Value": "139",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
       "Node": "FGPreferIdle",
       "Duration": 5000,
       "Value": "1"
@@ -1527,6 +1628,24 @@
       "Value": "0"
     },
     {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "CDPreferIdle",
+      "Duration": 100,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "AutoPreferIdle",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "PMU_POLL",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
       "PowerHint": "GCA_CAMERA_SHOT_BIGCPU_RANK1",
       "Node": "TAPreferHighCap",
       "Duration": 3000,
@@ -1834,6 +1953,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -1974,7 +2099,7 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CDPreferHighCap",
       "Duration": 0,
-      "Value": "0"
+      "Value": "1"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -2008,6 +2133,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2050,6 +2181,18 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "TAPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2206,6 +2349,18 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_LOW",
+      "Node": "TAPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_LOW",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2332,6 +2487,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2486,37 +2647,37 @@
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUBigClusterMaxFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1745000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUBigClusterMinFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1745000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUMidClusterMaxFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1572000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUMidClusterMinFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1572000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPULittleClusterMaxFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1425000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPULittleClusterMinFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1425000"
     },
     {
       "PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
diff --git a/perf/powerhint-ripcurrent.json b/perf/powerhint-ripcurrent.json
index 7a34efb..10b337a 100644
--- a/perf/powerhint-ripcurrent.json
+++ b/perf/powerhint-ripcurrent.json
@@ -316,6 +316,51 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value",
+      "Values": [
+        "765",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "570",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "110",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "139",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -424,6 +469,15 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAAutoPreferFit",
+      "Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "TAPreferredIdleMaskHigh",
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
@@ -895,7 +949,8 @@
       "PowerHint": "LAUNCH",
       "Node": "TAPreferredIdleMaskMid",
       "Duration": 5000,
-      "Value": "0x1ff"
+      "Value": "0x1ff",
+      "EnableProperty": "vendor.powerhal.apf_disabled"
     },
     {
       "PowerHint": "LAUNCH",
@@ -960,7 +1015,8 @@
       "PowerHint": "LAUNCH",
       "Node": "TAUClampBoost",
       "Duration": 5000,
-      "Value": "765"
+      "Value": "765",
+      "EnableProperty": "vendor.powerhal.apf_disabled"
     },
     {
       "PowerHint": "LAUNCH",
@@ -1034,6 +1090,48 @@
     },
     {
       "PowerHint": "LAUNCH",
+      "Node": "TAAutoPreferFit",
+      "Duration": 5000,
+      "Value": "1",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 5000,
+      "Value": "1",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceHighValue",
+      "Duration": 5000,
+      "Value": "765",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 5000,
+      "Value": "110",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceMidValue",
+      "Duration": 5000,
+      "Value": "570",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 5000,
+      "Value": "139",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
       "Node": "FGPreferIdle",
       "Duration": 5000,
       "Value": "1"
@@ -1494,6 +1592,24 @@
       "Value": "0"
     },
     {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "CDPreferIdle",
+      "Duration": 100,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "AutoPreferIdle",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "PMU_POLL",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
       "PowerHint": "GCA_CAMERA_SHOT_BIGCPU",
       "Node": "TAPreferHighCap",
       "Duration": 3000,
@@ -1699,6 +1815,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -1827,7 +1949,7 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CDPreferHighCap",
       "Duration": 0,
-      "Value": "0"
+      "Value": "1"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -1861,6 +1983,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -1891,6 +2019,18 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "TAPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2029,6 +2169,18 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_LOW",
+      "Node": "TAPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_LOW",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2149,6 +2301,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
diff --git a/perf/powerhint-shiba.json b/perf/powerhint-shiba.json
index bccce89..7435de5 100644
--- a/perf/powerhint-shiba.json
+++ b/perf/powerhint-shiba.json
@@ -97,6 +97,7 @@
       "Values": [
         "9999999",
         "1548000",
+        "1425000",
         "1197000",
         "0"
       ],
@@ -132,6 +133,7 @@
       "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq",
       "Values": [
         "9999999",
+        "1572000",
         "1836000",
         "0"
       ],
@@ -168,6 +170,7 @@
       "Path": "/sys/devices/system/cpu/cpu8/cpufreq/scaling_min_freq",
       "Values": [
         "9999999",
+        "1745000",
         "1885000",
         "0"
       ],
@@ -322,6 +325,51 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAUclampMinOnNiceEnable",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value",
+      "Values": [
+        "765",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidValue",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
+      "Values": [
+        "570",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceHighPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
+      "Values": [
+        "110",
+        "120"
+      ],
+      "ResetOnInit": true
+    },
+    {
+      "Name": "TAUclampMinOnNiceMidPrio",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
+      "Values": [
+        "139",
+        "130"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "FGUClampBoost",
       "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
@@ -430,6 +478,15 @@
       "ResetOnInit": true
     },
     {
+      "Name": "TAAutoPreferFit",
+      "Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit",
+      "Values": [
+        "1",
+        "0"
+      ],
+      "ResetOnInit": true
+    },
+    {
       "Name": "TAPreferredIdleMaskHigh",
       "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
       "Values": [
@@ -865,7 +922,8 @@
       "PowerHint": "LAUNCH",
       "Node": "TAPreferredIdleMaskMid",
       "Duration": 5000,
-      "Value": "0x1ff"
+      "Value": "0x1ff",
+      "EnableProperty": "vendor.powerhal.apf_disabled"
     },
     {
       "PowerHint": "LAUNCH",
@@ -930,7 +988,8 @@
       "PowerHint": "LAUNCH",
       "Node": "TAUClampBoost",
       "Duration": 5000,
-      "Value": "765"
+      "Value": "765",
+      "EnableProperty": "vendor.powerhal.apf_disabled"
     },
     {
       "PowerHint": "LAUNCH",
@@ -1004,6 +1063,48 @@
     },
     {
       "PowerHint": "LAUNCH",
+      "Node": "TAAutoPreferFit",
+      "Duration": 5000,
+      "Value": "1",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceEnable",
+      "Duration": 5000,
+      "Value": "1",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceHighValue",
+      "Duration": 5000,
+      "Value": "765",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceHighPrio",
+      "Duration": 5000,
+      "Value": "110",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceMidValue",
+      "Duration": 5000,
+      "Value": "570",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
+      "Node": "TAUclampMinOnNiceMidPrio",
+      "Duration": 5000,
+      "Value": "139",
+      "EnableProperty": "vendor.powerhal.apf_enabled"
+    },
+    {
+      "PowerHint": "LAUNCH",
       "Node": "FGPreferIdle",
       "Duration": 5000,
       "Value": "1"
@@ -1534,6 +1635,24 @@
       "Value": "0"
     },
     {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "CDPreferIdle",
+      "Duration": 100,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "AutoPreferIdle",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_MULTICAM_BOOST",
+      "Node": "PMU_POLL",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
       "PowerHint": "GCA_CAMERA_SHOT_BIGCPU",
       "Node": "TAPreferHighCap",
       "Duration": 3000,
@@ -1739,6 +1858,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_EXTREME",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_EXTREME",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -1879,7 +2004,7 @@
       "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "CDPreferHighCap",
       "Duration": 0,
-      "Value": "0"
+      "Value": "1"
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
@@ -1907,6 +2032,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_HIGH",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_HIGH",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -1955,6 +2086,18 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "TAPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2037,7 +2180,7 @@
       "Duration": 0,
       "Value": "cam1"
     },
-   {
+    {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
       "Node": "CPUUtilThreshold",
       "Duration": 0,
@@ -2111,6 +2254,18 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_LOW",
+      "Node": "TAPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_LOW",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_LOW",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2237,6 +2392,12 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+      "Node": "FGPreferIdle",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
       "Node": "AutoPreferIdle",
       "Duration": 0,
       "Value": "0"
@@ -2391,37 +2552,37 @@
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUBigClusterMaxFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1745000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUBigClusterMinFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1745000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUMidClusterMaxFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1572000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPUMidClusterMinFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1572000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPULittleClusterMaxFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1425000"
     },
     {
       "PowerHint": "FIXED_PERFORMANCE",
       "Node": "CPULittleClusterMinFreq",
       "Duration": 0,
-      "Value": "9999999"
+      "Value": "1425000"
     },
     {
       "PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 6519607..3c8427b 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -187,4 +187,6 @@
          false: firmware roaming will not be affected. -->
     <bool translatable="false" name ="config_wifiDisableFirmwareRoamingInIdleMode">true</bool>
 
+    <!-- Boolean indicating whether to trigger bugreport for WiFi subsystem restart issue -->
+    <bool translatable="false" name ="config_wifi_subsystem_restart_bugreport_enabled">false</bool>
 </resources>
diff --git a/thermal/Android.bp b/thermal/Android.bp
deleted file mode 100644
index fed2086..0000000
--- a/thermal/Android.bp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package {
-    default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
-cc_library {
-    name: "thermal-config-cpp",
-    proto: {
-        type: "lite",
-        export_proto_headers: true,
-        include_dirs: [
-            "external/protobuf/src",
-            "device/google/gs-common/thermal/thermal_hal/thermal_config_schemas"
-        ],
-    }
-}
-
-cc_test_host {
-    name: "shusky-thermal-config-test",
-    srcs: [
-        "thermal_config_test.cpp",
-    ],
-    static_libs: [
-        "libbase",
-        "libgmock",
-        "liblog",
-        "libjsoncpp",
-        "libjsonpbverify",
-        "libjsonpbparse",
-        "thermal_HAL_info_config_proto",
-    ],
-    shared_libs: [
-        "libprotobuf-cpp-full",
-    ],
-    cflags: [
-        "-Wall",
-        "-Werror",
-        "-Wno-unused-parameter",
-    ],
-    data: [
-        "*.json"
-    ],
-    test_suites: [
-        "general-tests",
-    ],
-}
\ No newline at end of file
diff --git a/thermal/thermal_config_test.cpp b/thermal/thermal_config_test.cpp
deleted file mode 100644
index 7b01306..0000000
--- a/thermal/thermal_config_test.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <android-base/file.h>
-#include <gtest/gtest.h>
-#include <jsonpb/json_schema_test.h>
-
-#include "thermal_info_config_test.h"
-
-using namespace ::android::jsonpb;
-using ::android::base::GetExecutableDirectory;
-
-namespace devices {
-namespace shusky {
-
-template <typename T>
-JsonSchemaTestConfigFactory MakeTestParam(const std::string &path) {
-  return android::jsonpb::MakeTestParam<T>(GetExecutableDirectory() + path);
-}
-
-// Make test suite for thermal info config schema.
-INSTANTIATE_TEST_SUITE_P(
-    ThermalSuite, ThermalInfoConfigTest,
-    ::testing::Values(
-        MakeTestParam<ThermalConfig>("/thermal_info_config_husky.json"),
-        MakeTestParam<ThermalConfig>("/thermal_info_config_shiba.json"),
-        MakeTestParam<ThermalConfig>("/thermal_info_config_charge_husky.json"),
-        MakeTestParam<ThermalConfig>("/thermal_info_config_charge_shiba.json"),
-        MakeTestParam<ThermalConfig>("/thermal_info_config_ripcurrent.json"),
-        MakeTestParam<ThermalConfig>(
-            "/thermal_info_config_charge_ripcurrent.json")));
-
-// Ignores a formatting check (b/c 0.0 != 0 textually)
-GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(JsonSchemaTest);
-
-int main(int argc, char **argv) {
-  ::testing::InitGoogleTest(&argc, argv);
-  return RUN_ALL_TESTS();
-}
-
-} // namespace shusky
-} // namespace devices
diff --git a/thermal/thermal_info_config_charge_husky.json b/thermal/thermal_info_config_charge_husky.json
index 66b949d..1ba87af 100644
--- a/thermal/thermal_info_config_charge_husky.json
+++ b/thermal/thermal_info_config_charge_husky.json
@@ -127,13 +127,23 @@
             "Multiplier":1
         },
         {
-            "Name":"IS_WLC",
+            "Name":"WLC_CHECK",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
-            "Combination":["thb_hda"],
-            "Coefficient":[1],
+            "Combination":["thb_hda", "thb_hda"],
+            "Coefficient":[1, -51],
+            "Multiplier":1
+        },
+        {
+            "Name":"NO_WLC",
+            "Type":"UNKNOWN",
+            "Hidden":true,
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "Combination":["WLC_CHECK"],
+            "Coefficient":[-2],
             "Multiplier":1
         },
         {
@@ -153,8 +163,9 @@
             "VirtualSensor":true,
             "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
             "Formula":"WEIGHTED_AVG",
-            "Combination":["VIRTUAL-SKIN-CHARGE", "IS_WLC"],
-            "Coefficient":[1.0, -1000000],
+            "Combination":["VIRTUAL-SKIN-CHARGE"],
+            "Coefficient":["NO_WLC"],
+            "CoefficientType": ["SENSOR"],
             "HotThreshold":["NaN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
             "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
             "Multiplier":0.001,
@@ -329,8 +340,8 @@
             "Name":"PARTIAL_SYSTEM_POWER",
             "VirtualRails":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "L22M_DISP", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
-            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
+            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
             "PowerSampleDelay":7000,
             "PowerSampleCount":5
         }
diff --git a/thermal/thermal_info_config_charge_shiba.json b/thermal/thermal_info_config_charge_shiba.json
index 25fa05d..08aaa96 100644
--- a/thermal/thermal_info_config_charge_shiba.json
+++ b/thermal/thermal_info_config_charge_shiba.json
@@ -160,13 +160,23 @@
             "Multiplier":1
         },
         {
-            "Name":"IS_WLC",
+            "Name":"WLC_CHECK",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
-            "Combination":["thb_hda"],
-            "Coefficient":[1],
+            "Combination":["thb_hda", "thb_hda"],
+            "Coefficient":[1, -51],
+            "Multiplier":1
+        },
+        {
+            "Name":"NO_WLC",
+            "Type":"UNKNOWN",
+            "Hidden":true,
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "Combination":["WLC_CHECK"],
+            "Coefficient":[-2],
             "Multiplier":1
         },
         {
@@ -186,8 +196,9 @@
             "VirtualSensor":true,
             "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
             "Formula":"WEIGHTED_AVG",
-            "Combination":["VIRTUAL-SKIN-CHARGE", "IS_WLC"],
-            "Coefficient":[1.0, -1000000],
+            "Combination":["VIRTUAL-SKIN-CHARGE"],
+            "Coefficient":["NO_WLC"],
+            "CoefficientType": ["SENSOR"],
             "HotThreshold":["NaN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
             "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
             "Multiplier":0.001,
@@ -362,8 +373,8 @@
             "Name":"PARTIAL_SYSTEM_POWER",
             "VirtualRails":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "L22M_DISP", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
-            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
+            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
             "PowerSampleDelay":7000,
             "PowerSampleCount":5
         }
diff --git a/thermal/thermal_info_config_husky.json b/thermal/thermal_info_config_husky.json
index 29c24cd..e325805 100644
--- a/thermal/thermal_info_config_husky.json
+++ b/thermal/thermal_info_config_husky.json
@@ -717,13 +717,23 @@
             "Multiplier":1
         },
         {
-            "Name":"IS_WLC",
+            "Name":"WLC_CHECK",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
-            "Combination":["thb_hda"],
-            "Coefficient":[1],
+            "Combination":["thb_hda", "thb_hda"],
+            "Coefficient":[1, -51],
+            "Multiplier":1
+        },
+        {
+            "Name":"NO_WLC",
+            "Type":"UNKNOWN",
+            "Hidden":true,
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "Combination":["WLC_CHECK"],
+            "Coefficient":[-2],
             "Multiplier":1
         },
         {
@@ -743,8 +753,9 @@
             "VirtualSensor":true,
             "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
             "Formula":"WEIGHTED_AVG",
-            "Combination":["VIRTUAL-SKIN-CHARGE", "IS_WLC"],
-            "Coefficient":[1.0, -1000000],
+            "Combination":["VIRTUAL-SKIN-CHARGE"],
+            "Coefficient":["NO_WLC"],
+            "CoefficientType": ["SENSOR"],
             "HotThreshold":["NaN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
             "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
             "Multiplier":0.001,
@@ -1051,8 +1062,8 @@
             "Name":"PARTIAL_SYSTEM_POWER",
             "VirtualRails":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "L22M_DISP", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
-            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
+            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
             "PowerSampleDelay":7000,
             "PowerSampleCount":5
         }
diff --git a/thermal/thermal_info_config_shiba.json b/thermal/thermal_info_config_shiba.json
index 82c6fbc..fd0e438 100644
--- a/thermal/thermal_info_config_shiba.json
+++ b/thermal/thermal_info_config_shiba.json
@@ -729,13 +729,23 @@
             "Multiplier":1
         },
         {
-            "Name":"IS_WLC",
+            "Name":"WLC_CHECK",
             "Type":"UNKNOWN",
             "Hidden":true,
             "VirtualSensor":true,
             "Formula":"COUNT_THRESHOLD",
-            "Combination":["thb_hda"],
-            "Coefficient":[1],
+            "Combination":["thb_hda", "thb_hda"],
+            "Coefficient":[1, -51],
+            "Multiplier":1
+        },
+        {
+            "Name":"NO_WLC",
+            "Type":"UNKNOWN",
+            "Hidden":true,
+            "VirtualSensor":true,
+            "Formula":"COUNT_THRESHOLD",
+            "Combination":["WLC_CHECK"],
+            "Coefficient":[-2],
             "Multiplier":1
         },
         {
@@ -755,8 +765,9 @@
             "VirtualSensor":true,
             "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
             "Formula":"WEIGHTED_AVG",
-            "Combination":["VIRTUAL-SKIN-CHARGE", "IS_WLC"],
-            "Coefficient":[1.0, -1000000],
+            "Combination":["VIRTUAL-SKIN-CHARGE"],
+            "Coefficient":["NO_WLC"],
+            "CoefficientType": ["SENSOR"],
             "HotThreshold":["NaN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
             "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
             "Multiplier":0.001,
@@ -1084,8 +1095,8 @@
             "Name":"PARTIAL_SYSTEM_POWER",
             "VirtualRails":true,
             "Formula":"WEIGHTED_AVG",
-            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "L22M_DISP", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
-            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
+            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
+            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
             "PowerSampleDelay":7000,
             "PowerSampleCount":5
         }
diff --git a/thermal/thermal_info_config_test.h b/thermal/thermal_info_config_test.h
deleted file mode 100644
index 1864420..0000000
--- a/thermal/thermal_info_config_test.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <string>
-
-#include <gmock/gmock.h>
-#include <jsonpb/json_schema_test.h>
-
-#include "thermal_info_config.pb.h"
-
-namespace devices {
-namespace shusky {
-
-// JSON schema test wrapper.
-class ThermalInfoConfigTest : public android::jsonpb::JsonSchemaTest {
-public:
-  void SetUp() override {
-    JsonSchemaTest::SetUp();
-    thermalInfoConfig_ = static_cast<ThermalConfig *>(message());
-  }
-  ThermalConfig *thermalInfoConfig_ = nullptr;
-};
-
-// Individual test checking for sensor name and type as required fields.
-TEST_P(ThermalInfoConfigTest, ThermalConfigRequiredFields) {
-  std::string error;
-
-  // Checks that no unknown fields are introduced.
-  EXPECT_TRUE(android::jsonpb::AllFieldsAreKnown(*object_, json_, &error))
-      << "File: " << file_path_ << ": " << error;
-
-  // Check all Sensors have a Name and Type.
-  for (int i = 0; i < thermalInfoConfig_->sensors_size(); ++i) {
-    auto &&sensor = thermalInfoConfig_->sensors(i);
-    EXPECT_FALSE(sensor.name().empty())
-        << "No name for sensor #" << i << " in " << file_path_;
-    EXPECT_FALSE(sensor.type().empty())
-        << "No type for sensor " << sensor.name() << " in " << file_path_;
-  }
-};
-
-} // namespace shusky
-} // namespace devices
\ No newline at end of file