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