1{
2    "Sensors":[
3        {
4            "Name":"north_therm",
5            "Type":"UNKNOWN",
6            "HotThreshold":["NaN", 32.1, "NaN", "NaN", "NaN", "NaN", "NaN"],
7            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
8            "TempPath":"/dev/thermal/tz-by-name/north_therm/tz_temp",
9            "Multiplier":0.001,
10            "PollingDelay":60000,
11            "PassiveDelay":7000
12        },
13        {
14            "Name":"cam_therm",
15            "Type":"UNKNOWN",
16            "HotThreshold":["NaN", 33.7, "NaN", "NaN", "NaN", "NaN", "NaN"],
17            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
18            "TempPath":"/dev/thermal/tz-by-name/cam_therm/tz_temp",
19            "Multiplier":0.001,
20            "PollingDelay":60000,
21            "PassiveDelay":7000
22        },
23        {
24            "Name":"soc_therm",
25            "Type":"UNKNOWN",
26            "HotThreshold":["NaN", 47.2, "NaN", "NaN", "NaN", "NaN", "NaN"],
27            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
28            "TempPath":"/dev/thermal/tz-by-name/soc_therm/tz_temp",
29            "Multiplier":0.001,
30            "PollingDelay":60000,
31            "PassiveDelay":7000
32        },
33        {
34            "Name":"charge_therm",
35            "Type":"UNKNOWN",
36            "HotThreshold":["NaN", 48.4, "NaN", "NaN", "NaN", "NaN", "NaN"],
37            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
38            "TempPath":"/dev/thermal/tz-by-name/charge_therm/tz_temp",
39            "Multiplier":0.001,
40            "PollingDelay":60000,
41            "PassiveDelay":7000
42        },
43        {
44            "Name":"disp_therm",
45            "Type":"UNKNOWN",
46            "HotThreshold":["NaN", 31.7, "NaN", "NaN", "NaN", "NaN", "NaN"],
47            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
48            "TempPath":"/dev/thermal/tz-by-name/disp_therm/tz_temp",
49            "Multiplier":0.001,
50            "PollingDelay":60000,
51            "PassiveDelay":7000
52        },
53        {
54            "Name":"battery",
55            "Type":"BATTERY",
56            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", 60.0],
57            "Multiplier":0.001
58        },
59        {
60            "Name":"neutral_therm",
61            "Type":"UNKNOWN",
62            "HotThreshold":["NaN", 44.1, "NaN", "NaN", "NaN", "NaN", "NaN"],
63            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
64            "TempPath":"/dev/thermal/tz-by-name/neutral_therm/tz_temp",
65            "Multiplier":0.001,
66            "PollingDelay":60000,
67            "PassiveDelay":7000
68        },
69        {
70            "Name":"quiet_therm",
71            "Type":"UNKNOWN",
72            "HotThreshold":["NaN", 34.6, "NaN", "NaN", "NaN", "NaN", "NaN"],
73            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
74            "TempPath":"/dev/thermal/tz-by-name/quiet_therm/tz_temp",
75            "Multiplier":0.001,
76            "PollingDelay":60000,
77            "PassiveDelay":7000
78        },
79        {
80            "Name":"usb_pwr_therm",
81            "Type":"UNKNOWN",
82            "HotThreshold":["NaN", 35.0, "NaN", "NaN", "NaN", "NaN", "NaN"],
83            "TempPath":"/dev/thermal/tz-by-name/usb_pwr_therm/tz_temp",
84            "Multiplier":0.001,
85            "PollingDelay":60000,
86            "PassiveDelay":7000
87        },
88        {
89            "Name":"battery_cycle",
90            "Type":"BCL_VOLTAGE"
91        },
92        {
93            "Name":"critical-battery-cell",
94            "Type":"BCL_VOLTAGE",
95            "VirtualSensor":true,
96            "Formula":"COUNT_THRESHOLD",
97            "TriggerSensor": "vdroop1",
98            "Combination":["battery", "battery_cycle", "vdroop1"],
99            "Coefficient":[-10000, 400, 1000],
100            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", 3.00, "NaN"],
101            "Multiplier":1,
102            "PollingDelay":0,
103            "PassiveDelay":1000,
104            "SendCallback":true
105        },
106        {
107            "Name":"FLASH_LED_REDUCE",
108            "Type":"UNKNOWN",
109            "VirtualSensor":true,
110            "Formula":"COUNT_THRESHOLD",
111            "TriggerSensor": "vdroop1",
112            "Combination":["battery", "battery_cycle", "vdroop1"],
113            "Coefficient":[-10000, 400, 1000],
114            "HotThreshold":["NaN", "NaN", "NaN", "NaN", 3.00, "NaN", "NaN"],
115            "Multiplier":1,
116            "PollingDelay":0,
117            "PassiveDelay":1000,
118            "SendCallback":true,
119            "SendPowerHint":true
120        },
121        {
122            "Name":"soc",
123            "Type":"BCL_PERCENTAGE",
124            "HotThreshold":["NaN", "NaN", 80, "NaN", "NaN", "NaN", "NaN"],
125            "Multiplier":1
126        },
127        {
128            "Name":"batoilo",
129            "Type":"BCL_CURRENT",
130            "HotThreshold":["NaN", "NaN", "NaN", "NaN", 5000, "NaN", "NaN"],
131            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
132            "Multiplier":1,
133            "SendCallback":true,
134            "PollingDelay":0,
135            "PassiveDelay":1000
136        },
137        {
138            "Name":"BCL_AUDIO_BAACL",
139            "Type":"BCL_VOLTAGE",
140            "VirtualSensor":true,
141            "Formula":"COUNT_THRESHOLD",
142            "TriggerSensor": "soc",
143            "Combination":["battery", "soc"],
144            "Coefficient":[-25000, 80],
145            "HotThreshold":["NaN", "NaN",  "NaN", "NaN", 2.0, "NaN", "NaN"],
146            "PollingDelay":0,
147            "PassiveDelay":600000,
148            "Multiplier":1,
149            "SendCallback":true
150        },
151        {
152            "Name":"vdroop1",
153            "Type":"BCL_VOLTAGE",
154            "HotThreshold":["NaN", "NaN", "NaN", "NaN", 1000, "NaN", "NaN"],
155            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
156            "Multiplier":1,
157            "SendCallback":true,
158            "PollingDelay":0,
159            "PassiveDelay":1000
160        },
161        {
162            "Name":"vdroop2",
163            "Type":"BCL_VOLTAGE",
164            "HotThreshold":["NaN", "NaN", "NaN", "NaN", 1200, "NaN", "NaN"],
165            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
166            "Multiplier":1,
167            "SendCallback":true,
168            "PollingDelay":0,
169            "PassiveDelay":1000
170        },
171        {
172            "Name":"smpl_gm",
173            "Type":"BCL_VOLTAGE",
174            "HotThreshold":["NaN", "NaN", "NaN", "NaN", 1100, "NaN", "NaN"],
175            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
176            "Multiplier":1,
177            "SendCallback":true,
178            "PollingDelay":0,
179            "PassiveDelay":1000
180        },
181        {
182            "Name":"VIRTUAL-BTS-WINDOW-PARTIAL",
183            "Type":"UNKNOWN",
184            "VirtualSensor":true,
185            "Formula":"WEIGHTED_AVG",
186            "Combination":["cam_therm", "north_therm"],
187            "Coefficient":[0.05, 0.14],
188            "Offset":560,
189            "Multiplier":0.001
190        },
191        {
192            "Name":"VIRTUAL-SKIN-SUB-0",
193            "Type":"UNKNOWN",
194            "Hidden":true,
195            "VirtualSensor":true,
196            "Formula":"WEIGHTED_AVG",
197            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
198            "Coefficient":[0, 0.27, 0.17, 0.11, 0, 0.2, 0.01, 0.06, 0.08],
199            "Offset":2110,
200            "Multiplier":0.001
201        },
202        {
203            "Name":"VIRTUAL-SKIN-SUB-1",
204            "Type":"UNKNOWN",
205            "Hidden":true,
206            "VirtualSensor":true,
207            "Formula":"WEIGHTED_AVG",
208            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
209            "Coefficient":[0.46, 0, 0.14, 0.28, 0, 0.06, 0.02, 0.14, 0],
210            "Offset":-7280,
211            "Multiplier":0.001
212        },
213        {
214            "Name":"VIRTUAL-SKIN-SUB-2",
215            "Type":"UNKNOWN",
216            "Hidden":true,
217            "VirtualSensor":true,
218            "Formula":"WEIGHTED_AVG",
219            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
220            "Coefficient":[0.07, 0, 0, 0, 0, 0.28, 0.15, 0.02, 0.3],
221            "Offset":4010,
222            "Multiplier":0.001
223        },
224        {
225            "Name":"VIRTUAL-SKIN-SUB-3",
226            "Type":"UNKNOWN",
227            "Hidden":true,
228            "VirtualSensor":true,
229            "Formula":"WEIGHTED_AVG",
230            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
231            "Coefficient":[0.27, 0.06, 0.3, 0, 0, 0.2, 0.03, 0.02, 0.04],
232            "Offset":10,
233            "Multiplier":0.001
234        },
235        {
236            "Name":"VIRTUAL-SKIN-SUB-4",
237            "Type":"UNKNOWN",
238            "Hidden":true,
239            "VirtualSensor":true,
240            "Formula":"WEIGHTED_AVG",
241            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
242            "Coefficient":[0.9, 0, 0.05, 0, 0, 0, 0.01, 0, 0],
243            "Offset":730,
244            "Multiplier":0.001
245        },
246        {
247            "Name":"VIRTUAL-SKIN-SUB-5",
248            "Type":"UNKNOWN",
249            "Hidden":true,
250            "VirtualSensor":true,
251            "Formula":"WEIGHTED_AVG",
252            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
253            "Coefficient":[0.08, 0.02, 0.24, 0.23, 0, 0.29, 0.01, 0, 0],
254            "Offset":1870,
255            "Multiplier":0.001
256        },
257        {
258            "Name":"VIRTUAL-SKIN-SUB-6",
259            "Type":"UNKNOWN",
260            "Hidden":true,
261            "VirtualSensor":true,
262            "Formula":"WEIGHTED_AVG",
263            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
264            "Coefficient":[0, 0, 0, 0.04, 0.2, 0.07, 0.15, 0.3, 0.16],
265            "Offset":-440,
266            "Multiplier":0.001
267        },
268        {
269            "Name":"VIRTUAL-SKIN-SUB-7",
270            "Type":"UNKNOWN",
271            "Hidden":true,
272            "VirtualSensor":true,
273            "Formula":"WEIGHTED_AVG",
274            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
275            "Coefficient":[0, 0.01, 0, 0, 0.07, 0.28, 0.25, 0.02, 0.08],
276            "Offset":9170,
277            "Multiplier":0.001
278        },
279        {
280            "Name":"VIRTUAL-SKIN-SUB-8",
281            "Type":"UNKNOWN",
282            "Hidden":true,
283            "VirtualSensor":true,
284            "Formula":"WEIGHTED_AVG",
285            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
286            "Coefficient":[0.1, 0.16, 0.11, 0.19, 0.26, 0, 0, 0.11, 0],
287            "Offset":1140,
288            "Multiplier":0.001
289        },
290        {
291            "Name":"VIRTUAL-SKIN-SUB-9",
292            "Type":"UNKNOWN",
293            "Hidden":true,
294            "VirtualSensor":true,
295            "Formula":"WEIGHTED_AVG",
296            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
297            "Coefficient":[0.02, 0.05, 0.21, 0.13, 0.02, 0.29, 0.09, 0, 0],
298            "Offset":5160,
299            "Multiplier":0.001
300        },
301        {
302            "Name":"VIRTUAL-SKIN-SUB-10",
303            "Type":"UNKNOWN",
304            "Hidden":true,
305            "VirtualSensor":true,
306            "Formula":"WEIGHTED_AVG",
307            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
308            "Coefficient":[0, 0, 0.16, 0, 0.49, 0.35, 0, 0, 0],
309            "Offset":-1500,
310            "Multiplier":0.001
311        },
312        {
313            "Name":"VIRTUAL-SKIN",
314            "Type":"SKIN",
315            "Version":"5.0",
316            "VirtualSensor":true,
317            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
318            "Formula":"MAXIMUM",
319            "Combination":["VIRTUAL-SKIN-SUB-0", "VIRTUAL-SKIN-SUB-1", "VIRTUAL-SKIN-SUB-2",
320                    "VIRTUAL-SKIN-SUB-3", "VIRTUAL-SKIN-SUB-4", "VIRTUAL-SKIN-SUB-5",
321                    "VIRTUAL-SKIN-SUB-6", "VIRTUAL-SKIN-SUB-7", "VIRTUAL-SKIN-SUB-8", "VIRTUAL-SKIN-SUB-9", "VIRTUAL-SKIN-SUB-10"],
322            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
323            "HotThreshold":["NaN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
324            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
325            "Multiplier":0.001,
326            "SendCallback":true,
327            "PollingDelay":300000,
328            "PassiveDelay":7000,
329            "BindedCdevInfo": [
330                {
331                    "CdevRequest": "gxp-cooling",
332                    "LimitInfo": [0, 0, 0, 0, 0, 6, 6]
333                }
334            ]
335        },
336        {
337            "Name":"VIRTUAL-SKIN-HINT",
338            "Type":"UNKNOWN",
339            "Hidden":true,
340            "VirtualSensor":true,
341            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
342            "Formula":"MAXIMUM",
343            "Combination":["VIRTUAL-SKIN"],
344            "Coefficient":[1.0],
345            "HotThreshold":["NaN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
346            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
347            "Multiplier":0.001,
348            "SendPowerHint":true,
349            "PollingDelay":300000,
350            "PassiveDelay":7000
351        },
352        {
353            "Name":"VIRTUAL-SKIN-CPU-LIGHT-ODPM",
354            "Type":"UNKNOWN",
355            "Hidden":true,
356            "VirtualSensor":true,
357            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
358            "Formula":"MAXIMUM",
359            "Combination":["VIRTUAL-SKIN"],
360            "Coefficient":[1.0],
361            "HotThreshold":["NaN", 37.0, 39.0, "NaN", "NaN", "NaN", "NaN"],
362            "HotHysteresis":[0.0, 1.9, 1.9, 0.0, 0.0, 0.0, 0.0],
363            "Multiplier":0.001,
364            "PollingDelay":300000,
365            "PassiveDelay":7000,
366            "PIDInfo": {
367                "K_Po":["NaN", "NaN", 400, "NaN", "NaN", "NaN", "NaN"],
368                "K_Pu":["NaN", "NaN", 400, "NaN", "NaN", "NaN", "NaN"],
369                "K_I":["NaN", "NaN", 5, "NaN", "NaN", "NaN", "NaN"],
370                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
371                "I_Max":["NaN", "NaN", 2200, "NaN", "NaN", "NaN", "NaN"],
372                "S_Power":["NaN", "NaN", 800, "NaN", "NaN", "NaN", "NaN"],
373                "MinAllocPower":["NaN", "NaN", 800, "NaN", "NaN", "NaN", "NaN"],
374                "MaxAllocPower":["NaN", "NaN", 4600, "NaN", "NaN", "NaN", "NaN"],
375                "I_Cutoff":["NaN", "NaN", 4, "NaN", "NaN", "NaN", "NaN"]
376            },
377            "BindedCdevInfo": [
378                {
379                    "CdevRequest": "thermal-cpufreq-0",
380                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
381                    "MaxReleaseStep": 1,
382                    "MaxThrottleStep": 1,
383                    "BindedPowerRail": "S4M_VDD_CPUCL0",
384                    "CdevCeiling": [0, 2, 2, 2, 2, 2, 2]
385                },
386                {
387                    "CdevRequest": "thermal-cpufreq-1",
388                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
389                    "MaxReleaseStep": 1,
390                    "MaxThrottleStep": 2,
391                    "BindedPowerRail": "S3M_VDD_CPUCL1",
392                    "CdevCeiling": [0, 6, 6, 6, 6, 6, 6]
393                },
394                {
395                    "CdevRequest": "thermal-cpufreq-2",
396                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
397                    "MaxReleaseStep": 1,
398                    "MaxThrottleStep": 2,
399                    "BindedPowerRail": "S2M_VDD_CPUCL2",
400                    "CdevCeiling": [0, 8, 8, 8, 8, 8, 8]
401                }
402            ]
403        },
404        {
405            "Name":"VIRTUAL-SKIN-CPU-MID",
406            "Type":"UNKNOWN",
407            "Hidden":true,
408            "VirtualSensor":true,
409            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
410            "Formula":"MAXIMUM",
411            "Combination":["VIRTUAL-SKIN"],
412            "Coefficient":[1.0],
413            "HotThreshold":["NaN", 39.0, 41.0, "NaN", "NaN", "NaN", "NaN"],
414            "HotHysteresis":[0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0],
415            "Multiplier":0.001,
416            "PollingDelay":300000,
417            "PassiveDelay":7000,
418            "PIDInfo": {
419                "K_Po":["NaN", "NaN", 400, "NaN", "NaN", "NaN", "NaN"],
420                "K_Pu":["NaN", "NaN", 400, "NaN", "NaN", "NaN", "NaN"],
421                "K_I":["NaN", "NaN", 5, "NaN", "NaN", "NaN", "NaN"],
422                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
423                "I_Max":["NaN", "NaN", 1500, "NaN", "NaN", "NaN", "NaN"],
424                "S_Power":["NaN", "NaN", 700, "NaN", "NaN", "NaN", "NaN"],
425                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
426                "MaxAllocPower":["NaN", "NaN", 2800, "NaN", "NaN", "NaN", "NaN"],
427                "I_Cutoff":["NaN", "NaN", 4, "NaN", "NaN", "NaN", "NaN"]
428            },
429            "BindedCdevInfo": [
430                {
431                    "CdevRequest": "thermal-cpufreq-0",
432                    "CdevWeightForPID": [0.292, 0.292, 0.292, 0.292, 0.292, 0.292, 0.292],
433                    "MaxReleaseStep": 1,
434                    "MaxThrottleStep": 1,
435                    "CdevCeiling": [0, 6, 6, 6, 6, 6, 6]
436                },
437                {
438                    "CdevRequest": "thermal-cpufreq-1",
439                    "CdevWeightForPID": [0.804, 0.804, 0.804, 0.804, 0.804, 0.804, 0.804],
440                    "MaxReleaseStep": 1,
441                    "MaxThrottleStep": 2,
442                    "CdevCeiling": [0, 9, 9, 9, 9, 9, 9]
443                },
444                {
445                    "CdevRequest": "thermal-cpufreq-2",
446                    "CdevWeightForPID": [0.342, 0.342, 0.342, 0.342, 0.342, 0.342, 0.342],
447                    "MaxReleaseStep": 1,
448                    "MaxThrottleStep": 2,
449                    "CdevCeiling": [0, 12, 12, 12, 12, 12, 12]
450                }
451            ],
452            "Profile": [
453                {
454                    "Mode": "game",
455                    "BindedCdevInfo": [
456                        {
457                           "CdevRequest": "thermal-cpufreq-0",
458                           "MaxReleaseStep": 1,
459                           "CdevCeiling": [0, 6, 6, 6, 6, 6, 6],
460                           "Disabled":true
461                        },
462                        {
463                           "CdevRequest": "thermal-cpufreq-1",
464                           "MaxReleaseStep": 1,
465                           "CdevCeiling": [0, 9, 9, 9, 9, 9, 9],
466                           "Disabled":true
467                        },
468                        {
469                           "CdevRequest": "thermal-cpufreq-2",
470                           "MaxReleaseStep": 1,
471                           "CdevCeiling": [0, 12, 12, 12, 12, 12, 12],
472                           "Disabled":true
473                        }
474                    ]
475                },
476                {
477                    "Mode": "camera",
478                    "BindedCdevInfo": [
479                        {
480                           "CdevRequest": "thermal-cpufreq-0",
481                           "MaxReleaseStep": 1,
482                           "CdevCeiling": [0, 6, 6, 6, 6, 6, 6],
483                           "Disabled":true
484                        },
485                        {
486                           "CdevRequest": "thermal-cpufreq-1",
487                           "MaxReleaseStep": 1,
488                           "CdevCeiling": [0, 9, 9, 9, 9, 9, 9],
489                           "Disabled":true
490                        },
491                        {
492                           "CdevRequest": "thermal-cpufreq-2",
493                           "MaxReleaseStep": 1,
494                           "CdevCeiling": [0, 12, 12, 12, 12, 12, 12],
495                           "Disabled":true
496                        }
497                    ]
498                }
499            ]
500        },
501        {
502            "Name":"VIRTUAL-SKIN-CPU-HIGH",
503            "Type":"UNKNOWN",
504            "Hidden":true,
505            "VirtualSensor":true,
506            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
507            "Formula":"MAXIMUM",
508            "Combination":["VIRTUAL-SKIN"],
509            "Coefficient":[1.0],
510            "HotThreshold":["NaN", 41.0, 43.0, 52.0, "NaN", "NaN", "NaN"],
511            "HotHysteresis":[0.0, 0.0, 1.9, 1.9, 0.0, 0.0, 0.0],
512            "Multiplier":0.001,
513            "PollingDelay":300000,
514            "PassiveDelay":7000,
515            "PIDInfo": {
516                "K_Po":["NaN", "NaN", 400, "NaN", "NaN", "NaN", "NaN"],
517                "K_Pu":["NaN", "NaN", 400, "NaN", "NaN", "NaN", "NaN"],
518                "K_I":["NaN", "NaN", 5, "NaN", "NaN", "NaN", "NaN"],
519                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
520                "I_Max":["NaN", "NaN", 1000, "NaN", "NaN", "NaN", "NaN"],
521                "S_Power":["NaN", "NaN", 600, "NaN", "NaN", "NaN", "NaN"],
522                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
523                "MaxAllocPower":["NaN", "NaN", 1600, "NaN", "NaN", "NaN", "NaN"],
524                "I_Cutoff":["NaN", "NaN", 4, "NaN", "NaN", "NaN", "NaN"]
525            },
526            "BindedCdevInfo": [
527                {
528                    "CdevRequest": "thermal-cpufreq-0",
529                    "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
530                    "MaxReleaseStep": 1,
531                    "MaxThrottleStep": 1,
532                    "CdevCeiling": [0, 8, 8, 8, 8, 8, 8]
533                },
534                {
535                    "CdevRequest": "thermal-cpufreq-1",
536                    "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
537                    "MaxReleaseStep": 1,
538                    "MaxThrottleStep": 2,
539                    "CdevCeiling": [0, 11, 11, 11, 11, 11, 11]
540                },
541                {
542                    "CdevRequest": "thermal-cpufreq-2",
543                    "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
544                    "MaxReleaseStep": 1,
545                    "MaxThrottleStep": 2,
546                    "CdevCeiling": [0, 13, 13, 13, 13, 13, 13]
547                }
548            ],
549            "Profile": [
550                {
551                    "Mode": "game",
552                    "BindedCdevInfo": [
553                        {
554                           "CdevRequest": "thermal-cpufreq-0",
555                           "MaxReleaseStep": 1,
556                           "CdevCeiling": [0, 8, 8, 8, 8, 8, 8],
557                           "Disabled":true
558                        },
559                        {
560                           "CdevRequest": "thermal-cpufreq-1",
561                           "MaxReleaseStep": 1,
562                           "CdevCeiling": [0, 11, 11, 11, 11, 11, 11],
563                           "Disabled":true
564                        },
565                        {
566                           "CdevRequest": "thermal-cpufreq-2",
567                           "MaxReleaseStep": 1,
568                           "CdevCeiling": [0, 13, 13, 13, 13, 13, 13],
569                           "Disabled":true
570                        }
571                    ]
572                },
573                {
574                    "Mode": "camera",
575                    "BindedCdevInfo": [
576                        {
577                           "CdevRequest": "thermal-cpufreq-0",
578                           "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
579                           "MaxReleaseStep": 1,
580                           "MaxThrottleStep": 1,
581                           "CdevCeiling": [0, 2, 6, 6, 6, 6, 6]
582                        },
583                        {
584                           "CdevRequest": "thermal-cpufreq-1",
585                           "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
586                           "MaxReleaseStep": 1,
587                           "MaxThrottleStep": 2,
588                           "CdevCeiling": [0, 6, 9, 9, 9, 9, 9]
589                        },
590                        {
591                           "CdevRequest": "thermal-cpufreq-2",
592                           "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
593                           "MaxReleaseStep": 1,
594                           "MaxThrottleStep": 2,
595                           "CdevCeiling": [0, 8, 12, 12, 12, 12, 12]
596                        }
597                    ]
598                }
599            ]
600        },
601        {
602            "Name":"VIRTUAL-SKIN-SOC",
603            "Type":"UNKNOWN",
604            "Hidden":true,
605            "VirtualSensor":true,
606            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
607            "Formula":"MAXIMUM",
608            "Combination":["VIRTUAL-SKIN"],
609            "Coefficient":[1.0],
610            "HotThreshold":["NaN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
611            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
612            "Multiplier":0.001,
613            "PollingDelay":300000,
614            "PassiveDelay":7000,
615            "PIDInfo": {
616                "K_Po":["NaN", "NaN", "NaN", 300, "NaN", "NaN", "NaN"],
617                "K_Pu":["NaN", "NaN", "NaN", 300, "NaN", "NaN", "NaN"],
618                "K_I":["NaN", "NaN", "NaN", 5, "NaN", "NaN", "NaN"],
619                "K_D":["NaN", "NaN", "NaN", 0, "NaN", "NaN", "NaN"],
620                "I_Max":["NaN", "NaN", "NaN", 2600, "NaN", "NaN", "NaN"],
621                "S_Power":["NaN", "NaN", "NaN", 800, "NaN", "NaN", "NaN"],
622                "MinAllocPower":["NaN", "NaN", "NaN", 800, "NaN", "NaN", "NaN"],
623                "MaxAllocPower":["NaN", "NaN", "NaN", 3900, "NaN", "NaN", "NaN"],
624                "I_Cutoff":["NaN", "NaN", "NaN", 8, "NaN", "NaN", "NaN"]
625            },
626            "BindedCdevInfo": [
627                {
628                    "CdevRequest": "thermal-cpufreq-0",
629                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
630                    "MaxReleaseStep": 1,
631                    "MaxThrottleStep": 1,
632                    "BindedPowerRail": "S4M_VDD_CPUCL0",
633                    "CdevCeiling": [0, 8, 8, 8, 8, 9, 9],
634                    "LimitInfo": [0, 0, 0, 0, 0, 9, 9]
635                },
636                {
637                    "CdevRequest": "thermal-cpufreq-1",
638                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
639                    "MaxReleaseStep": 1,
640                    "MaxThrottleStep": 2,
641                    "BindedPowerRail": "S3M_VDD_CPUCL1",
642                    "CdevCeiling": [0, 11, 11, 11, 11, 14, 14],
643                    "LimitInfo": [0, 0, 0, 0, 0, 14, 14]
644                },
645                {
646                    "CdevRequest": "thermal-cpufreq-2",
647                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
648                    "MaxReleaseStep": 1,
649                    "MaxThrottleStep": 2,
650                    "BindedPowerRail": "S2M_VDD_CPUCL2",
651                    "CdevCeiling": [0, 13, 13, 13, 13, 14, 14],
652                    "LimitInfo": [0, 0, 0, 0, 0, 14, 14]
653                },
654                {
655                    "CdevRequest": "thermal-gpufreq-0",
656                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
657                    "MaxReleaseStep": 1,
658                    "MaxThrottleStep": 1,
659                    "BindedPowerRail": "S2S_VDD_G3D",
660                    "CdevCeiling": [0, 8, 8, 8, 9, 11, 11],
661                    "LimitInfo": [0, 0, 0, 0, 0, 11, 11]
662                },
663                {
664                    "CdevRequest": "tpu_cooling",
665                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
666                    "MaxReleaseStep": 1,
667                    "MaxThrottleStep": 1,
668                    "BindedPowerRail": "S7M_VDD_TPU",
669                    "CdevCeiling": [0, 7, 7, 7, 7, 7, 7],
670                    "LimitInfo": [0, 0, 0, 0, 0, 7, 7]
671                }
672            ]
673        },
674        {
675            "Name":"VIRTUAL-SKIN-GPU",
676            "Type":"UNKNOWN",
677            "Hidden":true,
678            "VirtualSensor":true,
679            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
680            "Formula":"MAXIMUM",
681            "Combination":["VIRTUAL-SKIN"],
682            "Coefficient":[1.0],
683            "HotThreshold":["NaN", 43.0, 45.0, 46.5, 52.0, "NaN", "NaN"],
684            "HotHysteresis":[0.0, 1.9, 1.9, 1.4, 1.9, 0.0, 0.0],
685            "Multiplier":0.001,
686            "PollingDelay":300000,
687            "PassiveDelay":7000,
688            "PIDInfo": {
689                "K_Po":["NaN", "NaN", 700, "NaN", "NaN", "NaN", "NaN"],
690                "K_Pu":["NaN", "NaN", 700, "NaN", "NaN", "NaN", "NaN"],
691                "K_I":["NaN", "NaN", 5, "NaN", "NaN", "NaN", "NaN"],
692                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
693                "I_Max":["NaN", "NaN", 1723, "NaN", "NaN", "NaN", "NaN"],
694                "S_Power":["NaN", "NaN", 473, "NaN", "NaN", "NaN", "NaN"],
695                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
696                "MaxAllocPower":["NaN", "NaN", 2500, "NaN", "NaN", "NaN", "NaN"],
697                "I_Cutoff":["NaN", "NaN", 4, "NaN", "NaN", "NaN", "NaN"]
698            },
699            "BindedCdevInfo": [
700                {
701                    "CdevRequest": "thermal-gpufreq-0",
702                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
703                    "CdevCeiling": [0, 8, 8, 9, 11, 11, 11]
704                }
705            ]
706        },
707        {
708            "Name":"cellular-emergency",
709            "Type":"POWER_AMPLIFIER",
710            "VirtualSensor":true,
711            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
712            "Formula":"MAXIMUM",
713            "Combination":["VIRTUAL-SKIN"],
714            "Coefficient":[1.0],
715            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", 54.0, "NaN"],
716            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
717            "Multiplier":0.001,
718            "SendCallback":true,
719            "PollingDelay":300000,
720            "PassiveDelay":7000
721        },
722        {
723            "Name":"VIRTUAL-SKIN-SPEAKER-SUB-0",
724            "Type":"UNKNOWN",
725            "Hidden":true,
726            "VirtualSensor":true,
727            "Formula":"WEIGHTED_AVG",
728            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
729            "Coefficient":[0, 0.14, 0, 0.15, 0, 0, 0, 0.88, 0],
730            "Offset":-11750,
731            "Multiplier":0.001
732        },
733        {
734            "Name":"VIRTUAL-SKIN-SPEAKER-SUB-1",
735            "Type":"UNKNOWN",
736            "Hidden":true,
737            "VirtualSensor":true,
738            "Formula":"WEIGHTED_AVG",
739            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
740            "Coefficient":[0.01, 0.18, 0, 0, 0, 0.24, 0, 0.01, 0.35],
741            "Offset":3600,
742            "Multiplier":0.001
743        },
744        {
745            "Name":"VIRTUAL-SKIN-SPEAKER-SUB-2",
746            "Type":"UNKNOWN",
747            "Hidden":true,
748            "VirtualSensor":true,
749            "Formula":"WEIGHTED_AVG",
750            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
751            "Coefficient":[0, 0.01, 0, 0, 0.13, 0.31, 0.11, 0.18, 0.09],
752            "Offset":2140,
753            "Multiplier":0.001
754        },
755        {
756            "Name":"VIRTUAL-SKIN-SPEAKER",
757            "Type":"UNKNOWN",
758            "Version":"2.0",
759            "VirtualSensor":true,
760            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
761            "Formula":"MAXIMUM",
762            "Combination":["VIRTUAL-SKIN-SPEAKER-SUB-0", "VIRTUAL-SKIN-SPEAKER-SUB-1", "VIRTUAL-SKIN-SPEAKER-SUB-2"],
763            "Coefficient":[1, 1, 1],
764            "HotThreshold":["NaN", 37.0, "NaN", "NaN", "NaN", "NaN", "NaN"],
765            "HotHysteresis":[0.0, 1.9, 0.0, 0.0, 0.0, 0.0, 0.0],
766            "Multiplier":0.001,
767            "SendCallback":true,
768            "PollingDelay":60000,
769            "PassiveDelay":7000
770        },
771        {
772            "Name":"VIRTUAL-SKIN-CHARGE-SUB-0",
773            "Type":"UNKNOWN",
774            "Hidden":true,
775            "VirtualSensor":true,
776            "Formula":"WEIGHTED_AVG",
777            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
778            "Coefficient":[0.04, 0.16, 0.19, 0.16, 0.17, 0, 0.01, 0.24, 0],
779            "Offset":-820,
780            "Multiplier":0.001
781        },
782        {
783            "Name":"VIRTUAL-SKIN-CHARGE-SUB-1",
784            "Type":"UNKNOWN",
785            "Hidden":true,
786            "VirtualSensor":true,
787            "Formula":"WEIGHTED_AVG",
788            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
789            "Coefficient":[0.02, 0.01, 0.04, 0.04, 0.4, 0.14, 0.1, 0.02, 0.12],
790            "Offset":1840,
791            "Multiplier":0.001
792        },
793        {
794            "Name":"VIRTUAL-SKIN-CHARGE-SUB-2",
795            "Type":"UNKNOWN",
796            "Hidden":true,
797            "VirtualSensor":true,
798            "Formula":"WEIGHTED_AVG",
799            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
800            "Coefficient":[0.18, 0.1, 0.15, 0.13, 0.22, 0.16, 0.02, 0.04, 0.01],
801            "Offset":-2810,
802            "Multiplier":0.001
803        },
804        {
805            "Name":"VIRTUAL-SKIN-CHARGE-SUB-3",
806            "Type":"UNKNOWN",
807            "Hidden":true,
808            "VirtualSensor":true,
809            "Formula":"WEIGHTED_AVG",
810            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
811            "Coefficient":[0.1, 0.16, 0.11, 0.19, 0.26, 0, 0, 0.11, 0],
812            "Offset":1140,
813            "Multiplier":0.001
814        },
815        {
816            "Name":"thb_hda",
817            "Type":"UNKNOWN",
818            "Multiplier":1
819        },
820        {
821            "Name":"IS_WLC",
822            "Type":"UNKNOWN",
823            "Hidden":true,
824            "VirtualSensor":true,
825            "Formula":"COUNT_THRESHOLD",
826            "Combination":["thb_hda"],
827            "Coefficient":[1],
828            "Multiplier":1
829        },
830        {
831            "Name":"VIRTUAL-SKIN-CHARGE",
832            "Type":"UNKNOWN",
833            "Version":"4.0",
834            "VirtualSensor":true,
835            "Formula":"MAXIMUM",
836            "Combination":["VIRTUAL-SKIN-CHARGE-SUB-0", "VIRTUAL-SKIN-CHARGE-SUB-1", "VIRTUAL-SKIN-CHARGE-SUB-2", "VIRTUAL-SKIN-CHARGE-SUB-3"],
837            "Coefficient":[1.0, 1.0, 1.0, 1.0],
838            "Multiplier":0.001
839        },
840        {
841            "Name":"VIRTUAL-SKIN-CHARGE-WIRED",
842            "Type":"UNKNOWN",
843            "Hidden":true,
844            "VirtualSensor":true,
845            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
846            "Formula":"WEIGHTED_AVG",
847            "Combination":["VIRTUAL-SKIN-CHARGE", "IS_WLC"],
848            "Coefficient":[1.0, -1000000],
849            "HotThreshold":["NaN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
850            "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
851            "Multiplier":0.001,
852            "PollingDelay":60000,
853            "PassiveDelay":7000,
854            "PIDInfo": {
855                "K_Po":["NaN", "NaN", 119, "NaN", "NaN", "NaN", "NaN"],
856                "K_Pu":["NaN", "NaN", 119, "NaN", "NaN", "NaN", "NaN"],
857                "K_I":["NaN", "NaN", 25, "NaN", "NaN", "NaN", "NaN"],
858                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
859                "I_Max":["NaN", "NaN", 1302, "NaN", "NaN", "NaN", "NaN"],
860                "S_Power":["NaN", "NaN", 2527, "NaN", "NaN", "NaN", "NaN"],
861                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
862                "MaxAllocPower":["NaN", "NaN", 6219, "NaN", "NaN", "NaN", "NaN"],
863                "I_Cutoff":["NaN", "NaN", 6, "NaN", "NaN", "NaN", "NaN"],
864                "I_Default":1302
865            },
866            "ExcludedPowerInfo": [
867                {
868                    "PowerRail": "PARTIAL_SYSTEM_POWER",
869                    "PowerWeight": [0.12, 0.12, 0.06, 0.06, 0.24, 0.24, 0.24]
870                }
871            ],
872            "BindedCdevInfo": [
873                {
874                    "CdevRequest": "chg_mdis",
875                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
876                    "MaxReleaseStep": 1,
877                    "MaxThrottleStep": 1,
878                    "CdevCeiling": [0, 25, 25, 25, 26, 26, 26],
879                    "LimitInfo": [0, 0, 1, 1, 1, 26, 26]
880                }
881            ]
882        },
883        {
884            "Name":"VIRTUAL-SKIN-CHARGE-PERSIST",
885            "Type":"UNKNOWN",
886            "Hidden":true,
887            "VirtualSensor":true,
888            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
889            "Formula":"MAXIMUM",
890            "Combination":["VIRTUAL-SKIN-CHARGE"],
891            "Coefficient":[1.0],
892            "HotThreshold":["NaN", 35.0, 41.0, 45.0, 47.0, 51.0, 55.0],
893            "HotHysteresis":[0.0, 1.9, 1.9, 3.9, 1.9, 1.9, 1.9],
894            "Multiplier":0.001,
895            "PollingDelay":60000,
896            "PassiveDelay":7000,
897            "PIDInfo": {
898                "K_Po":["NaN", "NaN", 213, "NaN", "NaN", "NaN", "NaN"],
899                "K_Pu":["NaN", "NaN", 213, "NaN", "NaN", "NaN", "NaN"],
900                "K_I":["NaN", "NaN", 27, "NaN", "NaN", "NaN", "NaN"],
901                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
902                "I_Max":["NaN", "NaN", 1383, "NaN", "NaN", "NaN", "NaN"],
903                "S_Power":["NaN", "NaN", 2383, "NaN", "NaN", "NaN", "NaN"],
904                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
905                "MaxAllocPower":["NaN", "NaN", 8022, "NaN", "NaN", "NaN", "NaN"],
906                "I_Cutoff":["NaN", "NaN", 8, "NaN", "NaN", "NaN", "NaN"],
907                "I_Default":1383
908            },
909            "ExcludedPowerInfo": [
910                {
911                    "PowerRail": "PARTIAL_SYSTEM_POWER",
912                    "PowerWeight": [0.21, 0.21, 0.21, 0.21, 0.42, 0.42, 0.42]
913                }
914            ],
915            "BindedCdevInfo": [
916                {
917                    "CdevRequest": "chg_mdis",
918                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
919                    "MaxReleaseStep": 1,
920                    "MaxThrottleStep": 1,
921                    "CdevCeiling": [0, 25, 25, 26, 26, 26, 26],
922                    "LimitInfo": [0, 0, 1, 1, 26, 26, 26]
923                }
924            ]
925        },
926        {
927            "Name":"VIRTUAL-SKIN-FRONT-SUB-0",
928            "Type":"UNKNOWN",
929            "Hidden":true,
930            "VirtualSensor":true,
931            "Formula":"WEIGHTED_AVG",
932            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
933            "Coefficient":[0.04, 0.03, 0.1, 0.05, 0.35, 0.3, 0, 0, 0.04],
934            "Offset":1850,
935            "Multiplier":0.001
936        },
937        {
938            "Name":"VIRTUAL-SKIN-FRONT-SUB-1",
939            "Type":"UNKNOWN",
940            "Hidden":true,
941            "VirtualSensor":true,
942            "Formula":"WEIGHTED_AVG",
943            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
944            "Coefficient":[0, 0, 0.35, 0.22, 0.22, 0.07, 0.03, 0, 0],
945            "Offset":-560,
946            "Multiplier":0.001
947        },
948        {
949            "Name":"VIRTUAL-SKIN-FRONT-SUB-2",
950            "Type":"UNKNOWN",
951            "Hidden":true,
952            "VirtualSensor":true,
953            "Formula":"WEIGHTED_AVG",
954            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
955            "Coefficient":[0.05, 0.13, 0.12, 0.07, 0.37, 0.06, 0.01, 0.01, 0],
956            "Offset":5070,
957            "Multiplier":0.001
958        },
959        {
960            "Name":"VIRTUAL-SKIN-FRONT",
961            "Type":"UNKNOWN",
962            "Version":"1.0",
963            "VirtualSensor":true,
964            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "quiet_therm", "usb_pwr_therm"],
965            "Formula":"MAXIMUM",
966            "Combination":["VIRTUAL-SKIN-FRONT-SUB-0", "VIRTUAL-SKIN-FRONT-SUB-1", "VIRTUAL-SKIN-FRONT-SUB-2"],
967            "Coefficient":[1, 1, 1],
968            "Multiplier":0.001
969        },
970        {
971            "Name":"USB-MINUS-NEUTRAL",
972            "Type":"UNKNOWN",
973            "VirtualSensor":true,
974            "Formula":"WEIGHTED_AVG",
975            "Combination":["usb_pwr_therm", "neutral_therm"],
976            "Coefficient":[1.0, -1.0],
977            "Multiplier":0.001
978        },
979        {
980            "Name":"USB-MINUS-QUIET",
981            "Type":"UNKNOWN",
982            "VirtualSensor":true,
983            "Formula":"WEIGHTED_AVG",
984            "Combination":["usb_pwr_therm", "quiet_therm"],
985            "Coefficient":[1.0, -1.0],
986            "Multiplier":0.001
987        },
988        {
989            "Name":"USB_QUIET_RFFE",
990            "Type":"UNKNOWN",
991            "VirtualSensor":true,
992            "Formula":"WEIGHTED_AVG",
993            "Combination":["USB-MINUS-QUIET", "VSYS_PWR_RFFE"],
994            "CombinationType":["SENSOR", "ODPM"],
995            "Coefficient":[1, -6],
996            "Multiplier":0.001
997        },
998        {
999            "Name":"VIRTUAL-USB-THROTTLING-SUB0",
1000            "Type":"UNKNOWN",
1001            "VirtualSensor":true,
1002            "Formula":"COUNT_THRESHOLD",
1003            "Combination":["USB-MINUS-NEUTRAL", "USB_QUIET_RFFE"],
1004            "Coefficient":[10000, 4000],
1005            "Multiplier":1
1006        },
1007        {
1008            "Name":"VIRTUAL-USB-THROTTLING",
1009            "Type":"USB_PORT",
1010            "VirtualSensor":true,
1011            "Formula":"COUNT_THRESHOLD",
1012            "TriggerSensor": "usb_pwr_therm",
1013            "Combination":["usb_pwr_therm", "USB-MINUS-NEUTRAL", "USB-MINUS-QUIET", "VIRTUAL-USB-THROTTLING-SUB0"],
1014            "Coefficient":[46000, 0, 0, 1],
1015            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "4.0", "NaN", "NaN"],
1016            "BindedCdevInfo": [
1017                {
1018                    "CdevRequest": "usbc-port",
1019                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
1020                }
1021            ],
1022            "Multiplier":1,
1023            "PollingDelay":300000,
1024            "PassiveDelay":7000
1025        },
1026        {
1027            "Name":"VIRTUAL-USB-UI-SUB0",
1028            "Type":"UNKNOWN",
1029            "VirtualSensor":true,
1030            "Formula":"COUNT_THRESHOLD",
1031            "Combination":["USB-MINUS-NEUTRAL", "USB_QUIET_RFFE"],
1032            "Coefficient":[11000, 5000],
1033            "Multiplier":1
1034        },
1035        {
1036            "Name":"VIRTUAL-USB-UI",
1037            "Type":"USB_PORT",
1038            "VirtualSensor":true,
1039            "Formula":"COUNT_THRESHOLD",
1040            "TriggerSensor": "usb_pwr_therm",
1041            "Combination":["usb_pwr_therm", "USB-MINUS-NEUTRAL", "USB-MINUS-QUIET", "VIRTUAL-USB-UI-SUB0"],
1042            "Coefficient":[48000, 0, 0, 1],
1043            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "4.0", "NaN"],
1044            "Multiplier":1,
1045            "PollingDelay":300000,
1046            "PassiveDelay":7000,
1047            "SendCallback":true
1048        },
1049        {
1050            "Name":"LITTLE",
1051            "Type":"CPU",
1052            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"],
1053            "Multiplier":0.001
1054        },
1055        {
1056            "Name":"MID",
1057            "Type":"CPU",
1058            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"],
1059            "Multiplier":0.001
1060        },
1061        {
1062            "Name":"BIG",
1063            "Type":"CPU",
1064            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"],
1065            "Multiplier":0.001
1066        },
1067        {
1068            "Name":"G3D",
1069            "Type":"GPU",
1070            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"],
1071            "Multiplier":0.001
1072        },
1073        {
1074            "Name":"TPU",
1075            "Type":"NPU",
1076            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "NaN", "NaN", "NaN"],
1077            "Multiplier":0.001
1078        }
1079    ],
1080    "CoolingDevices":[
1081        {
1082            "Name":"thermal-cpufreq-0",
1083            "Type":"CPU",
1084            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
1085        },
1086        {
1087            "Name":"thermal-cpufreq-1",
1088            "Type":"CPU",
1089            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
1090        },
1091        {
1092            "Name":"thermal-cpufreq-2",
1093            "Type":"CPU",
1094            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
1095        },
1096        {
1097            "Name":"thermal-gpufreq-0",
1098            "Type":"GPU",
1099            "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote"
1100        },
1101        {
1102            "Name":"chg_mdis",
1103            "Type":"BATTERY"
1104        },
1105        {
1106            "Name":"usbc-port",
1107            "Type":"BATTERY"
1108        },
1109        {
1110            "Name":"tpu_cooling",
1111            "Type":"NPU",
1112            "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
1113        },
1114        {
1115            "Name":"gxp-cooling",
1116            "Type":"NPU",
1117            "WritePath":"/dev/thermal/cdev-by-name/gxp-cooling/user_vote"
1118        }
1119    ],
1120    "PowerRails":[
1121        {
1122            "Name":"VSYS_PWR_RFFE",
1123            "PowerSampleDelay":7000,
1124            "PowerSampleCount":2
1125        },
1126        {
1127            "Name":"S2M_VDD_CPUCL2",
1128            "PowerSampleDelay":7000,
1129            "PowerSampleCount":1
1130        },
1131        {
1132            "Name":"S3M_VDD_CPUCL1",
1133            "PowerSampleDelay":7000,
1134            "PowerSampleCount":1
1135        },
1136        {
1137            "Name":"S4M_VDD_CPUCL0",
1138            "PowerSampleDelay":7000,
1139            "PowerSampleCount":1
1140        },
1141        {
1142            "Name":"S2S_VDD_G3D",
1143            "PowerSampleDelay":7000,
1144            "PowerSampleCount":1
1145        },
1146        {
1147            "Name":"S7M_VDD_TPU",
1148            "PowerSampleDelay":7000,
1149            "PowerSampleCount":1
1150        },
1151        {
1152            "Name":"PARTIAL_SYSTEM_POWER",
1153            "VirtualRails":true,
1154            "Formula":"WEIGHTED_AVG",
1155            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S8S_VDD_G3D_L2", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "L9S_GNSS_CORE", "L21S_VDD2L_MEM", "VSYS_PWR_DISPLAY", "VSYS_PWR_WLAN_BT", "S1M_VDD_MIF", "S2M_VDD_CPUCL2", "S3M_VDD_CPUCL1", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "L22M_DISP", "VSYS_PWR_MODEM", "VSYS_PWR_RFFE"],
1156            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
1157            "PowerSampleDelay":7000,
1158            "PowerSampleCount":5
1159        }
1160    ],
1161    "Stats": {
1162        "Sensors": {
1163            "RecordWithDefaultThreshold": ["VIRTUAL-SKIN", "VIRTUAL-SKIN-CHARGE"],
1164            "RecordWithThreshold": [
1165                {
1166                    "Name": "VIRTUAL-BTS-WINDOW-PARTIAL",
1167                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1168                },
1169                {
1170                    "Name": "VIRTUAL-SKIN-SPEAKER",
1171                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1172                },
1173                {
1174                    "Name": "VIRTUAL-SKIN",
1175                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1176                },
1177                {
1178                    "Name": "VIRTUAL-SKIN-SUB-0",
1179                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1180                },
1181                {
1182                    "Name": "VIRTUAL-SKIN-SUB-1",
1183                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1184                },
1185                {
1186                    "Name": "VIRTUAL-SKIN-SUB-2",
1187                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1188                },
1189                {
1190                    "Name": "VIRTUAL-SKIN-SUB-3",
1191                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1192                },
1193                {
1194                    "Name": "VIRTUAL-SKIN-SUB-4",
1195                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1196                },
1197                {
1198                    "Name": "VIRTUAL-SKIN-SUB-5",
1199                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1200                },
1201                {
1202                    "Name": "VIRTUAL-SKIN-SUB-6",
1203                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1204                },
1205                {
1206                    "Name": "VIRTUAL-SKIN-SUB-7",
1207                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1208                },
1209                {
1210                    "Name": "VIRTUAL-SKIN-SUB-8",
1211                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1212                },
1213                {
1214                    "Name": "VIRTUAL-SKIN-SUB-9",
1215                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1216                },
1217                {
1218                    "Name": "VIRTUAL-SKIN-SUB-10",
1219                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1220                },
1221                {
1222                    "Name": "VIRTUAL-SKIN-CHARGE",
1223                    "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
1224                },
1225                {
1226                    "Name": "VIRTUAL-USB-THROTTLING",
1227                    "Thresholds": [3.0]
1228                }
1229            ],
1230            "Abnormality": {
1231                "Outlier": {
1232                    "Configs": [
1233                        {
1234                            "Monitor": [
1235                                "VIRTUAL-SKIN",
1236                                "VIRTUAL-SKIN-SUB-0",
1237                                "VIRTUAL-SKIN-SUB-1",
1238                                "VIRTUAL-SKIN-SUB-2",
1239                                "VIRTUAL-SKIN-SUB-3",
1240                                "VIRTUAL-SKIN-SUB-4",
1241                                "VIRTUAL-SKIN-SUB-5",
1242                                "VIRTUAL-SKIN-SUB-6",
1243                                "VIRTUAL-SKIN-SUB-7",
1244                                "VIRTUAL-SKIN-SUB-8",
1245                                "VIRTUAL-SKIN-SUB-9",
1246                                "VIRTUAL-SKIN-SUB-10"
1247                            ],
1248                            "TempRange": [0.0, 55.0]
1249                        }
1250                    ]
1251                },
1252                "Stuck": {
1253                    "Configs": [
1254                        {
1255                            "Monitor":  [
1256                                "VIRTUAL-SKIN",
1257                                "VIRTUAL-SKIN-SUB-0",
1258                                "VIRTUAL-SKIN-SUB-1",
1259                                "VIRTUAL-SKIN-SUB-2",
1260                                "VIRTUAL-SKIN-SUB-3",
1261                                "VIRTUAL-SKIN-SUB-4",
1262                                "VIRTUAL-SKIN-SUB-5",
1263                                "VIRTUAL-SKIN-SUB-6",
1264                                "VIRTUAL-SKIN-SUB-7",
1265                                "VIRTUAL-SKIN-SUB-8",
1266                                "VIRTUAL-SKIN-SUB-9",
1267                                "VIRTUAL-SKIN-SUB-10",
1268                                "VIRTUAL-SKIN-SPEAKER",
1269                                "VIRTUAL-SKIN-SPEAKER-SUB-0",
1270                                "VIRTUAL-SKIN-SPEAKER-SUB-1",
1271                                "VIRTUAL-SKIN-SPEAKER-SUB-2",
1272                                "VIRTUAL-SKIN-FRONT",
1273                                "VIRTUAL-SKIN-FRONT-SUB-0",
1274                                "VIRTUAL-SKIN-FRONT-SUB-1",
1275                                "VIRTUAL-SKIN-FRONT-SUB-2"
1276                            ],
1277                            "TempStuck": {
1278                                "MinPollingCount": 8,
1279                                "MinStuckDuration": 120000
1280                            }
1281                        }
1282                    ]
1283                }
1284            }
1285        },
1286        "CoolingDevices": {
1287            "RecordVotePerSensor": {
1288                "DefaultThresholdEnableAll": true
1289            }
1290        }
1291    }
1292}
1293