diff --git a/audio/caiman/aidl_config/mixer_paths_aidl.xml b/audio/caiman/aidl_config/mixer_paths_aidl.xml
index b2c458c1..53bc2f5b 100644
--- a/audio/caiman/aidl_config/mixer_paths_aidl.xml
+++ b/audio/caiman/aidl_config/mixer_paths_aidl.xml
@@ -1048,6 +1048,10 @@
+
+
+
+
@@ -1343,6 +1347,12 @@
+
+
+
+
+
+
diff --git a/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index 6bb4b108..2f3a373b 100644
Binary files a/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so and b/audio/caiman/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb
index 93519453..31d6b8a0 100644
Binary files a/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb and b/audio/caiman/tuning/apmg3/uplink_handset_aec_off_config.pb differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb
index 58dc380a..a154819b 100644
Binary files a/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb and b/audio/caiman/tuning/apmg3/uplink_handset_aec_on_config.pb differ
diff --git a/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb
index e9bf30df..ffe03515 100644
Binary files a/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb and b/audio/caiman/tuning/apmg3/uplink_speaker_aec_on_config.pb differ
diff --git a/audio/caiman/tuning/fortemedia/BLUETOOTH.dat b/audio/caiman/tuning/fortemedia/BLUETOOTH.dat
index fb015419..0f19b123 100644
Binary files a/audio/caiman/tuning/fortemedia/BLUETOOTH.dat and b/audio/caiman/tuning/fortemedia/BLUETOOTH.dat differ
diff --git a/audio/caiman/tuning/fortemedia/BLUETOOTH.mods b/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
index ff86e942..824c58b2 100644
--- a/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/caiman/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-23 15:16:17
+#SAVE_TIME 2024-12-05 15:33:59
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -3558,8 +3558,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0008 //TX_TDDRC_THRD_0
-855 0x0030 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6253,8 +6253,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -11612,12 +11612,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -11643,8 +11643,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
diff --git a/audio/caiman/tuning/fortemedia/HANDSET.dat b/audio/caiman/tuning/fortemedia/HANDSET.dat
index c77e3f12..0d211925 100644
Binary files a/audio/caiman/tuning/fortemedia/HANDSET.dat and b/audio/caiman/tuning/fortemedia/HANDSET.dat differ
diff --git a/audio/caiman/tuning/fortemedia/HANDSET.mods b/audio/caiman/tuning/fortemedia/HANDSET.mods
index 638d3379..87f3c5f8 100644
--- a/audio/caiman/tuning/fortemedia/HANDSET.mods
+++ b/audio/caiman/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-23 15:15:40
+#SAVE_TIME 2024-12-05 15:34:01
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -14307,12 +14307,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -17002,12 +17002,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -22392,12 +22392,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -27782,12 +27782,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -33172,12 +33172,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -38562,12 +38562,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -43952,12 +43952,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -46647,12 +46647,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -54732,12 +54732,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -57427,12 +57427,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -62817,12 +62817,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1450 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/caiman/tuning/fortemedia/HANDSFREE.dat b/audio/caiman/tuning/fortemedia/HANDSFREE.dat
index 32e7bc6d..c4c3d8d4 100644
Binary files a/audio/caiman/tuning/fortemedia/HANDSFREE.dat and b/audio/caiman/tuning/fortemedia/HANDSFREE.dat differ
diff --git a/audio/caiman/tuning/fortemedia/HANDSFREE.mods b/audio/caiman/tuning/fortemedia/HANDSFREE.mods
index b3849813..86149ec6 100644
--- a/audio/caiman/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/caiman/tuning/fortemedia/HANDSFREE.mods
@@ -1,9 +1,9 @@
#PLATFORM_NAME gChip
-#SINGLE_API_VER 1.4.2
#EXPORT_FLAG HANDSFREE
-#PARAM_MODE FULL
+#SINGLE_API_VER 1.4.2
+#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-23 15:15:11
+#SAVE_TIME 2024-12-05 16:24:15
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -3558,8 +3558,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0008 //TX_TDDRC_THRD_0
-855 0x0030 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6253,8 +6253,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -11612,12 +11612,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -11643,8 +11643,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -17002,12 +17002,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -17033,8 +17033,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -22392,12 +22392,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -22423,8 +22423,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -27782,12 +27782,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -27813,8 +27813,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
diff --git a/audio/caiman/tuning/fortemedia/HEADSET.dat b/audio/caiman/tuning/fortemedia/HEADSET.dat
index 362cabb2..7a65e8fa 100644
Binary files a/audio/caiman/tuning/fortemedia/HEADSET.dat and b/audio/caiman/tuning/fortemedia/HEADSET.dat differ
diff --git a/audio/caiman/tuning/fortemedia/HEADSET.mods b/audio/caiman/tuning/fortemedia/HEADSET.mods
index 62b2d69b..8318f764 100644
--- a/audio/caiman/tuning/fortemedia/HEADSET.mods
+++ b/audio/caiman/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-23 15:14:44
+#SAVE_TIME 2024-12-05 15:33:57
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -30477,12 +30477,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -30508,8 +30508,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0008 //TX_TDDRC_THRD_0
-855 0x0030 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -33172,12 +33172,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -33203,8 +33203,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -38562,12 +38562,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -38593,8 +38593,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -70902,12 +70902,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -70933,8 +70933,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0008 //TX_TDDRC_THRD_0
-855 0x0030 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -73597,12 +73597,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -73628,8 +73628,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
@@ -78987,12 +78987,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0B54 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1068 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -79018,8 +79018,8 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0001 //TX_TDDRC_THRD_0
-855 0x0002 //TX_TDDRC_THRD_1
+854 0x0003 //TX_TDDRC_THRD_0
+855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
858 0x6000 //TX_TDDRC_SLANT_0
diff --git a/audio/komodo/aidl_config/mixer_paths_aidl.xml b/audio/komodo/aidl_config/mixer_paths_aidl.xml
index b2c458c1..53bc2f5b 100644
--- a/audio/komodo/aidl_config/mixer_paths_aidl.xml
+++ b/audio/komodo/aidl_config/mixer_paths_aidl.xml
@@ -1048,6 +1048,10 @@
+
+
+
+
@@ -1343,6 +1347,12 @@
+
+
+
+
+
+
diff --git a/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index 6bb4b108..2f3a373b 100644
Binary files a/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so and b/audio/komodo/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb
index 93519453..31d6b8a0 100644
Binary files a/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb and b/audio/komodo/tuning/apmg3/uplink_handset_aec_off_config.pb differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb
index 58dc380a..a154819b 100644
Binary files a/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb and b/audio/komodo/tuning/apmg3/uplink_handset_aec_on_config.pb differ
diff --git a/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb
index 95c66596..d13b53f2 100644
Binary files a/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb and b/audio/komodo/tuning/apmg3/uplink_speaker_aec_on_config.pb differ
diff --git a/audio/komodo/tuning/fortemedia/BLUETOOTH.dat b/audio/komodo/tuning/fortemedia/BLUETOOTH.dat
index babe0c30..1d195428 100644
Binary files a/audio/komodo/tuning/fortemedia/BLUETOOTH.dat and b/audio/komodo/tuning/fortemedia/BLUETOOTH.dat differ
diff --git a/audio/komodo/tuning/fortemedia/BLUETOOTH.mods b/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
index 06578dd7..1883c09e 100644
--- a/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/komodo/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 14:39:26
+#SAVE_TIME 2024-12-05 15:35:21
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -11612,12 +11612,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/komodo/tuning/fortemedia/HANDSET.dat b/audio/komodo/tuning/fortemedia/HANDSET.dat
index fff39a90..28f72498 100644
Binary files a/audio/komodo/tuning/fortemedia/HANDSET.dat and b/audio/komodo/tuning/fortemedia/HANDSET.dat differ
diff --git a/audio/komodo/tuning/fortemedia/HANDSET.mods b/audio/komodo/tuning/fortemedia/HANDSET.mods
index 3fdb716a..ea62c36c 100644
--- a/audio/komodo/tuning/fortemedia/HANDSET.mods
+++ b/audio/komodo/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 14:39:24
+#SAVE_TIME 2024-12-05 15:35:23
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -14307,12 +14307,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -17002,12 +17002,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -22392,12 +22392,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -27782,12 +27782,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -33172,12 +33172,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -38562,12 +38562,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -43952,12 +43952,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -46647,12 +46647,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -54732,12 +54732,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -57427,12 +57427,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -62817,12 +62817,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0ED8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x189C //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/komodo/tuning/fortemedia/HANDSFREE.dat b/audio/komodo/tuning/fortemedia/HANDSFREE.dat
index 50b7b0c5..fe8c2eeb 100644
Binary files a/audio/komodo/tuning/fortemedia/HANDSFREE.dat and b/audio/komodo/tuning/fortemedia/HANDSFREE.dat differ
diff --git a/audio/komodo/tuning/fortemedia/HANDSFREE.mods b/audio/komodo/tuning/fortemedia/HANDSFREE.mods
index 26029c9f..46f3a945 100644
--- a/audio/komodo/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/komodo/tuning/fortemedia/HANDSFREE.mods
@@ -1,9 +1,9 @@
#PLATFORM_NAME gChip
-#SINGLE_API_VER 1.4.2
#EXPORT_FLAG HANDSFREE
-#PARAM_MODE FULL
+#SINGLE_API_VER 1.4.2
+#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 14:44:35
+#SAVE_TIME 2024-12-05 16:02:52
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -11612,12 +11612,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -17002,12 +17002,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -22392,12 +22392,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -27782,12 +27782,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/komodo/tuning/fortemedia/HEADSET.dat b/audio/komodo/tuning/fortemedia/HEADSET.dat
index 8090185a..ab4fe7be 100644
Binary files a/audio/komodo/tuning/fortemedia/HEADSET.dat and b/audio/komodo/tuning/fortemedia/HEADSET.dat differ
diff --git a/audio/komodo/tuning/fortemedia/HEADSET.mods b/audio/komodo/tuning/fortemedia/HEADSET.mods
index 2e9575a3..cbdb7e0c 100644
--- a/audio/komodo/tuning/fortemedia/HEADSET.mods
+++ b/audio/komodo/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 14:39:20
+#SAVE_TIME 2024-12-05 15:35:19
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -30477,12 +30477,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -33172,12 +33172,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -38562,12 +38562,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -70902,12 +70902,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -73597,12 +73597,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -78987,12 +78987,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1130 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1770 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/tokay/aidl_config/mixer_paths_aidl.xml b/audio/tokay/aidl_config/mixer_paths_aidl.xml
index b2c458c1..53bc2f5b 100644
--- a/audio/tokay/aidl_config/mixer_paths_aidl.xml
+++ b/audio/tokay/aidl_config/mixer_paths_aidl.xml
@@ -1048,6 +1048,10 @@
+
+
+
+
@@ -1343,6 +1347,12 @@
+
+
+
+
+
+
diff --git a/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so b/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so
index 6bb4b108..2f3a373b 100644
Binary files a/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so and b/audio/tokay/prebuilt/libspeechenhancer/arm64/libspeechenhancer.so differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb
index 93519453..31d6b8a0 100644
Binary files a/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb and b/audio/tokay/tuning/apmg3/uplink_handset_aec_off_config.pb differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb
index 58dc380a..a154819b 100644
Binary files a/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb and b/audio/tokay/tuning/apmg3/uplink_handset_aec_on_config.pb differ
diff --git a/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb
index 10f1ed7a..94a69d69 100644
Binary files a/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb and b/audio/tokay/tuning/apmg3/uplink_speaker_aec_on_config.pb differ
diff --git a/audio/tokay/tuning/fortemedia/BLUETOOTH.dat b/audio/tokay/tuning/fortemedia/BLUETOOTH.dat
index 3a067102..63a42e9b 100644
Binary files a/audio/tokay/tuning/fortemedia/BLUETOOTH.dat and b/audio/tokay/tuning/fortemedia/BLUETOOTH.dat differ
diff --git a/audio/tokay/tuning/fortemedia/BLUETOOTH.mods b/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
index 66d607b6..dd21147c 100644
--- a/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/tokay/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 19:22:42
+#SAVE_TIME 2024-12-05 15:31:05
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -11612,12 +11612,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/tokay/tuning/fortemedia/HANDSET.dat b/audio/tokay/tuning/fortemedia/HANDSET.dat
index 186d79c7..f09f2f9b 100644
Binary files a/audio/tokay/tuning/fortemedia/HANDSET.dat and b/audio/tokay/tuning/fortemedia/HANDSET.dat differ
diff --git a/audio/tokay/tuning/fortemedia/HANDSET.mods b/audio/tokay/tuning/fortemedia/HANDSET.mods
index 9177ce56..fd49c203 100644
--- a/audio/tokay/tuning/fortemedia/HANDSET.mods
+++ b/audio/tokay/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 19:22:41
+#SAVE_TIME 2024-12-05 15:31:07
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -14307,12 +14307,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -17002,12 +17002,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -22392,12 +22392,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -27782,12 +27782,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -33172,12 +33172,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -38562,12 +38562,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -43952,12 +43952,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -46647,12 +46647,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -54732,12 +54732,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -57427,12 +57427,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -62817,12 +62817,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0FA0 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1388 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/tokay/tuning/fortemedia/HANDSFREE.dat b/audio/tokay/tuning/fortemedia/HANDSFREE.dat
index 55f4e3ee..7f954b4c 100644
Binary files a/audio/tokay/tuning/fortemedia/HANDSFREE.dat and b/audio/tokay/tuning/fortemedia/HANDSFREE.dat differ
diff --git a/audio/tokay/tuning/fortemedia/HANDSFREE.mods b/audio/tokay/tuning/fortemedia/HANDSFREE.mods
index e31f8d4c..67203ee4 100644
--- a/audio/tokay/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/tokay/tuning/fortemedia/HANDSFREE.mods
@@ -1,9 +1,9 @@
#PLATFORM_NAME gChip
-#SINGLE_API_VER 1.4.2
#EXPORT_FLAG HANDSFREE
-#PARAM_MODE FULL
+#SINGLE_API_VER 1.4.2
+#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 19:22:40
+#SAVE_TIME 2024-12-05 16:05:54
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -3527,12 +3527,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -6222,12 +6222,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -11612,12 +11612,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -17002,12 +17002,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -22392,12 +22392,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -27782,12 +27782,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/audio/tokay/tuning/fortemedia/HEADSET.dat b/audio/tokay/tuning/fortemedia/HEADSET.dat
index 913c5bbe..bdf63e16 100644
Binary files a/audio/tokay/tuning/fortemedia/HEADSET.dat and b/audio/tokay/tuning/fortemedia/HEADSET.dat differ
diff --git a/audio/tokay/tuning/fortemedia/HEADSET.mods b/audio/tokay/tuning/fortemedia/HEADSET.mods
index 548cd37a..5ff1fd5f 100644
--- a/audio/tokay/tuning/fortemedia/HEADSET.mods
+++ b/audio/tokay/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-07-19 19:22:38
+#SAVE_TIME 2024-12-05 15:31:03
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -30477,12 +30477,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -33172,12 +33172,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -38562,12 +38562,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -70902,12 +70902,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -73597,12 +73597,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
@@ -78987,12 +78987,12 @@
820 0x0000 //TX_FDDRC_RESRV_4
821 0x0000 //TX_FDDRC_RESRV_5
822 0x0000 //TX_FDDRC_RESRV_6
-823 0x7FFF //TX_NOISE_FLOOR_TH
-824 0x0001 //TX_NOISE_TH_BGN_LEVEL_1
-825 0x7FFF //TX_NOISE_TH_BGN_LEVEL_2
-826 0x0000 //TX_NOISE_TH_BGN_LEVEL_3
-827 0x0000 //TX_NOISE_IN_N
-828 0x0000 //TX_NOISE_OUT_N
+823 0x0001 //TX_NOISE_FLOOR_TH
+824 0x0BB8 //TX_NOISE_TH_BGN_LEVEL_1
+825 0x1194 //TX_NOISE_TH_BGN_LEVEL_2
+826 0x1838 //TX_NOISE_TH_BGN_LEVEL_3
+827 0x01F4 //TX_NOISE_IN_N
+828 0x01F4 //TX_NOISE_OUT_N
829 0x7C00 //TX_LAMBDA_PKA_FP
830 0x2000 //TX_TPKA_FP
831 0x0080 //TX_MIN_G_FP
diff --git a/bluetooth/bt_vendor_overlay_caiman.conf b/bluetooth/bt_vendor_overlay_caiman.conf
index 6f6100f0..d36e3a3d 100644
--- a/bluetooth/bt_vendor_overlay_caiman.conf
+++ b/bluetooth/bt_vendor_overlay_caiman.conf
@@ -45,4 +45,7 @@ ThreadDispatcherEnabled = true
# A2DP_LDAC_QUALITY_MID 1 // Equal to 660/606(kbps)
# A2DP_LDAC_QUALITY_LOW 2 // Equal to 330/303(kbps)
# A2DP_LDAC_QUALITY_ABR 3 // ABR mode, range: 990,660,492,396,330(kbps)
-LdacDefaultQualityMode = 1
+LdacDefaultQualityMode = 3
+
+# APM Uart skip suspend to aovid hold system too long when BT using AOC UART
+ApmUartSkipSuspend = true
diff --git a/bluetooth/bt_vendor_overlay_komodo.conf b/bluetooth/bt_vendor_overlay_komodo.conf
index 6f6100f0..d36e3a3d 100644
--- a/bluetooth/bt_vendor_overlay_komodo.conf
+++ b/bluetooth/bt_vendor_overlay_komodo.conf
@@ -45,4 +45,7 @@ ThreadDispatcherEnabled = true
# A2DP_LDAC_QUALITY_MID 1 // Equal to 660/606(kbps)
# A2DP_LDAC_QUALITY_LOW 2 // Equal to 330/303(kbps)
# A2DP_LDAC_QUALITY_ABR 3 // ABR mode, range: 990,660,492,396,330(kbps)
-LdacDefaultQualityMode = 1
+LdacDefaultQualityMode = 3
+
+# APM Uart skip suspend to aovid hold system too long when BT using AOC UART
+ApmUartSkipSuspend = true
diff --git a/bluetooth/bt_vendor_overlay_tokay.conf b/bluetooth/bt_vendor_overlay_tokay.conf
index 6f6100f0..d36e3a3d 100644
--- a/bluetooth/bt_vendor_overlay_tokay.conf
+++ b/bluetooth/bt_vendor_overlay_tokay.conf
@@ -45,4 +45,7 @@ ThreadDispatcherEnabled = true
# A2DP_LDAC_QUALITY_MID 1 // Equal to 660/606(kbps)
# A2DP_LDAC_QUALITY_LOW 2 // Equal to 330/303(kbps)
# A2DP_LDAC_QUALITY_ABR 3 // ABR mode, range: 990,660,492,396,330(kbps)
-LdacDefaultQualityMode = 1
+LdacDefaultQualityMode = 3
+
+# APM Uart skip suspend to aovid hold system too long when BT using AOC UART
+ApmUartSkipSuspend = true
diff --git a/device-caiman.mk b/device-caiman.mk
index 5dd453f8..518fb0ec 100644
--- a/device-caiman.mk
+++ b/device-caiman.mk
@@ -26,10 +26,20 @@ RELEASE_GOOGLE_BOOTLOADER_CAIMAN_DIR ?= 24D1# Keep this for pdk TODO: b/32711900
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_CAIMAN_DIR)
$(call soong_config_set,caimito_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_CAIMAN_DIR))
+ifdef RELEASE_KERNEL_CAIMAN_VERSION
+TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_CAIMAN_VERSION)
+else
+TARGET_LINUX_KERNEL_VERSION ?= 6.1
+endif
+
ifdef RELEASE_KERNEL_CAIMAN_DIR
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_CAIMAN_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_CAIMAN_DIR)/kernel-headers
+ifneq ($(TARGET_BOOTS_16K),true)
+PRODUCT_16K_DEVELOPER_OPTION := $(RELEASE_GOOGLE_CAIMAN_16K_DEVELOPER_OPTION)
+endif
+
include device/google/caimito/device-caimito-16k-common.mk
else
@@ -66,7 +76,6 @@ endif
include device/google/caimito/audio/caiman/audio-tables.mk
include device/google/zumapro/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/predump_gti.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
@@ -186,10 +195,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.audio.stereo_spatialization_enabled=true
-
ifneq ($(USE_AUDIO_HAL_AIDL),true)
# HIDL Sound Dose
PRODUCT_PACKAGES += \
@@ -349,8 +354,8 @@ PRODUCT_VENDOR_PROPERTIES += \
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
-# Media Performance Class 14
-PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=34
+# Media Performance Class 15
+PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=35
# Display RRS default Config
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.display.primary.boot_config=960x2142@120:120
@@ -408,11 +413,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_one_handed_mode=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
# LE Audio switcher in developer options
PRODUCT_PRODUCT_PROPERTIES += \
@@ -441,7 +445,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
# 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
# Support LE & Classic concurrent encryption (b/330704060)
PRODUCT_PRODUCT_PROPERTIES += \
@@ -456,6 +460,11 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Support RIL Domain-selection
SUPPORT_RIL_DOMAIN_SELECTION := true
+SUPPORT_VENDOR_SATELLITE_SERVICE := true
+
+# Support NTN(satellite) with dual SIM
+NTN_DUAL_SIM := true
+
# ETM
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
@@ -495,3 +504,8 @@ PRODUCT_COPY_FILES += \
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/device-caimito-16k-common.mk b/device-caimito-16k-common.mk
index b969354a..b224f4f4 100644
--- a/device-caimito-16k-common.mk
+++ b/device-caimito-16k-common.mk
@@ -14,7 +14,41 @@
# limitations under the License.
#
+ifneq ($(wildcard $(TARGET_KERNEL_DIR)/16kb/),)
+
ifeq ($(TARGET_BOOTS_16K),true)
# Configures the 16kb kernel directory.
TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb
+
+else ifeq ($(PRODUCT_16K_DEVELOPER_OPTION),true)
+# Configures the 16kb kernel and modules for OTA updates.
+TARGET_KERNEL_DIR_16K := $(TARGET_KERNEL_DIR)/16kb
+BOARD_KERNEL_PATH_16K := $(TARGET_KERNEL_DIR_16K)/Image.lz4
+
+BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_kernel_boot.modules.load)
+BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/system_dlkm.modules.load)
+BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.modules.load)
+BOARD_KERNEL_MODULES_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(TARGET_KERNEL_DIR_16K)/$(notdir $(module)))
+BOARD_PREBUILT_DTBOIMAGE_16KB := $(TARGET_KERNEL_DIR_16K)/dtbo.img
+
+# The 16kb mode does not use these modules.
+BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/zram.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/aoc_unit_test_dev.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/gs-panel-common-test.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf_clk_rate_trace_test_portal.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/panel-gs-tk4c-test.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/pwm-exynos.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/rt4539_bl.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/sec_touch.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_sample_test.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_test.ko,$(BOARD_KERNEL_MODULES_16K))
+BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module)))
+
+BOARD_16K_OTA_USE_INCREMENTAL := true
+BOARD_16K_OTA_MOVE_VENDOR := true
endif
+
+endif
+
diff --git a/device-komodo.mk b/device-komodo.mk
index eee3de81..e5e27604 100644
--- a/device-komodo.mk
+++ b/device-komodo.mk
@@ -26,10 +26,20 @@ RELEASE_GOOGLE_BOOTLOADER_KOMODO_DIR ?= 24D1# Keep this for pdk TODO: b/32711900
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_KOMODO_DIR)
$(call soong_config_set,caimito_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_KOMODO_DIR))
+ifdef RELEASE_KERNEL_KOMODO_VERSION
+TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_KOMODO_VERSION)
+else
+TARGET_LINUX_KERNEL_VERSION ?= 6.1
+endif
+
ifdef RELEASE_KERNEL_KOMODO_DIR
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_KOMODO_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_KOMODO_DIR)/kernel-headers
+ifneq ($(TARGET_BOOTS_16K),true)
+PRODUCT_16K_DEVELOPER_OPTION := $(RELEASE_GOOGLE_KOMODO_16K_DEVELOPER_OPTION)
+endif
+
include device/google/caimito/device-caimito-16k-common.mk
else
@@ -66,7 +76,6 @@ endif
include device/google/caimito/audio/komodo/audio-tables.mk
include device/google/zumapro/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/predump_gti.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
@@ -206,10 +215,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.audio.stereo_spatialization_enabled=true
-
ifneq ($(USE_AUDIO_HAL_AIDL),true)
# HIDL Sound Dose
PRODUCT_PACKAGES += \
@@ -369,8 +374,8 @@ PRODUCT_VENDOR_PROPERTIES += \
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
-# Media Performance Class 14
-PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=34
+# Media Performance Class 15
+PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=35
# Vibrator HAL
$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))
@@ -405,11 +410,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
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
# LE Audio switcher in developer options
PRODUCT_PRODUCT_PROPERTIES += \
@@ -438,7 +442,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
# 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
# Support LE & Classic concurrent encryption (b/330704060)
PRODUCT_PRODUCT_PROPERTIES += \
@@ -448,6 +452,11 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Support RIL Domain-selection
SUPPORT_RIL_DOMAIN_SELECTION := true
+SUPPORT_VENDOR_SATELLITE_SERVICE := true
+
+# Support NTN(satellite) with dual SIM
+NTN_DUAL_SIM := true
+
# Set support one-handed mode
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_one_handed_mode=true
@@ -496,3 +505,8 @@ PRODUCT_COPY_FILES += \
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/device-ripcurrent24.mk b/device-ripcurrent24.mk
index 0711143b..ac271b8c 100644
--- a/device-ripcurrent24.mk
+++ b/device-ripcurrent24.mk
@@ -42,7 +42,6 @@ $(call inherit-product-if-exists, vendor/qorvo/uwb/qm35-hal/Device.mk)
include device/google/caimito/audio/ripcurrent24/audio-tables.mk
include device/google/zumapro/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/touch/stm/stm20.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
@@ -111,10 +110,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.audio.stereo_spatialization_enabled=true
-
# Bluetooth hci_inject test tool
PRODUCT_PACKAGES_DEBUG += \
hci_inject
diff --git a/device-ripcurrentpro.mk b/device-ripcurrentpro.mk
index 29f52b67..d3d9ef8f 100644
--- a/device-ripcurrentpro.mk
+++ b/device-ripcurrentpro.mk
@@ -45,7 +45,6 @@ $(call inherit-product-if-exists, vendor/qorvo/uwb/qm35-hal/Device.mk)
include device/google/caimito/audio/ripcurrentpro/audio-tables.mk
include device/google/zumapro/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/touch/stm/stm20.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
@@ -113,10 +112,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.audio.stereo_spatialization_enabled=true
-
# Bluetooth hci_inject test tool
PRODUCT_PACKAGES_DEBUG += \
hci_inject
@@ -250,3 +245,8 @@ PRODUCT_VENDOR_PROPERTIES += \
# Thread HAL
PRODUCT_PACKAGES += \
com.google.caimito.hardware.threadnetwork
+
+# Enable APF by default
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.powerhal.apf_disabled=false \
+ vendor.powerhal.apf_enabled=true
diff --git a/device-tokay.mk b/device-tokay.mk
index aaf7cca9..10545809 100644
--- a/device-tokay.mk
+++ b/device-tokay.mk
@@ -26,10 +26,20 @@ RELEASE_GOOGLE_BOOTLOADER_TOKAY_DIR ?= 24D1# Keep this for pdk TODO: b/327119000
RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/$(RELEASE_GOOGLE_BOOTLOADER_TOKAY_DIR)
$(call soong_config_set,caimito_bootloader,prebuilt_dir,$(RELEASE_GOOGLE_BOOTLOADER_TOKAY_DIR))
+ifdef RELEASE_KERNEL_TOKAY_VERSION
+TARGET_LINUX_KERNEL_VERSION := $(RELEASE_KERNEL_TOKAY_VERSION)
+else
+TARGET_LINUX_KERNEL_VERSION ?= 6.1
+endif
+
ifdef RELEASE_KERNEL_TOKAY_DIR
TARGET_KERNEL_DIR ?= $(RELEASE_KERNEL_TOKAY_DIR)
TARGET_BOARD_KERNEL_HEADERS ?= $(RELEASE_KERNEL_TOKAY_DIR)/kernel-headers
+ifneq ($(TARGET_BOOTS_16K),true)
+PRODUCT_16K_DEVELOPER_OPTION := $(RELEASE_GOOGLE_TOKAY_16K_DEVELOPER_OPTION)
+endif
+
include device/google/caimito/device-caimito-16k-common.mk
else
@@ -56,7 +66,6 @@ endif
include device/google/caimito/audio/tokay/audio-tables.mk
include device/google/zumapro/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/predump_gti.mk
include device/google/caimito/fingerprint/ultrasonic_udfps.mk
@@ -179,10 +188,6 @@ PRODUCT_PACKAGES += \
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true
-# declare use of stereo spatialization
-PRODUCT_PROPERTY_OVERRIDES += \
- ro.audio.stereo_spatialization_enabled=true
-
ifneq ($(USE_AUDIO_HAL_AIDL),true)
# HIDL Sound Dose
PRODUCT_PACKAGES += \
@@ -334,8 +339,8 @@ PRODUCT_VENDOR_PROPERTIES += \
PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.camera.exif_reveal_make_model=true
-# Media Performance Class 14
-PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=34
+# Media Performance Class 15
+PRODUCT_PRODUCT_PROPERTIES += ro.odm.build.media_performance_class=35
# Vibrator HAL
$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))
@@ -374,11 +379,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_one_handed_mode=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
# LE Audio switcher in developer options
PRODUCT_PRODUCT_PROPERTIES += \
@@ -407,7 +411,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
# 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
# Support LE & Classic concurrent encryption (b/330704060)
PRODUCT_PRODUCT_PROPERTIES += \
@@ -417,6 +421,11 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Support RIL Domain-selection
SUPPORT_RIL_DOMAIN_SELECTION := true
+SUPPORT_VENDOR_SATELLITE_SERVICE := true
+
+# Support NTN(satellite) with dual SIM
+NTN_DUAL_SIM := true
+
# Keyboard height ratio and bottom padding in dp for portrait mode
PRODUCT_PRODUCT_PROPERTIES += \
ro.com.google.ime.kb_pad_port_b=8 \
@@ -465,3 +474,8 @@ PRODUCT_COPY_FILES += \
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/location/caiman/user/gps.cfg b/location/caiman/user/gps.cfg
index d329a77b..c8931b55 100644
--- a/location/caiman/user/gps.cfg
+++ b/location/caiman/user/gps.cfg
@@ -139,6 +139,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/caiman/userdebug/gps.cfg b/location/caiman/userdebug/gps.cfg
index 61c7f3ed..05ab7bb3 100644
--- a/location/caiman/userdebug/gps.cfg
+++ b/location/caiman/userdebug/gps.cfg
@@ -302,6 +302,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
# VZW
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/komodo/user/gps.cfg b/location/komodo/user/gps.cfg
index f9e6e7c6..948aa28e 100644
--- a/location/komodo/user/gps.cfg
+++ b/location/komodo/user/gps.cfg
@@ -139,6 +139,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/komodo/userdebug/gps.cfg b/location/komodo/userdebug/gps.cfg
index 3aae35e8..1bc603f0 100644
--- a/location/komodo/userdebug/gps.cfg
+++ b/location/komodo/userdebug/gps.cfg
@@ -302,6 +302,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
# VZW
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/ripcurrent24/user/gps.cfg b/location/ripcurrent24/user/gps.cfg
index bd26a81f..b783875b 100644
--- a/location/ripcurrent24/user/gps.cfg
+++ b/location/ripcurrent24/user/gps.cfg
@@ -131,6 +131,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/ripcurrent24/userdebug/gps.cfg b/location/ripcurrent24/userdebug/gps.cfg
index f6ff481f..71378a73 100644
--- a/location/ripcurrent24/userdebug/gps.cfg
+++ b/location/ripcurrent24/userdebug/gps.cfg
@@ -293,6 +293,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
# VZW
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/ripcurrentpro/user/gps.cfg b/location/ripcurrentpro/user/gps.cfg
index bd26a81f..b783875b 100644
--- a/location/ripcurrentpro/user/gps.cfg
+++ b/location/ripcurrentpro/user/gps.cfg
@@ -131,6 +131,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/ripcurrentpro/userdebug/gps.cfg b/location/ripcurrentpro/userdebug/gps.cfg
index f6ff481f..71378a73 100644
--- a/location/ripcurrentpro/userdebug/gps.cfg
+++ b/location/ripcurrentpro/userdebug/gps.cfg
@@ -293,6 +293,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
# VZW
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/tokay/user/gps.cfg b/location/tokay/user/gps.cfg
index cf7ed87e..c5897c31 100644
--- a/location/tokay/user/gps.cfg
+++ b/location/tokay/user/gps.cfg
@@ -139,6 +139,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/location/tokay/userdebug/gps.cfg b/location/tokay/userdebug/gps.cfg
index 1389d995..3467d104 100644
--- a/location/tokay/userdebug/gps.cfg
+++ b/location/tokay/userdebug/gps.cfg
@@ -302,6 +302,7 @@ ENABLE_4G_CP_CAPS_MSA=0
ENABLE_NLP_IN_LPPE=0
ENABLE_NLP_IN_AGNSS=1
ENABLE_LPP_HA_GAD_SHAPE=1
+CP_LOCTECH_CONSTRAINTS=5
# VZW
GNSS_CARRIER_ID=3
ENABLE_LPP_UP=1
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
index 51dfb91f..0709eb5d 100644
--- a/nfc/libnfc-hal-st.conf
+++ b/nfc/libnfc-hal-st.conf
@@ -156,7 +156,7 @@ STNFC_REMOTE_FIELD_TIMER=0x01
###############################################################################
# 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-caiman.json b/perf/powerhint-caiman.json
index ebe5dfdd..8bd4dcb6 100644
--- a/perf/powerhint-caiman.json
+++ b/perf/powerhint-caiman.json
@@ -62,6 +62,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPULittleClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "9",
+ "13"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "CPUMidClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
@@ -103,6 +113,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUMidClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "52",
+ "56"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
@@ -145,6 +165,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUBigClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "165",
+ "170"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "GPUDvfsPeriod",
"Path": "/sys/devices/platform/1f000000.mali/dvfs_period",
@@ -257,7 +287,7 @@
"7",
"8"
],
- "DefaultIndex": 2,
+ "DefaultIndex": 4,
"ResetOnInit": true
},
{
@@ -333,7 +363,6 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min",
"Values": [
"765",
- "600",
"1"
],
"ResetOnInit": true
@@ -347,11 +376,21 @@
],
"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": [
"600",
+ "590",
"0"
],
"ResetOnInit": true
@@ -360,6 +399,7 @@
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
+ "110",
"119",
"120"
],
@@ -370,6 +410,7 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
+ "139",
"130"
],
"ResetOnInit": true
@@ -484,6 +525,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",
@@ -935,9 +985,12 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
+ "WriteOnly": true,
"ResetOnInit": false
},
{
@@ -958,6 +1011,16 @@
],
"DefaultIndex": 0,
"ResetOnInit": true
+ },
+ {
+ "Name": "SYSTEM_UI_ADPF_PROFILES",
+ "Path": ":SYSTEM_UI",
+ "Values": [
+ "SYSTEM_UI_PROFILE"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true,
+ "Type": "Event"
}
],
"Actions": [
@@ -1048,7 +1111,8 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "765"
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
},
{
"PowerHint": "LAUNCH",
@@ -1120,6 +1184,13 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAAutoPreferFit",
+ "Duration": 5000,
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskHigh",
@@ -1130,7 +1201,43 @@
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskMid",
"Duration": 5000,
- "Value": "0xff"
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
+ {
+ "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": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 5000,
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1138,6 +1245,12 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TARampupMultiplier",
+ "Duration": 0,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUSkipMask",
@@ -1228,6 +1341,12 @@
"Duration": 2000,
"Value": "0"
},
+ {
+ "PowerHint": "LAUNCH_EXTEND",
+ "Node": "TARampupMultiplier",
+ "Duration": 0,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
@@ -1377,6 +1496,12 @@
"Duration": 33,
"Value": "820000"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "TAPreferHighCap",
+ "Duration": 33,
+ "Value": "1"
+ },
{
"PowerHint": "DISPLAY_INACTIVE",
"Node": "CPULittleClusterDownRateLimitUs",
@@ -1431,11 +1556,23 @@
"Value": "0"
},
{
- "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_1",
"Node": "PA_KILL",
"Duration": 0,
"Value": "102400"
},
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_2",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "307200"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_3",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "512000"
+ },
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
@@ -1754,6 +1891,24 @@
"Duration": 100,
"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",
@@ -2072,6 +2227,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "AutoPreferIdle",
@@ -2258,6 +2419,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CDPreferIdle",
@@ -2450,6 +2617,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "MemFreq",
@@ -2504,6 +2677,18 @@
"Duration": 0,
"Value": "4"
},
+ {
+ "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",
@@ -2666,6 +2851,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
"Node": "AutoPreferIdle",
@@ -3055,13 +3246,31 @@
"PowerHint": "DISPLAY_IDLE",
"Node": "TARampupMultiplier",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
},
{
"PowerHint": "DISPLAY_IDLE",
"Node": "AdpfRampupMultiplier",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPULittleClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "13"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPUMidClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "56"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPUBigClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "170"
},
{
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
@@ -3283,13 +3492,15 @@
"PowerHint": "GAME",
"Node": "AutoMigrationMarginsEnable",
"Duration": 0,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.amm_enabled"
},
{
"PowerHint": "GAME",
"Node": "AutoDvfsHeadroomEnable",
"Duration": 0,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.amm_enabled"
},
{
"PowerHint": "GAME",
@@ -3303,6 +3514,24 @@
"Duration": 0,
"Value": "2"
},
+ {
+ "PowerHint": "GAME",
+ "Node": "CPULittleClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "9"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUMidClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "52"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUBigClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "165"
+ },
{
"PowerHint": "GAME",
"Node": "PerTaskMaxIowaitBoost",
@@ -3513,6 +3742,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_PROJECT11",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_PROJECT11",
"Node": "MemFreq",
@@ -3566,6 +3801,18 @@
"Node": "MIFTargetLoad",
"Duration": 0,
"Value": "20 80"
+ },
+ {
+ "PowerHint": "DISABLE_AMM",
+ "Node": "AutoMigrationMarginsEnable",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISABLE_AMM",
+ "Node": "AutoDvfsHeadroomEnable",
+ "Duration": 0,
+ "Value": "0"
}
],
"GpuSysfsPath" : "/sys/devices/platform/1f000000.mali",
@@ -3685,79 +3932,42 @@
"GpuCapacityBoostMax": 25000
},
{
- "Name": "UiHighBoostWithoutPid",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
- "SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
- "SamplingWindow_D": 1,
+ "Name": "SYSTEM_UI_PROFILE",
+ "PID_On": true,
+ "PID_Po": 2.0,
+ "PID_Pu": 0.5,
+ "PID_I": 0.0,
+ "PID_I_Init": 200,
+ "PID_I_High": 512,
+ "PID_I_Low": -30,
+ "PID_Do": 500.0,
+ "PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 196,
- "UclampMin_Low": 196,
+ "UclampMin_Init": 231,
+ "UclampMin_LoadUp": 730,
+ "UclampMin_LoadReset": 730,
+ "UclampMin_High": 480,
+ "UclampMin_Low": 2,
"UclampMax_EfficientBase": 500,
"UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
- "TargetTimeFactor": 1.0,
- "StaleTimeFactor": 5.0,
- "GpuBoost": false
- },
- {
- "Name": "UiLowBoostWithoutPid",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
"SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
+ "SamplingWindow_I": 0,
"SamplingWindow_D": 1,
- "UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 52,
- "UclampMin_Low": 52,
- "UclampMax_EfficientBase": 500,
- "UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
+ "ReportingRateLimitNs": 166666660,
"TargetTimeFactor": 1.0,
- "StaleTimeFactor": 5.0,
- "GpuBoost": false
- },
- {
- "Name": "UiLowNoneBoost",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
- "SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
- "SamplingWindow_D": 1,
- "UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 0,
- "UclampMin_Low": 0,
- "UclampMax_EfficientBase": 500,
- "UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
- "TargetTimeFactor": 1.0,
- "StaleTimeFactor": 5.0,
- "GpuBoost": false
+ "StaleTimeFactor": 15.0,
+ "HeuristicBoost_On": true,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.3,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
+ "JankCheckTimeFactor": 1.2,
+ "LowFrameRateThreshold": 25,
+ "MaxRecordsNum": 300,
+ "GpuBoost": true,
+ "GpuCapacityBoostMax": 25000
}
]
}
diff --git a/perf/powerhint-komodo.json b/perf/powerhint-komodo.json
index 19f55f00..965bb30c 100644
--- a/perf/powerhint-komodo.json
+++ b/perf/powerhint-komodo.json
@@ -62,6 +62,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPULittleClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "9",
+ "13"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "CPUMidClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
@@ -103,6 +113,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUMidClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "52",
+ "56"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
@@ -145,6 +165,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUBigClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "165",
+ "170"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "GPUDvfsPeriod",
"Path": "/sys/devices/platform/1f000000.mali/dvfs_period",
@@ -257,7 +287,7 @@
"7",
"8"
],
- "DefaultIndex": 2,
+ "DefaultIndex": 4,
"ResetOnInit": true
},
{
@@ -333,7 +363,6 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min",
"Values": [
"765",
- "600",
"1"
],
"ResetOnInit": true
@@ -347,11 +376,21 @@
],
"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": [
"600",
+ "590",
"0"
],
"ResetOnInit": true
@@ -360,6 +399,7 @@
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
+ "110",
"119",
"120"
],
@@ -370,6 +410,7 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
+ "139",
"130"
],
"ResetOnInit": true
@@ -484,6 +525,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",
@@ -935,9 +985,12 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
+ "WriteOnly": true,
"ResetOnInit": false
},
{
@@ -958,6 +1011,16 @@
],
"DefaultIndex": 0,
"ResetOnInit": true
+ },
+ {
+ "Name": "SYSTEM_UI_ADPF_PROFILES",
+ "Path": ":SYSTEM_UI",
+ "Values": [
+ "SYSTEM_UI_PROFILE"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true,
+ "Type": "Event"
}
],
"Actions": [
@@ -1048,7 +1111,8 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "765"
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
},
{
"PowerHint": "LAUNCH",
@@ -1120,6 +1184,13 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAAutoPreferFit",
+ "Duration": 5000,
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskHigh",
@@ -1130,7 +1201,43 @@
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskMid",
"Duration": 5000,
- "Value": "0xff"
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
+ {
+ "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": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 5000,
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1138,6 +1245,12 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TARampupMultiplier",
+ "Duration": 0,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUSkipMask",
@@ -1228,6 +1341,12 @@
"Duration": 2000,
"Value": "0"
},
+ {
+ "PowerHint": "LAUNCH_EXTEND",
+ "Node": "TARampupMultiplier",
+ "Duration": 0,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
@@ -1377,6 +1496,12 @@
"Duration": 33,
"Value": "820000"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "TAPreferHighCap",
+ "Duration": 33,
+ "Value": "1"
+ },
{
"PowerHint": "DISPLAY_INACTIVE",
"Node": "CPULittleClusterDownRateLimitUs",
@@ -1431,11 +1556,23 @@
"Value": "0"
},
{
- "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_1",
"Node": "PA_KILL",
"Duration": 0,
"Value": "102400"
},
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_2",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "307200"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_3",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "512000"
+ },
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
@@ -1623,10 +1760,10 @@
"Value": "0"
},
{
- "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
- "Node": "ReducePreferIdle",
- "Duration": 3000,
- "Value": "0"
+ "PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
+ "Node": "ReducePreferIdle",
+ "Duration": 3000,
+ "Value": "0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
@@ -1754,6 +1891,24 @@
"Duration": 100,
"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",
@@ -2072,6 +2227,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "AutoPreferIdle",
@@ -2258,6 +2419,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CDPreferIdle",
@@ -2450,6 +2617,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "MemFreq",
@@ -2504,6 +2677,18 @@
"Duration": 0,
"Value": "4"
},
+ {
+ "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",
@@ -2666,6 +2851,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
"Node": "AutoPreferIdle",
@@ -3055,13 +3246,31 @@
"PowerHint": "DISPLAY_IDLE",
"Node": "TARampupMultiplier",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
},
{
"PowerHint": "DISPLAY_IDLE",
"Node": "AdpfRampupMultiplier",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPULittleClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "13"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPUMidClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "56"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPUBigClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "170"
},
{
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
@@ -3283,13 +3492,15 @@
"PowerHint": "GAME",
"Node": "AutoMigrationMarginsEnable",
"Duration": 0,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.amm_enabled"
},
{
"PowerHint": "GAME",
"Node": "AutoDvfsHeadroomEnable",
"Duration": 0,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.amm_enabled"
},
{
"PowerHint": "GAME",
@@ -3303,6 +3514,24 @@
"Duration": 0,
"Value": "2"
},
+ {
+ "PowerHint": "GAME",
+ "Node": "CPULittleClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "9"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUMidClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "52"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUBigClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "165"
+ },
{
"PowerHint": "GAME",
"Node": "PerTaskMaxIowaitBoost",
@@ -3513,6 +3742,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_PROJECT11",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_PROJECT11",
"Node": "MemFreq",
@@ -3566,6 +3801,18 @@
"Node": "MIFTargetLoad",
"Duration": 0,
"Value": "20 80"
+ },
+ {
+ "PowerHint": "DISABLE_AMM",
+ "Node": "AutoMigrationMarginsEnable",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISABLE_AMM",
+ "Node": "AutoDvfsHeadroomEnable",
+ "Duration": 0,
+ "Value": "0"
}
],
"GpuSysfsPath" : "/sys/devices/platform/1f000000.mali",
@@ -3685,79 +3932,42 @@
"GpuCapacityBoostMax": 25000
},
{
- "Name": "UiHighBoostWithoutPid",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
- "SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
- "SamplingWindow_D": 1,
+ "Name": "SYSTEM_UI_PROFILE",
+ "PID_On": true,
+ "PID_Po": 2.0,
+ "PID_Pu": 0.5,
+ "PID_I": 0.0,
+ "PID_I_Init": 200,
+ "PID_I_High": 512,
+ "PID_I_Low": -30,
+ "PID_Do": 500.0,
+ "PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 196,
- "UclampMin_Low": 196,
+ "UclampMin_Init": 231,
+ "UclampMin_LoadUp": 730,
+ "UclampMin_LoadReset": 730,
+ "UclampMin_High": 480,
+ "UclampMin_Low": 2,
"UclampMax_EfficientBase": 500,
"UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
- "TargetTimeFactor": 1.0,
- "StaleTimeFactor": 15.0,
- "GpuBoost": false
- },
- {
- "Name": "UiLowBoostWithoutPid",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
"SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
+ "SamplingWindow_I": 0,
"SamplingWindow_D": 1,
- "UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 52,
- "UclampMin_Low": 52,
- "UclampMax_EfficientBase": 500,
- "UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
+ "ReportingRateLimitNs": 166666660,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
- "GpuBoost": false
- },
- {
- "Name": "UiLowNoneBoost",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
- "SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
- "SamplingWindow_D": 1,
- "UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 0,
- "UclampMin_Low": 0,
- "UclampMax_EfficientBase": 500,
- "UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
- "TargetTimeFactor": 1.0,
- "StaleTimeFactor": 15.0,
- "GpuBoost": false
+ "HeuristicBoost_On": true,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.3,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
+ "JankCheckTimeFactor": 1.2,
+ "LowFrameRateThreshold": 25,
+ "MaxRecordsNum": 300,
+ "GpuBoost": true,
+ "GpuCapacityBoostMax": 25000
}
]
}
diff --git a/perf/powerhint-ripcurrent24.json b/perf/powerhint-ripcurrent24.json
index ccab4c15..d1a2e484 100644
--- a/perf/powerhint-ripcurrent24.json
+++ b/perf/powerhint-ripcurrent24.json
@@ -612,6 +612,7 @@
"102400",
"0"
],
+ "WriteOnly": true,
"ResetOnInit": false
}
],
diff --git a/perf/powerhint-ripcurrentpro.json b/perf/powerhint-ripcurrentpro.json
index b74fd196..274b0e9f 100644
--- a/perf/powerhint-ripcurrentpro.json
+++ b/perf/powerhint-ripcurrentpro.json
@@ -321,7 +321,6 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min",
"Values": [
"765",
- "600",
"1"
],
"ResetOnInit": true
@@ -335,11 +334,21 @@
],
"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": [
"600",
+ "590",
"0"
],
"ResetOnInit": true
@@ -348,6 +357,7 @@
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
+ "110",
"119",
"120"
],
@@ -358,6 +368,7 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
+ "139",
"130"
],
"ResetOnInit": true
@@ -472,6 +483,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",
@@ -859,9 +879,12 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
+ "WriteOnly": true,
"ResetOnInit": false
},
{
@@ -972,7 +995,8 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "765"
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
},
{
"PowerHint": "LAUNCH",
@@ -1044,6 +1068,13 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAAutoPreferFit",
+ "Duration": 5000,
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskHigh",
@@ -1054,7 +1085,43 @@
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskMid",
"Duration": 5000,
- "Value": "0xff"
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
+ {
+ "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": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 5000,
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1349,11 +1416,23 @@
"Value": "0"
},
{
- "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_1",
"Node": "PA_KILL",
"Duration": 0,
"Value": "102400"
},
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_2",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "307200"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_3",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "512000"
+ },
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
@@ -1573,8 +1652,8 @@
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidValue",
- "Duration": 3000,
- "Value": "600"
+ "Duration": 3000,
+ "Value": "600"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
@@ -1672,6 +1751,24 @@
"Duration": 100,
"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",
@@ -1954,6 +2051,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "AutoPreferIdle",
@@ -2104,6 +2207,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CDPreferIdle",
@@ -2260,6 +2369,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "MemFreq",
@@ -2314,6 +2429,18 @@
"Duration": 0,
"Value": "4"
},
+ {
+ "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",
@@ -2440,6 +2567,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
"Node": "AutoPreferIdle",
diff --git a/perf/powerhint-tokay.json b/perf/powerhint-tokay.json
index ebe5dfdd..42e17193 100644
--- a/perf/powerhint-tokay.json
+++ b/perf/powerhint-tokay.json
@@ -62,6 +62,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPULittleClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "10",
+ "13"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "CPUMidClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq",
@@ -103,6 +113,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUMidClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "54",
+ "56"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "CPUBigClusterMaxFreq",
"Path": "/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq",
@@ -145,6 +165,16 @@
"DefaultIndex": 0,
"ResetOnInit": true
},
+ {
+ "Name": "CPUBigClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "164",
+ "170"
+ ],
+ "DefaultIndex": 1,
+ "ResetOnInit": true
+ },
{
"Name": "GPUDvfsPeriod",
"Path": "/sys/devices/platform/1f000000.mali/dvfs_period",
@@ -257,7 +287,7 @@
"7",
"8"
],
- "DefaultIndex": 2,
+ "DefaultIndex": 4,
"ResetOnInit": true
},
{
@@ -333,7 +363,6 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min",
"Values": [
"765",
- "600",
"1"
],
"ResetOnInit": true
@@ -347,11 +376,21 @@
],
"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": [
"600",
+ "590",
"0"
],
"ResetOnInit": true
@@ -360,6 +399,7 @@
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
+ "110",
"119",
"120"
],
@@ -370,6 +410,7 @@
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
+ "139",
"130"
],
"ResetOnInit": true
@@ -484,6 +525,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",
@@ -935,9 +985,12 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
+ "WriteOnly": true,
"ResetOnInit": false
},
{
@@ -958,6 +1011,16 @@
],
"DefaultIndex": 0,
"ResetOnInit": true
+ },
+ {
+ "Name": "SYSTEM_UI_ADPF_PROFILES",
+ "Path": ":SYSTEM_UI",
+ "Values": [
+ "SYSTEM_UI_PROFILE"
+ ],
+ "DefaultIndex": 0,
+ "ResetOnInit": true,
+ "Type": "Event"
}
],
"Actions": [
@@ -1048,7 +1111,8 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "765"
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
},
{
"PowerHint": "LAUNCH",
@@ -1120,6 +1184,13 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAAutoPreferFit",
+ "Duration": 5000,
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskHigh",
@@ -1130,7 +1201,43 @@
"PowerHint": "LAUNCH",
"Node": "TAPreferredIdleMaskMid",
"Duration": 5000,
- "Value": "0xff"
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
+ {
+ "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": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
+ },
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUclampMinOnNiceMidPrio",
+ "Duration": 5000,
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1138,6 +1245,12 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TARampupMultiplier",
+ "Duration": 0,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUSkipMask",
@@ -1228,6 +1341,12 @@
"Duration": 2000,
"Value": "0"
},
+ {
+ "PowerHint": "LAUNCH_EXTEND",
+ "Node": "TARampupMultiplier",
+ "Duration": 0,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
@@ -1377,6 +1496,12 @@
"Duration": 33,
"Value": "820000"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "TAPreferHighCap",
+ "Duration": 33,
+ "Value": "1"
+ },
{
"PowerHint": "DISPLAY_INACTIVE",
"Node": "CPULittleClusterDownRateLimitUs",
@@ -1431,11 +1556,23 @@
"Value": "0"
},
{
- "PowerHint": "CAMERA_PA_KILL_BOOST",
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_1",
"Node": "PA_KILL",
"Duration": 0,
"Value": "102400"
},
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_2",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "307200"
+ },
+ {
+ "PowerHint": "CAMERA_PA_KILL_BOOST_LEVEL_3",
+ "Node": "PA_KILL",
+ "Duration": 0,
+ "Value": "512000"
+ },
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "CPUSkipMask",
@@ -1655,8 +1792,8 @@
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidValue",
- "Duration": 3000,
- "Value": "600"
+ "Duration": 3000,
+ "Value": "600"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
@@ -1754,6 +1891,24 @@
"Duration": 100,
"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",
@@ -2072,6 +2227,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "AutoPreferIdle",
@@ -2258,6 +2419,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_HIGH",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CDPreferIdle",
@@ -2450,6 +2617,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_STANDARD",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "MemFreq",
@@ -2504,6 +2677,18 @@
"Duration": 0,
"Value": "4"
},
+ {
+ "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",
@@ -2666,6 +2851,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_STREAMING_VIDEO_CALL",
"Node": "AutoPreferIdle",
@@ -3055,13 +3246,31 @@
"PowerHint": "DISPLAY_IDLE",
"Node": "TARampupMultiplier",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
},
{
"PowerHint": "DISPLAY_IDLE",
"Node": "AdpfRampupMultiplier",
"Duration": 0,
- "Value": "0"
+ "Value": "1"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPULittleClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "13"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPUMidClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "56"
+ },
+ {
+ "PowerHint": "DISPLAY_IDLE",
+ "Node": "CPUBigClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "170"
},
{
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
@@ -3283,13 +3492,15 @@
"PowerHint": "GAME",
"Node": "AutoMigrationMarginsEnable",
"Duration": 0,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.amm_enabled"
},
{
"PowerHint": "GAME",
"Node": "AutoDvfsHeadroomEnable",
"Duration": 0,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.amm_enabled"
},
{
"PowerHint": "GAME",
@@ -3303,6 +3514,24 @@
"Duration": 0,
"Value": "2"
},
+ {
+ "PowerHint": "GAME",
+ "Node": "CPULittleClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "10"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUMidClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "54"
+ },
+ {
+ "PowerHint": "GAME",
+ "Node": "CPUBigClusterResponseTimeMs",
+ "Duration": 0,
+ "Value": "164"
+ },
{
"PowerHint": "GAME",
"Node": "PerTaskMaxIowaitBoost",
@@ -3513,6 +3742,12 @@
"Duration": 0,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_PROJECT11",
+ "Node": "FGPreferIdle",
+ "Duration": 0,
+ "Value": "1"
+ },
{
"PowerHint": "CAMERA_PROJECT11",
"Node": "MemFreq",
@@ -3566,6 +3801,18 @@
"Node": "MIFTargetLoad",
"Duration": 0,
"Value": "20 80"
+ },
+ {
+ "PowerHint": "DISABLE_AMM",
+ "Node": "AutoMigrationMarginsEnable",
+ "Duration": 0,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISABLE_AMM",
+ "Node": "AutoDvfsHeadroomEnable",
+ "Duration": 0,
+ "Value": "0"
}
],
"GpuSysfsPath" : "/sys/devices/platform/1f000000.mali",
@@ -3685,79 +3932,42 @@
"GpuCapacityBoostMax": 25000
},
{
- "Name": "UiHighBoostWithoutPid",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
- "SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
- "SamplingWindow_D": 1,
+ "Name": "SYSTEM_UI_PROFILE",
+ "PID_On": true,
+ "PID_Po": 2.0,
+ "PID_Pu": 0.5,
+ "PID_I": 0.0,
+ "PID_I_Init": 200,
+ "PID_I_High": 512,
+ "PID_I_Low": -30,
+ "PID_Do": 500.0,
+ "PID_Du": 0.0,
"UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 196,
- "UclampMin_Low": 196,
+ "UclampMin_Init": 231,
+ "UclampMin_LoadUp": 730,
+ "UclampMin_LoadReset": 730,
+ "UclampMin_High": 480,
+ "UclampMin_Low": 2,
"UclampMax_EfficientBase": 500,
"UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
- "TargetTimeFactor": 1.0,
- "StaleTimeFactor": 5.0,
- "GpuBoost": false
- },
- {
- "Name": "UiLowBoostWithoutPid",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
"SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
+ "SamplingWindow_I": 0,
"SamplingWindow_D": 1,
- "UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 52,
- "UclampMin_Low": 52,
- "UclampMax_EfficientBase": 500,
- "UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
+ "ReportingRateLimitNs": 166666660,
"TargetTimeFactor": 1.0,
- "StaleTimeFactor": 5.0,
- "GpuBoost": false
- },
- {
- "Name": "UiLowNoneBoost",
- "PID_On": false,
- "PID_Po": 0,
- "PID_Pu": 0,
- "PID_I": 0,
- "PID_I_Init": 0,
- "PID_I_High": 0,
- "PID_I_Low": 0,
- "PID_Do": 0,
- "PID_Du": 0,
- "SamplingWindow_P": 1,
- "SamplingWindow_I": 1,
- "SamplingWindow_D": 1,
- "UclampMin_On": true,
- "UclampMin_Init": 250,
- "UclampMin_High": 0,
- "UclampMin_Low": 0,
- "UclampMax_EfficientBase": 500,
- "UclampMax_EfficientOffset": 200,
- "ReportingRateLimitNs": 1,
- "TargetTimeFactor": 1.0,
- "StaleTimeFactor": 5.0,
- "GpuBoost": false
+ "StaleTimeFactor": 15.0,
+ "HeuristicBoost_On": true,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.3,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
+ "JankCheckTimeFactor": 1.2,
+ "LowFrameRateThreshold": 25,
+ "MaxRecordsNum": 300,
+ "GpuBoost": true,
+ "GpuCapacityBoostMax": 25000
}
]
}
diff --git a/perf/powerhint-zuma.json b/perf/powerhint-zuma.json
index 996ecf97..1a75c204 100644
--- a/perf/powerhint-zuma.json
+++ b/perf/powerhint-zuma.json
@@ -796,6 +796,7 @@
"102400",
"0"
],
+ "WriteOnly": true,
"ResetOnInit": false
}
],
@@ -1319,6 +1320,18 @@
"Duration": 100,
"Value": "0"
},
+ {
+ "PowerHint": "CAMERA_MULTICAM_BOOST",
+ "Node": "CDPreferIdle",
+ "Duration": 100,
+ "Value": "1"
+ },
+ {
+ "PowerHint": "CAMERA_MULTICAM_BOOST",
+ "Node": "PMU_POLL",
+ "Duration": 100,
+ "Value": "0"
+ },
{
"PowerHint": "GCA_CAMERA_SHOT_BIGCPU_RANK1",
"Node": "TAPreferHighCap",
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 82ef6bb3..2e2e8e38 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -192,4 +192,6 @@
false: firmware roaming will not be affected. -->
true
+
+ false
diff --git a/thermal/thermal_info_config_caiman.json b/thermal/thermal_info_config_caiman.json
index 7eaed015..6369238a 100644
--- a/thermal/thermal_info_config_caiman.json
+++ b/thermal/thermal_info_config_caiman.json
@@ -282,12 +282,119 @@
"VirtualSensor": true,
"ModelPath": "vt_prediction_lstm_model.tflite",
"Formula": "USE_ML_MODEL",
- "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"PreviousSampleCount": 11,
"OutputLabelCount": 6,
"Multiplier": 0.001,
"SupportUnderSampling": true,
- "ValidateInput": true
+ "ValidateInput": true,
+ "SupportPrediction": true,
+ "SampleDuration": 7000,
+ "TimeResolution": 7000
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-7SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 7000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-14SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 14000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-21SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 21000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-28SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 28000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-35SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 35000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-NOW",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 0,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-7SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-7SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-14SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-14SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-21SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-21SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-28SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-28SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-35SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-35SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
},
{
"Name": "STATS-UPDATOR",
@@ -296,8 +403,22 @@
"Hidden": true,
"TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"Formula": "WEIGHTED_AVG",
- "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LSTM-MODEL"],
- "Coefficient": [0.0, 0.0, 0.0, 0.0],
+ "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF"],
+ "Coefficient": [0.0, 0.0, 0.0],
+ "Multiplier": 1,
+ "SendPowerHint": true,
+ "PollingDelay": 300000,
+ "PassiveDelay": 7000
+ },
+ {
+ "Name": "STATS-UPDATOR-LSTM",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL", "LSTM-VT-PREDICTION-ERROR-7SEC", "LSTM-VT-PREDICTION-ERROR-14SEC", "LSTM-VT-PREDICTION-ERROR-21SEC", "LSTM-VT-PREDICTION-ERROR-28SEC", "LSTM-VT-PREDICTION-ERROR-35SEC"],
+ "Coefficient": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"Multiplier": 1,
"SendPowerHint": true,
"PollingDelay": 300000,
@@ -1012,22 +1133,29 @@
]
},
{
- "Name": "VIRTUAL-USB-THROTTLING",
+ "Name": "USB-MINUS-CHARGING",
"Type": "UNKNOWN",
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
+ "Combination": ["usb_pwr_therm", "charging_therm"],
+ "Coefficient": [1.0, -1.0]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [55000.0, 50000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 2.0, "NaN", "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0],
"BindedCdevInfo": [
{
"CdevRequest": "usbc-port",
"LimitInfo": [0, 0, 0, 0, 1, 1, 1]
}
],
- "Multiplier": 0.001,
"PollingDelay": 300000,
"PassiveDelay": 7000
},
@@ -1035,13 +1163,12 @@
"Name": "VIRTUAL-USB-UI",
"Type": "USB_PORT",
"VirtualSensor": true,
- "Formula": "WEIGHTED_AVG",
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 57.0, "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
- "Multiplier": 0.001,
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [57000.0, 52000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 2.0, "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 0.9, 0.0],
"PollingDelay": 300000,
"PassiveDelay": 7000,
"SendCallback": true
@@ -1483,6 +1610,46 @@
-4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000
]
},
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-7SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-7SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-14SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-14SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-21SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-21SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-28SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-28SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-35SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-35SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
{
"Name": "VIRTUAL-SKIN-CHARGE-DURING-WLC-STATS",
"Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
diff --git a/thermal/thermal_info_config_caiman_wingboard.json b/thermal/thermal_info_config_caiman_wingboard.json
index 753fa4ee..7da41c6f 100644
--- a/thermal/thermal_info_config_caiman_wingboard.json
+++ b/thermal/thermal_info_config_caiman_wingboard.json
@@ -314,7 +314,7 @@
"VirtualSensor": true,
"ModelPath": "vt_prediction_lstm_model.tflite",
"Formula": "USE_ML_MODEL",
- "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"PreviousSampleCount": 11,
"OutputLabelCount": 6,
"Multiplier": 0.001,
diff --git a/thermal/thermal_info_config_charge_caiman.json b/thermal/thermal_info_config_charge_caiman.json
index f2ad61be..52174348 100644
--- a/thermal/thermal_info_config_charge_caiman.json
+++ b/thermal/thermal_info_config_charge_caiman.json
@@ -265,22 +265,29 @@
]
},
{
- "Name": "VIRTUAL-USB-THROTTLING",
+ "Name": "USB-MINUS-CHARGING",
"Type": "UNKNOWN",
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
+ "Combination": ["usb_pwr_therm", "charging_therm"],
+ "Coefficient": [1.0, -1.0]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [55000.0, 50000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 2.0, "NaN", "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0],
"BindedCdevInfo": [
{
"CdevRequest": "usbc-port",
"LimitInfo": [0, 0, 0, 0, 1, 1, 1]
}
],
- "Multiplier": 0.001,
"PollingDelay": 300000,
"PassiveDelay": 7000
}
diff --git a/thermal/thermal_info_config_charge_komodo.json b/thermal/thermal_info_config_charge_komodo.json
index 1851ceb4..07150dae 100644
--- a/thermal/thermal_info_config_charge_komodo.json
+++ b/thermal/thermal_info_config_charge_komodo.json
@@ -276,22 +276,29 @@
]
},
{
- "Name": "VIRTUAL-USB-THROTTLING",
+ "Name": "USB-MINUS-CHARGING",
"Type": "UNKNOWN",
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
+ "Combination": ["usb_pwr_therm", "charging_therm"],
+ "Coefficient": [1.0, -1.0]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [55000.0, 50000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 2.0, "NaN", "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0],
"BindedCdevInfo": [
{
"CdevRequest": "usbc-port",
"LimitInfo": [0, 0, 0, 0, 1, 1, 1]
}
],
- "Multiplier": 0.001,
"PollingDelay": 300000,
"PassiveDelay": 7000
}
diff --git a/thermal/thermal_info_config_charge_tokay.json b/thermal/thermal_info_config_charge_tokay.json
index 740ecfa1..e5cc66fd 100644
--- a/thermal/thermal_info_config_charge_tokay.json
+++ b/thermal/thermal_info_config_charge_tokay.json
@@ -243,22 +243,29 @@
]
},
{
- "Name": "VIRTUAL-USB-THROTTLING",
+ "Name": "USB-MINUS-CHARGING",
"Type": "UNKNOWN",
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
+ "Combination": ["usb_pwr_therm", "charging_therm"],
+ "Coefficient": [1.0, -1.0]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [55000.0, 50000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 2.0, "NaN", "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0],
"BindedCdevInfo": [
{
"CdevRequest": "usbc-port",
"LimitInfo": [0, 0, 0, 0, 1, 1, 1]
}
],
- "Multiplier": 0.001,
"PollingDelay": 300000,
"PassiveDelay": 7000
}
diff --git a/thermal/thermal_info_config_komodo.json b/thermal/thermal_info_config_komodo.json
index c329b20b..e1ae5722 100644
--- a/thermal/thermal_info_config_komodo.json
+++ b/thermal/thermal_info_config_komodo.json
@@ -272,13 +272,120 @@
"VirtualSensor": true,
"ModelPath": "vt_prediction_lstm_model.tflite",
"Formula": "USE_ML_MODEL",
- "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"PreviousSampleCount": 11,
"OutputLabelCount": 6,
"Multiplier": 0.001,
"SupportUnderSampling": true,
- "ValidateInput": true
+ "ValidateInput": true,
+ "SupportPrediction": true,
+ "SampleDuration": 7000,
+ "TimeResolution": 7000
},
+ {
+ "Name": "LSTM-VT-PREDICTION-7SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 7000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-14SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 14000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-21SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 21000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-28SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 28000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-35SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 35000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-NOW",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 0,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-7SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-7SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-14SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-14SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-21SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-21SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-28SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-28SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-35SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-35SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
{
"Name": "STATS-UPDATOR",
"Type": "UNKNOWN",
@@ -286,8 +393,22 @@
"Hidden": true,
"TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"Formula": "WEIGHTED_AVG",
- "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LSTM-MODEL"],
- "Coefficient": [0.0, 0.0, 0.0, 0.0],
+ "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF"],
+ "Coefficient": [0.0, 0.0, 0.0],
+ "Multiplier": 1,
+ "SendPowerHint": true,
+ "PollingDelay": 300000,
+ "PassiveDelay": 7000
+ },
+ {
+ "Name": "STATS-UPDATOR-LSTM",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL", "LSTM-VT-PREDICTION-ERROR-7SEC", "LSTM-VT-PREDICTION-ERROR-14SEC", "LSTM-VT-PREDICTION-ERROR-21SEC", "LSTM-VT-PREDICTION-ERROR-28SEC", "LSTM-VT-PREDICTION-ERROR-35SEC"],
+ "Coefficient": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"Multiplier": 1,
"SendPowerHint": true,
"PollingDelay": 300000,
@@ -1035,22 +1156,29 @@
]
},
{
- "Name": "VIRTUAL-USB-THROTTLING",
+ "Name": "USB-MINUS-CHARGING",
"Type": "UNKNOWN",
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
+ "Combination": ["usb_pwr_therm", "charging_therm"],
+ "Coefficient": [1.0, -1.0]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [55000.0, 50000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 2.0, "NaN", "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0],
"BindedCdevInfo": [
{
"CdevRequest": "usbc-port",
"LimitInfo": [0, 0, 0, 0, 1, 1, 1]
}
],
- "Multiplier": 0.001,
"PollingDelay": 300000,
"PassiveDelay": 7000
},
@@ -1058,13 +1186,12 @@
"Name": "VIRTUAL-USB-UI",
"Type": "USB_PORT",
"VirtualSensor": true,
- "Formula": "WEIGHTED_AVG",
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 57.0, "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
- "Multiplier": 0.001,
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [57000.0, 52000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 2.0, "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 0.9, 0.0],
"PollingDelay": 300000,
"PassiveDelay": 7000,
"SendCallback": true
@@ -1506,6 +1633,46 @@
-4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000
]
},
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-7SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-7SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-14SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-14SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-21SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-21SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-28SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-28SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-35SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-35SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
{
"Name": "VIRTUAL-SKIN-CHARGE-DURING-WLC-STATS",
"Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
diff --git a/thermal/thermal_info_config_komodo_wingboard.json b/thermal/thermal_info_config_komodo_wingboard.json
index c8655e87..41184369 100644
--- a/thermal/thermal_info_config_komodo_wingboard.json
+++ b/thermal/thermal_info_config_komodo_wingboard.json
@@ -304,7 +304,7 @@
"VirtualSensor": true,
"ModelPath": "vt_prediction_lstm_model.tflite",
"Formula": "USE_ML_MODEL",
- "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"PreviousSampleCount": 11,
"OutputLabelCount": 6,
"Multiplier": 0.001,
diff --git a/thermal/thermal_info_config_tokay.json b/thermal/thermal_info_config_tokay.json
index 25aa5e78..30a492c8 100644
--- a/thermal/thermal_info_config_tokay.json
+++ b/thermal/thermal_info_config_tokay.json
@@ -272,12 +272,119 @@
"VirtualSensor": true,
"ModelPath": "vt_prediction_lstm_model.tflite",
"Formula": "USE_ML_MODEL",
- "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"PreviousSampleCount": 11,
"OutputLabelCount": 6,
"Multiplier": 0.001,
"SupportUnderSampling": true,
- "ValidateInput": true
+ "ValidateInput": true,
+ "SupportPrediction": true,
+ "SampleDuration": 7000,
+ "TimeResolution": 7000
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-7SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 7000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-14SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 14000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-21SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 21000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-28SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 28000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-35SEC-BACK",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 35000,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-NOW",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "PREVIOUSLY_PREDICTED",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL"],
+ "PredictionDuration": 0,
+ "Multiplier": 0.001
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-7SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-7SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-14SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-14SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-21SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-21SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-28SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-28SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-35SEC",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["LSTM-VT-PREDICTION-35SEC-BACK", "LSTM-VT-PREDICTION-NOW"],
+ "Coefficient": [1.0, -1.0],
+ "Multiplier": 1
},
{
"Name": "STATS-UPDATOR",
@@ -286,8 +393,22 @@
"Hidden": true,
"TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"Formula": "WEIGHTED_AVG",
- "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LSTM-MODEL"],
- "Coefficient": [0.0, 0.0, 0.0, 0.0],
+ "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF"],
+ "Coefficient": [0.0, 0.0, 0.0],
+ "Multiplier": 1,
+ "SendPowerHint": true,
+ "PollingDelay": 300000,
+ "PassiveDelay": 7000
+ },
+ {
+ "Name": "STATS-UPDATOR-LSTM",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Hidden": true,
+ "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Formula": "WEIGHTED_AVG",
+ "Combination": ["VIRTUAL-SKIN-LSTM-MODEL", "LSTM-VT-PREDICTION-ERROR-7SEC", "LSTM-VT-PREDICTION-ERROR-14SEC", "LSTM-VT-PREDICTION-ERROR-21SEC", "LSTM-VT-PREDICTION-ERROR-28SEC", "LSTM-VT-PREDICTION-ERROR-35SEC"],
+ "Coefficient": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
"Multiplier": 1,
"SendPowerHint": true,
"PollingDelay": 300000,
@@ -969,22 +1090,29 @@
]
},
{
- "Name": "VIRTUAL-USB-THROTTLING",
+ "Name": "USB-MINUS-CHARGING",
"Type": "UNKNOWN",
"VirtualSensor": true,
"Formula": "WEIGHTED_AVG",
+ "Combination": ["usb_pwr_therm", "charging_therm"],
+ "Coefficient": [1.0, -1.0]
+ },
+ {
+ "Name": "VIRTUAL-USB-THROTTLING",
+ "Type": "UNKNOWN",
+ "VirtualSensor": true,
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [55000.0, 50000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 2.0, "NaN", "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0],
"BindedCdevInfo": [
{
"CdevRequest": "usbc-port",
"LimitInfo": [0, 0, 0, 0, 1, 1, 1]
}
],
- "Multiplier": 0.001,
"PollingDelay": 300000,
"PassiveDelay": 7000
},
@@ -992,13 +1120,12 @@
"Name": "VIRTUAL-USB-UI",
"Type": "USB_PORT",
"VirtualSensor": true,
- "Formula": "WEIGHTED_AVG",
+ "Formula": "COUNT_THRESHOLD",
"TriggerSensor": "usb_pwr_therm",
- "Combination": ["usb_pwr_therm"],
- "Coefficient": [1.0],
- "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 57.0, "NaN"],
- "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
- "Multiplier": 0.001,
+ "Combination": ["usb_pwr_therm", "usb_pwr_therm", "USB-MINUS-CHARGING"],
+ "Coefficient": [57000.0, 52000.0, 2000.0],
+ "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 2.0, "NaN"],
+ "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 0.9, 0.0],
"PollingDelay": 300000,
"PassiveDelay": 7000,
"SendCallback": true
@@ -1440,6 +1567,46 @@
-4000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000
]
},
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-7SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-7SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-14SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-14SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-21SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-21SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-28SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-28SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
+ {
+ "Name": "LSTM-VT-PREDICTION-ERROR-35SEC",
+ "LoggingName": "LSTM-PREDICTION-ERROR-35SEC",
+ "Thresholds": [
+ -4500, -4000, -3500, -3000, -2500, -2000, -1500, -1000, -500, 0,
+ 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500
+ ]
+ },
{
"Name": "VIRTUAL-SKIN-CHARGE-DURING-WLC-STATS",
"Thresholds": [-200, 15, 25, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55]
diff --git a/thermal/thermal_info_config_tokay_wingboard.json b/thermal/thermal_info_config_tokay_wingboard.json
index 2bc582b3..995f3b4a 100644
--- a/thermal/thermal_info_config_tokay_wingboard.json
+++ b/thermal/thermal_info_config_tokay_wingboard.json
@@ -293,7 +293,7 @@
"VirtualSensor": true,
"ModelPath": "vt_prediction_lstm_model.tflite",
"Formula": "USE_ML_MODEL",
- "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
+ "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
"PreviousSampleCount": 11,
"OutputLabelCount": 6,
"Multiplier": 0.001,
diff --git a/thermal/vt_prediction_lstm_model_caiman.tflite b/thermal/vt_prediction_lstm_model_caiman.tflite
index 14f07b5a..ace7a020 100644
Binary files a/thermal/vt_prediction_lstm_model_caiman.tflite and b/thermal/vt_prediction_lstm_model_caiman.tflite differ
diff --git a/thermal/vt_prediction_lstm_model_komodo.tflite b/thermal/vt_prediction_lstm_model_komodo.tflite
index 8a8e2611..ccab26a3 100644
Binary files a/thermal/vt_prediction_lstm_model_komodo.tflite and b/thermal/vt_prediction_lstm_model_komodo.tflite differ
diff --git a/thermal/vt_prediction_lstm_model_tokay.tflite b/thermal/vt_prediction_lstm_model_tokay.tflite
index 100d94e5..cd95c0cc 100644
Binary files a/thermal/vt_prediction_lstm_model_tokay.tflite and b/thermal/vt_prediction_lstm_model_tokay.tflite differ