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-BTS-WINDOW-PARTIAL",
106            "Type":"UNKNOWN",
107            "VirtualSensor":true,
108            "Formula":"WEIGHTED_AVG",
109            "Combination":["quiet_therm"],
110            "Coefficient":[0.105],
111            "Offset":2576,
112            "Multiplier":0.001
113        },
114        {
115            "Name": "VIRTUAL-SKIN-SUB-0",
116            "Type": "UNKNOWN",
117            "Hidden": true,
118            "VirtualSensor": true,
119            "Formula": "WEIGHTED_AVG",
120            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
121            "Coefficient": [0.064, 0.35, 0.045, 0.34, 0.052, 0.174, 0.026, 0.023, 0.058],
122            "Offset": -8712.0,
123            "Multiplier": 0.001
124        },
125        {
126            "Name": "VIRTUAL-SKIN-SUB-1",
127            "Type": "UNKNOWN",
128            "Hidden": true,
129            "VirtualSensor": true,
130            "Formula": "WEIGHTED_AVG",
131            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
132            "Coefficient": [0.068, 0.244, 0.195, 0.043, 0.117, 0.194, 0.095, 0.001, 0.042],
133            "Offset": -3915.0,
134            "Multiplier": 0.001
135        },
136        {
137            "Name": "VIRTUAL-SKIN-SUB-2",
138            "Type": "UNKNOWN",
139            "Hidden": true,
140            "VirtualSensor": true,
141            "Formula": "WEIGHTED_AVG",
142            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
143            "Coefficient": [0.004, 0.172, 0.011, 0.211, 0.115, 0.174, 0.167, 0.006, 0.14],
144            "Offset": -793.0,
145            "Multiplier": 0.001
146        },
147        {
148            "Name": "VIRTUAL-SKIN-SUB-3",
149            "Type": "UNKNOWN",
150            "Hidden": true,
151            "VirtualSensor": true,
152            "Formula": "WEIGHTED_AVG",
153            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
154            "Coefficient": [0.1, 0.103, 0.103, 0.097, 0.096, 0.102, 0.097, 0.1, 0.097],
155            "Offset": 2235.0,
156            "Multiplier": 0.001
157        },
158        {
159            "Name": "VIRTUAL-SKIN-SUB-4",
160            "Type": "UNKNOWN",
161            "Hidden": true,
162            "VirtualSensor": true,
163            "Formula": "WEIGHTED_AVG",
164            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
165            "Coefficient": [0.03, 0.101, 0.009, 0.233, 0.047, 0.013, 0.398, 0.021, 0.147],
166            "Offset": -532.0,
167            "Multiplier": 0.001
168        },
169        {
170            "Name": "VIRTUAL-SKIN-SUB-5",
171            "Type": "UNKNOWN",
172            "Hidden": true,
173            "VirtualSensor": true,
174            "Formula": "WEIGHTED_AVG",
175            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
176            "Coefficient": [0.022, 0.007, 0.126, 0.078, 0.205, 0.011, 0.232, 0.103, 0.215],
177            "Offset": -470.0,
178            "Multiplier": 0.001
179        },
180        {
181            "Name": "VIRTUAL-SKIN-SUB-6",
182            "Type": "UNKNOWN",
183            "Hidden": true,
184            "VirtualSensor": true,
185            "Formula": "WEIGHTED_AVG",
186            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
187            "Coefficient": [0.293, 0.006, 0.001, 0.15, 0.098, 0.013, 0.158, 0.107, 0.183],
188            "Offset": -856.0,
189            "Multiplier": 0.001
190        },
191        {
192            "Name": "VIRTUAL-SKIN-SUB-7",
193            "Type": "UNKNOWN",
194            "Hidden": true,
195            "VirtualSensor": true,
196            "Formula": "WEIGHTED_AVG",
197            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
198            "Coefficient": [0.032, 0.038, 0.011, 0.219, 0.028, 0.0, 0.207, 0.312, 0.153],
199            "Offset": -2876.0,
200            "Multiplier": 0.001
201        },
202        {
203            "Name": "VIRTUAL-SKIN-LEGACY",
204            "Type": "UNKNOWN",
205            "Version":"5.0",
206            "VirtualSensor": true,
207            "Formula": "MAXIMUM",
208            "Combination": ["VIRTUAL-SKIN-SUB-0", "VIRTUAL-SKIN-SUB-1", "VIRTUAL-SKIN-SUB-2", "VIRTUAL-SKIN-SUB-3", "VIRTUAL-SKIN-SUB-4", "VIRTUAL-SKIN-SUB-5", "VIRTUAL-SKIN-SUB-6", "VIRTUAL-SKIN-SUB-7"],
209            "Coefficient": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
210            "Multiplier": 0.001
211        },
212        {
213            "Name": "VIRTUAL-SKIN-LEGACY-SHUTDOWN",
214            "Type": "UNKNOWN",
215            "Hidden": true,
216            "VirtualSensor": true,
217            "Formula": "COUNT_THRESHOLD",
218            "Combination": ["VIRTUAL-SKIN-LEGACY"],
219            "Coefficient": [55000.0],
220            "Multiplier": 1.0
221        },
222        {
223            "Name": "VIRTUAL-SKIN-MODEL",
224            "Type": "UNKNOWN",
225            "VirtualSensor": true,
226            "ModelPath": "vt_estimation_model.tflite",
227            "Formula": "USE_ML_MODEL",
228            "Combination": ["btmspkr_therm", "charging_therm", "disp_therm", "north_therm", "quiet_therm", "rfpa_therm", "soc_therm", "usb_pwr_therm"],
229            "Multiplier": 0.001,
230            "PreviousSampleCount": 3,
231            "OffsetThresholds" : [50000, 53000],
232            "OffsetValues" : [500, 1000],
233            "BackupSensor" : "VIRTUAL-SKIN-LEGACY"
234        },
235        {
236            "Name": "VIRTUAL-SKIN-MODEL-UPPER-CLAMPED",
237            "Type": "UNKNOWN",
238            "VirtualSensor": true,
239            "Hidden": true,
240            "Formula": "MINIMUM",
241            "Combination": ["55000", "VIRTUAL-SKIN-MODEL"],
242            "CombinationType": ["CONSTANT", "SENSOR"],
243            "Coefficient": [1.0, 1.0],
244            "Multiplier": 1
245        },
246        {
247            "Name": "VIRTUAL-SKIN-MODEL-CLAMPED",
248            "Type": "UNKNOWN",
249            "VirtualSensor": true,
250            "Hidden": true,
251            "Formula": "MAXIMUM",
252            "Combination": ["20000", "VIRTUAL-SKIN-MODEL-UPPER-CLAMPED"],
253            "CombinationType": ["CONSTANT", "SENSOR"],
254            "Coefficient": [1.0, 1.0],
255            "Multiplier": 1
256        },
257        {
258            "Name": "VIRTUAL-SKIN-MODEL-LEGACY-DIFF",
259            "Type": "UNKNOWN",
260            "VirtualSensor": true,
261            "Hidden": true,
262            "Formula": "WEIGHTED_AVG",
263            "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY"],
264            "Coefficient": [1.0, -1.0],
265            "Multiplier": 1
266        },
267        {
268            "Name": "VIRTUAL-SKIN-LEGACY-MODEL-DIFF",
269            "Type": "UNKNOWN",
270            "VirtualSensor": true,
271            "Hidden": true,
272            "Formula": "WEIGHTED_AVG",
273            "Combination": ["VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL"],
274            "Coefficient": [1.0, -1.0],
275            "Multiplier": 1
276        },
277        {
278            "Name": "VT_LEGACY_WEIGHT",
279            "Type": "UNKNOWN",
280            "Hidden": true,
281            "VirtualSensor": true,
282            "Formula": "COUNT_THRESHOLD",
283            "StepRatio": 0.2,
284            "Combination": ["VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LEGACY-MODEL-DIFF"],
285            "Coefficient": [7000, 7000],
286            "Multiplier": 1,
287            "PassiveDelay": 7000
288        },
289        {
290            "Name": "VT_MODEL_WEIGHT",
291            "Type": "UNKNOWN",
292            "Hidden": true,
293            "VirtualSensor": true,
294            "Formula": "WEIGHTED_AVG",
295            "Combination": ["1", "VT_LEGACY_WEIGHT"],
296            "CombinationType": ["CONSTANT", "SENSOR"],
297            "Coefficient": [1.0, -1.0],
298            "Multiplier": 1
299        },
300        {
301            "Name": "VIRTUAL-SKIN-MODEL-UPDATED",
302            "Type": "UNKNOWN",
303            "VirtualSensor": true,
304            "Hidden": true,
305            "Formula": "WEIGHTED_AVG",
306            "Combination": ["VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-CLAMPED"],
307            "Coefficient": ["VT_LEGACY_WEIGHT", "VT_MODEL_WEIGHT"],
308            "CoefficientType": ["SENSOR", "SENSOR"],
309            "Multiplier": 1
310        },
311        {
312            "Name": "VIRTUAL-SKIN-LSTM-MODEL",
313            "Type": "UNKNOWN",
314            "VirtualSensor": true,
315            "ModelPath": "vt_prediction_lstm_model.tflite",
316            "Formula": "USE_ML_MODEL",
317            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
318            "PreviousSampleCount": 11,
319            "OutputLabelCount": 6,
320            "Multiplier": 0.001,
321            "SupportUnderSampling": true,
322            "ValidateInput": true
323        },
324        {
325            "Name": "STATS-UPDATOR",
326            "Type": "UNKNOWN",
327            "VirtualSensor": true,
328            "Hidden": true,
329            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
330            "Formula": "WEIGHTED_AVG",
331            "Combination": ["VIRTUAL-SKIN-MODEL", "VIRTUAL-SKIN-LEGACY", "VIRTUAL-SKIN-MODEL-LEGACY-DIFF", "VIRTUAL-SKIN-LSTM-MODEL"],
332            "Coefficient": [0.0, 0.0, 0.0, 0.0],
333            "Multiplier": 1,
334            "SendPowerHint": true,
335            "PollingDelay": 300000,
336            "PassiveDelay": 7000
337        },
338        {
339            "Name": "VIRTUAL-SKIN",
340            "Type": "SKIN",
341            "Version": "2.1",
342            "VirtualSensor": true,
343            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
344            "Formula": "MAXIMUM",
345            "Combination": ["VIRTUAL-SKIN-MODEL-UPDATED", "VIRTUAL-SKIN-LEGACY"],
346            "Coefficient": [1.0, "VIRTUAL-SKIN-LEGACY-SHUTDOWN"],
347            "CoefficientType":["CONSTANT", "SENSOR"],
348            "HotThreshold": ["NAN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
349            "HotHysteresis": [0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
350            "Multiplier": 0.001,
351            "SendCallback": true,
352            "PollingDelay": 300000,
353            "PassiveDelay": 7000,
354            "PredictorInfo": {
355                "Sensor": "VIRTUAL-SKIN-LSTM-MODEL"
356            },
357            "BindedCdevInfo": [
358                {
359                    "CdevRequest": "gxp-cooling",
360                    "LimitInfo": [0, 0, 0, 0, 0, 6, 6]
361                }
362            ]
363        },
364        {
365            "Name": "VIRTUAL-SKIN-LINEAR-SUB-0",
366            "Type": "UNKNOWN",
367            "Hidden": true,
368            "VirtualSensor": true,
369            "Formula": "USE_LINEAR_MODEL",
370            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
371            "Coefficient": [0.073, 0.001, 0.029, 0.08, 0.072, 0.034, 0.004, 0.036, 0.04,
372                            0.055, 0.002, 0.029, 0.061, 0.072, 0.011, 0.04, 0.027, 0.072,
373                            0.071, 0.003, 0.026, 0.03, 0.04, 0.015, 0.001, 0.035, 0.042],
374            "OffsetThresholds": [0.0],
375            "OffsetValues": [-490.0],
376            "Multiplier": 0.001
377        },
378        {
379            "Name": "VIRTUAL-SKIN-LINEAR-SUB-1",
380            "Type": "UNKNOWN",
381            "Hidden": true,
382            "VirtualSensor": true,
383            "Formula": "USE_LINEAR_MODEL",
384            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
385            "Coefficient": [0.077, 0.089, 0.003, 0.077, 0.002, 0.021, 0.07, 0.035, 0.044,
386                            0.094, 0.001, 0.001, 0.001, 0.084, 0.034, 0.022, 0.081, 0.026,
387                            0.083, 0.022, 0.012, 0.051, 0.017, 0.021, 0.003, 0.024, 0.009],
388            "OffsetThresholds": [0.0],
389            "OffsetValues": [-961.0],
390            "Multiplier": 0.001
391        },
392        {
393            "Name": "VIRTUAL-SKIN-LINEAR-SUB-2",
394            "Type": "UNKNOWN",
395            "Hidden": true,
396            "VirtualSensor": true,
397            "Formula": "USE_LINEAR_MODEL",
398            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
399            "Coefficient": [0.094, 0.007, 0.011, 0.032, 0.001, 0.091, 0.085, 0.045, 0.002,
400                            0.054, 0.0, 0.019, 0.01, 0.065, 0.012, 0.03, 0.022, 0.076,
401                            0.062, 0.019, 0.007, 0.025, 0.071, 0.005, 0.081, 0.015, 0.058],
402            "OffsetThresholds": [0.0],
403            "OffsetValues": [-440.0],
404            "Multiplier": 0.001
405        },
406        {
407            "Name": "VIRTUAL-SKIN-LINEAR",
408            "Type": "UNKNOWN",
409            "Version": "Patch_2.0",
410            "VirtualSensor": true,
411            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
412            "Formula": "MAXIMUM",
413            "Combination": ["VIRTUAL-SKIN-LINEAR-SUB-0", "VIRTUAL-SKIN-LINEAR-SUB-1", "VIRTUAL-SKIN-LINEAR-SUB-2"],
414            "Coefficient": [1.0, 1.0, 1.0],
415            "HotThreshold":["NAN", 39.0, 43.0, 45.0, 46.5, 52.0, 55.0],
416            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
417            "Multiplier":0.001,
418            "SendPowerHint":true,
419            "PollingDelay":300000,
420            "PassiveDelay":7000
421        },
422        {
423            "Name":"VIRTUAL-SKIN-HINT",
424            "Type":"UNKNOWN",
425            "Hidden":true,
426            "VirtualSensor":true,
427            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
428            "Formula":"MAXIMUM",
429            "Combination":["VIRTUAL-SKIN"],
430            "Coefficient":[1.0],
431            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
432            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
433            "Multiplier":0.001,
434            "SendPowerHint":true,
435            "PollingDelay":300000,
436            "PassiveDelay":7000
437        },
438        {
439            "Name":"VIRTUAL-SKIN-CPU-LIGHT-ODPM",
440            "Type":"UNKNOWN",
441            "Hidden":true,
442            "VirtualSensor":true,
443            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
444            "Formula":"MAXIMUM",
445            "Combination":["VIRTUAL-SKIN"],
446            "Coefficient":[1.0],
447            "HotThreshold":["NAN", 37.0, 39.0, "NAN", "NAN", "NAN", "NAN"],
448            "HotHysteresis":[0.0, 1.9, 1.9, 0.0, 0.0, 0.0, 0.0],
449            "Multiplier":0.001,
450            "PollingDelay":300000,
451            "PassiveDelay":7000,
452            "PIDInfo": {
453                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
454                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
455                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
456                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
457                "I_Max":["NAN", "NAN", 2200, "NAN", "NAN", "NAN", "NAN"],
458                "S_Power":["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"],
459                "MinAllocPower":["NAN", "NAN", 800, "NAN", "NAN", "NAN", "NAN"],
460                "MaxAllocPower":["NAN", "NAN", 4600, "NAN", "NAN", "NAN", "NAN"],
461                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
462            },
463            "BindedCdevInfo": [
464                {
465                    "CdevRequest": "thermal-cpufreq-0",
466                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
467                    "MaxReleaseStep": 1,
468                    "MaxThrottleStep": 1,
469                    "BindedPowerRail": "S4M_VDD_CPUCL0",
470                    "CdevCeilingFrequency": [1950000, 1696000, 1696000, 1696000, 1696000, 1696000, 1696000]
471                },
472                {
473                    "CdevRequest": "thermal-cpufreq-1",
474                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
475                    "MaxReleaseStep": 1,
476                    "MaxThrottleStep": 2,
477                    "BindedPowerRail": "S2M_VDD_CPUCL1",
478                    "CdevCeilingFrequency": [2600000, 1795000, 1795000, 1795000, 1795000, 1795000, 1795000]
479                },
480                {
481                    "CdevRequest": "thermal-cpufreq-2",
482                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
483                    "MaxReleaseStep": 1,
484                    "MaxThrottleStep": 2,
485                    "BindedPowerRail": "S3M_VDD_CPUCL2",
486                    "CdevCeilingFrequency": [3105000, 1396000, 1396000, 1396000, 1396000, 1396000, 1396000]
487                }
488            ],
489            "Profile": [
490                {
491                    "Mode": "game",
492                    "BindedCdevInfo": [
493                        {
494                           "CdevRequest": "thermal-cpufreq-0",
495                           "BindedPowerRail": "S4M_VDD_CPUCL0",
496                           "MaxReleaseStep": 1,
497                           "Disabled":true
498                        },
499                        {
500                           "CdevRequest": "thermal-cpufreq-1",
501                           "BindedPowerRail": "S2M_VDD_CPUCL1",
502                           "MaxReleaseStep": 1,
503                           "Disabled":true
504                        },
505                        {
506                           "CdevRequest": "thermal-cpufreq-2",
507                           "BindedPowerRail": "S3M_VDD_CPUCL2",
508                           "MaxReleaseStep": 1,
509                           "Disabled":true
510                        }
511                    ]
512                }
513            ]
514        },
515        {
516            "Name":"VIRTUAL-SKIN-CPU-MID",
517            "Type":"UNKNOWN",
518            "Hidden":true,
519            "VirtualSensor":true,
520            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
521            "Formula":"MAXIMUM",
522            "Combination":["VIRTUAL-SKIN"],
523            "Coefficient":[1.0],
524            "HotThreshold":["NAN", 39.0, 41.0, "NAN", "NAN", "NAN", "NAN"],
525            "HotHysteresis":[0.0, 0.0, 1.9, 0.0, 0.0, 0.0, 0.0],
526            "Multiplier":0.001,
527            "PollingDelay":300000,
528            "PassiveDelay":7000,
529            "PIDInfo": {
530                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
531                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
532                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
533                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
534                "I_Max":["NAN", "NAN", 1500, "NAN", "NAN", "NAN", "NAN"],
535                "S_Power":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
536                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
537                "MaxAllocPower":["NAN", "NAN", 2800, "NAN", "NAN", "NAN", "NAN"],
538                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
539            },
540            "BindedCdevInfo": [
541                {
542                    "CdevRequest": "thermal-cpufreq-0",
543                    "CdevWeightForPID": [0.292, 0.292, 0.292, 0.292, 0.292, 0.292, 0.292],
544                    "MaxReleaseStep": 1,
545                    "MaxThrottleStep": 1,
546                    "CdevCeilingFrequency": [1950000, 1098000, 1098000, 1098000, 1098000, 1098000, 1098000]
547                },
548                {
549                    "CdevRequest": "thermal-cpufreq-1",
550                    "CdevWeightForPID": [0.804, 0.804, 0.804, 0.804, 0.804, 0.804, 0.804],
551                    "MaxReleaseStep": 1,
552                    "MaxThrottleStep": 2,
553                    "CdevCeilingFrequency": [2600000, 1221000, 1221000, 1221000, 1221000, 1221000, 1221000]
554                },
555                {
556                    "CdevRequest": "thermal-cpufreq-2",
557                    "CdevWeightForPID": [0.342, 0.342, 0.342, 0.342, 0.342, 0.342, 0.342],
558                    "MaxReleaseStep": 1,
559                    "MaxThrottleStep": 2,
560                    "CdevCeilingFrequency": [3105000, 700000, 700000, 700000, 700000, 700000, 700000]
561                }
562            ],
563            "Profile": [
564                {
565                    "Mode": "game",
566                    "BindedCdevInfo": [
567                        {
568                           "CdevRequest": "thermal-cpufreq-0",
569                           "MaxReleaseStep": 1,
570                           "Disabled":true
571                        },
572                        {
573                           "CdevRequest": "thermal-cpufreq-1",
574                           "MaxReleaseStep": 1,
575                           "Disabled":true
576                        },
577                        {
578                           "CdevRequest": "thermal-cpufreq-2",
579                           "MaxReleaseStep": 1,
580                           "Disabled":true
581                        }
582                    ]
583                },
584                {
585                    "Mode": "camera",
586                    "BindedCdevInfo": [
587                        {
588                           "CdevRequest": "thermal-cpufreq-0",
589                           "MaxReleaseStep": 1,
590                           "Disabled":true
591                        },
592                        {
593                           "CdevRequest": "thermal-cpufreq-1",
594                           "MaxReleaseStep": 1,
595                           "Disabled":true
596                        },
597                        {
598                           "CdevRequest": "thermal-cpufreq-2",
599                           "MaxReleaseStep": 1,
600                           "Disabled":true
601                        }
602                    ]
603                }
604            ]
605        },
606        {
607            "Name":"VIRTUAL-SKIN-CPU-HIGH",
608            "Type":"UNKNOWN",
609            "Hidden":true,
610            "VirtualSensor":true,
611            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
612            "Formula":"MAXIMUM",
613            "Combination":["VIRTUAL-SKIN"],
614            "Coefficient":[1.0],
615            "HotThreshold":["NAN", 41.0, 43.0, 52.0, "NAN", "NAN", "NAN"],
616            "HotHysteresis":[0.0, 0.0, 1.9, 1.9, 0.0, 0.0, 0.0],
617            "Multiplier":0.001,
618            "PollingDelay":300000,
619            "PassiveDelay":7000,
620            "PIDInfo": {
621                "K_Po":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
622                "K_Pu":["NAN", "NAN", 400, "NAN", "NAN", "NAN", "NAN"],
623                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
624                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
625                "I_Max":["NAN", "NAN", 1000, "NAN", "NAN", "NAN", "NAN"],
626                "S_Power":["NAN", "NAN", 600, "NAN", "NAN", "NAN", "NAN"],
627                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
628                "MaxAllocPower":["NAN", "NAN", 1600, "NAN", "NAN", "NAN", "NAN"],
629                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
630            },
631            "BindedCdevInfo": [
632                {
633                    "CdevRequest": "thermal-cpufreq-0",
634                    "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
635                    "MaxReleaseStep": 1,
636                    "MaxThrottleStep": 1,
637                    "CdevCeilingFrequency": [1950000, 820000, 820000, 820000, 820000, 820000, 820000]
638                },
639                {
640                    "CdevRequest": "thermal-cpufreq-1",
641                    "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
642                    "MaxReleaseStep": 1,
643                    "MaxThrottleStep": 2,
644                    "CdevCeilingFrequency": [2600000, 787000, 787000, 787000, 787000, 787000, 787000]
645                },
646                {
647                    "CdevRequest": "thermal-cpufreq-2",
648                    "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
649                    "MaxReleaseStep": 1,
650                    "MaxThrottleStep": 2,
651                    "CdevCeilingFrequency": [3105000, 700000, 700000, 700000, 700000, 700000, 700000]
652                }
653            ],
654            "Profile": [
655                {
656                    "Mode": "game",
657                    "BindedCdevInfo": [
658                        {
659                           "CdevRequest": "thermal-cpufreq-0",
660                           "MaxReleaseStep": 1,
661                           "Disabled":true
662                        },
663                        {
664                           "CdevRequest": "thermal-cpufreq-1",
665                           "MaxReleaseStep": 1,
666                           "Disabled":true
667                        },
668                        {
669                           "CdevRequest": "thermal-cpufreq-2",
670                           "MaxReleaseStep": 1,
671                           "Disabled":true
672                        }
673                    ]
674                },
675                {
676                    "Mode": "camera",
677                    "BindedCdevInfo": [
678                        {
679                            "CdevRequest": "thermal-cpufreq-0",
680                            "CdevWeightForPID": [0.156, 0.156, 0.156, 0.156, 0.156, 0.156, 0.156],
681                            "MaxReleaseStep": 1,
682                            "MaxThrottleStep": 1,
683                            "CdevCeilingFrequency": [1950000, 1696000, 1696000, 1696000, 1696000, 1696000, 1696000]
684                         },
685                         {
686                            "CdevRequest": "thermal-cpufreq-1",
687                            "CdevWeightForPID": [0.428, 0.428, 0.428, 0.428, 0.428, 0.428, 0.428],
688                            "MaxReleaseStep": 1,
689                            "MaxThrottleStep": 2,
690                            "CdevCeilingFrequency": [2600000, 1795000, 1795000, 1795000, 1795000, 1795000, 1795000]
691                         },
692                         {
693                            "CdevRequest": "thermal-cpufreq-2",
694                            "CdevWeightForPID": [0.225, 0.225, 0.225, 0.225, 0.225, 0.225, 0.225],
695                            "MaxReleaseStep": 1,
696                            "MaxThrottleStep": 2,
697                            "CdevCeilingFrequency": [3105000, 1396000, 1396000, 1396000, 1396000, 1396000, 1396000]
698                         }
699                    ]
700                }
701            ]
702        },
703        {
704            "Name":"VIRTUAL-SKIN-SOC",
705            "Type":"UNKNOWN",
706            "Hidden":true,
707            "VirtualSensor":true,
708            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
709            "Formula":"MAXIMUM",
710            "Combination":["VIRTUAL-SKIN"],
711            "Coefficient":[1.0],
712            "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 55.0],
713            "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9],
714            "Multiplier":0.001,
715            "PollingDelay":300000,
716            "PassiveDelay":7000,
717            "PIDInfo": {
718                "K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
719                "K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"],
720                "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"],
721                "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"],
722                "I_Max":["NAN", "NAN", "NAN", 2600, "NAN", "NAN", "NAN"],
723                "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
724                "MinAllocPower":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"],
725                "MaxAllocPower":["NAN", "NAN", "NAN", 3900, "NAN", "NAN", "NAN"],
726                "I_Cutoff":["NAN", "NAN", "NAN", 8, "NAN", "NAN", "NAN"]
727            },
728            "BindedCdevInfo": [
729                {
730                    "CdevRequest": "thermal-cpufreq-0",
731                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
732                    "MaxReleaseStep": 1,
733                    "MaxThrottleStep": 1,
734                    "BindedPowerRail": "S4M_VDD_CPUCL0",
735                    "CdevCeilingFrequency": [1950000, 820000, 820000, 820000, 820000, 820000, 820000],
736                    "LimitInfoFrequency": [1950000, 1950000, 1950000, 1950000, 1950000, 820000, 820000]
737                },
738                {
739                    "CdevRequest": "thermal-cpufreq-1",
740                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
741                    "MaxReleaseStep": 1,
742                    "MaxThrottleStep": 2,
743                    "BindedPowerRail": "S2M_VDD_CPUCL1",
744                    "CdevCeilingFrequency": [2600000, 787000, 787000, 787000, 648000, 357000, 357000],
745                    "LimitInfoFrequency": [2600000, 2600000, 2600000, 2600000, 2600000, 357000, 357000]
746                },
747                {
748                    "CdevRequest": "thermal-cpufreq-2",
749                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
750                    "MaxReleaseStep": 1,
751                    "MaxThrottleStep": 2,
752                    "BindedPowerRail": "S3M_VDD_CPUCL2",
753                    "CdevCeilingFrequency": [3105000, 700000, 700000, 700000, 700000, 700000, 700000],
754                    "LimitInfoFrequency": [3105000, 3105000, 3105000, 3105000, 3105000, 700000, 700000]
755                },
756                {
757                    "CdevRequest": "thermal-gpufreq-0",
758                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
759                    "MaxReleaseStep": 1,
760                    "MaxThrottleStep": 1,
761                    "BindedPowerRail": "S2S_VDD_G3D",
762                    "CdevCeilingFrequency": [940000, 419000, 419000, 419000, 376000, 302000, 302000],
763                    "LimitInfoFrequency": [940000, 940000, 940000, 940000, 940000, 302000, 302000]
764                },
765                {
766                    "CdevRequest": "tpu_cooling",
767                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
768                    "MaxReleaseStep": 1,
769                    "MaxThrottleStep": 1,
770                    "BindedPowerRail": "S7M_VDD_TPU",
771                    "CdevCeiling": [0, 7, 7, 7, 7, 7, 7],
772                    "LimitInfo": [0, 0, 0, 0, 0, 7, 7]
773                }
774            ]
775        },
776        {
777            "Name":"VIRTUAL-SKIN-GPU",
778            "Type":"UNKNOWN",
779            "Hidden":true,
780            "VirtualSensor":true,
781            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
782            "Formula":"MAXIMUM",
783            "Combination":["VIRTUAL-SKIN"],
784            "Coefficient":[1.0],
785            "HotThreshold":["NAN", 43.0, 45.0, 46.5, 52.0, "NAN", "NAN"],
786            "HotHysteresis":[0.0, 1.9, 1.9, 1.4, 1.9, 0.0, 0.0],
787            "Multiplier":0.001,
788            "PollingDelay":300000,
789            "PassiveDelay":7000,
790            "PIDInfo": {
791                "K_Po":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
792                "K_Pu":["NAN", "NAN", 700, "NAN", "NAN", "NAN", "NAN"],
793                "K_I":["NAN", "NAN", 5, "NAN", "NAN", "NAN", "NAN"],
794                "K_D":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
795                "I_Max":["NAN", "NAN", 1723, "NAN", "NAN", "NAN", "NAN"],
796                "S_Power":["NAN", "NAN", 473, "NAN", "NAN", "NAN", "NAN"],
797                "MinAllocPower":["NAN", "NAN", 0, "NAN", "NAN", "NAN", "NAN"],
798                "MaxAllocPower":["NAN", "NAN", 2500, "NAN", "NAN", "NAN", "NAN"],
799                "I_Cutoff":["NAN", "NAN", 4, "NAN", "NAN", "NAN", "NAN"]
800            },
801            "BindedCdevInfo": [
802                {
803                    "CdevRequest": "thermal-gpufreq-0",
804                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
805                    "CdevCeilingFrequency": [940000, 419000, 419000, 376000, 302000, 302000, 302000]
806                }
807            ]
808        },
809        {
810            "Name":"cellular-emergency",
811            "Type":"POWER_AMPLIFIER",
812            "VirtualSensor":true,
813            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
814            "Formula":"MAXIMUM",
815            "Combination":["VIRTUAL-SKIN"],
816            "Coefficient":[1.0],
817            "HotThreshold":["NAN", "NAN", "NAN", "NAN", "NAN", 54.0, "NAN"],
818            "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
819            "Multiplier":0.001,
820            "SendCallback":true,
821            "PollingDelay":300000,
822            "PassiveDelay":7000
823        },
824        {
825            "Name": "VIRTUAL-SKIN-SPEAKER-SUB-0",
826            "Type": "UNKNOWN",
827            "Hidden": true,
828            "VirtualSensor": true,
829            "Formula": "WEIGHTED_AVG",
830            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
831            "Coefficient": [0.082, 0.09, 0.029, 0.02, 0.048, 0.009, 0.334, 0.044, 0.38],
832            "Offset": 2582.0,
833            "Multiplier": 0.001
834        },
835        {
836            "Name":"VIRTUAL-SKIN-SPEAKER",
837            "Type":"UNKNOWN",
838            "Version":"5.0",
839            "VirtualSensor":true,
840            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
841            "Formula":"MAXIMUM",
842            "Combination": ["VIRTUAL-SKIN-SPEAKER-SUB-0"],
843            "Coefficient": [1.0],
844            "HotThreshold":["NAN", 37.0, "NAN", "NAN", "NAN", "NAN", "NAN"],
845            "HotHysteresis":[0.0, 1.9, 0.0, 0.0, 0.0, 0.0, 0.0],
846            "Multiplier":0.001,
847            "SendCallback":true,
848            "PollingDelay":300000,
849            "PassiveDelay":7000
850        },
851        {
852            "Name": "VIRTUAL-SKIN-FRONT-SUB-0",
853            "Type": "UNKNOWN",
854            "Hidden": true,
855            "VirtualSensor": true,
856            "Formula": "WEIGHTED_AVG",
857            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
858            "Coefficient": [0.149, 0.166, 0.226, 0.169, 0.159, 0.284, 0.05, 0.059, 0.068],
859            "Offset": -19933.0,
860            "Multiplier": 0.001
861        },
862        {
863            "Name": "VIRTUAL-SKIN-FRONT-SUB-1",
864            "Type": "UNKNOWN",
865            "Hidden": true,
866            "VirtualSensor": true,
867            "Formula": "WEIGHTED_AVG",
868            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
869            "Coefficient": [0.054, 0.201, 0.012, 0.117, 0.04, 0.276, 0.09, 0.046, 0.163],
870            "Offset": -2948.0,
871            "Multiplier": 0.001
872        },
873        {
874            "Name": "VIRTUAL-SKIN-FRONT-SUB-2",
875            "Type": "UNKNOWN",
876            "Hidden": true,
877            "VirtualSensor": true,
878            "Formula": "WEIGHTED_AVG",
879            "Combination": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "battery", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
880            "Coefficient": [0.25, 0.15, 0.001, 0.114, 0.134, 0.046, 0.178, 0.029, 0.099],
881            "Offset": -1010.0,
882            "Multiplier": 0.001
883        },
884        {
885            "Name":"VIRTUAL-SKIN-FRONT",
886            "Type":"UNKNOWN",
887            "Version":"4.0",
888            "VirtualSensor":true,
889            "TriggerSensor": ["north_therm", "soc_therm", "charging_therm", "disp_therm", "quiet_therm", "usb_pwr_therm", "rfpa_therm", "btmspkr_therm"],
890            "Formula":"MAXIMUM",
891            "Combination": ["VIRTUAL-SKIN-FRONT-SUB-0", "VIRTUAL-SKIN-FRONT-SUB-1", "VIRTUAL-SKIN-FRONT-SUB-2"],
892            "Coefficient": [1.0, 1.0, 1.0],
893            "Multiplier":0.001
894        },
895        {
896            "Name": "VIRTUAL-USB-THROTTLING",
897            "Type": "UNKNOWN",
898            "VirtualSensor": true,
899            "Formula": "WEIGHTED_AVG",
900            "TriggerSensor": "usb_pwr_therm",
901            "Combination": ["usb_pwr_therm"],
902            "Coefficient": [1.0],
903            "HotThreshold": ["NaN", "NaN", "NaN", "NaN", 55.0, "NaN", "NaN"],
904            "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 1.9, 0.0, 0.0],
905            "BindedCdevInfo": [
906                {
907                    "CdevRequest": "usbc-port",
908                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
909                }
910            ],
911            "Multiplier": 0.001,
912            "PollingDelay": 300000,
913            "PassiveDelay": 7000
914        },
915        {
916            "Name": "VIRTUAL-USB-UI",
917            "Type": "USB_PORT",
918            "VirtualSensor": true,
919            "Formula": "WEIGHTED_AVG",
920            "TriggerSensor": "usb_pwr_therm",
921            "Combination": ["usb_pwr_therm"],
922            "Coefficient": [1.0],
923            "HotThreshold": ["NaN", "NaN", "NaN", "NaN", "NaN", 57.0, "NaN"],
924            "HotHysteresis": [0.0, 0.0, 0.0, 0.0, 0.0, 1.9, 0.0],
925            "Multiplier": 0.001,
926            "PollingDelay": 300000,
927            "PassiveDelay": 7000,
928            "SendCallback": true
929        },
930        {
931            "Name":"LITTLE",
932            "Type":"CPU",
933            "Multiplier":0.001
934        },
935        {
936            "Name":"MID",
937            "Type":"CPU",
938            "Multiplier":0.001
939        },
940        {
941            "Name":"BIG",
942            "Type":"CPU",
943            "Multiplier":0.001
944        },
945        {
946            "Name":"G3D",
947            "Type":"GPU",
948            "Multiplier":0.001
949        },
950        {
951            "Name":"TPU",
952            "Type":"NPU",
953            "Multiplier":0.001
954        }
955    ],
956    "CoolingDevices":[
957        {
958            "Name":"thermal-cpufreq-0",
959            "Type":"CPU",
960            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
961            "ScalingAvailableFrequenciesPath": "/sys/devices/system/cpu/cpufreq/policy0/scaling_available_frequencies"
962        },
963        {
964            "Name":"thermal-cpufreq-1",
965            "Type":"CPU",
966            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
967            "ScalingAvailableFrequenciesPath": "/sys/devices/system/cpu/cpufreq/policy4/scaling_available_frequencies"
968        },
969        {
970            "Name":"thermal-cpufreq-2",
971            "Type":"CPU",
972            "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
973            "ScalingAvailableFrequenciesPath": "/sys/devices/system/cpu/cpufreq/policy7/scaling_available_frequencies"
974        },
975        {
976            "Name":"thermal-gpufreq-0",
977            "Type":"GPU",
978            "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
979            "ScalingAvailableFrequenciesPath": "/sys/devices/platform/1f000000.mali/available_frequencies"
980        },
981        {
982            "Name":"usbc-port",
983            "Type":"BATTERY"
984        },
985        {
986            "Name":"tpu_cooling",
987            "Type":"NPU",
988            "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
989        },
990        {
991            "Name":"gxp-cooling",
992            "Type":"NPU",
993            "WritePath":"/dev/thermal/cdev-by-name/gxp-cooling/user_vote"
994        }
995    ],
996    "PowerRails":[
997        {
998            "Name":"VSYS_PWR_CAMERA",
999            "PowerSampleDelay":7000,
1000            "PowerSampleCount":15
1001        },
1002        {
1003            "Name":"S2M_VDD_CPUCL1",
1004            "PowerSampleDelay":7000,
1005            "PowerSampleCount":1
1006        },
1007        {
1008            "Name":"S3M_VDD_CPUCL2",
1009            "PowerSampleDelay":7000,
1010            "PowerSampleCount":1
1011        },
1012        {
1013            "Name":"S4M_VDD_CPUCL0",
1014            "PowerSampleDelay":7000,
1015            "PowerSampleCount":1
1016        },
1017        {
1018            "Name":"S7M_VDD_TPU",
1019            "PowerSampleDelay":7000,
1020            "PowerSampleCount":1
1021        },
1022        {
1023            "Name":"S2S_VDD_G3D",
1024            "PowerSampleDelay":7000,
1025            "PowerSampleCount":1
1026        },
1027        {
1028            "Name":"PARTIAL_SYSTEM_POWER",
1029            "VirtualRails":true,
1030            "Formula":"WEIGHTED_AVG",
1031            "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_CPUCL1", "S3M_VDD_CPUCL2", "S4M_VDD_CPUCL0", "S5M_VDD_INT", "S6M_LLDO1", "S7M_VDD_TPU", "S8M_LLDO2", "VSYS_PWR_MODEM"],
1032            "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],
1033            "PowerSampleDelay":7000,
1034            "PowerSampleCount":5
1035        }
1036    ]
1037}
1038