thermal_info_config_lynx.json 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910
  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-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"],
  141. "Coefficient":[1.0, 1.0, 1.0, 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-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"],
  157. "Coefficient":[1.0, 1.0, 1.0, 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-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"],
  218. "Coefficient":[1.0, 1.0, 1.0, 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-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"],
  281. "Coefficient":[1.0, 1.0, 1.0, 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-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"],
  363. "Coefficient":[1.0, 1.0, 1.0, 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. "Name":"soft_ocp_cpu2",
  742. "Type":"BCL_CURRENT",
  743. "HotThreshold":["NAN", "NAN", "NAN", "NAN", 12000, "NAN", "NAN"],
  744. "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
  745. "Multiplier":1,
  746. "Monitor":true
  747. },
  748. {
  749. "Name":"soft_ocp_cpu1",
  750. "Type":"BCL_CURRENT",
  751. "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8000, "NAN", "NAN"],
  752. "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
  753. "Multiplier":1,
  754. "Monitor":true
  755. },
  756. {
  757. "Name":"soft_ocp_tpu",
  758. "Type":"BCL_CURRENT",
  759. "HotThreshold":["NAN", "NAN", "NAN", "NAN", 8500, "NAN", "NAN"],
  760. "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
  761. "Multiplier":1,
  762. "Hidden":true
  763. },
  764. {
  765. "Name":"soft_ocp_gpu",
  766. "Type":"BCL_CURRENT",
  767. "HotThreshold":["NAN", "NAN", "NAN", "NAN", 9000, "NAN", "NAN"],
  768. "HotHysteresis":[0.0, 0.0, 0.0, 0.0, 100, 0.0, 0.0],
  769. "Multiplier":1,
  770. "Hidden":true
  771. }
  772. ],
  773. "CoolingDevices":[
  774. {
  775. "Name":"thermal-cpufreq-0",
  776. "Type":"CPU",
  777. "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-0/user_vote",
  778. "State2Power":[1100, 1050, 1000, 950, 900, 850, 800, 750, 700, 650, 600]
  779. },
  780. {
  781. "Name":"thermal-cpufreq-1",
  782. "Type":"CPU",
  783. "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-1/user_vote",
  784. "State2Power":[1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
  785. },
  786. {
  787. "Name":"thermal-cpufreq-2",
  788. "Type":"CPU",
  789. "WritePath":"/dev/thermal/cdev-by-name/thermal-cpufreq-2/user_vote",
  790. "State2Power":[1450, 1400, 1350, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 850, 800, 750]
  791. },
  792. {
  793. "Name":"thermal-gpufreq-0",
  794. "Type":"GPU",
  795. "WritePath":"/dev/thermal/cdev-by-name/thermal-gpufreq-0/user_vote",
  796. "State2Power":[4599, 3727, 3259, 2378, 2044, 1813, 1449, 1223, 1007, 804, 633, 452]
  797. },
  798. {
  799. "Name":"fcc",
  800. "Type":"BATTERY"
  801. },
  802. {
  803. "Name":"dc_icl",
  804. "Type":"BATTERY"
  805. },
  806. {
  807. "Name":"usbc-port",
  808. "Type":"BATTERY"
  809. },
  810. {
  811. "Name":"tpu_cooling",
  812. "Type":"NPU",
  813. "WritePath":"/dev/thermal/cdev-by-name/tpu_cooling/user_vote"
  814. },
  815. {
  816. "Name":"gxp-cooling",
  817. "Type":"NPU",
  818. "WritePath":"/dev/thermal/cdev-by-name/gxp-cooling/user_vote"
  819. }
  820. ],
  821. "PowerRails":[
  822. {
  823. "Name":"VSYS_PWR_WLAN_BT"
  824. },
  825. {
  826. "Name":"VSYS_PWR_DISPLAY"
  827. },
  828. {
  829. "Name":"VSYS_PWR_MODEM",
  830. "PowerSampleDelay":7000,
  831. "PowerSampleCount":1
  832. },
  833. {
  834. "Name":"S2M_VDD_CPUCL2",
  835. "PowerSampleDelay":7000,
  836. "PowerSampleCount":1
  837. },
  838. {
  839. "Name":"S3M_VDD_CPUCL1",
  840. "PowerSampleDelay":7000,
  841. "PowerSampleCount":1
  842. },
  843. {
  844. "Name":"S4M_VDD_CPUCL0",
  845. "PowerSampleDelay":7000,
  846. "PowerSampleCount":1
  847. },
  848. {
  849. "Name":"S5M_VDD_INT"
  850. },
  851. {
  852. "Name":"S1M_VDD_MIF"
  853. },
  854. {
  855. "Name":"S2S_VDD_G3D",
  856. "PowerSampleDelay":7000,
  857. "PowerSampleCount":1
  858. },
  859. {
  860. "Name":"PARTIAL_SYSTEM_POWER",
  861. "VirtualRails":true,
  862. "Formula":"WEIGHTED_AVG",
  863. "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"],
  864. "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
  865. "PowerSampleDelay":14000,
  866. "PowerSampleCount":5
  867. }
  868. ],
  869. "Stats": {
  870. "Sensors": {
  871. "RecordWithDefaultThreshold": ["VIRTUAL-SKIN", "VIRTUAL-SKIN-CHARGE-WLC"],
  872. "RecordWithThreshold": [
  873. {
  874. "Name": "VIRTUAL-NEU-QUT-SKIN1-SKIN2-USB-USB2-GNSS-1",
  875. "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
  876. },
  877. {
  878. "Name": "VIRTUAL-QUT-SKIN2-USB-USB2-2",
  879. "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
  880. },
  881. {
  882. "Name": "VIRTUAL-QUT-SKIN2-USB-GNSS-3",
  883. "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
  884. },
  885. {
  886. "Name": "VIRTUAL-NEU-QUT-SKIN1-SKIN2-USB-USB2-GNSS-4",
  887. "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
  888. },
  889. {
  890. "Name": "VIRTUAL-SKIN",
  891. "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
  892. },
  893. {
  894. "Name": "VIRTUAL-SKIN-CHARGE-WLC",
  895. "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51]
  896. },
  897. {
  898. "Name": "VIRTUAL-USB-THROTTLING",
  899. "Thresholds": [2.0]
  900. }
  901. ]
  902. },
  903. "CoolingDevices": {
  904. "RecordVotePerSensor": {
  905. "DefaultThresholdEnableAll": true
  906. }
  907. }
  908. }
  909. }