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            "Multiplier":0.001,
9            "PollingDelay":300000,
10            "PassiveDelay":7000
11        },
12        {
13            "Name":"rfpa_therm",
14            "Type":"UNKNOWN",
15            "HotThreshold":["NAN", 33.7, "NAN", "NAN", "NAN", "NAN", "NAN"],
16            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
17            "Multiplier":0.001,
18            "PollingDelay":300000,
19            "PassiveDelay":7000
20        },
21        {
22            "Name":"soc_therm",
23            "Type":"UNKNOWN",
24            "HotThreshold":["NAN", 47.2, "NAN", "NAN", "NAN", "NAN", "NAN"],
25            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
26            "Multiplier":0.001,
27            "PollingDelay":300000,
28            "PassiveDelay":7000
29        },
30        {
31            "Name":"charging_therm",
32            "Type":"UNKNOWN",
33            "HotThreshold":["NAN", 48.4, "NAN", "NAN", "NAN", "NAN", "NAN"],
34            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
35            "Multiplier":0.001,
36            "PollingDelay":300000,
37            "PassiveDelay":7000
38        },
39        {
40            "Name":"disp_therm",
41            "Type":"UNKNOWN",
42            "HotThreshold":["NAN", 31.7, "NAN", "NAN", "NAN", "NAN", "NAN"],
43            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
44            "Multiplier":0.001,
45            "PollingDelay":300000,
46            "PassiveDelay":7000
47        },
48        {
49            "Name":"battery",
50            "Type":"BATTERY",
51            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", "NAN", 60.0],
52            "Multiplier":0.001
53        },
54        {
55            "Name":"btmspkr_therm",
56            "Type":"UNKNOWN",
57            "HotThreshold":["NAN", 44.1, "NAN", "NAN", "NAN", "NAN", "NAN"],
58            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
59            "Multiplier":0.001,
60            "PollingDelay":300000,
61            "PassiveDelay":7000
62        },
63        {
64            "Name":"quiet_therm",
65            "Type":"UNKNOWN",
66            "HotThreshold":["NAN", 34.6, "NAN", "NAN", "NAN", "NAN", "NAN"],
67            "HotHysteresis":[0.0, 0.9, 0.0, 0.0, 0.0, 0.0, 0.0],
68            "Multiplier":0.001,
69            "PollingDelay":300000,
70            "PassiveDelay":7000
71        },
72        {
73            "Name":"usb_pwr_therm",
74            "Type":"UNKNOWN",
75            "HotThreshold":["NAN", 35.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
76            "Multiplier":0.001,
77            "PollingDelay":300000,
78            "PassiveDelay":7000
79        },
80        {
81            "Name":"battery_cycle",
82            "Type":"BCL_VOLTAGE"
83        },
84        {
85            "Name":"soc",
86            "Type":"BCL_PERCENTAGE",
87            "HotThreshold":["NAN", "NAN", 80, "NAN", "NAN", "NAN", "NAN"],
88            "Multiplier":1
89        },
90        {
91            "Name":"BCL_AUDIO_BAACL",
92            "Type":"BCL_VOLTAGE",
93            "VirtualSensor":true,
94            "Formula":"COUNT_THRESHOLD",
95            "TriggerSensor": "soc",
96            "Combination":["battery", "soc"],
97            "Coefficient":[-25000, 80],
98            "HotThreshold":["NAN", "NAN",  "NAN", "NAN", 2.0, "NAN", "NAN"],
99            "PollingDelay":0,
100            "PassiveDelay":1000,
101            "Multiplier":1,
102            "SendCallback":true
103        },
104        {
105            "Name": "VIRTUAL-SKIN-SUB-0",
106            "Type": "UNKNOWN",
107            "Hidden": true,
108            "VirtualSensor": true,
109            "Formula": "WEIGHTED_AVG",
110            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
111            "Coefficient": [0.12, 0.19, 0.0, 0.03, 0.02, 0.0, 0.27, 0.14, 0.17],
112            "Offset": 740.0,
113            "Multiplier": 0.001
114        },
115        {
116            "Name": "VIRTUAL-SKIN-SUB-1",
117            "Type": "UNKNOWN",
118            "Hidden": true,
119            "VirtualSensor": true,
120            "Formula": "WEIGHTED_AVG",
121            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
122            "Coefficient": [0.0, 0.13, 0.01, 0.09, 0.17, 0.3, 0.11, 0.0, 0.06],
123            "Offset": 4150.0,
124            "Multiplier": 0.001
125        },
126        {
127            "Name": "VIRTUAL-SKIN-SUB-2",
128            "Type": "UNKNOWN",
129            "Hidden": true,
130            "VirtualSensor": true,
131            "Formula": "WEIGHTED_AVG",
132            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
133            "Coefficient": [0.1, 0.01, 0.0, 0.07, 0.1, 0.59, 0.0, 0.0, 0.0],
134            "Offset": 4130.0,
135            "Multiplier": 0.001
136        },
137        {
138            "Name": "VIRTUAL-SKIN-LEGACY",
139            "Type": "UNKNOWN",
140            "VirtualSensor": true,
141            "Formula": "MAXIMUM",
142            "Combination": ["VIRTUAL-SKIN-SUB-0", "VIRTUAL-SKIN-SUB-1", "VIRTUAL-SKIN-SUB-2"],
143            "Coefficient": [1.0, 1.0, 1.0],
144            "Multiplier": 0.001
145        },
146        {
147            "Name": "VIRTUAL-SKIN",
148            "Type": "SKIN",
149            "Version": "6.1",
150            "VirtualSensor": true,
151            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
152            "Formula": "MAXIMUM",
153            "Combination": ["VIRTUAL-SKIN-LEGACY"],
154            "Coefficient": [1.0],
155            "HotThreshold": ["NAN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
156            "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
157            "Multiplier": 0.001,
158            "SendCallback": true,
159            "PollingDelay": 300000,
160            "PassiveDelay": 7000,
161            "BindedCdevInfo": [
162                {
163                    "CdevRequest": "tpu_cooling",
164                    "LimitInfo": [0, 2, 3, 4, 5, 5, 5]
165                },
166                {
167                    "CdevRequest": "gxp-cooling",
168                    "LimitInfo": [0, 0, 0, 0, 0, 6, 6]
169                }
170            ]
171        },
172        {
173            "Name":"VIRTUAL-SKIN-HINT",
174            "Type":"UNKNOWN",
175            "Hidden":true,
176            "VirtualSensor":true,
177            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
178            "Formula":"MAXIMUM",
179            "Combination":["VIRTUAL-SKIN"],
180            "Coefficient":[1.0],
181            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
182            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
183            "Multiplier":0.001,
184            "SendPowerHint":true,
185            "PollingDelay":300000,
186            "PassiveDelay":7000
187        },
188        {
189            "Name":"VIRTUAL-SKIN-CPU-LIGHT-ODPM",
190            "Type":"UNKNOWN",
191            "Hidden":true,
192            "VirtualSensor":true,
193            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
194            "Formula":"MAXIMUM",
195            "Combination":["VIRTUAL-SKIN"],
196            "Coefficient":[1.0],
197            "HotThreshold":["NAN", 37.0, 39.0, "NAN", "NAN", "NAN", "NAN"],
198            "HotHysteresis":[0.0, 1.9, 1.9, 0.0, 0.0, 0.0, 0.0],
199            "Multiplier":0.001,
200            "PollingDelay":300000,
201            "PassiveDelay":7000,
202            "PIDInfo": {
203                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
204                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
205                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
206                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
207                "I_Max":["NAN", "NAN", 2200, "NAN", "NAN", "NAN", "NAN"],
208                "S_Power":["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"],
209                "MinAllocPower":["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"],
210                "MaxAllocPower":["NAN", "NAN", 4600, "NAN", "NAN", "NAN", "NAN"],
211                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
212            },
213            "BindedCdevInfo": [
214                {
215                    "CdevRequest": "thermal-cpufreq-0",
216                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
217                    "MaxReleaseStep": 1,
218                    "MaxThrottleStep": 1,
219                    "BindedPowerRail": "S4M_VDD_CPUCL0",
220                    "CdevCeiling": [0, 2, 2, 2, 2, 2, 2]
221                },
222                {
223                    "CdevRequest": "thermal-cpufreq-1",
224                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
225                    "MaxReleaseStep": 1,
226                    "MaxThrottleStep": 2,
227                    "BindedPowerRail": "S3M_VDD_CPUCL1",
228                    "CdevCeiling": [0, 6, 6, 6, 6, 6, 6]
229                },
230                {
231                    "CdevRequest": "thermal-cpufreq-2",
232                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
233                    "MaxReleaseStep": 1,
234                    "MaxThrottleStep": 2,
235                    "BindedPowerRail": "S2M_VDD_CPUCL2",
236                    "CdevCeiling": [0, 8, 8, 8, 8, 8, 8]
237                }
238            ]
239        },
240        {
241            "Name":"VIRTUAL-SKIN-CPU-MID",
242            "Type":"UNKNOWN",
243            "Hidden":true,
244            "VirtualSensor":true,
245            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
246            "Formula":"MAXIMUM",
247            "Combination":["VIRTUAL-SKIN"],
248            "Coefficient":[1.0],
249            "HotThreshold":["NAN", 39.0, 41.0, "NAN", "NAN", "NAN", "NAN"],
250            "HotHysteresis":[0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0],
251            "Multiplier":0.001,
252            "PollingDelay":300000,
253            "PassiveDelay":7000,
254            "PIDInfo": {
255                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
256                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
257                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
258                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
259                "I_Max":["NAN", "NAN", 1500, "NAN", "NAN", "NAN", "NAN"],
260                "S_Power":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
261                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
262                "MaxAllocPower":["NAN", "NAN", 2800, "NAN", "NAN", "NAN", "NAN"],
263                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
264            },
265            "BindedCdevInfo": [
266                {
267                    "CdevRequest": "thermal-cpufreq-0",
268                    "CdevWeightForPID": [0.292, 0.292, 0.292, 0.292, 0.292, 0.292, 0.292],
269                    "MaxReleaseStep": 1,
270                    "MaxThrottleStep": 1,
271                    "CdevCeiling": [0, 6, 6, 6, 6, 6, 6]
272                },
273                {
274                    "CdevRequest": "thermal-cpufreq-1",
275                    "CdevWeightForPID": [0.804, 0.804, 0.804, 0.804, 0.804, 0.804, 0.804],
276                    "MaxReleaseStep": 1,
277                    "MaxThrottleStep": 2,
278                    "CdevCeiling": [0, 9, 9, 9, 9, 9, 9]
279                },
280                {
281                    "CdevRequest": "thermal-cpufreq-2",
282                    "CdevWeightForPID": [0.342, 0.342, 0.342, 0.342, 0.342, 0.342, 0.342],
283                    "MaxReleaseStep": 1,
284                    "MaxThrottleStep": 2,
285                    "CdevCeiling": [0, 12, 12, 12, 12, 12, 12]
286                }
287            ],
288            "Profile": [
289                {
290                    "Mode": "game",
291                    "BindedCdevInfo": [
292                        {
293                           "CdevRequest": "thermal-cpufreq-0",
294                           "MaxReleaseStep": 1,
295                           "Disabled":true
296                        },
297                        {
298                           "CdevRequest": "thermal-cpufreq-1",
299                           "MaxReleaseStep": 1,
300                           "Disabled":true
301                        },
302                        {
303                           "CdevRequest": "thermal-cpufreq-2",
304                           "MaxReleaseStep": 1,
305                           "Disabled":true
306                        }
307                    ]
308                },
309                {
310                    "Mode": "camera",
311                    "BindedCdevInfo": [
312                        {
313                           "CdevRequest": "thermal-cpufreq-0",
314                           "MaxReleaseStep": 1,
315                           "Disabled":true
316                        },
317                        {
318                           "CdevRequest": "thermal-cpufreq-1",
319                           "MaxReleaseStep": 1,
320                           "Disabled":true
321                        },
322                        {
323                           "CdevRequest": "thermal-cpufreq-2",
324                           "MaxReleaseStep": 1,
325                           "Disabled":true
326                        }
327                    ]
328                }
329            ]
330        },
331        {
332            "Name":"VIRTUAL-SKIN-CPU-HIGH",
333            "Type":"UNKNOWN",
334            "Hidden":true,
335            "VirtualSensor":true,
336            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
337            "Formula":"MAXIMUM",
338            "Combination":["VIRTUAL-SKIN"],
339            "Coefficient":[1.0],
340            "HotThreshold":["NAN", 41.0, 43.0, 52.0, "NAN", "NAN", "NAN"],
341            "HotHysteresis":[0.0, 0.0, 1.9, 1.9, 0.0, 0.0, 0.0],
342            "Multiplier":0.001,
343            "PollingDelay":300000,
344            "PassiveDelay":7000,
345            "PIDInfo": {
346                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
347                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
348                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
349                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
350                "I_Max":["NAN", "NAN", 1000, "NAN", "NAN", "NAN", "NAN"],
351                "S_Power":["NAN", "NAN", 600, "NAN", "NAN", "NAN", "NAN"],
352                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
353                "MaxAllocPower":["NAN", "NAN", 1600, "NAN", "NAN", "NAN", "NAN"],
354                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
355            },
356            "BindedCdevInfo": [
357                {
358                    "CdevRequest": "thermal-cpufreq-0",
359                    "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
360                    "MaxReleaseStep": 1,
361                    "MaxThrottleStep": 1,
362                    "CdevCeiling": [0, 8, 8, 8, 8, 8, 8]
363                },
364                {
365                    "CdevRequest": "thermal-cpufreq-1",
366                    "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
367                    "MaxReleaseStep": 1,
368                    "MaxThrottleStep": 2,
369                    "CdevCeiling": [0, 11, 11, 11, 11, 11, 11]
370                },
371                {
372                    "CdevRequest": "thermal-cpufreq-2",
373                    "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
374                    "MaxReleaseStep": 1,
375                    "MaxThrottleStep": 2,
376                    "CdevCeiling": [0, 13, 13, 13, 13, 13, 13]
377                }
378            ],
379            "Profile": [
380                {
381                    "Mode": "game",
382                    "BindedCdevInfo": [
383                        {
384                           "CdevRequest": "thermal-cpufreq-0",
385                           "MaxReleaseStep": 1,
386                           "Disabled":true
387                        },
388                        {
389                           "CdevRequest": "thermal-cpufreq-1",
390                           "MaxReleaseStep": 1,
391                           "Disabled":true
392                        },
393                        {
394                           "CdevRequest": "thermal-cpufreq-2",
395                           "MaxReleaseStep": 1,
396                           "Disabled":true
397                        }
398                    ]
399                },
400                {
401                    "Mode": "camera",
402                    "BindedCdevInfo": [
403                        {
404                            "CdevRequest": "thermal-cpufreq-0",
405                            "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
406                            "MaxReleaseStep": 1,
407                            "MaxThrottleStep": 1,
408                            "CdevCeiling": [0, 6, 6, 6, 6, 6, 6]
409                         },
410                         {
411                            "CdevRequest": "thermal-cpufreq-1",
412                            "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
413                            "MaxReleaseStep": 1,
414                            "MaxThrottleStep": 2,
415                            "CdevCeiling": [0, 9, 9, 9, 9, 9, 9]
416                         },
417                         {
418                            "CdevRequest": "thermal-cpufreq-2",
419                            "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
420                            "MaxReleaseStep": 1,
421                            "MaxThrottleStep": 2,
422                            "CdevCeiling": [0, 12, 12, 12, 12, 12, 12]
423                         }
424                    ]
425                }
426            ]
427        },
428        {
429            "Name":"VIRTUAL-SKIN-CPU-GPU",
430            "Type":"UNKNOWN",
431            "Hidden":true,
432            "VirtualSensor":true,
433            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
434            "Formula":"MAXIMUM",
435            "Combination":["VIRTUAL-SKIN"],
436            "Coefficient":[1.0],
437            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
438            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
439            "Multiplier":0.001,
440            "PollingDelay":300000,
441            "PassiveDelay":7000,
442            "PIDInfo": {
443                "K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
444                "K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
445                "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"],
446                "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
447                "I_Max":["NAN", "NAN", "NAN", 2600, "NAN", "NAN", "NAN"],
448                "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
449                "MinAllocPower":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
450                "MaxAllocPower":["NAN", "NAN", "NAN", 3900, "NAN", "NAN", "NAN"],
451                "I_Cutoff":["NAN", "NAN", "NAN", 8, "NAN", "NAN", "NAN"]
452            },
453            "BindedCdevInfo": [
454                {
455                    "CdevRequest": "thermal-cpufreq-0",
456                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
457                    "MaxReleaseStep": 1,
458                    "MaxThrottleStep": 1,
459                    "BindedPowerRail": "S4M_VDD_CPUCL0",
460                    "CdevCeiling": [0, 8, 8, 8, 8, 9, 9],
461                    "LimitInfo": [0, 0, 0, 0, 0, 9, 9]
462                },
463                {
464                    "CdevRequest": "thermal-cpufreq-1",
465                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
466                    "MaxReleaseStep": 1,
467                    "MaxThrottleStep": 2,
468                    "BindedPowerRail": "S3M_VDD_CPUCL1",
469                    "CdevCeiling": [0, 11, 11, 11, 11, 14, 14],
470                    "LimitInfo": [0, 0, 0, 0, 0, 14, 14]
471                },
472                {
473                    "CdevRequest": "thermal-cpufreq-2",
474                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
475                    "MaxReleaseStep": 1,
476                    "MaxThrottleStep": 2,
477                    "BindedPowerRail": "S2M_VDD_CPUCL2",
478                    "CdevCeiling": [0, 13, 13, 13, 13, 14, 14],
479                    "LimitInfo": [0, 0, 0, 0, 0, 14, 14]
480                },
481                {
482                    "CdevRequest": "thermal-gpufreq-0",
483                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
484                    "MaxReleaseStep": 1,
485                    "MaxThrottleStep": 1,
486                    "BindedPowerRail": "S2S_VDD_G3D",
487                    "CdevCeiling": [0, 8, 8, 8, 9, 11, 11],
488                    "LimitInfo": [0, 0, 0, 0, 0, 11, 11]
489                }
490            ]
491        },
492        {
493            "Name":"VIRTUAL-SKIN-GPU",
494            "Type":"UNKNOWN",
495            "Hidden":true,
496            "VirtualSensor":true,
497            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
498            "Formula":"MAXIMUM",
499            "Combination":["VIRTUAL-SKIN"],
500            "Coefficient":[1.0],
501            "HotThreshold":["NAN", 43.0, 45.0, 46.5, 52.0, "NAN", "NAN"],
502            "HotHysteresis":[0.0, 1.9, 1.9, 1.4, 1.9, 0.0, 0.0],
503            "Multiplier":0.001,
504            "PollingDelay":300000,
505            "PassiveDelay":7000,
506            "PIDInfo": {
507                "K_Po":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
508                "K_Pu":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
509                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
510                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
511                "I_Max":["NAN", "NAN", 1723, "NAN", "NAN", "NAN", "NAN"],
512                "S_Power":["NAN", "NAN", 473, "NAN", "NAN", "NAN", "NAN"],
513                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
514                "MaxAllocPower":["NAN", "NAN", 2500, "NAN", "NAN", "NAN", "NAN"],
515                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
516            },
517            "BindedCdevInfo": [
518                {
519                    "CdevRequest": "thermal-gpufreq-0",
520                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
521                    "CdevCeiling": [0, 8, 8, 9, 11, 11, 11]
522                }
523            ]
524        },
525        {
526            "Name":"cellular-emergency",
527            "Type":"POWER_AMPLIFIER",
528            "VirtualSensor":true,
529            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
530            "Formula":"MAXIMUM",
531            "Combination":["VIRTUAL-SKIN"],
532            "Coefficient":[1.0],
533            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 54.0, "NAN"],
534            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
535            "Multiplier":0.001,
536            "SendCallback":true,
537            "PollingDelay":300000,
538            "PassiveDelay":7000
539        },
540        {
541            "Name": "VIRTUAL-SKIN-SPEAKER-SUB-0",
542            "Type": "UNKNOWN",
543            "Hidden": true,
544            "VirtualSensor": true,
545            "Formula": "WEIGHTED_AVG",
546            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
547            "Coefficient": [0.0, 0.32, 0.0, 0.0, 0.0, 0.0, 0.38, 0.0, 0.0],
548            "Offset": 8390.0,
549            "Multiplier": 0.001
550        },
551        {
552            "Name":"VIRTUAL-SKIN-SPEAKER",
553            "Type":"UNKNOWN",
554            "Version":"3.0",
555            "VirtualSensor":true,
556            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
557            "Formula":"MAXIMUM",
558            "Combination":["VIRTUAL-SKIN-SPEAKER-SUB-0"],
559            "Coefficient":[1],
560            "HotThreshold":["NAN", 37.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
561            "HotHysteresis":[0.0, 1.9, 0.0, 0.0, 0.0, 0.0, 0.0],
562            "Multiplier":0.001,
563            "SendCallback":true,
564            "PollingDelay":300000,
565            "PassiveDelay":7000
566        },
567        {
568            "Name": "VIRTUAL-SKIN-FRONT-SUB-0",
569            "Type": "UNKNOWN",
570            "Hidden": true,
571            "VirtualSensor": true,
572            "Formula": "WEIGHTED_AVG",
573            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
574            "Coefficient": [0.09, 0.04, 0.24, 0.04, 0.35, 0.12, 0.07, 0.02, 0.01],
575            "Offset": -3990.0,
576            "Multiplier": 0.001
577        },
578        {
579            "Name": "VIRTUAL-SKIN-FRONT-SUB-1",
580            "Type": "UNKNOWN",
581            "Hidden": true,
582            "VirtualSensor": true,
583            "Formula": "WEIGHTED_AVG",
584            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
585            "Coefficient": [0.0, 0.0, 0.0, 0.29, 0.07, 0.46, 0.04, 0.0, 0.04],
586            "Offset": 2170.0,
587            "Multiplier": 0.001
588        },
589        {
590            "Name": "VIRTUAL-SKIN-FRONT-SUB-2",
591            "Type": "UNKNOWN",
592            "Hidden": true,
593            "VirtualSensor": true,
594            "Formula": "WEIGHTED_AVG",
595            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
596            "Coefficient": [0.01, 0.21, 0.0, 0.07, 0.18, 0.0, 0.3, 0.13, 0.04],
597            "Offset": 860.0,
598            "Multiplier": 0.001
599        },
600        {
601            "Name": "VIRTUAL-SKIN-FRONT-SUB-3",
602            "Type": "UNKNOWN",
603            "Hidden": true,
604            "VirtualSensor": true,
605            "Formula": "WEIGHTED_AVG",
606            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
607            "Coefficient": [0.01, 0.11, 0.08, 0.54, 0.0, 0.2, 0.0, 0.0, 0.0],
608            "Offset": 2450.0,
609            "Multiplier": 0.001
610        },
611        {
612            "Name": "VIRTUAL-SKIN-FRONT-SUB-4",
613            "Type": "UNKNOWN",
614            "Hidden": true,
615            "VirtualSensor": true,
616            "Formula": "WEIGHTED_AVG",
617            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
618            "Coefficient": [0.0, 0.16, 0.02, 0.18, 0.25, 0.2, 0.05, 0.0, 0.03],
619            "Offset": 3410.0,
620            "Multiplier": 0.001
621        },
622        {
623            "Name":"VIRTUAL-SKIN-FRONT",
624            "Type":"UNKNOWN",
625            "Version":"2.0",
626            "VirtualSensor":true,
627            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
628            "Formula":"MAXIMUM",
629            "Combination":["VIRTUAL-SKIN-FRONT-SUB-0", "VIRTUAL-SKIN-FRONT-SUB-1", "VIRTUAL-SKIN-FRONT-SUB-2",
630                    "VIRTUAL-SKIN-FRONT-SUB-3", "VIRTUAL-SKIN-FRONT-SUB-4"],
631            "Coefficient":[1, 1, 1, 1, 1],
632            "Multiplier":0.001
633        },
634        {
635            "Name": "VIRTUAL-SKIN-CHARGE-SUB-0",
636            "Type": "UNKNOWN",
637            "Hidden": true,
638            "VirtualSensor": true,
639            "Formula": "WEIGHTED_AVG",
640            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
641            "Coefficient": [0.04, 0.0, 0.17, 0.02, 0.49, 0.07, 0.03, 0.11, 0.01],
642            "Offset": -1090.0,
643            "Multiplier": 0.001
644        },
645        {
646            "Name": "VIRTUAL-SKIN-CHARGE-SUB-1",
647            "Type": "UNKNOWN",
648            "Hidden": true,
649            "VirtualSensor": true,
650            "Formula": "WEIGHTED_AVG",
651            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
652            "Coefficient": [0.02, 0.0, 0.0, 0.13, 0.17, 0.38, 0.03, 0.0, 0.18],
653            "Offset": 2210.0,
654            "Multiplier": 0.001
655        },
656        {
657            "Name": "VIRTUAL-SKIN-CHARGE-SUB-2",
658            "Type": "UNKNOWN",
659            "Hidden": true,
660            "VirtualSensor": true,
661            "Formula": "WEIGHTED_AVG",
662            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
663            "Coefficient": [0.0, 0.01, 0.07, 0.01, 0.33, 0.23, 0.01, 0.0, 0.24],
664            "Offset": 3220.0,
665            "Multiplier": 0.001
666        },
667        {
668            "Name": "VIRTUAL-SKIN-CHARGE-SUB-3",
669            "Type": "UNKNOWN",
670            "Hidden": true,
671            "VirtualSensor": true,
672            "Formula": "WEIGHTED_AVG",
673            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
674            "Coefficient": [0.22, 0.09, 0.17, 0.04, 0.2, 0.2, 0.01, 0.11, 0.01],
675            "Offset": -9850.0,
676            "Multiplier": 0.001
677        },
678        {
679            "Name": "VIRTUAL-SKIN-CHARGE-SUB-4",
680            "Type": "UNKNOWN",
681            "Hidden": true,
682            "VirtualSensor": true,
683            "Formula": "WEIGHTED_AVG",
684            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
685            "Coefficient": [0.07, 0.1, 0.0, 0.03, 0.26, 0.24, 0.18, 0.0, 0.06],
686            "Offset": 770.0,
687            "Multiplier": 0.001
688        },
689        {
690            "Name": "VIRTUAL-SKIN-CHARGE-SUB-5",
691            "Type": "UNKNOWN",
692            "Hidden": true,
693            "VirtualSensor": true,
694            "Formula": "WEIGHTED_AVG",
695            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
696            "Coefficient": [0.24, 0.04, 0.07, 0.19, 0.28, 0.0, 0.06, 0.01, 0.08],
697            "Offset": -320.0,
698            "Multiplier": 0.001
699        },
700        {
701            "Name": "VIRTUAL-SKIN-CHARGE-SUB-6",
702            "Type": "UNKNOWN",
703            "Hidden": true,
704            "VirtualSensor": true,
705            "Formula": "WEIGHTED_AVG",
706            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
707            "Coefficient": [0.07, 0.03, 0.12, 0.0, 0.28, 0.26, 0.04, 0.05, 0.09],
708            "Offset": -1120.0,
709            "Multiplier": 0.001
710        },
711        {
712            "Name":"VIRTUAL-SKIN-CHARGE",
713            "Type":"UNKNOWN",
714            "Version":"5.0",
715            "Hidden":true,
716            "VirtualSensor":true,
717            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
718            "Formula":"MAXIMUM",
719            "Combination": ["VIRTUAL-SKIN-CHARGE-SUB-0", "VIRTUAL-SKIN-CHARGE-SUB-1", "VIRTUAL-SKIN-CHARGE-SUB-2", "VIRTUAL-SKIN-CHARGE-SUB-3", "VIRTUAL-SKIN-CHARGE-SUB-4", "VIRTUAL-SKIN-CHARGE-SUB-5", "VIRTUAL-SKIN-CHARGE-SUB-6"],
720            "Coefficient": [1, 1, 1, 1, 1, 1, 1],
721            "HotThreshold":["NAN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
722            "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
723            "Multiplier":0.001,
724            "PollingDelay":300000,
725            "PassiveDelay":7000,
726            "PIDInfo": {
727                "K_Po":["NAN", "NAN", 119, "NAN", "NAN", "NAN", "NAN"],
728                "K_Pu":["NAN", "NAN", 119, "NAN", "NAN", "NAN", "NAN"],
729                "K_I":["NAN", "NAN", 25, "NAN", "NAN", "NAN", "NAN"],
730                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
731                "I_Max":["NAN", "NAN", 1302, "NAN", "NAN", "NAN", "NAN"],
732                "S_Power":["NAN", "NAN", 2527, "NAN", "NAN", "NAN", "NAN"],
733                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
734                "MaxAllocPower":["NAN", "NAN", 6219, "NAN", "NAN", "NAN", "NAN"],
735                "I_Cutoff":["NAN", "NAN", 6, "NAN", "NAN", "NAN", "NAN"],
736                "I_Default":1302
737            },
738            "ExcludedPowerInfo": [
739                {
740                    "PowerRail": "PARTIAL_SYSTEM_POWER",
741                    "PowerWeight": [0.12, 0.12, 0.06, 0.06, 0.24, 0.24, 0.24]
742                }
743            ],
744            "BindedCdevInfo": [
745                {
746                    "CdevRequest": "chg_mdis",
747                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
748                    "MaxReleaseStep": 1,
749                    "MaxThrottleStep": 1,
750                    "CdevCeiling": [0, 25, 25, 25, 26, 26, 26],
751                    "LimitInfo": [0, 0, 1, 1, 1, 26, 26]
752                }
753            ]
754        },
755        {
756            "Name": "VIRTUAL-USB-THROTTLING",
757            "Type": "UNKNOWN",
758            "VirtualSensor": true,
759            "Formula": "WEIGHTED_AVG",
760            "TriggerSensor": "usb_pwr_therm",
761            "Combination": ["usb_pwr_therm"],
762            "Coefficient": [1.0],
763            "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
764            "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
765            "BindedCdevInfo": [
766                {
767                    "CdevRequest": "usbc-port",
768                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
769                }
770            ],
771            "Multiplier": 0.001,
772            "PollingDelay": 300000,
773            "PassiveDelay": 7000
774        },
775        {
776            "Name": "VIRTUAL-USB-UI",
777            "Type": "USB_PORT",
778            "VirtualSensor": true,
779            "Formula": "WEIGHTED_AVG",
780            "TriggerSensor": "usb_pwr_therm",
781            "Combination": ["usb_pwr_therm"],
782            "Coefficient": [1.0],
783            "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 57.0, "NaN"],
784            "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
785            "Multiplier": 0.001,
786            "PollingDelay": 300000,
787            "PassiveDelay": 7000,
788            "SendCallback": true
789        },
790        {
791            "Name":"LITTLE",
792            "Type":"CPU",
793            "Multiplier":0.001
794        },
795        {
796            "Name":"MID",
797            "Type":"CPU",
798            "Multiplier":0.001
799        },
800        {
801            "Name":"BIG",
802            "Type":"CPU",
803            "Multiplier":0.001
804        },
805        {
806            "Name":"G3D",
807            "Type":"GPU",
808           "Multiplier":0.001
809        },
810        {
811            "Name":"TPU",
812            "Type":"NPU",
813            "Multiplier":0.001
814        }
815    ],
816    "CoolingDevices":[
817        {
818            "Name":"thermal-cpufreq-0",
819            "Type":"CPU",
820            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote"
821        },
822        {
823            "Name":"thermal-cpufreq-1",
824            "Type":"CPU",
825            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote"
826        },
827        {
828            "Name":"thermal-cpufreq-2",
829            "Type":"CPU",
830            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote"
831        },
832        {
833            "Name":"thermal-gpufreq-0",
834            "Type":"GPU",
835            "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote"
836        },
837        {
838            "Name":"chg_mdis",
839            "Type":"BATTERY"
840        },
841        {
842            "Name":"usbc-port",
843            "Type":"BATTERY"
844        },
845        {
846            "Name":"tpu_cooling",
847            "Type":"NPU",
848            "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
849        },
850        {
851            "Name":"gxp-cooling",
852            "Type":"NPU",
853            "WritePath":"/dev/thermal/cdev-by-name/gxp-cooling/user_vote"
854        }
855    ],
856    "PowerRails":[
857        {
858            "Name":"VSYS_PWR_CAMERA",
859            "PowerSampleDelay":7000,
860            "PowerSampleCount":15
861        },
862        {
863            "Name":"S2M_VDD_CPUCL2",
864            "PowerSampleDelay":7000,
865            "PowerSampleCount":1
866        },
867        {
868            "Name":"S3M_VDD_CPUCL1",
869            "PowerSampleDelay":7000,
870            "PowerSampleCount":1
871        },
872        {
873            "Name":"S4M_VDD_CPUCL0",
874            "PowerSampleDelay":7000,
875            "PowerSampleCount":1
876        },
877        {
878            "Name":"S2S_VDD_G3D",
879            "PowerSampleDelay":7000,
880            "PowerSampleCount":1
881        },
882        {
883            "Name":"PARTIAL_SYSTEM_POWER",
884            "VirtualRails":true,
885            "Formula":"WEIGHTED_AVG",
886            "Combination":["S1S_VDD_CAM", "S2S_VDD_G3D", "S4S_VDD2H_MEM", "S5S_VDDQ_MEM", "S9S_VDD_AOC", "L2S_PLL_MIPI_UFS", "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", "VSYS_PWR_MODEM"],
887            "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],
888            "PowerSampleDelay":7000,
889            "PowerSampleCount":5
890        }
891    ]
892}
893