allwinner,sun8i-a83t-ths.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. # SPDX-License-Identifier: GPL-2.0
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/thermal/allwinner,sun8i-a83t-ths.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Allwinner SUN8I Thermal Controller
  7. maintainers:
  8. - Vasily Khoruzhick <anarsoul@gmail.com>
  9. - Yangtao Li <tiny.windzz@gmail.com>
  10. $ref: thermal-sensor.yaml#
  11. properties:
  12. compatible:
  13. enum:
  14. - allwinner,sun8i-a83t-ths
  15. - allwinner,sun8i-h3-ths
  16. - allwinner,sun8i-r40-ths
  17. - allwinner,sun20i-d1-ths
  18. - allwinner,sun50i-a64-ths
  19. - allwinner,sun50i-a100-ths
  20. - allwinner,sun50i-h5-ths
  21. - allwinner,sun50i-h6-ths
  22. - allwinner,sun50i-h616-ths
  23. clocks:
  24. minItems: 1
  25. items:
  26. - description: Bus Clock
  27. - description: Module Clock
  28. clock-names:
  29. minItems: 1
  30. items:
  31. - const: bus
  32. - const: mod
  33. reg:
  34. maxItems: 1
  35. interrupts:
  36. maxItems: 1
  37. resets:
  38. maxItems: 1
  39. nvmem-cells:
  40. maxItems: 1
  41. description: Calibration data for thermal sensors
  42. nvmem-cell-names:
  43. const: calibration
  44. allwinner,sram:
  45. maxItems: 1
  46. description: phandle to device controlling temperate offset SYS_CFG register
  47. "#thermal-sensor-cells":
  48. enum:
  49. - 0
  50. - 1
  51. allOf:
  52. - if:
  53. properties:
  54. compatible:
  55. contains:
  56. enum:
  57. - allwinner,sun20i-d1-ths
  58. - allwinner,sun50i-a100-ths
  59. - allwinner,sun50i-h6-ths
  60. - allwinner,sun50i-h616-ths
  61. then:
  62. properties:
  63. clocks:
  64. maxItems: 1
  65. clock-names:
  66. maxItems: 1
  67. else:
  68. properties:
  69. clocks:
  70. minItems: 2
  71. clock-names:
  72. minItems: 2
  73. - if:
  74. not:
  75. properties:
  76. compatible:
  77. contains:
  78. const: allwinner,sun50i-h616-ths
  79. then:
  80. properties:
  81. allwinner,sram: false
  82. - if:
  83. properties:
  84. compatible:
  85. contains:
  86. enum:
  87. - allwinner,sun8i-h3-ths
  88. - allwinner,sun20i-d1-ths
  89. then:
  90. properties:
  91. "#thermal-sensor-cells":
  92. const: 0
  93. else:
  94. properties:
  95. "#thermal-sensor-cells":
  96. const: 1
  97. - if:
  98. not:
  99. properties:
  100. compatible:
  101. contains:
  102. enum:
  103. - allwinner,sun8i-a83t-ths
  104. then:
  105. required:
  106. - clocks
  107. - clock-names
  108. - resets
  109. required:
  110. - compatible
  111. - reg
  112. - interrupts
  113. unevaluatedProperties: false
  114. examples:
  115. - |
  116. thermal-sensor@1f04000 {
  117. compatible = "allwinner,sun8i-a83t-ths";
  118. reg = <0x01f04000 0x100>;
  119. interrupts = <0 31 0>;
  120. nvmem-cells = <&ths_calibration>;
  121. nvmem-cell-names = "calibration";
  122. #thermal-sensor-cells = <1>;
  123. };
  124. - |
  125. thermal-sensor@1c25000 {
  126. compatible = "allwinner,sun8i-h3-ths";
  127. reg = <0x01c25000 0x400>;
  128. clocks = <&ccu 0>, <&ccu 1>;
  129. clock-names = "bus", "mod";
  130. resets = <&ccu 2>;
  131. interrupts = <0 31 0>;
  132. nvmem-cells = <&ths_calibration>;
  133. nvmem-cell-names = "calibration";
  134. #thermal-sensor-cells = <0>;
  135. };
  136. - |
  137. thermal-sensor@5070400 {
  138. compatible = "allwinner,sun50i-h6-ths";
  139. reg = <0x05070400 0x100>;
  140. clocks = <&ccu 0>;
  141. clock-names = "bus";
  142. resets = <&ccu 2>;
  143. interrupts = <0 15 0>;
  144. nvmem-cells = <&ths_calibration>;
  145. nvmem-cell-names = "calibration";
  146. #thermal-sensor-cells = <1>;
  147. };
  148. ...