exynos5433-tmu.dtsi 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device tree sources for Exynos5433 thermal zone
  4. *
  5. * Copyright (c) 2016 Chanwoo Choi <[email protected]>
  6. */
  7. #include <dt-bindings/thermal/thermal.h>
  8. / {
  9. thermal-zones {
  10. atlas0_thermal: atlas0-thermal {
  11. thermal-sensors = <&tmu_atlas0>;
  12. polling-delay-passive = <0>;
  13. polling-delay = <0>;
  14. trips {
  15. atlas0_alert_0: atlas0-alert-0 {
  16. temperature = <65000>; /* millicelsius */
  17. hysteresis = <1000>; /* millicelsius */
  18. type = "active";
  19. };
  20. atlas0_alert_1: atlas0-alert-1 {
  21. temperature = <70000>; /* millicelsius */
  22. hysteresis = <1000>; /* millicelsius */
  23. type = "active";
  24. };
  25. atlas0_alert_2: atlas0-alert-2 {
  26. temperature = <75000>; /* millicelsius */
  27. hysteresis = <1000>; /* millicelsius */
  28. type = "active";
  29. };
  30. atlas0_alert_3: atlas0-alert-3 {
  31. temperature = <80000>; /* millicelsius */
  32. hysteresis = <1000>; /* millicelsius */
  33. type = "active";
  34. };
  35. atlas0_alert_4: atlas0-alert-4 {
  36. temperature = <85000>; /* millicelsius */
  37. hysteresis = <1000>; /* millicelsius */
  38. type = "active";
  39. };
  40. atlas0_alert_5: atlas0-alert-5 {
  41. temperature = <90000>; /* millicelsius */
  42. hysteresis = <1000>; /* millicelsius */
  43. type = "active";
  44. };
  45. atlas0_alert_6: atlas0-alert-6 {
  46. temperature = <95000>; /* millicelsius */
  47. hysteresis = <1000>; /* millicelsius */
  48. type = "active";
  49. };
  50. };
  51. cooling-maps {
  52. map0 {
  53. /* Set maximum frequency as 1800MHz */
  54. trip = <&atlas0_alert_0>;
  55. cooling-device = <&cpu4 1 2>, <&cpu5 1 2>,
  56. <&cpu6 1 2>, <&cpu7 1 2>;
  57. };
  58. map1 {
  59. /* Set maximum frequency as 1700MHz */
  60. trip = <&atlas0_alert_1>;
  61. cooling-device = <&cpu4 2 3>, <&cpu5 2 3>,
  62. <&cpu6 2 3>, <&cpu7 2 3>;
  63. };
  64. map2 {
  65. /* Set maximum frequency as 1600MHz */
  66. trip = <&atlas0_alert_2>;
  67. cooling-device = <&cpu4 3 4>, <&cpu5 3 4>,
  68. <&cpu6 3 4>, <&cpu7 3 4>;
  69. };
  70. map3 {
  71. /* Set maximum frequency as 1500MHz */
  72. trip = <&atlas0_alert_3>;
  73. cooling-device = <&cpu4 4 5>, <&cpu5 4 5>,
  74. <&cpu6 4 5>, <&cpu7 4 5>;
  75. };
  76. map4 {
  77. /* Set maximum frequency as 1400MHz */
  78. trip = <&atlas0_alert_4>;
  79. cooling-device = <&cpu4 5 7>, <&cpu5 5 7>,
  80. <&cpu6 5 7>, <&cpu7 5 7>;
  81. };
  82. map5 {
  83. /* Set maximum frequencyas 1200MHz */
  84. trip = <&atlas0_alert_5>;
  85. cooling-device = <&cpu4 7 9>, <&cpu5 7 9>,
  86. <&cpu6 7 9>, <&cpu7 7 9>;
  87. };
  88. map6 {
  89. /* Set maximum frequency as 1000MHz */
  90. trip = <&atlas0_alert_6>;
  91. cooling-device = <&cpu4 9 14>, <&cpu5 9 14>,
  92. <&cpu6 9 14>, <&cpu7 9 14>;
  93. };
  94. };
  95. };
  96. atlas1_thermal: atlas1-thermal {
  97. thermal-sensors = <&tmu_atlas1>;
  98. polling-delay-passive = <0>;
  99. polling-delay = <0>;
  100. trips {
  101. atlas1_alert_0: atlas1-alert-0 {
  102. temperature = <65000>; /* millicelsius */
  103. hysteresis = <1000>; /* millicelsius */
  104. type = "active";
  105. };
  106. atlas1_alert_1: atlas1-alert-1 {
  107. temperature = <70000>; /* millicelsius */
  108. hysteresis = <1000>; /* millicelsius */
  109. type = "active";
  110. };
  111. atlas1_alert_2: atlas1-alert-2 {
  112. temperature = <75000>; /* millicelsius */
  113. hysteresis = <1000>; /* millicelsius */
  114. type = "active";
  115. };
  116. atlas1_alert_3: atlas1-alert-3 {
  117. temperature = <80000>; /* millicelsius */
  118. hysteresis = <1000>; /* millicelsius */
  119. type = "active";
  120. };
  121. atlas1_alert_4: atlas1-alert-4 {
  122. temperature = <85000>; /* millicelsius */
  123. hysteresis = <1000>; /* millicelsius */
  124. type = "active";
  125. };
  126. atlas1_alert_5: atlas1-alert-5 {
  127. temperature = <90000>; /* millicelsius */
  128. hysteresis = <1000>; /* millicelsius */
  129. type = "active";
  130. };
  131. atlas1_alert_6: atlas1-alert-6 {
  132. temperature = <95000>; /* millicelsius */
  133. hysteresis = <1000>; /* millicelsius */
  134. type = "active";
  135. };
  136. };
  137. };
  138. g3d_thermal: g3d-thermal {
  139. thermal-sensors = <&tmu_g3d>;
  140. polling-delay-passive = <0>;
  141. polling-delay = <0>;
  142. trips {
  143. g3d_alert_0: g3d-alert-0 {
  144. temperature = <70000>; /* millicelsius */
  145. hysteresis = <1000>; /* millicelsius */
  146. type = "active";
  147. };
  148. g3d_alert_1: g3d-alert-1 {
  149. temperature = <75000>; /* millicelsius */
  150. hysteresis = <1000>; /* millicelsius */
  151. type = "active";
  152. };
  153. g3d_alert_2: g3d-alert-2 {
  154. temperature = <80000>; /* millicelsius */
  155. hysteresis = <1000>; /* millicelsius */
  156. type = "active";
  157. };
  158. g3d_alert_3: g3d-alert-3 {
  159. temperature = <85000>; /* millicelsius */
  160. hysteresis = <1000>; /* millicelsius */
  161. type = "active";
  162. };
  163. g3d_alert_4: g3d-alert-4 {
  164. temperature = <90000>; /* millicelsius */
  165. hysteresis = <1000>; /* millicelsius */
  166. type = "active";
  167. };
  168. g3d_alert_5: g3d-alert-5 {
  169. temperature = <95000>; /* millicelsius */
  170. hysteresis = <1000>; /* millicelsius */
  171. type = "active";
  172. };
  173. g3d_alert_6: g3d-alert-6 {
  174. temperature = <100000>; /* millicelsius */
  175. hysteresis = <1000>; /* millicelsius */
  176. type = "active";
  177. };
  178. };
  179. };
  180. apollo_thermal: apollo-thermal {
  181. thermal-sensors = <&tmu_apollo>;
  182. polling-delay-passive = <0>;
  183. polling-delay = <0>;
  184. trips {
  185. apollo_alert_0: apollo-alert-0 {
  186. temperature = <65000>; /* millicelsius */
  187. hysteresis = <1000>; /* millicelsius */
  188. type = "active";
  189. };
  190. apollo_alert_1: apollo-alert-1 {
  191. temperature = <70000>; /* millicelsius */
  192. hysteresis = <1000>; /* millicelsius */
  193. type = "active";
  194. };
  195. apollo_alert_2: apollo-alert-2 {
  196. temperature = <75000>; /* millicelsius */
  197. hysteresis = <1000>; /* millicelsius */
  198. type = "active";
  199. };
  200. apollo_alert_3: apollo-alert-3 {
  201. temperature = <80000>; /* millicelsius */
  202. hysteresis = <1000>; /* millicelsius */
  203. type = "active";
  204. };
  205. apollo_alert_4: apollo-alert-4 {
  206. temperature = <85000>; /* millicelsius */
  207. hysteresis = <1000>; /* millicelsius */
  208. type = "active";
  209. };
  210. apollo_alert_5: apollo-alert-5 {
  211. temperature = <90000>; /* millicelsius */
  212. hysteresis = <1000>; /* millicelsius */
  213. type = "active";
  214. };
  215. apollo_alert_6: apollo-alert-6 {
  216. temperature = <95000>; /* millicelsius */
  217. hysteresis = <1000>; /* millicelsius */
  218. type = "active";
  219. };
  220. };
  221. cooling-maps {
  222. map0 {
  223. /* Set maximum frequency as 1200MHz */
  224. trip = <&apollo_alert_2>;
  225. cooling-device = <&cpu0 1 2>, <&cpu1 1 2>,
  226. <&cpu2 1 2>, <&cpu3 1 2>;
  227. };
  228. map1 {
  229. /* Set maximum frequency as 1100MHz */
  230. trip = <&apollo_alert_3>;
  231. cooling-device = <&cpu0 2 3>, <&cpu1 2 3>,
  232. <&cpu2 2 3>, <&cpu3 2 3>;
  233. };
  234. map2 {
  235. /* Set maximum frequency as 1000MHz */
  236. trip = <&apollo_alert_4>;
  237. cooling-device = <&cpu0 3 4>, <&cpu1 3 4>,
  238. <&cpu2 3 4>, <&cpu3 3 4>;
  239. };
  240. map3 {
  241. /* Set maximum frequency as 900MHz */
  242. trip = <&apollo_alert_5>;
  243. cooling-device = <&cpu0 4 5>, <&cpu1 4 5>,
  244. <&cpu2 4 5>, <&cpu3 4 5>;
  245. };
  246. map4 {
  247. /* Set maximum frequency as 800MHz */
  248. trip = <&apollo_alert_6>;
  249. cooling-device = <&cpu0 5 9>, <&cpu1 5 9>,
  250. <&cpu2 5 9>, <&cpu3 5 9>;
  251. };
  252. };
  253. };
  254. isp_thermal: isp-thermal {
  255. thermal-sensors = <&tmu_isp>;
  256. polling-delay-passive = <0>;
  257. polling-delay = <0>;
  258. trips {
  259. isp_alert_0: isp-alert-0 {
  260. temperature = <80000>; /* millicelsius */
  261. hysteresis = <1000>; /* millicelsius */
  262. type = "active";
  263. };
  264. isp_alert_1: isp-alert-1 {
  265. temperature = <85000>; /* millicelsius */
  266. hysteresis = <1000>; /* millicelsius */
  267. type = "active";
  268. };
  269. isp_alert_2: isp-alert-2 {
  270. temperature = <90000>; /* millicelsius */
  271. hysteresis = <1000>; /* millicelsius */
  272. type = "active";
  273. };
  274. isp_alert_3: isp-alert-3 {
  275. temperature = <95000>; /* millicelsius */
  276. hysteresis = <1000>; /* millicelsius */
  277. type = "active";
  278. };
  279. isp_alert_4: isp-alert-4 {
  280. temperature = <100000>; /* millicelsius */
  281. hysteresis = <1000>; /* millicelsius */
  282. type = "active";
  283. };
  284. isp_alert_5: isp-alert-5 {
  285. temperature = <105000>; /* millicelsius */
  286. hysteresis = <1000>; /* millicelsius */
  287. type = "active";
  288. };
  289. isp_alert_6: isp-alert-6 {
  290. temperature = <110000>; /* millicelsius */
  291. hysteresis = <1000>; /* millicelsius */
  292. type = "active";
  293. };
  294. };
  295. };
  296. };
  297. };