dt: bindings: add documentation for zx2967 family thermal sensor
authorBaoyou Xie <baoyou.xie@linaro.org>
Tue, 7 Feb 2017 00:56:39 +0000 (08:56 +0800)
committerEduardo Valentin <edubezval@gmail.com>
Wed, 8 Feb 2017 04:42:30 +0000 (20:42 -0800)
This patch adds dt-binding documentation for zx2967 family thermal sensor.

Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Documentation/devicetree/bindings/thermal/zx2967-thermal.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/thermal/zx2967-thermal.txt b/Documentation/devicetree/bindings/thermal/zx2967-thermal.txt
new file mode 100644 (file)
index 0000000..3dc1c6b
--- /dev/null
@@ -0,0 +1,116 @@
+* ZTE zx2967 family Thermal
+
+Required Properties:
+- compatible: should be one of the following.
+    * zte,zx296718-thermal
+- reg: physical base address of the controller and length of memory mapped
+    region.
+- clocks : Pairs of phandle and specifier referencing the controller's clocks.
+- clock-names: "topcrm" for the topcrm clock.
+              "apb" for the apb clock.
+- #thermal-sensor-cells: must be 0.
+
+Please note: slope coefficient defined in thermal-zones section need to be
+multiplied by 1000.
+
+Example for tempsensor:
+
+       tempsensor: tempsensor@148a000 {
+               compatible = "zte,zx296718-thermal";
+               reg = <0x0148a000 0x20>;
+               clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>;
+               clock-names = "topcrm", "apb";
+               #thermal-sensor-cells = <0>;
+       };
+
+Example for cooling device:
+
+       cooling_dev: cooling_dev {
+               cluster0_cooling_dev: cluster0-cooling-dev {
+                       #cooling-cells = <2>;
+                       cpumask = <0xf>;
+                       capacitance = <1500>;
+               };
+
+       cluster1_cooling_dev: cluster1-cooling-dev {
+                       #cooling-cells = <2>;
+                       cpumask = <0x30>;
+                       capacitance = <2000>;
+               };
+       };
+
+Example for thermal zones:
+
+       thermal-zones {
+               zx296718_thermal: zx296718_thermal {
+                       polling-delay-passive = <500>;
+                       polling-delay = <1000>;
+                       sustainable-power = <6500>;
+
+                       thermal-sensors = <&tempsensor 0>;
+                       /*
+                        * slope need to be multiplied by 1000.
+                        */
+                       coefficients = <1951 (-922)>;
+
+                       trips {
+                               trip0: switch_on_temperature {
+                                       temperature = <90000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+
+                               trip1: desired_temperature {
+                                       temperature = <100000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+
+                               crit: critical_temperature {
+                                       temperature = <110000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&trip0>;
+                                       cooling-device = <&gpu 2 5>;
+                               };
+
+                               map1 {
+                                       trip = <&trip0>;
+                                       cooling-device = <&cluster0_cooling_dev 1 2>;
+                               };
+
+                               map2 {
+                                       trip = <&trip1>;
+                                       cooling-device = <&cluster0_cooling_dev 1 2>;
+                               };
+
+                               map3 {
+                                       trip = <&crit>;
+                                       cooling-device = <&cluster0_cooling_dev 1 2>;
+                               };
+
+                               map4 {
+                                       trip = <&trip0>;
+                                       cooling-device = <&cluster1_cooling_dev 1 2>;
+                                       contribution = <9000>;
+                               };
+
+                               map5 {
+                                       trip = <&trip1>;
+                                       cooling-device = <&cluster1_cooling_dev 1 2>;
+                                       contribution = <4096>;
+                               };
+
+                               map6 {
+                                       trip = <&crit>;
+                                       cooling-device = <&cluster1_cooling_dev 1 2>;
+                                       contribution = <4096>;
+                               };
+                       };
+               };
+       };