thermal_info_config_lynx.json 32 KB

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