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..861ef15a 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/downlink_handset_config.pb b/audio/caiman/tuning/apmg3/downlink_handset_config.pb
index 59cfa128..2afee2af 100644
Binary files a/audio/caiman/tuning/apmg3/downlink_handset_config.pb and b/audio/caiman/tuning/apmg3/downlink_handset_config.pb differ
diff --git a/audio/caiman/tuning/apmg3/downlink_handset_hac_config.pb b/audio/caiman/tuning/apmg3/downlink_handset_hac_config.pb
new file mode 100644
index 00000000..91b635c4
Binary files /dev/null and b/audio/caiman/tuning/apmg3/downlink_handset_hac_config.pb differ
diff --git a/audio/caiman/tuning/apmg3/downlink_speaker_config.pb b/audio/caiman/tuning/apmg3/downlink_speaker_config.pb
index bec8c9ab..606951a5 100644
Binary files a/audio/caiman/tuning/apmg3/downlink_speaker_config.pb and b/audio/caiman/tuning/apmg3/downlink_speaker_config.pb 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_handset_hac_aec_off_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_hac_aec_off_config.pb
new file mode 100644
index 00000000..2b4edbdb
Binary files /dev/null and b/audio/caiman/tuning/apmg3/uplink_handset_hac_aec_off_config.pb differ
diff --git a/audio/caiman/tuning/apmg3/uplink_handset_hac_aec_on_config.pb b/audio/caiman/tuning/apmg3/uplink_handset_hac_aec_on_config.pb
new file mode 100644
index 00000000..2fd9459e
Binary files /dev/null and b/audio/caiman/tuning/apmg3/uplink_handset_hac_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 ffe03515..f9e1729b 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 1dedfa59..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 df0a6b40..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-10-11 14:08:41
+#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,7 +6253,7 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0000 //TX_TDDRC_THRD_0
+854 0x0003 //TX_TDDRC_THRD_0
855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
@@ -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,7 +11643,7 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0000 //TX_TDDRC_THRD_0
+854 0x0003 //TX_TDDRC_THRD_0
855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
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 d8fabe15..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-10-11 14:07:45
+#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 3c75fcb7..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 7c9d0449..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-10-14 15:54:48
+#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
@@ -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
@@ -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
diff --git a/audio/caiman/tuning/fortemedia/HEADSET.dat b/audio/caiman/tuning/fortemedia/HEADSET.dat
index 9373e666..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 760f6fda..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-10-11 14:08:01
+#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,7 +33203,7 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0000 //TX_TDDRC_THRD_0
+854 0x0003 //TX_TDDRC_THRD_0
855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
@@ -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,7 +38593,7 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0000 //TX_TDDRC_THRD_0
+854 0x0003 //TX_TDDRC_THRD_0
855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
@@ -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,7 +73628,7 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0000 //TX_TDDRC_THRD_0
+854 0x0003 //TX_TDDRC_THRD_0
855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
@@ -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,7 +79018,7 @@
851 0x0000 //TX_FFP_RESRV_5
852 0x0000 //TX_FFP_RESRV_6
853 0x0002 //TX_FILTINDX
-854 0x0000 //TX_TDDRC_THRD_0
+854 0x0003 //TX_TDDRC_THRD_0
855 0x0090 //TX_TDDRC_THRD_1
856 0x1000 //TX_TDDRC_THRD_2
857 0x1200 //TX_TDDRC_THRD_3
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..861ef15a 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/downlink_handset_config.pb b/audio/komodo/tuning/apmg3/downlink_handset_config.pb
index ecdef83f..ffe96ef7 100644
Binary files a/audio/komodo/tuning/apmg3/downlink_handset_config.pb and b/audio/komodo/tuning/apmg3/downlink_handset_config.pb differ
diff --git a/audio/komodo/tuning/apmg3/downlink_handset_hac_config.pb b/audio/komodo/tuning/apmg3/downlink_handset_hac_config.pb
new file mode 100644
index 00000000..3971870b
Binary files /dev/null and b/audio/komodo/tuning/apmg3/downlink_handset_hac_config.pb differ
diff --git a/audio/komodo/tuning/apmg3/downlink_speaker_config.pb b/audio/komodo/tuning/apmg3/downlink_speaker_config.pb
index 71c7f080..f8b1954e 100644
Binary files a/audio/komodo/tuning/apmg3/downlink_speaker_config.pb and b/audio/komodo/tuning/apmg3/downlink_speaker_config.pb 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_handset_hac_aec_off_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_hac_aec_off_config.pb
new file mode 100644
index 00000000..2b4edbdb
Binary files /dev/null and b/audio/komodo/tuning/apmg3/uplink_handset_hac_aec_off_config.pb differ
diff --git a/audio/komodo/tuning/apmg3/uplink_handset_hac_aec_on_config.pb b/audio/komodo/tuning/apmg3/uplink_handset_hac_aec_on_config.pb
new file mode 100644
index 00000000..2fd9459e
Binary files /dev/null and b/audio/komodo/tuning/apmg3/uplink_handset_hac_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 d13b53f2..ec9fdd7f 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..861ef15a 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/downlink_handset_config.pb b/audio/tokay/tuning/apmg3/downlink_handset_config.pb
index 7129053f..e05e6a19 100644
Binary files a/audio/tokay/tuning/apmg3/downlink_handset_config.pb and b/audio/tokay/tuning/apmg3/downlink_handset_config.pb differ
diff --git a/audio/tokay/tuning/apmg3/downlink_handset_hac_config.pb b/audio/tokay/tuning/apmg3/downlink_handset_hac_config.pb
new file mode 100644
index 00000000..cc4f32ac
Binary files /dev/null and b/audio/tokay/tuning/apmg3/downlink_handset_hac_config.pb differ
diff --git a/audio/tokay/tuning/apmg3/downlink_speaker_config.pb b/audio/tokay/tuning/apmg3/downlink_speaker_config.pb
index cd25bc7b..606951a5 100644
Binary files a/audio/tokay/tuning/apmg3/downlink_speaker_config.pb and b/audio/tokay/tuning/apmg3/downlink_speaker_config.pb 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..318b8069 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..6517b36e 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_handset_hac_aec_off_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_hac_aec_off_config.pb
new file mode 100644
index 00000000..b8672c50
Binary files /dev/null and b/audio/tokay/tuning/apmg3/uplink_handset_hac_aec_off_config.pb differ
diff --git a/audio/tokay/tuning/apmg3/uplink_handset_hac_aec_on_config.pb b/audio/tokay/tuning/apmg3/uplink_handset_hac_aec_on_config.pb
new file mode 100644
index 00000000..355115d3
Binary files /dev/null and b/audio/tokay/tuning/apmg3/uplink_handset_hac_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 94a69d69..cc1bd92d 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 31f75dd9..d36e3a3d 100644
--- a/bluetooth/bt_vendor_overlay_caiman.conf
+++ b/bluetooth/bt_vendor_overlay_caiman.conf
@@ -46,3 +46,6 @@ ThreadDispatcherEnabled = true
# 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 = 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 31f75dd9..d36e3a3d 100644
--- a/bluetooth/bt_vendor_overlay_komodo.conf
+++ b/bluetooth/bt_vendor_overlay_komodo.conf
@@ -46,3 +46,6 @@ ThreadDispatcherEnabled = true
# 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 = 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 31f75dd9..d36e3a3d 100644
--- a/bluetooth/bt_vendor_overlay_tokay.conf
+++ b/bluetooth/bt_vendor_overlay_tokay.conf
@@ -46,3 +46,6 @@ ThreadDispatcherEnabled = true
# 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 = 3
+
+# APM Uart skip suspend to aovid hold system too long when BT using AOC UART
+ApmUartSkipSuspend = true
diff --git a/caiman/BoardConfig.mk b/caiman/BoardConfig.mk
index 034b3e71..73089b85 100644
--- a/caiman/BoardConfig.mk
+++ b/caiman/BoardConfig.mk
@@ -16,7 +16,13 @@
TARGET_BOARD_INFO_FILE := device/google/caimito/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := caiman
-TARGET_SCREEN_DENSITY := 480
+
+ifdef PHONE_CAR_BOARD_PRODUCT
+ include vendor/auto/embedded/products/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
+else
+ TARGET_SCREEN_DENSITY := 480
+endif
+
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_CAIMITO := true
diff --git a/device-caiman.mk b/device-caiman.mk
index ae89fba3..40e5e5f4 100644
--- a/device-caiman.mk
+++ b/device-caiman.mk
@@ -37,7 +37,7 @@ 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)
+PRODUCT_16K_DEVELOPER_OPTION := $(RELEASE_GOOGLE_CAIMAN_16K_DEVELOPER_OPTION)
endif
include device/google/caimito/device-caimito-16k-common.mk
@@ -403,12 +403,12 @@ PRODUCT_VENDOR_PROPERTIES += \
# Bluetooth LE Audio
# Unicast
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.profile.bap.unicast.client.enabled=true \
- bluetooth.profile.csip.set_coordinator.enabled=true \
- bluetooth.profile.hap.client.enabled=true \
- bluetooth.profile.mcp.server.enabled=true \
- bluetooth.profile.ccp.server.enabled=true \
- bluetooth.profile.vcp.controller.enabled=true
+ bluetooth.profile.bap.unicast.client.enabled?=true \
+ bluetooth.profile.csip.set_coordinator.enabled?=true \
+ bluetooth.profile.hap.client.enabled?=true \
+ bluetooth.profile.mcp.server.enabled?=true \
+ bluetooth.profile.ccp.server.enabled?=true \
+ bluetooth.profile.vcp.controller.enabled?=true
# Set support one-handed mode
PRODUCT_PRODUCT_PROPERTIES += \
@@ -416,8 +416,8 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Bluetooth LE Audio Broadcast
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.profile.bap.broadcast.assist.enabled=true \
- bluetooth.profile.bap.broadcast.source.enabled=true
+ bluetooth.profile.bap.broadcast.assist.enabled?=true \
+ bluetooth.profile.bap.broadcast.source.enabled?=true
# LE Audio switcher in developer options
PRODUCT_PRODUCT_PROPERTIES += \
@@ -446,7 +446,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 += \
@@ -463,6 +463,9 @@ SUPPORT_RIL_DOMAIN_SELECTION := true
SUPPORT_VENDOR_SATELLITE_SERVICE := true
+# Support NTN(satellite) with dual SIM
+NTN_DUAL_SIM := true
+
# ETM
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
@@ -502,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-caimito-16k-common.mk b/device-caimito-16k-common.mk
index 30a6f817..b224f4f4 100644
--- a/device-caimito-16k-common.mk
+++ b/device-caimito-16k-common.mk
@@ -14,6 +14,8 @@
# 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
@@ -29,12 +31,24 @@ BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.module
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
-# Targets use exynos-bcm_dbg.ko module instead of bcm_dbg.ko.
+# 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 185f160c..365b80cc 100644
--- a/device-komodo.mk
+++ b/device-komodo.mk
@@ -37,7 +37,7 @@ 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)
+PRODUCT_16K_DEVELOPER_OPTION := $(RELEASE_GOOGLE_KOMODO_16K_DEVELOPER_OPTION)
endif
include device/google/caimito/device-caimito-16k-common.mk
@@ -404,17 +404,17 @@ PRODUCT_VENDOR_PROPERTIES += \
# Bluetooth LE Audio
# Unicast
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.profile.bap.unicast.client.enabled=true \
- bluetooth.profile.csip.set_coordinator.enabled=true \
- bluetooth.profile.hap.client.enabled=true \
- bluetooth.profile.mcp.server.enabled=true \
- bluetooth.profile.ccp.server.enabled=true \
- bluetooth.profile.vcp.controller.enabled=true
+ bluetooth.profile.bap.unicast.client.enabled?=true \
+ bluetooth.profile.csip.set_coordinator.enabled?=true \
+ bluetooth.profile.hap.client.enabled?=true \
+ bluetooth.profile.mcp.server.enabled?=true \
+ bluetooth.profile.ccp.server.enabled?=true \
+ bluetooth.profile.vcp.controller.enabled?=true
# Bluetooth LE Audio Broadcast
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.profile.bap.broadcast.assist.enabled=true \
- bluetooth.profile.bap.broadcast.source.enabled=true
+ bluetooth.profile.bap.broadcast.assist.enabled?=true \
+ bluetooth.profile.bap.broadcast.source.enabled?=true
# LE Audio switcher in developer options
PRODUCT_PRODUCT_PROPERTIES += \
@@ -443,7 +443,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 += \
@@ -455,6 +455,9 @@ 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
@@ -503,3 +506,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-ripcurrentpro.mk b/device-ripcurrentpro.mk
index 9434e674..d3d9ef8f 100644
--- a/device-ripcurrentpro.mk
+++ b/device-ripcurrentpro.mk
@@ -245,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 a11c9ac7..f1377845 100644
--- a/device-tokay.mk
+++ b/device-tokay.mk
@@ -37,7 +37,7 @@ 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)
+PRODUCT_16K_DEVELOPER_OPTION := $(RELEASE_GOOGLE_TOKAY_16K_DEVELOPER_OPTION)
endif
include device/google/caimito/device-caimito-16k-common.mk
@@ -369,12 +369,12 @@ PRODUCT_VENDOR_PROPERTIES += \
# Bluetooth LE Audio
# Unicast
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.profile.bap.unicast.client.enabled=true \
- bluetooth.profile.csip.set_coordinator.enabled=true \
- bluetooth.profile.hap.client.enabled=true \
- bluetooth.profile.mcp.server.enabled=true \
- bluetooth.profile.ccp.server.enabled=true \
- bluetooth.profile.vcp.controller.enabled=true
+ bluetooth.profile.bap.unicast.client.enabled?=true \
+ bluetooth.profile.csip.set_coordinator.enabled?=true \
+ bluetooth.profile.hap.client.enabled?=true \
+ bluetooth.profile.mcp.server.enabled?=true \
+ bluetooth.profile.ccp.server.enabled?=true \
+ bluetooth.profile.vcp.controller.enabled?=true
# Set support one-handed mode
PRODUCT_PRODUCT_PROPERTIES += \
@@ -382,8 +382,8 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Bluetooth LE Audio Broadcast
PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.profile.bap.broadcast.assist.enabled=true \
- bluetooth.profile.bap.broadcast.source.enabled=true
+ bluetooth.profile.bap.broadcast.assist.enabled?=true \
+ bluetooth.profile.bap.broadcast.source.enabled?=true
# LE Audio switcher in developer options
PRODUCT_PRODUCT_PROPERTIES += \
@@ -412,7 +412,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 += \
@@ -424,6 +424,9 @@ 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 \
@@ -472,3 +475,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..7d513998 100644
--- a/location/caiman/user/gps.cfg
+++ b/location/caiman/user/gps.cfg
@@ -23,17 +23,17 @@ ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
Chip_Configuration_RefClkControl=0x24
Chip_Configuration_DCXO_CrystalType=0x11
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
Chip_Configuration_ntn_option=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
Chip_Configuration_FeatureCfg_DVS = 1
Chip_Configuration_FeatureCfg_DFS = 1
Chip_Configuration_FeatureCfg_MTPL = 0
@@ -44,6 +44,8 @@ UseRtcForAiding=1
additional_rtc_uncertainty_ms=10
Sif_UseFwXtraInterface=1
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -70,16 +72,20 @@ UP_LocTech_PrimaryConst=0
UP_LocTech_Constraints=1
UP_LocTech_Requirements=0
SpotLogger_Allowed=0
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
path_delay_glo_12fx_cm = -5076,-5076,-5064,-5022,-4982,-4916,-4879,-4800,-4704,-4647,-4628,-4573,-4522,-4493
path_delay_gps_2fx_cm = 12371
path_delay_bds_4fx_cm = 123
@@ -88,6 +94,7 @@ RfPathLossDb_Ap=3210
RfPathLossDb_Cp=3210
RfPathLossDb_L5_Ap=4450
RfPathLossDb_L5_Cp=4450
+NmeaBitmask=0x010003fff
IsUseEntireRespTime911=1
isForceHighAccuracyMode=1
cp_partial_reset_disable=1
@@ -139,6 +146,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..34528233 100644
--- a/location/caiman/userdebug/gps.cfg
+++ b/location/caiman/userdebug/gps.cfg
@@ -62,8 +62,17 @@ ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
+# 0x01 = Precise time aiding
+# 0x02 = Coarse time aiding *
+# 0x04 = Local time aiding *
+# 0x08 = CP time aiding
+# 0x10 = Frequency counter aiding
+# 0x20 = Frequency non-counter aiding
+# 0x40 = CP Frequency aiding *
+# 0x80 = Extend BE collection *
+# 0xFFFF0000 Frequency aiding PPM mask (example - 0x00020000 is .2PPM)
### temporarily disable precise time aiding ###
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
# set shared reference clock for freq aiding (0x20)
# enable dcxo (0x04)
@@ -120,13 +129,15 @@ Chip_Configuration_RfMiscCtrl = 0x80008001
#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
Chip_Configuration_ntn_option=2
-# Disable BDS in the U.S.
-# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
-#gloUsedInUSPolicy=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+# Certain constellation permission overriding LocTech config setting: only to possibly
+# disallow constellations allowed in LocTech, not vice versa. Note: GPS and GAL are
+# allowed in all markets so no such overriding.
+# 0: not to override (default), 1-disabled, 2- disabled if in US
+#gloUsedPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
# DVS: 0 = Disabled, 1 = Enabled (default)
# DFS: 0 = Disabled, 1 = Enabled (default)
@@ -179,6 +190,8 @@ Sif_UseFwXtraInterface=1
# ChipCfg_GetGpsWeekFloor=0
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -213,16 +226,20 @@ UP_LocTech_Requirements=0
SpotLogger_Allowed=0
# GNSS power values in "mW"
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
path_delay_glo_12fx_cm = -5076,-5076,-5064,-5022,-4982,-4916,-4879,-4800,-4704,-4647,-4628,-4573,-4522,-4493
path_delay_gps_2fx_cm = 12371
@@ -302,6 +319,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..c380f621 100644
--- a/location/komodo/user/gps.cfg
+++ b/location/komodo/user/gps.cfg
@@ -23,17 +23,17 @@ ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
Chip_Configuration_RefClkControl=0x24
Chip_Configuration_DCXO_CrystalType=0x11
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
Chip_Configuration_ntn_option=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
Chip_Configuration_FeatureCfg_DVS = 1
Chip_Configuration_FeatureCfg_DFS = 1
Chip_Configuration_FeatureCfg_MTPL = 0
@@ -44,6 +44,8 @@ UseRtcForAiding=1
additional_rtc_uncertainty_ms=10
Sif_UseFwXtraInterface=1
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -70,16 +72,20 @@ UP_LocTech_PrimaryConst=0
UP_LocTech_Constraints=1
UP_LocTech_Requirements=0
SpotLogger_Allowed=0
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
path_delay_glo_12fx_cm = -5185,-5158,-5112,-5111,-5031,-4972,-4900,-4823,-4765,-4714,-4625,-4613,-4553,-4553
path_delay_gps_2fx_cm = 12378
path_delay_bds_4fx_cm = 168
@@ -88,6 +94,7 @@ RfPathLossDb_Ap=3520
RfPathLossDb_Cp=3520
RfPathLossDb_L5_Ap=3700
RfPathLossDb_L5_Cp=3700
+NmeaBitmask=0x010003fff
IsUseEntireRespTime911=1
isForceHighAccuracyMode=1
cp_partial_reset_disable=1
@@ -139,6 +146,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..51316c80 100644
--- a/location/komodo/userdebug/gps.cfg
+++ b/location/komodo/userdebug/gps.cfg
@@ -62,8 +62,17 @@ ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
+# 0x01 = Precise time aiding
+# 0x02 = Coarse time aiding *
+# 0x04 = Local time aiding *
+# 0x08 = CP time aiding
+# 0x10 = Frequency counter aiding
+# 0x20 = Frequency non-counter aiding
+# 0x40 = CP Frequency aiding *
+# 0x80 = Extend BE collection *
+# 0xFFFF0000 Frequency aiding PPM mask (example - 0x00020000 is .2PPM)
### temporarily disable precise time aiding ###
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
# set shared reference clock for freq aiding (0x20)
# enable dcxo (0x04)
@@ -120,13 +129,15 @@ Chip_Configuration_RfMiscCtrl = 0x80008001
#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
Chip_Configuration_ntn_option=2
-# Disable BDS in the U.S.
-# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
-#gloUsedInUSPolicy=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+# Certain constellation permission overriding LocTech config setting: only to possibly
+# disallow constellations allowed in LocTech, not vice versa. Note: GPS and GAL are
+# allowed in all markets so no such overriding.
+# 0: not to override (default), 1-disabled, 2- disabled if in US
+#gloUsedPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
# DVS: 0 = Disabled, 1 = Enabled (default)
# DFS: 0 = Disabled, 1 = Enabled (default)
@@ -179,6 +190,8 @@ Sif_UseFwXtraInterface=1
# ChipCfg_GetGpsWeekFloor=0
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -213,16 +226,20 @@ UP_LocTech_Requirements=0
SpotLogger_Allowed=0
# GNSS power values in "mW"
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
path_delay_glo_12fx_cm = -5185,-5158,-5112,-5111,-5031,-4972,-4900,-4823,-4765,-4714,-4625,-4613,-4553,-4553
path_delay_gps_2fx_cm = 12378
@@ -302,6 +319,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..166c91fe 100644
--- a/location/ripcurrent24/user/gps.cfg
+++ b/location/ripcurrent24/user/gps.cfg
@@ -23,17 +23,17 @@ ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
Chip_Configuration_RefClkControl=0x24
Chip_Configuration_DCXO_CrystalType=0x11
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
Chip_Configuration_ntn_option=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
Chip_Configuration_FeatureCfg_DVS = 1
Chip_Configuration_FeatureCfg_DFS = 1
Chip_Configuration_FeatureCfg_MTPL = 0
@@ -44,6 +44,8 @@ UseRtcForAiding=1
additional_rtc_uncertainty_ms=10
Sif_UseFwXtraInterface=1
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -70,16 +72,21 @@ UP_LocTech_PrimaryConst=0
UP_LocTech_Constraints=1
UP_LocTech_Requirements=0
SpotLogger_Allowed=0
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
+NmeaBitmask=0x010003fff
IsUseEntireRespTime911=1
isForceHighAccuracyMode=1
cp_partial_reset_disable=1
@@ -131,6 +138,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..c3185b9a 100644
--- a/location/ripcurrent24/userdebug/gps.cfg
+++ b/location/ripcurrent24/userdebug/gps.cfg
@@ -62,8 +62,17 @@ ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
+# 0x01 = Precise time aiding
+# 0x02 = Coarse time aiding *
+# 0x04 = Local time aiding *
+# 0x08 = CP time aiding
+# 0x10 = Frequency counter aiding
+# 0x20 = Frequency non-counter aiding
+# 0x40 = CP Frequency aiding *
+# 0x80 = Extend BE collection *
+# 0xFFFF0000 Frequency aiding PPM mask (example - 0x00020000 is .2PPM)
### temporarily disable precise time aiding ###
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
# set shared reference clock for freq aiding (0x20)
# enable dcxo (0x04)
@@ -120,13 +129,15 @@ Chip_Configuration_RfMiscCtrl = 0x80008001
#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
Chip_Configuration_ntn_option=2
-# Disable BDS in the U.S.
-# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
-#gloUsedInUSPolicy=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+# Certain constellation permission overriding LocTech config setting: only to possibly
+# disallow constellations allowed in LocTech, not vice versa. Note: GPS and GAL are
+# allowed in all markets so no such overriding.
+# 0: not to override (default), 1-disabled, 2- disabled if in US
+#gloUsedPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
# DVS: 0 = Disabled, 1 = Enabled (default)
# DFS: 0 = Disabled, 1 = Enabled (default)
@@ -179,6 +190,8 @@ Sif_UseFwXtraInterface=1
# ChipCfg_GetGpsWeekFloor=0
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -213,16 +226,20 @@ UP_LocTech_Requirements=0
SpotLogger_Allowed=0
# GNSS power values in "mW"
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
NmeaBitmask=0x010003fff
@@ -293,6 +310,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..166c91fe 100644
--- a/location/ripcurrentpro/user/gps.cfg
+++ b/location/ripcurrentpro/user/gps.cfg
@@ -23,17 +23,17 @@ ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
Chip_Configuration_RefClkControl=0x24
Chip_Configuration_DCXO_CrystalType=0x11
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
Chip_Configuration_ntn_option=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
Chip_Configuration_FeatureCfg_DVS = 1
Chip_Configuration_FeatureCfg_DFS = 1
Chip_Configuration_FeatureCfg_MTPL = 0
@@ -44,6 +44,8 @@ UseRtcForAiding=1
additional_rtc_uncertainty_ms=10
Sif_UseFwXtraInterface=1
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -70,16 +72,21 @@ UP_LocTech_PrimaryConst=0
UP_LocTech_Constraints=1
UP_LocTech_Requirements=0
SpotLogger_Allowed=0
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
+NmeaBitmask=0x010003fff
IsUseEntireRespTime911=1
isForceHighAccuracyMode=1
cp_partial_reset_disable=1
@@ -131,6 +138,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..c3185b9a 100644
--- a/location/ripcurrentpro/userdebug/gps.cfg
+++ b/location/ripcurrentpro/userdebug/gps.cfg
@@ -62,8 +62,17 @@ ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
+# 0x01 = Precise time aiding
+# 0x02 = Coarse time aiding *
+# 0x04 = Local time aiding *
+# 0x08 = CP time aiding
+# 0x10 = Frequency counter aiding
+# 0x20 = Frequency non-counter aiding
+# 0x40 = CP Frequency aiding *
+# 0x80 = Extend BE collection *
+# 0xFFFF0000 Frequency aiding PPM mask (example - 0x00020000 is .2PPM)
### temporarily disable precise time aiding ###
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
# set shared reference clock for freq aiding (0x20)
# enable dcxo (0x04)
@@ -120,13 +129,15 @@ Chip_Configuration_RfMiscCtrl = 0x80008001
#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
Chip_Configuration_ntn_option=2
-# Disable BDS in the U.S.
-# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
-#gloUsedInUSPolicy=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+# Certain constellation permission overriding LocTech config setting: only to possibly
+# disallow constellations allowed in LocTech, not vice versa. Note: GPS and GAL are
+# allowed in all markets so no such overriding.
+# 0: not to override (default), 1-disabled, 2- disabled if in US
+#gloUsedPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
# DVS: 0 = Disabled, 1 = Enabled (default)
# DFS: 0 = Disabled, 1 = Enabled (default)
@@ -179,6 +190,8 @@ Sif_UseFwXtraInterface=1
# ChipCfg_GetGpsWeekFloor=0
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -213,16 +226,20 @@ UP_LocTech_Requirements=0
SpotLogger_Allowed=0
# GNSS power values in "mW"
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
NmeaBitmask=0x010003fff
@@ -293,6 +310,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..3b4a94e5 100644
--- a/location/tokay/user/gps.cfg
+++ b/location/tokay/user/gps.cfg
@@ -23,17 +23,17 @@ ChipCfg_VDR_high_end_Distance = 200
ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
Chip_Configuration_RefClkControl=0x24
Chip_Configuration_DCXO_CrystalType=0x11
Chip_Configuration_GNSSConstConstraintDef = 0x60FF
LocTech_Constraints = 0x60FF
Chip_Configuration_RfMiscCtrl = 0x80008001
Chip_Configuration_ntn_option=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
Chip_Configuration_FeatureCfg_DVS = 1
Chip_Configuration_FeatureCfg_DFS = 1
Chip_Configuration_FeatureCfg_MTPL = 0
@@ -44,6 +44,8 @@ UseRtcForAiding=1
additional_rtc_uncertainty_ms=10
Sif_UseFwXtraInterface=1
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -70,16 +72,20 @@ UP_LocTech_PrimaryConst=0
UP_LocTech_Constraints=1
UP_LocTech_Requirements=0
SpotLogger_Allowed=0
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
path_delay_glo_12fx_cm = -5166,-5149,-5097,-5104,-5021,-4992,-4936,-4854,-4776,-4719,-4656,-4619,-4581,-4544
path_delay_gps_2fx_cm = 12368
path_delay_bds_4fx_cm = 164
@@ -88,6 +94,7 @@ RfPathLossDb_Ap=3550
RfPathLossDb_Cp=3550
RfPathLossDb_L5_Ap=3870
RfPathLossDb_L5_Cp=3870
+NmeaBitmask=0x010003fff
IsUseEntireRespTime911=1
isForceHighAccuracyMode=1
cp_partial_reset_disable=1
@@ -139,6 +146,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..aeca2242 100644
--- a/location/tokay/userdebug/gps.cfg
+++ b/location/tokay/userdebug/gps.cfg
@@ -62,8 +62,17 @@ ChipCfg_VDR_low_end_Distance = 200
ChipCfg_VDR_high_end_Time = 20
ChipCfg_VDR_low_end_Time = 20
+# 0x01 = Precise time aiding
+# 0x02 = Coarse time aiding *
+# 0x04 = Local time aiding *
+# 0x08 = CP time aiding
+# 0x10 = Frequency counter aiding
+# 0x20 = Frequency non-counter aiding
+# 0x40 = CP Frequency aiding *
+# 0x80 = Extend BE collection *
+# 0xFFFF0000 Frequency aiding PPM mask (example - 0x00020000 is .2PPM)
### temporarily disable precise time aiding ###
-Chip_Configuration_AidingConfiguration=0x00020046
+Chip_Configuration_AidingConfiguration=0x000200C6
# set shared reference clock for freq aiding (0x20)
# enable dcxo (0x04)
@@ -120,13 +129,15 @@ Chip_Configuration_RfMiscCtrl = 0x80008001
#Chip_Configuration_ntn_option=2 means turning GNSS off during NTN blackout period.
Chip_Configuration_ntn_option=2
-# Disable BDS in the U.S.
-# 0-enabled (default), 1-disabled, 2-auto(disabled in US)
-#gloUsedInUSPolicy=2
-bdsUsedInUSPolicy=2
-sbasUsedInUSPolicy=2
-qzssUsedInUSPolicy=2
-navicUsedInUSPolicy=2
+# Certain constellation permission overriding LocTech config setting: only to possibly
+# disallow constellations allowed in LocTech, not vice versa. Note: GPS and GAL are
+# allowed in all markets so no such overriding.
+# 0: not to override (default), 1-disabled, 2- disabled if in US
+#gloUsedPolicy=2
+bdsUsedPolicy=2
+sbasUsedPolicy=2
+qzssUsedPolicy=2
+navicUsedPolicy=2
# DVS: 0 = Disabled, 1 = Enabled (default)
# DFS: 0 = Disabled, 1 = Enabled (default)
@@ -179,6 +190,8 @@ Sif_UseFwXtraInterface=1
# ChipCfg_GetGpsWeekFloor=0
Agnss_IsGloAidingEnable=0
+Agnss_IsGalAidingEnable=0
+Agnss_IsBdsAidingEnable=0
SETCaps_IsOtdoa=1
SETCaps_IsLpp=1
SETCaps_SuplUT1=20
@@ -213,16 +226,20 @@ UP_LocTech_Requirements=0
SpotLogger_Allowed=0
# GNSS power values in "mW"
-SingleBandAcqPower=69
-MultiBandAcqPower=90
-SingleBandFullTrkPower=55
-MultiBandFullTrkPower=70
-SingleBandDutyCycleTrkPower=50
-MultiBandDutyCycleTrkPower=65
-SingleBandNmTrkPower=20
-MultiBandNmTrkPower=28
-SingleBandUdTrkPower=14
-MultiBandUdTrkPower=18
+SingleBandAcq=474
+MultiBandAcq=586
+SingleBandFullTrkNm=432
+SingleBandFullTrkUd=390
+MultiBandFullTrkNm=572
+MultiBandFullTrkUd=509
+SingleBandDutyCycleTrkNm=390
+SingleBandDutyCycleTrkUd=355
+MultiBandDutyCycleTrkNm=509
+MultiBandDutyCycleTrkUd=453
+SingleBandVddGnssNmTrk=145
+MultiBandVddGnssNmTrk=187
+SingleBandVddGnssUdTrk=103
+MultiBandVddGnssUdTrk=131
path_delay_glo_12fx_cm = -5166,-5149,-5097,-5104,-5021,-4992,-4936,-4854,-4776,-4719,-4656,-4619,-4581,-4544
path_delay_gps_2fx_cm = 12368
@@ -302,6 +319,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 30f94955..3670723a 100644
--- a/perf/powerhint-caiman.json
+++ b/perf/powerhint-caiman.json
@@ -59,7 +59,17 @@
"1000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 3,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPULittleClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "9",
+ "13"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -100,7 +110,17 @@
"2000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 4,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUMidClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "52",
+ "56"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -142,7 +162,17 @@
"2000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 3,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "165",
+ "170"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -213,7 +243,7 @@
"0",
"1"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -223,7 +253,7 @@
"0",
"1"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -257,7 +287,7 @@
"7",
"8"
],
- "DefaultIndex": 2,
+ "DefaultIndex": 4,
"ResetOnInit": true
},
{
@@ -267,7 +297,7 @@
"0",
"512"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -955,6 +985,8 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
@@ -979,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": [
@@ -1065,6 +1107,13 @@
"Duration": 5000,
"Value": "512"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "FGUClampBoost",
@@ -1139,7 +1188,8 @@
"PowerHint": "LAUNCH",
"Node": "TAAutoPreferFit",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1147,35 +1197,47 @@
"Duration": 5000,
"Value": "0xff"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 5000,
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighValue",
- "Duration": 5000,
- "Value": "765"
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 5000,
- "Value": "110"
+ "Value": "110",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidValue",
- "Duration": 5000,
- "Value": "590"
+ "Duration": 5000,
+ "Value": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 5000,
- "Value": "139"
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1183,6 +1245,12 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TARampupMultiplier",
+ "Duration": 5000,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUSkipMask",
@@ -1273,6 +1341,12 @@
"Duration": 2000,
"Value": "0"
},
+ {
+ "PowerHint": "LAUNCH_EXTEND",
+ "Node": "TARampupMultiplier",
+ "Duration": 2000,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
@@ -1422,6 +1496,12 @@
"Duration": 33,
"Value": "820000"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "TAPreferHighCap",
+ "Duration": 33,
+ "Value": "1"
+ },
{
"PowerHint": "DISPLAY_INACTIVE",
"Node": "CPULittleClusterDownRateLimitUs",
@@ -1476,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",
@@ -3121,24 +3213,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
@@ -3154,13 +3228,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",
@@ -3382,13 +3474,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",
@@ -3402,6 +3496,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",
@@ -3671,6 +3783,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",
@@ -3790,79 +3914,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 86dae6e0..c7512d89 100644
--- a/perf/powerhint-komodo.json
+++ b/perf/powerhint-komodo.json
@@ -59,7 +59,17 @@
"1000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 3,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPULittleClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "9",
+ "13"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -100,7 +110,17 @@
"2000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 4,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUMidClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "52",
+ "56"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -142,7 +162,17 @@
"2000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 3,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "165",
+ "170"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -213,7 +243,7 @@
"0",
"1"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -223,7 +253,7 @@
"0",
"1"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -257,7 +287,7 @@
"7",
"8"
],
- "DefaultIndex": 2,
+ "DefaultIndex": 4,
"ResetOnInit": true
},
{
@@ -267,7 +297,7 @@
"0",
"512"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -955,6 +985,8 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
@@ -979,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": [
@@ -1065,6 +1107,13 @@
"Duration": 5000,
"Value": "512"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "FGUClampBoost",
@@ -1139,7 +1188,8 @@
"PowerHint": "LAUNCH",
"Node": "TAAutoPreferFit",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1147,35 +1197,47 @@
"Duration": 5000,
"Value": "0xff"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 5000,
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighValue",
- "Duration": 5000,
- "Value": "765"
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 5000,
- "Value": "110"
+ "Value": "110",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidValue",
- "Duration": 5000,
- "Value": "590"
+ "Duration": 5000,
+ "Value": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 5000,
- "Value": "139"
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1183,6 +1245,12 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TARampupMultiplier",
+ "Duration": 5000,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUSkipMask",
@@ -1273,6 +1341,12 @@
"Duration": 2000,
"Value": "0"
},
+ {
+ "PowerHint": "LAUNCH_EXTEND",
+ "Node": "TARampupMultiplier",
+ "Duration": 2000,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
@@ -1422,6 +1496,12 @@
"Duration": 33,
"Value": "820000"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "TAPreferHighCap",
+ "Duration": 33,
+ "Value": "1"
+ },
{
"PowerHint": "DISPLAY_INACTIVE",
"Node": "CPULittleClusterDownRateLimitUs",
@@ -1476,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",
@@ -3121,24 +3213,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
@@ -3154,13 +3228,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",
@@ -3382,13 +3474,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",
@@ -3402,6 +3496,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",
@@ -3671,6 +3783,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",
@@ -3790,79 +3914,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 d1a2e484..a0c7e452 100644
--- a/perf/powerhint-ripcurrent24.json
+++ b/perf/powerhint-ripcurrent24.json
@@ -1597,24 +1597,6 @@
"Duration": 0,
"Value": "0"
},
- {
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
diff --git a/perf/powerhint-ripcurrentpro.json b/perf/powerhint-ripcurrentpro.json
index 5b7f18ff..a48f13c2 100644
--- a/perf/powerhint-ripcurrentpro.json
+++ b/perf/powerhint-ripcurrentpro.json
@@ -879,6 +879,8 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
@@ -989,6 +991,13 @@
"Duration": 5000,
"Value": "512"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "FGUClampBoost",
@@ -1063,7 +1072,8 @@
"PowerHint": "LAUNCH",
"Node": "TAAutoPreferFit",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1071,35 +1081,47 @@
"Duration": 5000,
"Value": "0xff"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 5000,
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighValue",
- "Duration": 5000,
- "Value": "765"
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 5000,
- "Value": "110"
+ "Value": "110",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidValue",
- "Duration": 5000,
- "Value": "590"
+ "Duration": 5000,
+ "Value": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 5000,
- "Value": "139"
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1394,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",
@@ -2877,24 +2911,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
diff --git a/perf/powerhint-tokay.json b/perf/powerhint-tokay.json
index 47ceaae8..985e4d63 100644
--- a/perf/powerhint-tokay.json
+++ b/perf/powerhint-tokay.json
@@ -59,7 +59,17 @@
"1000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 3,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPULittleClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "10",
+ "13"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -100,7 +110,17 @@
"2000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 4,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUMidClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "54",
+ "56"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -142,7 +162,17 @@
"2000",
"500"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 3,
+ "ResetOnInit": true
+ },
+ {
+ "Name": "CPUBigClusterResponseTimeMs",
+ "Path": "/sys/devices/system/cpu/cpu7/cpufreq/sched_pixel/response_time_ms",
+ "Values": [
+ "164",
+ "170"
+ ],
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -213,7 +243,7 @@
"0",
"1"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -223,7 +253,7 @@
"0",
"1"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -257,7 +287,7 @@
"7",
"8"
],
- "DefaultIndex": 2,
+ "DefaultIndex": 4,
"ResetOnInit": true
},
{
@@ -267,7 +297,7 @@
"0",
"512"
],
- "DefaultIndex": 0,
+ "DefaultIndex": 1,
"ResetOnInit": true
},
{
@@ -955,6 +985,8 @@
"Name": "PA_KILL",
"Path": "/sys/kernel/vendor_mm/pa_kill/reclaim_kb",
"Values": [
+ "512000",
+ "307200",
"102400",
"0"
],
@@ -979,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": [
@@ -1065,6 +1107,13 @@
"Duration": 5000,
"Value": "512"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "FGUClampBoost",
@@ -1139,7 +1188,8 @@
"PowerHint": "LAUNCH",
"Node": "TAAutoPreferFit",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1147,35 +1197,47 @@
"Duration": 5000,
"Value": "0xff"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TAPreferredIdleMaskMid",
+ "Duration": 5000,
+ "Value": "0xff",
+ "EnableProperty": "vendor.powerhal.apf_disabled"
+ },
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 5000,
- "Value": "1"
+ "Value": "1",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighValue",
- "Duration": 5000,
- "Value": "765"
+ "Duration": 5000,
+ "Value": "765",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 5000,
- "Value": "110"
+ "Value": "110",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidValue",
- "Duration": 5000,
- "Value": "590"
+ "Duration": 5000,
+ "Value": "590",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 5000,
- "Value": "139"
+ "Value": "139",
+ "EnableProperty": "vendor.powerhal.apf_enabled"
},
{
"PowerHint": "LAUNCH",
@@ -1183,6 +1245,12 @@
"Duration": 5000,
"Value": "1"
},
+ {
+ "PowerHint": "LAUNCH",
+ "Node": "TARampupMultiplier",
+ "Duration": 5000,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUSkipMask",
@@ -1273,6 +1341,12 @@
"Duration": 2000,
"Value": "0"
},
+ {
+ "PowerHint": "LAUNCH_EXTEND",
+ "Node": "TARampupMultiplier",
+ "Duration": 2000,
+ "Value": "4"
+ },
{
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
@@ -1422,6 +1496,12 @@
"Duration": 33,
"Value": "820000"
},
+ {
+ "PowerHint": "CPU_LOAD_RESET",
+ "Node": "TAPreferHighCap",
+ "Duration": 33,
+ "Value": "1"
+ },
{
"PowerHint": "DISPLAY_INACTIVE",
"Node": "CPULittleClusterDownRateLimitUs",
@@ -1476,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",
@@ -3121,24 +3213,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
@@ -3154,13 +3228,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",
@@ -3382,13 +3474,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",
@@ -3402,6 +3496,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",
@@ -3671,6 +3783,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",
@@ -3790,79 +3914,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 1a75c204..3a18db1f 100644
--- a/perf/powerhint-zuma.json
+++ b/perf/powerhint-zuma.json
@@ -2372,24 +2372,6 @@
"Duration": 0,
"Value": "1"
},
- {
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "ADPF_DISABLE_TA_BOOST",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
{
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index b8209682..c8802a65 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -197,4 +197,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 d1ec90fb..6369238a 100644
--- a/thermal/thermal_info_config_caiman.json
+++ b/thermal/thermal_info_config_caiman.json
@@ -1133,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
},
@@ -1156,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
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 045e4ad8..e1ae5722 100644
--- a/thermal/thermal_info_config_komodo.json
+++ b/thermal/thermal_info_config_komodo.json
@@ -1156,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
},
@@ -1179,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
diff --git a/thermal/thermal_info_config_tokay.json b/thermal/thermal_info_config_tokay.json
index 05b1ead8..30a492c8 100644
--- a/thermal/thermal_info_config_tokay.json
+++ b/thermal/thermal_info_config_tokay.json
@@ -1090,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
},
@@ -1113,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
diff --git a/thermal/vt_prediction_lstm_model_caiman.tflite b/thermal/vt_prediction_lstm_model_caiman.tflite
index ace7a020..4db9402a 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 ccab26a3..14ecc685 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 cd95c0cc..35207030 100644
Binary files a/thermal/vt_prediction_lstm_model_tokay.tflite and b/thermal/vt_prediction_lstm_model_tokay.tflite differ
diff --git a/tokay/BoardConfig.mk b/tokay/BoardConfig.mk
index 608b533f..90df65c9 100644
--- a/tokay/BoardConfig.mk
+++ b/tokay/BoardConfig.mk
@@ -16,7 +16,13 @@
TARGET_BOARD_INFO_FILE := device/google/caimito/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := tokay
-TARGET_SCREEN_DENSITY := 420
+
+ifdef PHONE_CAR_BOARD_PRODUCT
+ include vendor/auto/embedded/products/$(PHONE_CAR_BOARD_PRODUCT)/BoardConfig.mk
+else
+ TARGET_SCREEN_DENSITY := 420
+endif
+
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_CAIMITO := true