GNU Linux-libre 4.14.254-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 - interrupts : IRQ for the temperature alarm
12 - #thermal-sensor-cells : Should be 0. See ./thermal.txt for details.
13
14 Optional properties:
15 - socionext,tmod-calibration: A pair of calibrated values referred from PVT,
16                               in case that the values aren't set on SoC,
17                               like a reference board.
18
19 Example:
20
21         sysctrl@61840000 {
22                 compatible = "socionext,uniphier-ld20-sysctrl",
23                              "simple-mfd", "syscon";
24                 reg = <0x61840000 0x10000>;
25                 ...
26                 pvtctl: pvtctl {
27                         compatible = "socionext,uniphier-ld20-thermal";
28                         interrupts = <0 3 1>;
29                         #thermal-sensor-cells = <0>;
30                 };
31                 ...
32         };
33
34         thermal-zones {
35                 cpu_thermal {
36                         polling-delay-passive = <250>;  /* 250ms */
37                         polling-delay = <1000>;         /* 1000ms */
38                         thermal-sensors = <&pvtctl>;
39
40                         trips {
41                                 cpu_crit: cpu_crit {
42                                         temperature = <110000>; /* 110C */
43                                         hysteresis = <2000>;
44                                         type = "critical";
45                                 };
46                                 cpu_alert: cpu_alert {
47                                         temperature = <100000>; /* 100C */
48                                         hysteresis = <2000>;
49                                         type = "passive";
50                                 };
51                         };
52
53                         cooling-maps {
54                                 map0 {
55                                         trip = <&cpu_alert>;
56                                         cooling-device = <&cpu0 (-1) (-1)>;
57                                 };
58                                 map1 {
59                                         trip = <&cpu_alert>;
60                                         cooling-device = <&cpu2 (-1) (-1)>;
61                                 };
62                         };
63                 };
64         };