OSDN Git Service

arm64: dts: hi3660: Add thermal cooling management
authorTao Wang <jean.wangtao@linaro.org>
Tue, 15 May 2018 02:53:14 +0000 (10:53 +0800)
committerWei Xu <xuwei5@hisilicon.com>
Tue, 15 May 2018 13:52:12 +0000 (14:52 +0100)
Add nodes and properties for thermal cooling management support.

Signed-off-by: Tao Wang <jean.wangtao@linaro.org>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
arch/arm64/boot/dts/hisilicon/hi3660.dtsi

index a39da09..e20edd9 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/hi3660-clock.h>
+#include <dt-bindings/thermal/thermal.h>
 
 / {
        compatible = "hisilicon,hi3660";
@@ -64,6 +65,8 @@
                        capacity-dmips-mhz = <592>;
                        clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER0>;
                        operating-points-v2 = <&cluster0_opp>;
+                       #cooling-cells = <2>;
+                       dynamic-power-coefficient = <110>;
                };
 
                cpu1: cpu@1 {
                        capacity-dmips-mhz = <1024>;
                        clocks = <&stub_clock HI3660_CLK_STUB_CLUSTER1>;
                        operating-points-v2 = <&cluster1_opp>;
+                       #cooling-cells = <2>;
+                       dynamic-power-coefficient = <550>;
                };
 
                cpu5: cpu@101 {
                        interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
                        #thermal-sensor-cells = <1>;
                };
+
+               thermal-zones {
+
+                       cls0: cls0 {
+                               polling-delay = <1000>;
+                               polling-delay-passive = <100>;
+                               sustainable-power = <4500>;
+
+                               /* sensor ID */
+                               thermal-sensors = <&tsensor 1>;
+
+                               trips {
+                                       threshold: trip-point@0 {
+                                               temperature = <65000>;
+                                               hysteresis = <1000>;
+                                               type = "passive";
+                                       };
+
+                                       target: trip-point@1 {
+                                               temperature = <75000>;
+                                               hysteresis = <1000>;
+                                               type = "passive";
+                                       };
+                               };
+
+                               cooling-maps {
+                                       map0 {
+                                               trip = <&target>;
+                                               contribution = <1024>;
+                                               cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                                       };
+                                       map1 {
+                                               trip = <&target>;
+                                               contribution = <512>;
+                                               cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                                       };
+                               };
+                       };
+               };
        };
 };