]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: rockchip: add thermal nodes for RV1108 SoC
authorRocky Hao <rocky.hao@rock-chips.com>
Thu, 24 Aug 2017 10:27:54 +0000 (18:27 +0800)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 17 Oct 2017 18:57:44 +0000 (20:57 +0200)
Add thermal zone and dynamic CPU power coefficients for RV1108

Signed-off-by: Rocky Hao <rocky.hao@rock-chips.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm/boot/dts/rv1108.dtsi

index 658a458a5b387653c745da3d26038fb183d48683..76ea24636feb12026e0708c6c256cf0465722787 100644 (file)
@@ -43,6 +43,7 @@
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/rv1108-cru.h>
 #include <dt-bindings/pinctrl/rockchip.h>
+#include <dt-bindings/thermal/thermal.h>
 / {
        #address-cells = <1>;
        #size-cells = <1>;
@@ -70,6 +71,8 @@
                        compatible = "arm,cortex-a7";
                        reg = <0xf00>;
                        clocks = <&cru ARMCLK>;
+                       #cooling-cells = <2>; /* min followed by max */
+                       dynamic-power-coefficient = <75>;
                        operating-points-v2 = <&cpu_opp_table>;
                };
        };
                status = "disabled";
        };
 
+       thermal-zones {
+               soc_thermal: soc-thermal {
+                       polling-delay-passive = <20>;
+                       polling-delay = <1000>;
+                       sustainable-power = <50>;
+                       thermal-sensors = <&tsadc 0>;
+
+                       trips {
+                               threshold: trip-point0 {
+                                       temperature = <70000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               target: trip-point1 {
+                                       temperature = <85000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                               soc_crit: soc-crit {
+                                       temperature = <95000>;
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&target>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                                       contribution = <4096>;
+                               };
+                       };
+               };
+       };
+
        tsadc: tsadc@10370000 {
                compatible = "rockchip,rv1108-tsadc";
                reg = <0x10370000 0x100>;