diff --git a/OWNERS b/OWNERS
index 5524a1f..b511997 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +1,4 @@
per-file powerhint.json = jychen@google.com,jenhaochen@google.com,wvw@google.com,joaodias@google.com
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
-per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/MK_OWNERS
+per-file *.mk,*/BoardConfig.mk,{**/,}Android.bp=file:device/google/gs-common:main:/MK_OWNERS
diff --git a/audio/lynx/tuning/fortemedia/BLUETOOTH.dat b/audio/lynx/tuning/fortemedia/BLUETOOTH.dat
index 4c6db73..0a5b245 100644
Binary files a/audio/lynx/tuning/fortemedia/BLUETOOTH.dat and b/audio/lynx/tuning/fortemedia/BLUETOOTH.dat differ
diff --git a/audio/lynx/tuning/fortemedia/BLUETOOTH.mods b/audio/lynx/tuning/fortemedia/BLUETOOTH.mods
index 594c59b..3b3baaa 100644
--- a/audio/lynx/tuning/fortemedia/BLUETOOTH.mods
+++ b/audio/lynx/tuning/fortemedia/BLUETOOTH.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG BLUETOOTH
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2023-08-15 15:10:51
+#SAVE_TIME 2024-07-04 16:09:14
#CASE_NAME BLUETOOTH-BT_HAC-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -533,8 +533,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -3202,8 +3202,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -5871,8 +5871,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -11209,8 +11209,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
diff --git a/audio/lynx/tuning/fortemedia/HANDSET.dat b/audio/lynx/tuning/fortemedia/HANDSET.dat
index fc4375e..62a57cc 100644
Binary files a/audio/lynx/tuning/fortemedia/HANDSET.dat and b/audio/lynx/tuning/fortemedia/HANDSET.dat differ
diff --git a/audio/lynx/tuning/fortemedia/HANDSET.mods b/audio/lynx/tuning/fortemedia/HANDSET.mods
index f9b336a..d076005 100644
--- a/audio/lynx/tuning/fortemedia/HANDSET.mods
+++ b/audio/lynx/tuning/fortemedia/HANDSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2024-05-21 10:42:17
+#SAVE_TIME 2024-07-04 16:04:34
#CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -533,8 +533,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x6000 //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -3202,8 +3202,8 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -5871,8 +5871,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -8540,8 +8540,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -11209,8 +11209,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x6000 //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -13878,8 +13878,8 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -16547,8 +16547,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -19216,8 +19216,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -21885,8 +21885,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -24554,8 +24554,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -27223,8 +27223,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -29892,8 +29892,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -32561,8 +32561,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -35230,8 +35230,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -37899,8 +37899,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -40568,8 +40568,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x6000 //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -43237,8 +43237,8 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -45906,8 +45906,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -48575,8 +48575,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -51244,8 +51244,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x6000 //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -53913,8 +53913,8 @@
521 0x0000 //TX_GSC_RTOL_TH
522 0x0000 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -56582,8 +56582,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -59251,8 +59251,8 @@
521 0x7FFF //TX_GSC_RTOL_TH
522 0x7FFF //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -61920,8 +61920,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
diff --git a/audio/lynx/tuning/fortemedia/HANDSFREE.dat b/audio/lynx/tuning/fortemedia/HANDSFREE.dat
index cdc79dc..4a3d3a9 100644
Binary files a/audio/lynx/tuning/fortemedia/HANDSFREE.dat and b/audio/lynx/tuning/fortemedia/HANDSFREE.dat differ
diff --git a/audio/lynx/tuning/fortemedia/HANDSFREE.mods b/audio/lynx/tuning/fortemedia/HANDSFREE.mods
index 3521b0d..da74211 100644
--- a/audio/lynx/tuning/fortemedia/HANDSFREE.mods
+++ b/audio/lynx/tuning/fortemedia/HANDSFREE.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HANDSFREE
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2023-08-15 15:10:19
+#SAVE_TIME 2024-07-04 16:04:55
#CASE_NAME HANDSFREE-HANDSFREE-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -533,8 +533,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -3202,8 +3202,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -5871,8 +5871,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -8540,8 +8540,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -11209,8 +11209,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -13878,8 +13878,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -16547,8 +16547,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -19216,8 +19216,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -21885,8 +21885,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -24554,8 +24554,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
diff --git a/audio/lynx/tuning/fortemedia/HEADSET.dat b/audio/lynx/tuning/fortemedia/HEADSET.dat
index b31b449..6f983cf 100644
Binary files a/audio/lynx/tuning/fortemedia/HEADSET.dat and b/audio/lynx/tuning/fortemedia/HEADSET.dat differ
diff --git a/audio/lynx/tuning/fortemedia/HEADSET.mods b/audio/lynx/tuning/fortemedia/HEADSET.mods
index 5d2fe7e..f213900 100644
--- a/audio/lynx/tuning/fortemedia/HEADSET.mods
+++ b/audio/lynx/tuning/fortemedia/HEADSET.mods
@@ -3,7 +3,7 @@
#EXPORT_FLAG HEADSET
#PARAM_MODE FULL
#SAVE_MODE 3
-#SAVE_TIME 2023-08-15 15:11:19
+#SAVE_TIME 2024-07-04 16:17:49
#CASE_NAME HEADSET-USB_BLACKBIRD-VOICE_GENERIC-NB
#PARAM_TYPE TX+2RX
@@ -27223,8 +27223,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -29892,8 +29892,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -32561,8 +32561,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -37899,8 +37899,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -67258,8 +67258,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -69927,8 +69927,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -72596,8 +72596,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
@@ -77934,8 +77934,8 @@
521 0x3A98 //TX_GSC_RTOL_TH
522 0x3A98 //TX_GSC_RTOH_TH
523 0x7E2C //TX_WIDE2_MEANHTH
-524 0x0000 //TX_DR_RESRV_5
-525 0x0000 //TX_DR_RESRV_6
+524 0x0064 //TX_DR_RESRV_5
+525 0x1000 //TX_DR_RESRV_6
526 0x122E //TX_DR_RESRV_7
527 0x1100 //TX_DR_RESRV_8
528 0x1333 //TX_WIND_MARK_TH
diff --git a/bluetooth/qti_default.mk b/bluetooth/qti_default.mk
index ad42fef..67c08b9 100644
--- a/bluetooth/qti_default.mk
+++ b/bluetooth/qti_default.mk
@@ -23,38 +23,13 @@ PRODUCT_PRODUCT_PROPERTIES += \
# Bluetooth LE Audio
PRODUCT_PRODUCT_PROPERTIES += \
- ro.bluetooth.leaudio_switcher.supported=true \
- ro.bluetooth.leaudio_offload.supported=true \
- persist.bluetooth.leaudio_offload.disabled=false \
- ro.vendor.audio_hal.ble_use_stream_id=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 CIS handover to SCO
-# Set the property only if the controller doesn't support CIS and SCO
-# simultaneously. More details in b/242908683.
-PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.leaudio.notify.idle.during.call=true
-
-# Not support LE Audio dual mic SWB call based on the current launch strategy
-PRODUCT_PRODUCT_PROPERTIES += \
- bluetooth.leaudio.dual_bidirection_swb.supported=false
-
-# LE Audio Lunch Config for Phase 1 (LE audio toggle hidden by default)
-PRODUCT_PRODUCT_PROPERTIES += \
- persist.bluetooth.leaudio.toggle_visible=false
-
-# LE Auido Offload Capabilities setting
-PRODUCT_COPY_FILES += \
- device/google/lynx/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
-
-# LE Audio use classic connection by default
-PRODUCT_PRODUCT_PROPERTIES += \
- ro.bluetooth.leaudio.le_audio_connection_by_default=false
+ ro.bluetooth.leaudio_switcher.supported=false \
+ bluetooth.profile.bap.unicast.client.enabled?=false \
+ bluetooth.profile.csip.set_coordinator.enabled?=false \
+ bluetooth.profile.hap.client.enabled?=false \
+ bluetooth.profile.mcp.server.enabled?=false \
+ bluetooth.profile.ccp.server.enabled?=false \
+ bluetooth.profile.vcp.controller.enabled?=false \
# Bluetotoh Auto On feature
PRODUCT_PRODUCT_PROPERTIES += \
diff --git a/conf/init.lynx.rc b/conf/init.lynx.rc
index 74fd523..1a427dc 100644
--- a/conf/init.lynx.rc
+++ b/conf/init.lynx.rc
@@ -102,6 +102,9 @@ on property:vendor.all.modules.ready=1
chown system system /sys/bus/i2c/devices/8-0043/calibration/redc_stored
chown system system /sys/bus/i2c/devices/8-0043/default/vibe_state
chown system system /sys/bus/i2c/devices/8-0043/default/num_waves
+ chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_bank
+ chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_index
+ chown system system /sys/bus/i2c/devices/8-0043/default/braking_time_ms
chown system system /sys/bus/i2c/devices/8-0043/default/f0_offset
chown system system /sys/bus/i2c/devices/8-0043/default/owt_free_space
chown system system /sys/bus/i2c/devices/8-0043/default/f0_comp_enable
diff --git a/device-lynx.mk b/device-lynx.mk
index b4cbfab..2d3ffa4 100644
--- a/device-lynx.mk
+++ b/device-lynx.mk
@@ -160,8 +160,8 @@ endif
# Vibrator HAL
$(call soong_config_set,haptics,kernel_ver,v$(subst .,_,$(TARGET_LINUX_KERNEL_VERSION)))
ADAPTIVE_HAPTICS_FEATURE := adaptive_haptics_v1
+ACTUATOR_MODEL := legacy_zlra_actuator
PRODUCT_VENDOR_PROPERTIES += \
- ro.vendor.vibrator.hal.supported_primitives=243 \
ro.vendor.vibrator.hal.f0.comp.enabled=1 \
ro.vendor.vibrator.hal.redc.comp.enabled=0 \
persist.vendor.vibrator.hal.context.enable=false \
@@ -170,20 +170,36 @@ PRODUCT_VENDOR_PROPERTIES += \
persist.vendor.vibrator.hal.context.cooldowntime=1600 \
persist.vendor.vibrator.hal.context.settlingtime=5000
+# Override Output Distortion Gain
+PRODUCT_VENDOR_PROPERTIES += \
+ vendor.audio.hapticgenerator.distortion.output.gain=0.29
+
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/lynx/prebuilts
-# GPS xml
+# Location
ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
+ PRODUCT_COPY_FILES += \
+ device/google/lynx/location/lhd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
+ device/google/lynx/location/scd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
+ ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
PRODUCT_COPY_FILES += \
- device/google/lynx/location/gps.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
- device/google/lynx/location/lhd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
- device/google/lynx/location/scd.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
+ device/google/lynx/location/gps.6.1.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
+ else
+ PRODUCT_COPY_FILES += \
+ device/google/lynx/location/gps.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
+ endif
else
+ PRODUCT_COPY_FILES += \
+ device/google/lynx/location/lhd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
+ device/google/lynx/location/scd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
+ ifneq (,$(filter 6.1, $(TARGET_LINUX_KERNEL_VERSION)))
PRODUCT_COPY_FILES += \
- device/google/lynx/location/gps_user.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml \
- device/google/lynx/location/lhd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/lhd.conf \
- device/google/lynx/location/scd_user.conf.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf
+ device/google/lynx/location/gps_user.6.1.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
+ else
+ PRODUCT_COPY_FILES += \
+ device/google/lynx/location/gps_user.xml.l10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/gps.xml
+ endif
endif
# Wifi HAL
@@ -215,12 +231,30 @@ ifdef RELEASE_SVN_LYNX
TARGET_SVN ?= $(RELEASE_SVN_LYNX)
else
# Set this for older releases that don't use build flag
-TARGET_SVN ?= 45
+TARGET_SVN ?= 46
endif
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.build.svn=$(TARGET_SVN)
+# Set device family property for SMR
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.device_family=P10C10L10
+
+# Set build properties for SMR builds
+ifeq ($(RELEASE_IS_SMR), true)
+ ifneq (,$(RELEASE_BASE_OS_LYNX))
+ PRODUCT_BASE_OS := $(RELEASE_BASE_OS_LYNX)
+ endif
+endif
+
+# Set build properties for EMR builds
+ifeq ($(RELEASE_IS_EMR), true)
+ ifneq (,$(RELEASE_BASE_OS_LYNX))
+ PRODUCT_PROPERTY_OVERRIDES += \
+ ro.build.version.emergency_base_os=$(RELEASE_BASE_OS_LYNX)
+ endif
+endif
# Set support hide display cutout feature
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_hide_display_cutout=true
@@ -304,3 +338,15 @@ PRODUCT_VENDOR_PROPERTIES += \
PRODUCT_PRODUCT_PROPERTIES += \
ro.quick_start.oem_id=00e0 \
ro.quick_start.device_id=lynx
+
+# Bluetooth device id
+# Raven: 0x410B
+PRODUCT_PRODUCT_PROPERTIES += \
+ bluetooth.device_id.product_id=16651
+
+# ETM
+ifneq (,$(RELEASE_ETM_IN_USERDEBUG_ENG))
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+$(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk)
+endif
+endif
diff --git a/location/gps.6.1.xml.l10 b/location/gps.6.1.xml.l10
new file mode 100644
index 0000000..aa2b787
--- /dev/null
+++ b/location/gps.6.1.xml.l10
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/location/gps.xml.l10 b/location/gps.xml.l10
index 009eb04..5a45e70 100644
--- a/location/gps.xml.l10
+++ b/location/gps.xml.l10
@@ -18,7 +18,7 @@
SuplLogFullName="/data/vendor/gps/suplflow.txt"
tlsEnable="true"
- SuplSslMethod="SSLv23_NO_TLSv1_2"
+ SuplSslMethod="SSLv23"
SuplEnable="true"
SuplUseApn="false"
SuplUseApnNI="true"
@@ -49,6 +49,7 @@
LtoSyncThresholdDays="1"
GnssYearOfHardware="2020"
+ CpEarlyFixGuardTimeSec="1"
CpGuardTimeSec="1"
CpLppGuardTimeSec="1"
IgnoreInjectedSystemTime="true"
@@ -56,6 +57,7 @@
AttributionAppPkgName="com.google.android.carrierlocation"
AssertEnabled="true"
+ ExitOnComFailure="true"
CpLppeCancelDbhOnAgnssProvideLoc="true"
CpLppeUseAgnssLocForEmptyDbh="true"
CpLppHighAccuracyShapeMode="1"
@@ -95,7 +97,10 @@
/>
diff --git a/location/gps_user.6.1.xml.l10 b/location/gps_user.6.1.xml.l10
new file mode 100644
index 0000000..005fe4d
--- /dev/null
+++ b/location/gps_user.6.1.xml.l10
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/location/gps_user.xml.l10 b/location/gps_user.xml.l10
index 2f131b1..ea78dd3 100644
--- a/location/gps_user.xml.l10
+++ b/location/gps_user.xml.l10
@@ -17,7 +17,7 @@
SuplLogFullName="/data/vendor/gps/suplflow.txt"
tlsEnable="true"
- SuplSslMethod="SSLv23_NO_TLSv1_2"
+ SuplSslMethod="SSLv23"
SuplEnable="true"
SuplUseApn="false"
SuplUseApnNI="true"
@@ -48,6 +48,7 @@
LtoSyncThresholdDays="1"
GnssYearOfHardware="2020"
+ CpEarlyFixGuardTimeSec="1"
CpGuardTimeSec="1"
CpLppGuardTimeSec="1"
IgnoreInjectedSystemTime="true"
@@ -94,7 +95,10 @@
/>
diff --git a/lynx/BoardConfig.mk b/lynx/BoardConfig.mk
index dc91ca1..6f58c41 100644
--- a/lynx/BoardConfig.mk
+++ b/lynx/BoardConfig.mk
@@ -40,10 +40,17 @@ BOARD_KERNEL_CMDLINE += exynos_drm.load_sequential=1
include device/google/gs201/BoardConfig-common.mk
-include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk
+include device/google/gs-common/check_current_prebuilt/check_current_prebuilt.mk
-include vendor/google_devices/lynx/proprietary/BoardConfigVendor.mk
include device/google/lynx/sepolicy/lynx-sepolicy.mk
include device/google/gs201/wifi/qcom/BoardConfig-wifi.mk
+ifneq (,$(RELEASE_ETM_IN_USERDEBUG_ENG))
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+-include device/google/common/etm/BoardUserdebugModules.mk
+endif
+endif
+
DEVICE_PATH := device/google/lynx
VENDOR_PATH := vendor/google/lynx
include $(DEVICE_PATH)/$(TARGET_BOOTLOADER_BOARD_NAME)/BoardConfigLineage.mk
diff --git a/manifest.xml b/manifest.xml
index 38a4af5..3fe5807 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -48,15 +48,6 @@
default
-
- android.hardware.graphics.mapper
- passthrough
- 4.0
-
- IMapper
- default
-
-
android.hardware.graphics.composer
hwbinder
diff --git a/powerhint.json b/powerhint.json
index 223109b..7434a2b 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -1721,18 +1721,6 @@
"Duration": 50,
"Value": "1"
},
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_CRITICAL",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "100"
- },
- {
- "PowerHint": "THERMAL_FLASH_LED_REDUCE_NONE",
- "Node": "LimitFlashCurrent",
- "Duration": 0,
- "Value": "1500"
- },
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "PowerHALRenderingState",
@@ -1989,11 +1977,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.5,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
@@ -2024,11 +2013,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.5,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
@@ -2059,11 +2049,12 @@
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
- "HBoostOnMissedCycles": 8,
- "HBoostOffMaxAvgRatio": 4.0,
- "HBoostOffMissedCycles": 5,
- "HBoostPidPuFactor": 0.5,
- "HBoostUclampMin": 722,
+ "HBoostModerateJankThreshold": 2,
+ "HBoostOffMaxAvgDurRatio": 4.0,
+ "HBoostSevereJankPidPu": 0.5,
+ "HBoostSevereJankThreshold": 8,
+ "HBoostUclampMinCeilingRange": [480, 722],
+ "HBoostUclampMinFloorRange": [230, 410],
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
diff --git a/rro_overlays/NfcOverlay/res/values/config.xml b/rro_overlays/NfcOverlay/res/values/config.xml
index 5c54b76..70fe660 100644
--- a/rro_overlays/NfcOverlay/res/values/config.xml
+++ b/rro_overlays/NfcOverlay/res/values/config.xml
@@ -30,7 +30,7 @@
- 36
- - 102
+ - 48
true
diff --git a/thermal_info_config_charge_lynx.json b/thermal_info_config_charge_lynx.json
index 63e35fb..abb5f62 100644
--- a/thermal_info_config_charge_lynx.json
+++ b/thermal_info_config_charge_lynx.json
@@ -9,20 +9,17 @@
{
"Name":"neutral_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/neutral_therm/tz_temp",
"Multiplier":0.001
},
{
"Name":"gnss_tcxo_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/tz_temp",
"Multiplier":0.001
},
{
"Name":"usb_pwr_therm",
"Type":"UNKNOWN",
"HotThreshold":["NAN", 40.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
- "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/tz_temp",
"Multiplier":0.001,
"PollingDelay":60000,
"PassiveDelay":7000
@@ -30,7 +27,6 @@
{
"Name":"usb_pwr_therm2",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/tz_temp",
"Multiplier":0.001
},
{
@@ -38,7 +34,6 @@
"Type":"UNKNOWN",
"HotThreshold":["NAN", 29.9, "NAN", "NAN", "NAN", "NAN", "NAN"],
"HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
- "TempPath":"/dev/thermal/tz-by-name/skin_therm1/tz_temp",
"Multiplier":0.001,
"PollingDelay":60000,
"PassiveDelay":7000
@@ -46,19 +41,16 @@
{
"Name":"skin_therm2",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/skin_therm2/tz_temp",
"Multiplier":0.001
},
{
"Name":"disp_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/disp_therm/tz_temp",
"Multiplier":0.001
},
{
"Name":"quiet_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/quiet_therm/tz_temp",
"Multiplier":0.001
},
{
diff --git a/thermal_info_config_lynx.json b/thermal_info_config_lynx.json
index 88877cc..2b290d2 100644
--- a/thermal_info_config_lynx.json
+++ b/thermal_info_config_lynx.json
@@ -9,20 +9,17 @@
{
"Name":"neutral_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/neutral_therm/tz_temp",
"Multiplier":0.001
},
{
"Name":"gnss_tcxo_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/tz_temp",
"Multiplier":0.001
},
{
"Name":"usb_pwr_therm",
"Type":"UNKNOWN",
"HotThreshold":["NAN", 40.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
- "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/tz_temp",
"Multiplier":0.001,
"PollingDelay":60000,
"PassiveDelay":7000
@@ -30,7 +27,6 @@
{
"Name":"usb_pwr_therm2",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/tz_temp",
"Multiplier":0.001
},
{
@@ -38,7 +34,6 @@
"Type":"UNKNOWN",
"HotThreshold":["NAN", 27.9, "NAN", "NAN", "NAN", "NAN", "NAN"],
"HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
- "TempPath":"/dev/thermal/tz-by-name/skin_therm1/tz_temp",
"Multiplier":0.001,
"PollingDelay":60000,
"PassiveDelay":7000
@@ -46,19 +41,16 @@
{
"Name":"skin_therm2",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/skin_therm2/tz_temp",
"Multiplier":0.001
},
{
"Name":"disp_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/disp_therm/tz_temp",
"Multiplier":0.001
},
{
"Name":"quiet_therm",
"Type":"UNKNOWN",
- "TempPath":"/dev/thermal/tz-by-name/quiet_therm/tz_temp",
"Multiplier":0.001
},
{
@@ -453,315 +445,28 @@
"Type":"NPU",
"HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "NAN"],
"Multiplier":0.001
- },
- {
- "Name":"battery_cycle",
- "Type":"BCL_VOLTAGE",
- "Multiplier":1,
- "Monitor":false
- },
- {
- "Name":"critical-battery-cell",
- "Type":"BCL_VOLTAGE",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "vdroop1",
- "Combination":["battery", "battery_cycle", "vdroop1"],
- "Coefficient":[-10000, 400, 1000],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 3.00, "NAN"],
- "Multiplier":1,
- "Monitor":true
- },
- {
- "Name":"FLASH_LED_REDUCE",
- "Type":"UNKNOWN",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "vdroop1",
- "Combination":["battery", "battery_cycle", "vdroop1"],
- "Coefficient":[-10000, 400, 1000],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.00, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "SendPowerHint":true
- },
- {
- "Name":"soc",
- "Type":"BCL_PERCENTAGE",
- "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true
- },
- {
- "Name":"BCL_TPU_LOW_TEMP",
- "Type":"BCL_CURRENT",
- "VirtualSensor":true,
- "Formula":"WEIGHTED_AVG",
- "TriggerSensor": "ocp_tpu",
- "Combination":["ocp_tpu", "battery"],
- "Coefficient":[1, -10],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "PassiveDelay":500,
- "BindedCdevInfo": [
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
- }
- ]
- },
- {
- "Name":"BCL_GPU_LOW_TEMP",
- "Type":"BCL_CURRENT",
- "VirtualSensor":true,
- "Formula":"WEIGHTED_AVG",
- "TriggerSensor": "ocp_gpu",
- "Combination":["ocp_gpu", "battery"],
- "Coefficient":[1, -10],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "PassiveDelay":500,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 11, 11, 11]
- }
- ]
- },
- {
- "Name":"BCL_BATOILO_GPU_LOW_TEMP",
- "Type":"BCL_CURRENT",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "batoilo",
- "Combination":["batoilo", "ocp_gpu", "battery"],
- "Coefficient":[5000, 12000, -1000],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.0, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "PassiveDelay":500,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 11, 11, 11]
- }
- ]
- },
- {
- "Name":"BCL_BATOILO_TPU_LOW_TEMP",
- "Type":"BCL_CURRENT",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "batoilo",
- "Combination":["batoilo", "ocp_tpu", "battery"],
- "Coefficient":[5000, 12000, -1000],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.0, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "PassiveDelay":500,
- "BindedCdevInfo": [
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
- }
- ]
- },
- {
- "Name":"BCL_BATOILO_GPU",
- "Type":"BCL_CURRENT",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "batoilo",
- "Combination":["batoilo", "ocp_gpu"],
- "Coefficient":[5000, 12000],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "PassiveDelay":500,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 5, 5, 5]
- }
- ]
- },
- {
- "Name":"BCL_BATOILO_TPU",
- "Type":"BCL_CURRENT",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "batoilo",
- "Combination":[
- "batoilo",
- "ocp_tpu"
- ],
- "Coefficient":[5000, 12000],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true,
- "PassiveDelay":500,
- "BindedCdevInfo": [
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 6, 6, 6]
- }
- ]
- },
- {
- "Name":"batoilo",
- "Type":"BCL_CURRENT",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 5000, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-cpufreq-2",
- "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
- },
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
- },
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 5, 5, 5]
- }
- ]
- },
- {
- "Name":"BCL_AUDIO_BAACL",
- "Type":"BCL_VOLTAGE",
- "VirtualSensor":true,
- "Formula":"COUNT_THRESHOLD",
- "TriggerSensor": "soc",
- "Combination":["battery", "soc"],
- "Coefficient":[-25000, 80],
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
- "Multiplier":1,
- "Monitor":true
- },
- {
- "Name":"vdroop1",
- "Type":"BCL_VOLTAGE",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1000, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-cpufreq-2",
- "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
- },
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 2, 2, 2]
- },
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
- }
- ]
- },
- {
- "Name":"vdroop2",
- "Type":"BCL_VOLTAGE",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1200, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-cpufreq-2",
- "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
- },
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 5, 5, 5]
- },
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
- }
- ]
- },
- {
- "Name":"smpl_gm",
- "Type":"BCL_VOLTAGE",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1100, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "BindedCdevInfo": [
- {
- "CdevRequest": "thermal-cpufreq-2",
- "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
- },
- {
- "CdevRequest": "thermal-gpufreq-0",
- "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
- },
- {
- "CdevRequest": "tpu_cooling",
- "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
- }
- ]
- },
- {
- "Name":"ocp_cpu1",
- "Type":"BCL_CURRENT",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "Hidden":true
- },
- {
- "Name":"ocp_cpu2",
- "Type":"BCL_CURRENT",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "Hidden":true
- },
- {
- "Name":"ocp_tpu",
- "Type":"BCL_CURRENT",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "Monitor":true
- },
- {
- "Name":"ocp_gpu",
- "Type":"BCL_CURRENT",
- "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
- "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
- "Multiplier":1,
- "Monitor":true
}
],
"CoolingDevices":[
{
"Name":"thermal-cpufreq-0",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
- "State2Power":[1100, 1050, 1000, 950, 900, 850, 800, 750, 700, 650, 600]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
},
{
"Name":"thermal-cpufreq-1",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
- "State2Power":[1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
},
{
"Name":"thermal-cpufreq-2",
"Type":"CPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
- "State2Power":[1450, 1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
},
{
"Name":"thermal-gpufreq-0",
"Type":"GPU",
- "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
- "State2Power":[4599, 3727, 3259, 2378, 2044, 1813, 1449, 1223, 1007, 804, 633, 452]
+ "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote"
},
{
"Name":"fcc",