dt-bindings: thermal: add binding documentation for UniPhier thermal monitor
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Tue, 1 Aug 2017 08:04:50 +0000 (17:04 +0900)
committerZhang Rui <rui.zhang@intel.com>
Fri, 11 Aug 2017 02:49:25 +0000 (10:49 +0800)
Add devicetree binding documentation for thermal monitor implemented on
Socionext UniPhier SoCs.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Documentation/devicetree/bindings/thermal/uniphier-thermal.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/thermal/uniphier-thermal.txt b/Documentation/devicetree/bindings/thermal/uniphier-thermal.txt
new file mode 100644 (file)
index 0000000..686c0b4
--- /dev/null
@@ -0,0 +1,64 @@
+* UniPhier Thermal bindings
+
+This describes the devicetree bindings for thermal monitor supported by
+PVT(Process, Voltage and Temperature) monitoring unit implemented on Socionext
+UniPhier SoCs.
+
+Required properties:
+- compatible :
+  - "socionext,uniphier-pxs2-thermal" : For UniPhier PXs2 SoC
+  - "socionext,uniphier-ld20-thermal" : For UniPhier LD20 SoC
+- interrupts : IRQ for the temperature alarm
+- #thermal-sensor-cells : Should be 0. See ./thermal.txt for details.
+
+Optional properties:
+- socionext,tmod-calibration: A pair of calibrated values referred from PVT,
+                              in case that the values aren't set on SoC,
+                              like a reference board.
+
+Example:
+
+       sysctrl@61840000 {
+               compatible = "socionext,uniphier-ld20-sysctrl",
+                            "simple-mfd", "syscon";
+               reg = <0x61840000 0x10000>;
+               ...
+               pvtctl: pvtctl {
+                       compatible = "socionext,uniphier-ld20-thermal";
+                       interrupts = <0 3 1>;
+                       #thermal-sensor-cells = <0>;
+               };
+               ...
+       };
+
+       thermal-zones {
+               cpu_thermal {
+                       polling-delay-passive = <250>;  /* 250ms */
+                       polling-delay = <1000>;         /* 1000ms */
+                       thermal-sensors = <&pvtctl>;
+
+                       trips {
+                               cpu_crit: cpu_crit {
+                                       temperature = <110000>; /* 110C */
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                               cpu_alert: cpu_alert {
+                                       temperature = <100000>; /* 100C */
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu0 (-1) (-1)>;
+                               };
+                               map1 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu2 (-1) (-1)>;
+                               };
+                       };
+               };
+       };