1{
2    "Sensors":[
3        {
4            "Name":"north_therm",
5            "Type":"UNKNOWN",
6            "HotThreshold":["NaN", 38.8, "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", 31.0, "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", 41.4, "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", 42.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.2, "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", 41.5, "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", 35.1, "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":"VIRTUAL-SKIN-CHARGE-SUB-0",
90            "Type":"UNKNOWN",
91            "Hidden":true,
92            "VirtualSensor":true,
93            "Formula":"WEIGHTED_AVG",
94            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
95            "Coefficient":[0.28, 0.14, 0.17, 0.13, 0.02, 0.19, 0, 0, 0],
96            "Offset":1280,
97            "Multiplier":0.001
98        },
99        {
100            "Name":"VIRTUAL-SKIN-CHARGE-SUB-1",
101            "Type":"UNKNOWN",
102            "Hidden":true,
103            "VirtualSensor":true,
104            "Formula":"WEIGHTED_AVG",
105            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
106            "Coefficient":[0.07, 0.05, 0.18, 0.19, 0.43, 0, 0.1, 0, 0],
107            "Offset":-3320,
108            "Multiplier":0.001
109        },
110        {
111            "Name":"VIRTUAL-SKIN-CHARGE-SUB-2",
112            "Type":"UNKNOWN",
113            "Hidden":true,
114            "VirtualSensor":true,
115            "Formula":"WEIGHTED_AVG",
116            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
117            "Coefficient":[0, 0, 0, 0.21, 0.17, 0.20, 0.07, 0.04, 0.18],
118            "Offset":2960,
119            "Multiplier":0.001
120        },
121        {
122            "Name":"VIRTUAL-SKIN-CHARGE-SUB-3",
123            "Type":"UNKNOWN",
124            "Hidden":true,
125            "VirtualSensor":true,
126            "Formula":"WEIGHTED_AVG",
127            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
128            "Coefficient":[0.06, 0.06, 0.05, 0, 0.17, 0.13, 0, 0.4, 0.09],
129            "Offset":1010,
130            "Multiplier":0.001
131        },
132        {
133            "Name":"VIRTUAL-SKIN-CHARGE-SUB-4",
134            "Type":"UNKNOWN",
135            "Hidden":true,
136            "VirtualSensor":true,
137            "Formula":"WEIGHTED_AVG",
138            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
139            "Coefficient":[0.06, 0.14, 0.01, 0.16, 0.09, 0.31, 0.01, 0.13, 0.02],
140            "Offset":1750,
141            "Multiplier":0.001
142        },
143        {
144            "Name":"VIRTUAL-SKIN-CHARGE-SUB-5",
145            "Type":"UNKNOWN",
146            "Hidden":true,
147            "VirtualSensor":true,
148            "Formula":"WEIGHTED_AVG",
149            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
150            "Coefficient":[0, 0.14, 0.31, 0.11, 0.06, 0.13, 0.16, 0, 0],
151            "Offset":1500,
152            "Multiplier":0.001
153        },
154        {
155            "Name":"VIRTUAL-SKIN-CHARGE-SUB-6",
156            "Type":"UNKNOWN",
157            "Hidden":true,
158            "VirtualSensor":true,
159            "Formula":"WEIGHTED_AVG",
160            "Combination":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "battery", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
161            "Coefficient":[0.01, 0.02, 0.33, 0.09, 0.62, 0, 0, 0, 0],
162            "Offset":-5080,
163            "Multiplier":0.001
164        },
165        {
166            "Name":"thb_hda",
167            "Type":"UNKNOWN",
168            "Multiplier":1
169        },
170        {
171            "Name":"IS_WLC",
172            "Type":"UNKNOWN",
173            "Hidden":true,
174            "VirtualSensor":true,
175            "Formula":"COUNT_THRESHOLD",
176            "Combination":["thb_hda"],
177            "Coefficient":[1],
178            "Multiplier":1
179        },
180        {
181            "Name":"VIRTUAL-SKIN-CHARGE",
182            "Type":"UNKNOWN",
183            "Version":"4.0",
184            "VirtualSensor":true,
185            "Formula":"MAXIMUM",
186            "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"],
187            "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
188            "Multiplier":0.001
189        },
190        {
191            "Name":"VIRTUAL-SKIN-CHARGE-WIRED",
192            "Type":"UNKNOWN",
193            "Hidden":true,
194            "VirtualSensor":true,
195            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
196            "Formula":"WEIGHTED_AVG",
197            "Combination":["VIRTUAL-SKIN-CHARGE", "IS_WLC"],
198            "Coefficient":[1.0, -1000000],
199            "HotThreshold":["NaN", 34.0, 38.0, 41.0, 45.0, 47.0, 55.0],
200            "HotHysteresis":[0.0, 1.9, 3.9, 2.9, 3.9, 1.9, 1.9],
201            "Multiplier":0.001,
202            "PollingDelay":60000,
203            "PassiveDelay":7000,
204            "PIDInfo": {
205                "K_Po":["NaN", "NaN", 101, "NaN", "NaN", "NaN", "NaN"],
206                "K_Pu":["NaN", "NaN", 101, "NaN", "NaN", "NaN", "NaN"],
207                "K_I":["NaN", "NaN", 21, "NaN", "NaN", "NaN", "NaN"],
208                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
209                "I_Max":["NaN", "NaN", 1099, "NaN", "NaN", "NaN", "NaN"],
210                "S_Power":["NaN", "NaN", 2404, "NaN", "NaN", "NaN", "NaN"],
211                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
212                "MaxAllocPower":["NaN", "NaN", 5519, "NaN", "NaN", "NaN", "NaN"],
213                "I_Cutoff":["NaN", "NaN", 6, "NaN", "NaN", "NaN", "NaN"],
214                "I_Default":1099
215            },
216            "ExcludedPowerInfo": [
217                {
218                    "PowerRail": "PARTIAL_SYSTEM_POWER",
219                    "PowerWeight": [0.1, 0.1, 0.05, 0.05, 0.2, 0.2, 0.2]
220                }
221            ],
222            "BindedCdevInfo": [
223                {
224                    "CdevRequest": "chg_mdis",
225                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
226                    "MaxReleaseStep": 1,
227                    "MaxThrottleStep": 1,
228                    "CdevCeiling": [0, 25, 25, 25, 26, 26, 26],
229                    "LimitInfo": [0, 0, 1, 1, 1, 26, 26]
230                }
231            ]
232        },
233        {
234            "Name":"VIRTUAL-SKIN-CHARGE-PERSIST",
235            "Type":"UNKNOWN",
236            "Hidden":true,
237            "VirtualSensor":true,
238            "TriggerSensor":["north_therm", "cam_therm", "soc_therm", "charge_therm", "disp_therm", "neutral_therm", "quiet_therm", "usb_pwr_therm"],
239            "Formula":"MAXIMUM",
240            "Combination":["VIRTUAL-SKIN-CHARGE"],
241            "Coefficient":[1.0],
242            "HotThreshold":["NaN", 35.0, 41.0, 45.0, 47.0, 51.0, 55.0],
243            "HotHysteresis":[0.0, 1.9, 1.9, 3.9, 1.9, 1.9, 1.9],
244            "Multiplier":0.001,
245            "PollingDelay":60000,
246            "PassiveDelay":7000,
247            "PIDInfo": {
248                "K_Po":["NaN", "NaN", 164, "NaN", "NaN", "NaN", "NaN"],
249                "K_Pu":["NaN", "NaN", 164, "NaN", "NaN", "NaN", "NaN"],
250                "K_I":["NaN", "NaN", 21, "NaN", "NaN", "NaN", "NaN"],
251                "K_D":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
252                "I_Max":["NaN", "NaN", 1066, "NaN", "NaN", "NaN", "NaN"],
253                "S_Power":["NaN", "NaN", 2066, "NaN", "NaN", "NaN", "NaN"],
254                "MinAllocPower":["NaN", "NaN", 0, "NaN", "NaN", "NaN", "NaN"],
255                "MaxAllocPower":["NaN", "NaN", 6412, "NaN", "NaN", "NaN", "NaN"],
256                "I_Cutoff":["NaN", "NaN", 8, "NaN", "NaN", "NaN", "NaN"],
257                "I_Default":1066
258            },
259            "ExcludedPowerInfo": [
260                {
261                    "PowerRail": "PARTIAL_SYSTEM_POWER",
262                    "PowerWeight": [0.16, 0.16, 0.16, 0.16, 0.32, 0.32, 0.32]
263                }
264            ],
265            "BindedCdevInfo": [
266                {
267                    "CdevRequest": "chg_mdis",
268                    "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1],
269                    "MaxReleaseStep": 1,
270                    "MaxThrottleStep": 1,
271                    "CdevCeiling": [0, 25, 25, 26, 26, 26, 26],
272                    "LimitInfo": [0, 0, 1, 1, 26, 26, 26]
273                }
274            ]
275        },
276        {
277            "Name":"USB-MINUS-NEUTRAL",
278            "Type":"UNKNOWN",
279            "VirtualSensor":true,
280            "Formula":"WEIGHTED_AVG",
281            "Combination":["usb_pwr_therm", "neutral_therm"],
282            "Coefficient":[1.0, -1.0],
283            "Multiplier":0.001
284        },
285        {
286            "Name":"USB-MINUS-QUIET",
287            "Type":"UNKNOWN",
288            "VirtualSensor":true,
289            "Formula":"WEIGHTED_AVG",
290            "Combination":["usb_pwr_therm", "quiet_therm"],
291            "Coefficient":[1.0, -1.0],
292            "Multiplier":0.001
293        },
294        {
295            "Name":"USB_QUIET_RFFE",
296            "Type":"UNKNOWN",
297            "VirtualSensor":true,
298            "Formula":"WEIGHTED_AVG",
299            "Combination":["USB-MINUS-QUIET", "VSYS_PWR_RFFE"],
300            "CombinationType":["SENSOR", "ODPM"],
301            "Coefficient":[1, -8],
302            "Multiplier":0.001
303        },
304        {
305            "Name":"VIRTUAL-USB-THROTTLING-SUB0",
306            "Type":"UNKNOWN",
307            "VirtualSensor":true,
308            "Formula":"COUNT_THRESHOLD",
309            "Combination":["USB-MINUS-NEUTRAL", "USB_QUIET_RFFE"],
310            "Coefficient":[10000, 5000],
311            "Multiplier":1
312        },
313        {
314            "Name":"VIRTUAL-USB-THROTTLING",
315            "Type":"USB_PORT",
316            "VirtualSensor":true,
317            "Formula":"COUNT_THRESHOLD",
318            "TriggerSensor": "usb_pwr_therm",
319            "Combination":["usb_pwr_therm", "USB-MINUS-NEUTRAL", "USB-MINUS-QUIET", "VIRTUAL-USB-THROTTLING-SUB0"],
320            "Coefficient":[46000, 0, 0, 1],
321            "HotThreshold":["NaN", "NaN", "NaN", "NaN", "4.0", "NaN", "NaN"],
322            "BindedCdevInfo": [
323                {
324                    "CdevRequest": "usbc-port",
325                    "LimitInfo": [0, 0, 0, 0, 1, 1, 1]
326                }
327            ],
328            "Multiplier":1,
329            "PollingDelay":300000,
330            "PassiveDelay":7000
331        }
332    ],
333    "CoolingDevices":[
334        {
335            "Name":"chg_mdis",
336            "Type":"BATTERY"
337        },
338        {
339            "Name":"usbc-port",
340            "Type":"BATTERY"
341        }
342    ],
343    "PowerRails":[
344        {
345            "Name":"VSYS_PWR_RFFE",
346            "PowerSampleDelay":7000,
347            "PowerSampleCount":2
348        },
349        {
350            "Name":"S2M_VDD_CPUCL2",
351            "PowerSampleDelay":7000,
352            "PowerSampleCount":1
353        },
354        {
355            "Name":"S3M_VDD_CPUCL1",
356            "PowerSampleDelay":7000,
357            "PowerSampleCount":1
358        },
359        {
360            "Name":"S4M_VDD_CPUCL0",
361            "PowerSampleDelay":7000,
362            "PowerSampleCount":1
363        },
364        {
365            "Name":"S2S_VDD_G3D",
366            "PowerSampleDelay":7000,
367            "PowerSampleCount":1
368        },
369        {
370            "Name":"PARTIAL_SYSTEM_POWER",
371            "VirtualRails":true,
372            "Formula":"WEIGHTED_AVG",
373            "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"],
374            "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],
375            "PowerSampleDelay":7000,
376            "PowerSampleCount":5
377        }
378    ]
379}
380