xref: /linux/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-ths.yaml (revision dd3cb467ebb5659d6552999d6f16a616653f9933)
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
7*dd3cb467SAndrew 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
130b28594dSYangtao Liproperties:
140b28594dSYangtao Li  compatible:
150b28594dSYangtao Li    enum:
160b28594dSYangtao Li      - allwinner,sun8i-a83t-ths
170b28594dSYangtao Li      - allwinner,sun8i-h3-ths
180b28594dSYangtao Li      - allwinner,sun8i-r40-ths
190b28594dSYangtao Li      - allwinner,sun50i-a64-ths
20691f189dSYangtao Li      - allwinner,sun50i-a100-ths
210b28594dSYangtao Li      - allwinner,sun50i-h5-ths
220b28594dSYangtao Li      - allwinner,sun50i-h6-ths
230b28594dSYangtao Li
240b28594dSYangtao Li  clocks:
250b28594dSYangtao Li    minItems: 1
260b28594dSYangtao Li    items:
270b28594dSYangtao Li      - description: Bus Clock
280b28594dSYangtao Li      - description: Module Clock
290b28594dSYangtao Li
300b28594dSYangtao Li  clock-names:
310b28594dSYangtao Li    minItems: 1
320b28594dSYangtao Li    items:
330b28594dSYangtao Li      - const: bus
340b28594dSYangtao Li      - const: mod
350b28594dSYangtao Li
360b28594dSYangtao Li  reg:
370b28594dSYangtao Li    maxItems: 1
380b28594dSYangtao Li
390b28594dSYangtao Li  interrupts:
400b28594dSYangtao Li    maxItems: 1
410b28594dSYangtao Li
420b28594dSYangtao Li  resets:
430b28594dSYangtao Li    maxItems: 1
440b28594dSYangtao Li
450b28594dSYangtao Li  nvmem-cells:
460b28594dSYangtao Li    maxItems: 1
470b28594dSYangtao Li    description: Calibration data for thermal sensors
480b28594dSYangtao Li
490b28594dSYangtao Li  nvmem-cell-names:
500b28594dSYangtao Li    const: calibration
510b28594dSYangtao Li
52cff1d293SAmit Kucheria  # See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for details
530b28594dSYangtao Li  "#thermal-sensor-cells":
540b28594dSYangtao Li    enum:
550b28594dSYangtao Li      - 0
560b28594dSYangtao Li      - 1
570b28594dSYangtao Li
580b28594dSYangtao LiallOf:
590b28594dSYangtao Li  - if:
600b28594dSYangtao Li      properties:
610b28594dSYangtao Li        compatible:
620b28594dSYangtao Li          contains:
63691f189dSYangtao Li            enum:
64691f189dSYangtao Li              - allwinner,sun50i-a100-ths
65691f189dSYangtao Li              - allwinner,sun50i-h6-ths
660b28594dSYangtao Li
670b28594dSYangtao Li    then:
680b28594dSYangtao Li      properties:
690b28594dSYangtao Li        clocks:
700b28594dSYangtao Li          maxItems: 1
710b28594dSYangtao Li
720b28594dSYangtao Li        clock-names:
730b28594dSYangtao Li          maxItems: 1
740b28594dSYangtao Li
750b28594dSYangtao Li    else:
760b28594dSYangtao Li      properties:
770b28594dSYangtao Li        clocks:
780b28594dSYangtao Li          minItems: 2
790b28594dSYangtao Li
800b28594dSYangtao Li        clock-names:
810b28594dSYangtao Li          minItems: 2
820b28594dSYangtao Li
830b28594dSYangtao Li  - if:
840b28594dSYangtao Li      properties:
850b28594dSYangtao Li        compatible:
860b28594dSYangtao Li          contains:
870b28594dSYangtao Li            const: allwinner,sun8i-h3-ths
880b28594dSYangtao Li
890b28594dSYangtao Li    then:
900b28594dSYangtao Li      properties:
910b28594dSYangtao Li        "#thermal-sensor-cells":
920b28594dSYangtao Li          const: 0
930b28594dSYangtao Li
940b28594dSYangtao Li    else:
950b28594dSYangtao Li      properties:
960b28594dSYangtao Li        "#thermal-sensor-cells":
970b28594dSYangtao Li          const: 1
980b28594dSYangtao Li
990b28594dSYangtao Li  - if:
1000b28594dSYangtao Li      properties:
1010b28594dSYangtao Li        compatible:
1020b28594dSYangtao Li          contains:
1030b28594dSYangtao Li            enum:
104ce598680SRob Herring              - allwinner,sun8i-h3-ths
105ce598680SRob Herring              - allwinner,sun8i-r40-ths
106ce598680SRob Herring              - allwinner,sun50i-a64-ths
107ce598680SRob Herring              - allwinner,sun50i-a100-ths
108ce598680SRob Herring              - allwinner,sun50i-h5-ths
109ce598680SRob Herring              - allwinner,sun50i-h6-ths
1100b28594dSYangtao Li
1110b28594dSYangtao Li    then:
1120b28594dSYangtao Li      required:
1130b28594dSYangtao Li        - clocks
1140b28594dSYangtao Li        - clock-names
1150b28594dSYangtao Li        - resets
1160b28594dSYangtao Li
1170b28594dSYangtao Lirequired:
1180b28594dSYangtao Li  - compatible
1190b28594dSYangtao Li  - reg
1200b28594dSYangtao Li  - interrupts
1210b28594dSYangtao Li  - '#thermal-sensor-cells'
1220b28594dSYangtao Li
1230b28594dSYangtao LiadditionalProperties: false
1240b28594dSYangtao Li
1250b28594dSYangtao Liexamples:
1260b28594dSYangtao Li  - |
1270b28594dSYangtao Li    thermal-sensor@1f04000 {
1280b28594dSYangtao Li         compatible = "allwinner,sun8i-a83t-ths";
1290b28594dSYangtao Li         reg = <0x01f04000 0x100>;
1300b28594dSYangtao Li         interrupts = <0 31 0>;
1310b28594dSYangtao Li         nvmem-cells = <&ths_calibration>;
1320b28594dSYangtao Li         nvmem-cell-names = "calibration";
1330b28594dSYangtao Li         #thermal-sensor-cells = <1>;
1340b28594dSYangtao Li    };
1350b28594dSYangtao Li
1360b28594dSYangtao Li  - |
1370b28594dSYangtao Li    thermal-sensor@1c25000 {
1380b28594dSYangtao Li         compatible = "allwinner,sun8i-h3-ths";
1390b28594dSYangtao Li         reg = <0x01c25000 0x400>;
1400b28594dSYangtao Li         clocks = <&ccu 0>, <&ccu 1>;
1410b28594dSYangtao Li         clock-names = "bus", "mod";
1420b28594dSYangtao Li         resets = <&ccu 2>;
1430b28594dSYangtao Li         interrupts = <0 31 0>;
1440b28594dSYangtao Li         nvmem-cells = <&ths_calibration>;
1450b28594dSYangtao Li         nvmem-cell-names = "calibration";
1460b28594dSYangtao Li         #thermal-sensor-cells = <0>;
1470b28594dSYangtao Li    };
1480b28594dSYangtao Li
1490b28594dSYangtao Li  - |
1500b28594dSYangtao Li    thermal-sensor@5070400 {
1510b28594dSYangtao Li         compatible = "allwinner,sun50i-h6-ths";
1520b28594dSYangtao Li         reg = <0x05070400 0x100>;
1530b28594dSYangtao Li         clocks = <&ccu 0>;
1540b28594dSYangtao Li         clock-names = "bus";
1550b28594dSYangtao Li         resets = <&ccu 2>;
1560b28594dSYangtao Li         interrupts = <0 15 0>;
1570b28594dSYangtao Li         nvmem-cells = <&ths_calibration>;
1580b28594dSYangtao Li         nvmem-cell-names = "calibration";
1590b28594dSYangtao Li         #thermal-sensor-cells = <1>;
1600b28594dSYangtao Li    };
1610b28594dSYangtao Li
1620b28594dSYangtao Li...
163