xref: /linux/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
10b28594dSYangtao Li# SPDX-License-Identifier: GPL-2.0
20b28594dSYangtao Li%YAML 1.2
30b28594dSYangtao Li---
40b28594dSYangtao Li$id: http://devicetree.org/schemas/thermal/allwinner,sun8i-a83t-ths.yaml#
50b28594dSYangtao Li$schema: http://devicetree.org/meta-schemas/core.yaml#
60b28594dSYangtao Li
7dd3cb467SAndrew Lunntitle: Allwinner SUN8I Thermal Controller
80b28594dSYangtao Li
90b28594dSYangtao Limaintainers:
100b28594dSYangtao Li  - Vasily Khoruzhick <anarsoul@gmail.com>
110b28594dSYangtao Li  - Yangtao Li <tiny.windzz@gmail.com>
120b28594dSYangtao Li
13*e8eca749SKrzysztof Kozlowski$ref: thermal-sensor.yaml#
14*e8eca749SKrzysztof Kozlowski
150b28594dSYangtao Liproperties:
160b28594dSYangtao Li  compatible:
170b28594dSYangtao Li    enum:
180b28594dSYangtao Li      - allwinner,sun8i-a83t-ths
190b28594dSYangtao Li      - allwinner,sun8i-h3-ths
200b28594dSYangtao Li      - allwinner,sun8i-r40-ths
2120bf6262SMaxim Kiselev      - allwinner,sun20i-d1-ths
220b28594dSYangtao Li      - allwinner,sun50i-a64-ths
23691f189dSYangtao Li      - allwinner,sun50i-a100-ths
240b28594dSYangtao Li      - allwinner,sun50i-h5-ths
250b28594dSYangtao Li      - allwinner,sun50i-h6-ths
26d1dc7ee5SMartin Botka      - allwinner,sun50i-h616-ths
270b28594dSYangtao Li
280b28594dSYangtao Li  clocks:
290b28594dSYangtao Li    minItems: 1
300b28594dSYangtao Li    items:
310b28594dSYangtao Li      - description: Bus Clock
320b28594dSYangtao Li      - description: Module Clock
330b28594dSYangtao Li
340b28594dSYangtao Li  clock-names:
350b28594dSYangtao Li    minItems: 1
360b28594dSYangtao Li    items:
370b28594dSYangtao Li      - const: bus
380b28594dSYangtao Li      - const: mod
390b28594dSYangtao Li
400b28594dSYangtao Li  reg:
410b28594dSYangtao Li    maxItems: 1
420b28594dSYangtao Li
430b28594dSYangtao Li  interrupts:
440b28594dSYangtao Li    maxItems: 1
450b28594dSYangtao Li
460b28594dSYangtao Li  resets:
470b28594dSYangtao Li    maxItems: 1
480b28594dSYangtao Li
490b28594dSYangtao Li  nvmem-cells:
500b28594dSYangtao Li    maxItems: 1
510b28594dSYangtao Li    description: Calibration data for thermal sensors
520b28594dSYangtao Li
530b28594dSYangtao Li  nvmem-cell-names:
540b28594dSYangtao Li    const: calibration
550b28594dSYangtao Li
56d1dc7ee5SMartin Botka  allwinner,sram:
57d1dc7ee5SMartin Botka    maxItems: 1
58d1dc7ee5SMartin Botka    description: phandle to device controlling temperate offset SYS_CFG register
59d1dc7ee5SMartin Botka
600b28594dSYangtao Li  "#thermal-sensor-cells":
610b28594dSYangtao Li    enum:
620b28594dSYangtao Li      - 0
630b28594dSYangtao Li      - 1
640b28594dSYangtao Li
650b28594dSYangtao LiallOf:
660b28594dSYangtao Li  - if:
670b28594dSYangtao Li      properties:
680b28594dSYangtao Li        compatible:
690b28594dSYangtao Li          contains:
70691f189dSYangtao Li            enum:
7120bf6262SMaxim Kiselev              - allwinner,sun20i-d1-ths
72691f189dSYangtao Li              - allwinner,sun50i-a100-ths
73691f189dSYangtao Li              - allwinner,sun50i-h6-ths
74d1dc7ee5SMartin Botka              - allwinner,sun50i-h616-ths
750b28594dSYangtao Li
760b28594dSYangtao Li    then:
770b28594dSYangtao Li      properties:
780b28594dSYangtao Li        clocks:
790b28594dSYangtao Li          maxItems: 1
800b28594dSYangtao Li
810b28594dSYangtao Li        clock-names:
820b28594dSYangtao Li          maxItems: 1
830b28594dSYangtao Li
840b28594dSYangtao Li    else:
850b28594dSYangtao Li      properties:
860b28594dSYangtao Li        clocks:
870b28594dSYangtao Li          minItems: 2
880b28594dSYangtao Li
890b28594dSYangtao Li        clock-names:
900b28594dSYangtao Li          minItems: 2
910b28594dSYangtao Li
920b28594dSYangtao Li  - if:
93d1dc7ee5SMartin Botka      not:
94d1dc7ee5SMartin Botka        properties:
95d1dc7ee5SMartin Botka          compatible:
96d1dc7ee5SMartin Botka            contains:
97d1dc7ee5SMartin Botka              const: allwinner,sun50i-h616-ths
98d1dc7ee5SMartin Botka
99d1dc7ee5SMartin Botka    then:
100d1dc7ee5SMartin Botka      properties:
101d1dc7ee5SMartin Botka        allwinner,sram: false
102d1dc7ee5SMartin Botka
103d1dc7ee5SMartin Botka  - if:
1040b28594dSYangtao Li      properties:
1050b28594dSYangtao Li        compatible:
1060b28594dSYangtao Li          contains:
10720bf6262SMaxim Kiselev            enum:
10820bf6262SMaxim Kiselev              - allwinner,sun8i-h3-ths
10920bf6262SMaxim Kiselev              - allwinner,sun20i-d1-ths
1100b28594dSYangtao Li
1110b28594dSYangtao Li    then:
1120b28594dSYangtao Li      properties:
1130b28594dSYangtao Li        "#thermal-sensor-cells":
1140b28594dSYangtao Li          const: 0
1150b28594dSYangtao Li
1160b28594dSYangtao Li    else:
1170b28594dSYangtao Li      properties:
1180b28594dSYangtao Li        "#thermal-sensor-cells":
1190b28594dSYangtao Li          const: 1
1200b28594dSYangtao Li
1210b28594dSYangtao Li  - if:
122d1dc7ee5SMartin Botka      not:
1230b28594dSYangtao Li        properties:
1240b28594dSYangtao Li          compatible:
1250b28594dSYangtao Li            contains:
1260b28594dSYangtao Li              enum:
127d1dc7ee5SMartin Botka                - allwinner,sun8i-a83t-ths
1280b28594dSYangtao Li
1290b28594dSYangtao Li    then:
1300b28594dSYangtao Li      required:
1310b28594dSYangtao Li        - clocks
1320b28594dSYangtao Li        - clock-names
1330b28594dSYangtao Li        - resets
1340b28594dSYangtao Li
1350b28594dSYangtao Lirequired:
1360b28594dSYangtao Li  - compatible
1370b28594dSYangtao Li  - reg
1380b28594dSYangtao Li  - interrupts
1390b28594dSYangtao Li
140*e8eca749SKrzysztof KozlowskiunevaluatedProperties: false
1410b28594dSYangtao Li
1420b28594dSYangtao Liexamples:
1430b28594dSYangtao Li  - |
1440b28594dSYangtao Li    thermal-sensor@1f04000 {
1450b28594dSYangtao Li         compatible = "allwinner,sun8i-a83t-ths";
1460b28594dSYangtao Li         reg = <0x01f04000 0x100>;
1470b28594dSYangtao Li         interrupts = <0 31 0>;
1480b28594dSYangtao Li         nvmem-cells = <&ths_calibration>;
1490b28594dSYangtao Li         nvmem-cell-names = "calibration";
1500b28594dSYangtao Li         #thermal-sensor-cells = <1>;
1510b28594dSYangtao Li    };
1520b28594dSYangtao Li
1530b28594dSYangtao Li  - |
1540b28594dSYangtao Li    thermal-sensor@1c25000 {
1550b28594dSYangtao Li         compatible = "allwinner,sun8i-h3-ths";
1560b28594dSYangtao Li         reg = <0x01c25000 0x400>;
1570b28594dSYangtao Li         clocks = <&ccu 0>, <&ccu 1>;
1580b28594dSYangtao Li         clock-names = "bus", "mod";
1590b28594dSYangtao Li         resets = <&ccu 2>;
1600b28594dSYangtao Li         interrupts = <0 31 0>;
1610b28594dSYangtao Li         nvmem-cells = <&ths_calibration>;
1620b28594dSYangtao Li         nvmem-cell-names = "calibration";
1630b28594dSYangtao Li         #thermal-sensor-cells = <0>;
1640b28594dSYangtao Li    };
1650b28594dSYangtao Li
1660b28594dSYangtao Li  - |
1670b28594dSYangtao Li    thermal-sensor@5070400 {
1680b28594dSYangtao Li         compatible = "allwinner,sun50i-h6-ths";
1690b28594dSYangtao Li         reg = <0x05070400 0x100>;
1700b28594dSYangtao Li         clocks = <&ccu 0>;
1710b28594dSYangtao Li         clock-names = "bus";
1720b28594dSYangtao Li         resets = <&ccu 2>;
1730b28594dSYangtao Li         interrupts = <0 15 0>;
1740b28594dSYangtao Li         nvmem-cells = <&ths_calibration>;
1750b28594dSYangtao Li         nvmem-cell-names = "calibration";
1760b28594dSYangtao Li         #thermal-sensor-cells = <1>;
1770b28594dSYangtao Li    };
1780b28594dSYangtao Li
1790b28594dSYangtao Li...
180