zx2967-thermal.txt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. * ZTE zx2967 family Thermal
  2. Required Properties:
  3. - compatible: should be one of the following.
  4. * zte,zx296718-thermal
  5. - reg: physical base address of the controller and length of memory mapped
  6. region.
  7. - clocks : Pairs of phandle and specifier referencing the controller's clocks.
  8. - clock-names: "topcrm" for the topcrm clock.
  9. "apb" for the apb clock.
  10. - #thermal-sensor-cells: must be 0.
  11. Please note: slope coefficient defined in thermal-zones section need to be
  12. multiplied by 1000.
  13. Example for tempsensor:
  14. tempsensor: tempsensor@148a000 {
  15. compatible = "zte,zx296718-thermal";
  16. reg = <0x0148a000 0x20>;
  17. clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>;
  18. clock-names = "topcrm", "apb";
  19. #thermal-sensor-cells = <0>;
  20. };
  21. Example for cooling device:
  22. cooling_dev: cooling_dev {
  23. cluster0_cooling_dev: cluster0-cooling-dev {
  24. #cooling-cells = <2>;
  25. cpumask = <0xf>;
  26. capacitance = <1500>;
  27. };
  28. cluster1_cooling_dev: cluster1-cooling-dev {
  29. #cooling-cells = <2>;
  30. cpumask = <0x30>;
  31. capacitance = <2000>;
  32. };
  33. };
  34. Example for thermal zones:
  35. thermal-zones {
  36. zx296718_thermal: zx296718_thermal {
  37. polling-delay-passive = <500>;
  38. polling-delay = <1000>;
  39. sustainable-power = <6500>;
  40. thermal-sensors = <&tempsensor 0>;
  41. /*
  42. * slope need to be multiplied by 1000.
  43. */
  44. coefficients = <1951 (-922)>;
  45. trips {
  46. trip0: switch_on_temperature {
  47. temperature = <90000>;
  48. hysteresis = <2000>;
  49. type = "passive";
  50. };
  51. trip1: desired_temperature {
  52. temperature = <100000>;
  53. hysteresis = <2000>;
  54. type = "passive";
  55. };
  56. crit: critical_temperature {
  57. temperature = <110000>;
  58. hysteresis = <2000>;
  59. type = "critical";
  60. };
  61. };
  62. cooling-maps {
  63. map0 {
  64. trip = <&trip0>;
  65. cooling-device = <&gpu 2 5>;
  66. };
  67. map1 {
  68. trip = <&trip0>;
  69. cooling-device = <&cluster0_cooling_dev 1 2>;
  70. };
  71. map2 {
  72. trip = <&trip1>;
  73. cooling-device = <&cluster0_cooling_dev 1 2>;
  74. };
  75. map3 {
  76. trip = <&crit>;
  77. cooling-device = <&cluster0_cooling_dev 1 2>;
  78. };
  79. map4 {
  80. trip = <&trip0>;
  81. cooling-device = <&cluster1_cooling_dev 1 2>;
  82. contribution = <9000>;
  83. };
  84. map5 {
  85. trip = <&trip1>;
  86. cooling-device = <&cluster1_cooling_dev 1 2>;
  87. contribution = <4096>;
  88. };
  89. map6 {
  90. trip = <&crit>;
  91. cooling-device = <&cluster1_cooling_dev 1 2>;
  92. contribution = <4096>;
  93. };
  94. };
  95. };
  96. };