GNU Linux-libre 4.19.207-gnu1
[releases.git] / Documentation / devicetree / bindings / thermal / uniphier-thermal.txt
1 * UniPhier Thermal bindings
2
3 This describes the devicetree bindings for thermal monitor supported by
4 PVT(Process, Voltage and Temperature) monitoring unit implemented on Socionext
5 UniPhier SoCs.
6
7 Required properties:
8 - compatible :
9   - "socionext,uniphier-pxs2-thermal" : For UniPhier PXs2 SoC
10   - "socionext,uniphier-ld20-thermal" : For UniPhier LD20 SoC
11   - "socionext,uniphier-pxs3-thermal" : For UniPhier PXs3 SoC
12 - interrupts : IRQ for the temperature alarm
13 - #thermal-sensor-cells : Should be 0. See ./thermal.txt for details.
14
15 Optional properties:
16 - socionext,tmod-calibration: A pair of calibrated values referred from PVT,
17                               in case that the values aren't set on SoC,
18                               like a reference board.
19
20 Example:
21
22         sysctrl@61840000 {
23                 compatible = "socionext,uniphier-ld20-sysctrl",
24                              "simple-mfd", "syscon";
25                 reg = <0x61840000 0x10000>;
26                 ...
27                 pvtctl: pvtctl {
28                         compatible = "socionext,uniphier-ld20-thermal";
29                         interrupts = <0 3 1>;
30                         #thermal-sensor-cells = <0>;
31                 };
32                 ...
33         };
34
35         thermal-zones {
36                 cpu_thermal {
37                         polling-delay-passive = <250>;  /* 250ms */
38                         polling-delay = <1000>;         /* 1000ms */
39                         thermal-sensors = <&pvtctl>;
40
41                         trips {
42                                 cpu_crit: cpu_crit {
43                                         temperature = <110000>; /* 110C */
44                                         hysteresis = <2000>;
45                                         type = "critical";
46                                 };
47                                 cpu_alert: cpu_alert {
48                                         temperature = <100000>; /* 100C */
49                                         hysteresis = <2000>;
50                                         type = "passive";
51                                 };
52                         };
53
54                         cooling-maps {
55                                 map0 {
56                                         trip = <&cpu_alert>;
57                                         cooling-device = <&cpu0 (-1) (-1)>;
58                                 };
59                                 map1 {
60                                         trip = <&cpu_alert>;
61                                         cooling-device = <&cpu2 (-1) (-1)>;
62                                 };
63                         };
64                 };
65         };