1{
2    "Sensors":[
3        {
4            "Name":"battery",
5            "Type":"BATTERY",
6            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 60.0],
7            "Multiplier":0.001
8        },
9        {
10            "Name":"neutral_therm",
11            "Type":"UNKNOWN",
12            "TempPath":"/dev/thermal/tz-by-name/neutral_therm/tz_temp",
13            "Multiplier":0.001
14        },
15        {
16            "Name":"quiet_therm",
17            "Type":"UNKNOWN",
18            "TempPath":"/dev/thermal/tz-by-name/quiet_therm/tz_temp",
19            "Multiplier":0.001
20        },
21        {
22            "Name":"skin_therm",
23            "Type":"UNKNOWN",
24            "HotThreshold":["NAN", 32.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
25            "TempPath":"/dev/thermal/tz-by-name/skin_therm/tz_temp",
26            "Multiplier":0.001,
27            "PollingDelay":300000,
28            "PassiveDelay":7000
29        },
30        {
31            "Name":"usb_pwr_therm",
32            "Type":"UNKNOWN",
33            "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/tz_temp",
34            "Multiplier":0.001
35        },
36        {
37            "Name":"usb_pwr_therm2",
38            "Type":"UNKNOWN",
39            "HotThreshold":["NAN", 40.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
40            "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm2/tz_temp",
41            "Multiplier":0.001,
42            "PollingDelay":300000,
43            "PassiveDelay":7000
44        },
45        {
46            "Name":"inner_disp_therm",
47            "Type":"UNKNOWN",
48            "TempPath":"/dev/thermal/tz-by-name/inner_disp_therm/tz_temp",
49            "Multiplier":0.001
50        },
51        {
52            "Name":"outer_disp_therm",
53            "Type":"UNKNOWN",
54            "TempPath":"/dev/thermal/tz-by-name/outer_disp_therm/tz_temp",
55            "Multiplier":0.001
56        },
57        {
58            "Name":"gnss_tcxo_therm",
59            "Type":"UNKNOWN",
60            "TempPath":"/dev/thermal/tz-by-name/gnss_tcxo_therm/tz_temp",
61            "Multiplier":0.001
62        },
63        {
64            "Name":"inner-disp",
65            "Type":"UNKNOWN",
66            "Multiplier":1
67        },
68        {
69            "Name":"OPEN_WEIGHT",
70            "Type":"UNKNOWN",
71            "Hidden":true,
72            "VirtualSensor":true,
73            "Formula":"COUNT_THRESHOLD",
74            "StepRatio":0.2,
75            "Combination":["inner-disp"],
76            "Coefficient":[1.0],
77            "Multiplier":1,
78            "PassiveDelay":7000
79        },
80        {
81            "Name":"CLOSE_WEIGHT",
82            "Type":"UNKNOWN",
83            "Hidden":true,
84            "VirtualSensor":true,
85            "Formula":"WEIGHTED_AVG",
86            "Combination":["1", "OPEN_WEIGHT"],
87            "CombinationType":["CONSTANT", "SENSOR"],
88            "Coefficient":[1.0, -1.0],
89            "Multiplier":1
90        },
91        {
92            "Name":"CLOSE-SUB2",
93            "Type":"UNKNOWN",
94            "Hidden":true,
95            "VirtualSensor":true,
96            "Formula":"WEIGHTED_AVG",
97            "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"],
98            "Coefficient":[0.259, 0.652, -0.161, 0.03],
99            "Offset":8450,
100            "Multiplier":0.001
101        },
102        {
103            "Name":"CLOSE-SUB3",
104            "Type":"UNKNOWN",
105            "Hidden":true,
106            "VirtualSensor":true,
107            "Formula":"WEIGHTED_AVG",
108            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"],
109            "Coefficient":[0.05, 0.05, 1.25, 0.15, -0.6],
110            "Offset":270,
111            "Multiplier":0.001
112        },
113        {
114            "Name":"CLOSE-SUB4",
115            "Type":"UNKNOWN",
116            "Hidden":true,
117            "VirtualSensor":true,
118            "Formula":"WEIGHTED_AVG",
119            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2"],
120            "Coefficient":[0.4, 1.65, -1.2, 0.6, -0.55],
121            "Offset":2350,
122            "Multiplier":0.001
123        },
124        {
125            "Name":"CLOSE-SUB5",
126            "Type":"UNKNOWN",
127            "Hidden":true,
128            "VirtualSensor":true,
129            "Formula":"WEIGHTED_AVG",
130            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "outer_disp_therm", "gnss_tcxo_therm"],
131            "Coefficient":[-1.3, 1.05, 0.65, 0.15, 1, -0.05, -0.5],
132            "Offset":120,
133            "Multiplier":0.001
134        },
135        {
136            "Name":"CLOSE-SUB6",
137            "Type":"UNKNOWN",
138            "Hidden":true,
139            "VirtualSensor":true,
140            "Formula":"WEIGHTED_AVG",
141            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"],
142            "Coefficient":[-0.45, -1.2, -0.8, 0.65, 2.5, 0.2],
143            "Offset":1820,
144            "Multiplier":0.001
145        },
146        {
147            "Name":"CLOSE-SUB-MAX",
148            "Type":"UNKNOWN",
149            "Hidden":true,
150            "VirtualSensor":true,
151            "Formula":"MAXIMUM",
152            "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"],
153            "Coefficient":[1.0, 1.0, 1.0, 1.0],
154            "Multiplier":0.001
155        },
156        {
157            "Name":"OPEN-SUB1",
158            "Type":"UNKNOWN",
159            "Hidden":true,
160            "VirtualSensor":true,
161            "Formula":"WEIGHTED_AVG",
162            "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm"],
163            "Coefficient":[-0.05, 0.3, 0.3, 0.35],
164            "Offset":3740,
165            "Multiplier":0.001
166        },
167        {
168            "Name":"OPEN-SUB2",
169            "Type":"UNKNOWN",
170            "Hidden":true,
171            "VirtualSensor":true,
172            "Formula":"WEIGHTED_AVG",
173            "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"],
174            "Coefficient":[0.385, 0.075, 0.348, 0.302],
175            "Offset":-4950,
176            "Multiplier":0.001
177        },
178        {
179            "Name":"OPEN-SUB3",
180            "Type":"UNKNOWN",
181            "Hidden":true,
182            "VirtualSensor":true,
183            "Formula":"WEIGHTED_AVG",
184            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"],
185            "Coefficient":[-2, 1.4, 1.4, -0.4, 0.25, 0.25],
186            "Offset":-4120,
187            "Multiplier":0.001
188        },
189        {
190            "Name":"OPEN-SUB4",
191            "Type":"UNKNOWN",
192            "Hidden":true,
193            "VirtualSensor":true,
194            "Formula":"WEIGHTED_AVG",
195            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "gnss_tcxo_therm"],
196            "Coefficient":[0.3, 1.8, 0.55, 0.4, -1.2, -0.15, -0.8],
197            "Offset":-540,
198            "Multiplier":0.001
199        },
200        {
201            "Name":"OPEN-SUB5",
202            "Type":"UNKNOWN",
203            "Hidden":true,
204            "VirtualSensor":true,
205            "Formula":"WEIGHTED_AVG",
206            "Combination":["quiet_therm", "skin_therm", "usb_pwr_therm"],
207            "Coefficient":[0.429, 0.314, 0.205],
208            "Offset":2600,
209            "Multiplier":0.001
210        },
211        {
212            "Name":"OPEN-SUB-MAX",
213            "Type":"UNKNOWN",
214            "Hidden":true,
215            "VirtualSensor":true,
216            "Formula":"MAXIMUM",
217            "Combination":["OPEN-SUB1", "OPEN-SUB2", "OPEN-SUB3", "OPEN-SUB4", "OPEN-SUB5"],
218            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0],
219            "Multiplier":0.001
220        },
221        {
222            "Name":"VIRTUAL-SKIN",
223            "Type":"SKIN",
224            "Version":"6.2",
225            "VirtualSensor":true,
226            "TriggerSensor":"skin_therm",
227            "Formula":"WEIGHTED_AVG",
228            "Combination":["OPEN-SUB-MAX", "CLOSE-SUB-MAX"],
229            "Coefficient":["OPEN_WEIGHT", "CLOSE_WEIGHT"],
230            "CoefficientType":["SENSOR", "SENSOR"],
231            "HotThreshold":["NAN", 37.0, 41.0, 45.0, 46.5, 53.0, 57.0],
232            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
233            "Multiplier":0.001,
234            "PollingDelay":300000,
235            "PassiveDelay":7000,
236            "SendCallback":true,
237            "BindedCdevInfo": [
238                {
239                    "CdevRequest": "tpu_cooling",
240                    "LimitInfo": [0, 2, 3, 4, 5, 5, 5]
241                },
242                {
243                    "CdevRequest": "gxp-cooling",
244                    "LimitInfo": [0, 0, 0, 0, 0, 99, 99]
245                }
246            ]
247        },
248        {
249            "Name":"VIRTUAL-SKIN-HINT",
250            "Type":"UNKNOWN",
251            "Hidden":true,
252            "VirtualSensor":true,
253            "TriggerSensor":"skin_therm",
254            "Formula":"MAXIMUM",
255            "Combination":["VIRTUAL-SKIN"],
256            "Coefficient":[1.0],
257            "HotThreshold":["NAN", 37.0, 41.0, 45.0, 46.5, 53.0, 57.0],
258            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
259            "Multiplier":0.001,
260            "SendPowerHint":true,
261            "PollingDelay":300000,
262            "PassiveDelay":7000
263        },
264        {
265            "Name":"cellular-emergency",
266            "Type":"POWER_AMPLIFIER",
267            "VirtualSensor":true,
268            "TriggerSensor":"skin_therm",
269            "Formula":"MAXIMUM",
270            "Combination":["VIRTUAL-SKIN"],
271            "Coefficient":[1.0],
272            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 55.0, "NAN"],
273            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
274            "Multiplier":0.001,
275            "PollingDelay":300000,
276            "PassiveDelay":7000,
277            "SendCallback":true
278        },
279        {
280            "Name":"VIRTUAL-SKIN-CPU",
281            "Type":"UNKNOWN",
282            "Hidden":true,
283            "VirtualSensor":true,
284            "TriggerSensor":"skin_therm",
285            "Formula":"MAXIMUM",
286            "Combination":["VIRTUAL-SKIN"],
287            "Coefficient":[1.0],
288            "HotThreshold":["NAN", 37.0, 39.0, 41.0, 46.5, 53.0, 57.0],
289            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
290            "Multiplier":0.001,
291            "PollingDelay":300000,
292            "PassiveDelay":7000,
293            "PIDInfo": {
294                "K_Po":["NAN", "NAN", "NAN", 400, "NAN", "NAN", "NAN"],
295                "K_Pu":["NAN", "NAN", "NAN", 400, "NAN", "NAN", "NAN"],
296                "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"],
297                "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
298                "I_Max":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
299                "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
300                "MinAllocPower":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
301                "MaxAllocPower":["NAN", "NAN", "NAN", 10000, "NAN", "NAN", "NAN"],
302                "I_Cutoff":["NAN", "NAN", "NAN", 2, "NAN", "NAN", "NAN"]
303            },
304            "ExcludedPowerInfo": [
305                {
306                    "PowerRail": "VSYS_PWR_MODEM",
307                    "PowerWeight": [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]
308                }
309            ],
310            "BindedCdevInfo": [
311                {
312                    "CdevRequest": "thermal-cpufreq-0",
313                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
314                    "MaxReleaseStep": 1,
315                    "MaxThrottleStep": 1,
316                    "BindedPowerRail": "S4M_VDD_CPUCL0",
317                    "CdevCeiling": [0, 8, 8, 8, 8, 10, 10],
318                    "LimitInfo": [0, 0, 0, 0, 8, 10, 10]
319                },
320                {
321                    "CdevRequest": "thermal-cpufreq-1",
322                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
323                    "MaxReleaseStep": 1,
324                    "MaxThrottleStep": 1,
325                    "BindedPowerRail": "S3M_VDD_CPUCL1",
326                    "CdevCeiling": [0, 12, 12, 12, 12, 14, 14],
327                    "LimitInfo": [0, 0, 0, 0, 12, 14, 14]
328                },
329                {
330                    "CdevRequest": "thermal-cpufreq-2",
331                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
332                    "MaxReleaseStep": 1,
333                    "MaxThrottleStep": 2,
334                    "BindedPowerRail": "S2M_VDD_CPUCL2",
335                    "CdevCeiling": [0, 15, 15, 15, 15, 17, 17],
336                    "LimitInfo": [0, 0, 0, 0, 15, 17, 17]
337                }
338            ]
339        },
340        {
341            "Name":"VIRTUAL-SKIN-CPU-GPU",
342            "Type":"UNKNOWN",
343            "Hidden":true,
344            "VirtualSensor":true,
345            "TriggerSensor":"skin_therm",
346            "Formula":"MAXIMUM",
347            "Combination":["VIRTUAL-SKIN"],
348            "Coefficient":[1.0],
349            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 53.0, 57.0],
350            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
351            "Multiplier":0.001,
352            "PollingDelay":300000,
353            "PassiveDelay":7000,
354            "PIDInfo": {
355                "K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
356                "K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
357                "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"],
358                "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
359                "I_Max":["NAN", "NAN", "NAN", 700, "NAN", "NAN", "NAN"],
360                "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
361                "MinAllocPower":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
362                "MaxAllocPower":["NAN", "NAN", "NAN", 3900, "NAN", "NAN", "NAN"],
363                "I_Cutoff":["NAN", "NAN", "NAN", 2, "NAN", "NAN", "NAN"]
364            },
365            "BindedCdevInfo": [
366                {
367                    "CdevRequest": "thermal-cpufreq-0",
368                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
369                    "MaxReleaseStep": 1,
370                    "MaxThrottleStep": 1,
371                    "BindedPowerRail": "S4M_VDD_CPUCL0",
372                    "CdevCeiling": [0, 8, 8, 8, 8, 10, 10],
373                    "LimitInfo": [0, 0, 0, 0, 8, 10, 10]
374                },
375                {
376                    "CdevRequest": "thermal-cpufreq-1",
377                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
378                    "MaxReleaseStep": 1,
379                    "MaxThrottleStep": 1,
380                    "BindedPowerRail": "S3M_VDD_CPUCL1",
381                    "CdevCeiling": [0, 12, 12, 12, 12, 14, 14],
382                    "LimitInfo": [0, 0, 0, 0, 12, 14, 14]
383                },
384                {
385                    "CdevRequest": "thermal-cpufreq-2",
386                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
387                    "MaxReleaseStep": 1,
388                    "MaxThrottleStep": 2,
389                    "BindedPowerRail": "S2M_VDD_CPUCL2",
390                    "CdevCeiling": [0, 15, 15, 15, 15, 17, 17],
391                    "LimitInfo": [0, 0, 0, 0, 15, 17, 17]
392                },
393                {
394                    "CdevRequest": "thermal-gpufreq-0",
395                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
396                    "MaxReleaseStep": 1,
397                    "MaxThrottleStep": 1,
398                    "BindedPowerRail": "S2S_VDD_G3D",
399                    "CdevCeiling": [0, 8, 8, 8, 8, 10, 10],
400                    "LimitInfo": [0, 0, 0, 0, 8, 10, 10]
401                }
402            ]
403        },
404        {
405            "Name":"VIRTUAL-SKIN-CHARGE",
406            "Type":"UNKNOWN",
407            "Version":"0.3",
408            "Hidden":true,
409            "VirtualSensor":true,
410            "TriggerSensor":"skin_therm",
411            "Formula":"MAXIMUM",
412            "Combination":["VIRTUAL-SKIN"],
413            "Coefficient":[1.0],
414            "HotThreshold":["NAN", 25.0, 39.0, 41.0, 45.0, 46.5, 57.0],
415            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.4, 1.9],
416            "Multiplier":0.001,
417            "PollingDelay":60000,
418            "PassiveDelay":60000,
419            "PIDInfo": {
420                "K_Po":["NAN", "NAN", 1000, "NAN", "NAN", "NAN", "NAN"],
421                "K_Pu":["NAN", "NAN", 30, "NAN", "NAN", "NAN", "NAN"],
422                "K_I":["NAN", "NAN", 40, "NAN", "NAN", "NAN", "NAN"],
423                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
424                "I_Max":["NAN", "NAN", 1500, "NAN", "NAN", "NAN", "NAN"],
425                "S_Power":["NAN", "NAN", 3000, "NAN", "NAN", "NAN", "NAN"],
426                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
427                "MaxAllocPower":["NAN", "NAN", 10000, "NAN", "NAN", "NAN", "NAN"],
428                "I_Cutoff":["NAN", "NAN", 14, "NAN", "NAN", "NAN", "NAN"],
429                "I_Default":1500
430            },
431            "ExcludedPowerInfo": [
432                {
433                    "PowerRail": "PARTIAL_SYSTEM_POWER",
434                    "PowerWeight": [1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6]
435                }
436            ],
437            "BindedCdevInfo": [
438                {
439                    "CdevRequest": "chg_mdis",
440                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
441                    "MaxReleaseStep": 1,
442                    "MaxThrottleStep": 2,
443                    "CdevCeiling": [0, 10, 11, 11, 12, 12, 12],
444                    "LimitInfo": [0, 0, 0, 0, 0, 12, 12]
445                }
446            ]
447        },
448        {
449            "Name":"USB2-MINUS-USB",
450            "Type":"UNKNOWN",
451            "Hidden":true,
452            "VirtualSensor":true,
453            "TriggerSensor": "usb_pwr_therm2",
454            "Formula":"WEIGHTED_AVG",
455            "Combination":["usb_pwr_therm2", "usb_pwr_therm"],
456            "Coefficient":[1.0, -1.0],
457            "Multiplier":0.001
458        },
459        {
460            "Name":"VIRTUAL-USB-THROTTLING",
461            "Type":"UNKNOWN",
462            "Hidden":true,
463            "VirtualSensor":true,
464            "Formula":"COUNT_THRESHOLD",
465            "TriggerSensor": "usb_pwr_therm2",
466            "Combination":["usb_pwr_therm2", "USB2-MINUS-USB"],
467            "Coefficient":[40000, 10000],
468            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "2.0", "NAN", "NAN"],
469            "BindedCdevInfo": [
470                {
471                    "CdevRequest": "usbc-port",
472                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
473                }
474            ],
475            "Multiplier":1,
476            "PollingDelay":300000,
477            "PassiveDelay":7000
478        },
479        {
480            "Name":"VIRTUAL-USB-UI",
481            "Type":"USB_PORT",
482            "VirtualSensor":true,
483            "Formula":"COUNT_THRESHOLD",
484            "TriggerSensor": "usb_pwr_therm2",
485            "Combination":["usb_pwr_therm2", "USB2-MINUS-USB"],
486            "Coefficient":[40000, 13000],
487            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "2.0", "NAN"],
488            "Multiplier":1,
489            "SendCallback":true,
490            "PollingDelay":300000,
491            "PassiveDelay":7000
492        },
493        {
494            "Name":"LEFT-INNER-DISPLAY",
495            "Type":"UNKNOWN",
496            "Hidden":true,
497            "VirtualSensor":true,
498            "Formula":"WEIGHTED_AVG",
499            "Combination":["outer_disp_therm"],
500            "Coefficient":[1.56],
501            "Offset":-14540,
502            "Multiplier":0.001
503        },
504        {
505            "Name":"RIGHT-INNER-DISPLAY",
506            "Type":"UNKNOWN",
507            "Hidden":true,
508            "VirtualSensor":true,
509            "Formula":"WEIGHTED_AVG",
510            "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm"],
511            "Coefficient":[0.35, -0.2, 0.55, -0.95, 0.35, 0.8],
512            "Offset":3110,
513            "Multiplier":0.001
514        },
515        {
516            "Name":"INNER-DISPLAY-DIFF",
517            "Type":"UNKNOWN",
518            "VirtualSensor":true,
519            "Formula":"WEIGHTED_AVG",
520            "Combination":["LEFT-INNER-DISPLAY", "RIGHT-INNER-DISPLAY"],
521            "Coefficient":[1.0, -1.0],
522            "Multiplier":0.001
523        },
524        {
525            "Name":"LITTLE",
526            "Type":"CPU",
527            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "NAN"],
528            "Multiplier":0.001
529        },
530        {
531            "Name":"MID",
532            "Type":"CPU",
533            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "NAN"],
534            "Multiplier":0.001
535        },
536        {
537            "Name":"BIG",
538            "Type":"CPU",
539            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "NAN"],
540            "Multiplier":0.001
541        },
542        {
543            "Name":"G3D",
544            "Type":"GPU",
545            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "NAN"],
546            "Multiplier":0.001
547        },
548        {
549            "Name":"TPU",
550            "Type":"NPU",
551            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", "NAN"],
552            "Multiplier":0.001
553        },
554        {
555            "Name":"battery_cycle",
556            "Type":"BCL_VOLTAGE",
557            "Multiplier":1,
558            "SendCallback":false
559        },
560        {
561            "Name":"critical-battery-cell",
562            "Type":"BCL_VOLTAGE",
563            "VirtualSensor":true,
564            "Formula":"COUNT_THRESHOLD",
565            "TriggerSensor": "vdroop1",
566            "Combination":["battery", "battery_cycle", "vdroop1"],
567            "Coefficient":[-10000, 400, 1000],
568            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 3.00, "NAN"],
569            "Multiplier":1,
570            "SendCallback":true
571        },
572        {
573            "Name":"FLASH_LED_REDUCE",
574            "Type":"UNKNOWN",
575            "VirtualSensor":true,
576            "Formula":"COUNT_THRESHOLD",
577            "TriggerSensor": "vdroop1",
578            "Combination":["battery", "battery_cycle", "vdroop1"],
579            "Coefficient":[-10000, 400, 1000],
580            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.00, "NAN", "NAN"],
581            "Multiplier":1,
582            "SendCallback":true,
583            "SendPowerHint":true
584        },
585        {
586            "Name":"soc",
587            "Type":"BCL_PERCENTAGE",
588            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
589            "Multiplier":1
590        },
591        {
592            "Name":"BCL_TPU_LOW_TEMP",
593            "Type":"BCL_CURRENT",
594            "VirtualSensor":true,
595            "Formula":"WEIGHTED_AVG",
596            "TriggerSensor": "ocp_tpu",
597            "Combination":["ocp_tpu", "battery"],
598            "Coefficient":[1, -10],
599            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
600            "Multiplier":1,
601            "SendCallback":true,
602            "BindedCdevInfo": [
603                {
604                    "CdevRequest": "tpu_cooling",
605                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
606                }
607            ]
608        },
609        {
610            "Name":"BCL_GPU_LOW_TEMP",
611            "Type":"BCL_CURRENT",
612            "VirtualSensor":true,
613            "Formula":"WEIGHTED_AVG",
614            "TriggerSensor": "ocp_gpu",
615            "Combination":["ocp_gpu", "battery"],
616            "Coefficient":[1, -10],
617            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 13000, "NAN", "NAN"],
618            "Multiplier":1,
619            "SendCallback":true,
620            "BindedCdevInfo": [
621                {
622                    "CdevRequest": "thermal-gpufreq-0",
623                    "LimitInfo": [0, 0, 0, 0, 9, 9, 9]
624                }
625            ]
626        },
627        {
628            "Name":"BCL_BATOILO_GPU_LOW_TEMP",
629            "Type":"BCL_CURRENT",
630            "VirtualSensor":true,
631            "Formula":"COUNT_THRESHOLD",
632            "TriggerSensor": "batoilo",
633            "Combination":["batoilo", "ocp_gpu", "battery"],
634            "Coefficient":[5000, 12000, -1000 ],
635            "HotThreshold":["NAN", "NAN", "NAN", "NAN",  3.0, "NAN", "NAN"],
636            "Multiplier":1,
637            "SendCallback":true,
638            "BindedCdevInfo": [
639                {
640                    "CdevRequest": "thermal-gpufreq-0",
641                    "LimitInfo": [0, 0, 0, 0, 9, 9, 9]
642                }
643            ]
644        },
645        {
646            "Name":"BCL_BATOILO_TPU_LOW_TEMP",
647            "Type":"BCL_CURRENT",
648            "VirtualSensor":true,
649            "Formula":"COUNT_THRESHOLD",
650            "TriggerSensor": "batoilo",
651            "Combination":["batoilo", "ocp_tpu", "battery"],
652            "Coefficient":[5000, 12000, -1000],
653            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 3.0, "NAN", "NAN"],
654            "Multiplier":1,
655            "SendCallback":true,
656            "BindedCdevInfo": [
657                {
658                    "CdevRequest": "tpu_cooling",
659                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
660                }
661            ]
662        },
663        {
664            "Name":"BCL_BATOILO_GPU",
665            "Type":"BCL_CURRENT",
666            "VirtualSensor":true,
667            "Formula":"COUNT_THRESHOLD",
668            "TriggerSensor": "batoilo",
669            "Combination":["batoilo", "ocp_gpu"],
670            "Coefficient":[5000, 12000],
671            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
672            "Multiplier":1,
673            "SendCallback":true,
674            "BindedCdevInfo": [
675                {
676                    "CdevRequest": "thermal-gpufreq-0",
677                    "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
678                }
679            ]
680        },
681        {
682            "Name":"BCL_BATOILO_TPU",
683            "Type":"BCL_CURRENT",
684            "VirtualSensor":true,
685            "Formula":"COUNT_THRESHOLD",
686            "TriggerSensor": "batoilo",
687            "Combination":[
688                "batoilo",
689                "ocp_tpu"
690            ],
691            "Coefficient":[5000, 12000],
692            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"],
693            "Multiplier":1,
694            "SendCallback":true,
695            "BindedCdevInfo": [
696                {
697                    "CdevRequest": "tpu_cooling",
698                    "LimitInfo": [0, 0, 0, 0, 6, 6, 6]
699                }
700            ]
701        },
702        {
703            "Name":"batoilo",
704            "Type":"BCL_CURRENT",
705            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 5000, "NAN", "NAN"],
706            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
707            "Multiplier":1,
708            "SendCallback":true,
709            "PollingDelay":0,
710            "PassiveDelay":60000,
711            "BindedCdevInfo": [
712                {
713                    "CdevRequest": "thermal-cpufreq-2",
714                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
715                },
716                {
717                    "CdevRequest": "thermal-gpufreq-0",
718                    "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
719                },
720                {
721                    "CdevRequest": "tpu_cooling",
722                    "LimitInfo": [0, 0, 0, 0, 5, 5, 5]
723                }
724            ]
725        },
726        {
727            "Name":"BCL_AUDIO_BAACL",
728            "Type":"BCL_VOLTAGE",
729            "VirtualSensor":true,
730            "Formula":"COUNT_THRESHOLD",
731            "TriggerSensor": "soc",
732            "Combination":["battery", "soc"],
733            "Coefficient":[-10000, 80],
734            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
735            "Multiplier":1,
736            "SendCallback":true
737        },
738        {
739            "Name":"vdroop1",
740            "Type":"BCL_VOLTAGE",
741            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1000, "NAN", "NAN"],
742            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
743            "Multiplier":1,
744            "SendCallback":true,
745            "PollingDelay":0,
746            "PassiveDelay":60000,
747            "BindedCdevInfo": [
748                {
749                    "CdevRequest": "thermal-cpufreq-2",
750                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
751                },
752                {
753                    "CdevRequest": "thermal-gpufreq-0",
754                    "LimitInfo": [0, 0, 0, 0, 2, 2, 2]
755                },
756                {
757                    "CdevRequest": "tpu_cooling",
758                    "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
759                }
760            ]
761        },
762        {
763            "Name":"vdroop2",
764            "Type":"BCL_VOLTAGE",
765            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1200, "NAN", "NAN"],
766            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
767            "Multiplier":1,
768            "SendCallback":true,
769            "PollingDelay":0,
770            "PassiveDelay":60000,
771            "BindedCdevInfo": [
772                {
773                    "CdevRequest": "thermal-cpufreq-2",
774                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
775                },
776                {
777                    "CdevRequest": "thermal-gpufreq-0",
778                    "LimitInfo": [0, 0, 0, 0, 4, 4, 4]
779                },
780                {
781                    "CdevRequest": "tpu_cooling",
782                    "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
783                }
784            ]
785        },
786        {
787            "Name":"smpl_gm",
788            "Type":"BCL_VOLTAGE",
789            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 1100, "NAN", "NAN"],
790            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
791            "Multiplier":1,
792            "SendCallback":true,
793            "PollingDelay":0,
794            "PassiveDelay":60000,
795            "BindedCdevInfo": [
796                {
797                    "CdevRequest": "thermal-cpufreq-2",
798                    "LimitInfo": [0, 0, 0, 0, 7, 7, 7]
799                },
800                {
801                    "CdevRequest": "thermal-gpufreq-0",
802                    "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
803                },
804                {
805                    "CdevRequest": "tpu_cooling",
806                    "LimitInfo": [0, 0, 0, 0, 3, 3, 3]
807                }
808            ]
809        },
810        {
811            "Name":"ocp_cpu1",
812            "Type":"BCL_CURRENT",
813            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
814            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
815            "Multiplier":1,
816            "Hidden":true
817        },
818        {
819            "Name":"ocp_cpu2",
820            "Type":"BCL_CURRENT",
821            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
822            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
823            "Multiplier":1,
824            "Hidden":true
825        },
826        {
827            "Name":"ocp_tpu",
828            "Type":"BCL_CURRENT",
829            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
830            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
831            "Multiplier":1
832        },
833        {
834            "Name":"ocp_gpu",
835            "Type":"BCL_CURRENT",
836            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
837            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
838            "Multiplier":1
839        },
840        {
841            "Name":"soft_ocp_cpu2",
842            "Type":"BCL_CURRENT",
843            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
844            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
845            "Multiplier":1
846        },
847        {
848            "Name":"soft_ocp_cpu1",
849            "Type":"BCL_CURRENT",
850            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
851            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
852            "Multiplier":1
853        },
854        {
855            "Name":"soft_ocp_tpu",
856            "Type":"BCL_CURRENT",
857            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8500, "NAN", "NAN"],
858            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
859            "Multiplier":1,
860            "Hidden":true
861        },
862        {
863            "Name":"soft_ocp_gpu",
864            "Type":"BCL_CURRENT",
865            "HotThreshold":["NAN", "NAN", "NAN", "NAN", 9000, "NAN", "NAN"],
866            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
867            "Multiplier":1,
868            "Hidden":true
869        }
870    ],
871    "CoolingDevices":[
872        {
873            "Name":"thermal-cpufreq-0",
874            "Type":"CPU",
875            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
876            "State2Power":[516, 456, 392, 296, 264, 216, 184, 140, 100, 68, 28]
877        },
878        {
879            "Name":"thermal-cpufreq-1",
880            "Type":"CPU",
881            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
882            "State2Power":[2466, 2166, 1840, 1544, 1260, 1024, 816, 642, 538, 410, 342, 276, 224, 162, 104]
883        },
884        {
885            "Name":"thermal-cpufreq-2",
886            "Type":"CPU",
887            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
888            "State2Power":[4920, 4614, 4092, 3684, 3198, 2820, 2354, 2184, 1862, 1476, 1338, 1110, 928, 738, 552, 450, 362, 188]
889        },
890        {
891            "Name":"thermal-gpufreq-0",
892            "Type":"GPU",
893            "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
894            "State2Power":[1925, 1528, 1258, 928, 795, 703, 573, 481, 396, 314, 236]
895        },
896        {
897            "Name":"chg_mdis",
898            "Type":"BATTERY",
899            "State2Power":[4122, 3623, 3308, 2824, 2524, 2241, 1864, 1635, 1319, 932, 632, 344, 0]
900        },
901        {
902            "Name":"usbc-port",
903            "Type":"BATTERY"
904        },
905        {
906            "Name":"tpu_cooling",
907            "Type":"NPU",
908            "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
909        },
910        {
911            "Name":"gxp-cooling",
912            "Type":"NPU",
913            "WritePath":"/dev/thermal/cdev-by-name/gxp-cooling/user_vote"
914        }
915    ],
916    "PowerRails":[
917        {
918            "Name":"VSYS_PWR_MODEM",
919            "PowerSampleDelay":7000,
920            "PowerSampleCount":1
921        },
922        {
923            "Name":"S2M_VDD_CPUCL2",
924            "PowerSampleDelay":7000,
925            "PowerSampleCount":1
926
927        },
928        {
929            "Name":"S3M_VDD_CPUCL1",
930            "PowerSampleDelay":7000,
931            "PowerSampleCount":1
932        },
933        {
934            "Name":"S4M_VDD_CPUCL0",
935            "PowerSampleDelay":7000,
936            "PowerSampleCount":1
937        },
938        {
939            "Name":"S2S_VDD_G3D",
940            "PowerSampleDelay":7000,
941            "PowerSampleCount":1
942        },
943        {
944            "Name":"PARTIAL_SYSTEM_POWER",
945            "VirtualRails":true,
946            "Formula":"WEIGHTED_AVG",
947            "Combination":["VSYS_PWR_MMWAVE", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S8M_LLDO2",
948                    "S10M_VDD_TPU", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "VSYS_PWR_CAM", "S1S_VDD_CAM","S2S_VDD_G3D", "S4S_VDD2H_MEM", "S8S_VDD_G3D_L2", "L2S_PLL_MIPI_UFS"],
949            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
950            "PowerSampleDelay":60000,
951            "PowerSampleCount":1
952        }
953    ],
954    "Stats": {
955        "Sensors": {
956            "RecordWithDefaultThreshold": ["VIRTUAL-SKIN"],
957            "RecordWithThreshold": [
958                {
959                    "Name": "VIRTUAL-SKIN",
960                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
961                },
962                {
963                    "Name": "VIRTUAL-USB-THROTTLING",
964                    "Thresholds": [2.0]
965                }
966            ]
967        },
968        "CoolingDevices": {
969            "RecordVotePerSensor": {
970                "DefaultThresholdEnableAll": true
971            }
972        }
973    }
974}
975