thermal_info_config_lynx.json 29 KB

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