ARM: dts: sun8i-r40: Add thermal trip points/cooling maps
authorqianfan Zhao <qianfanguijin@163.com>
Tue, 17 May 2022 01:36:07 +0000 (09:36 +0800)
committerJernej Skrabec <jernej.skrabec@gmail.com>
Tue, 5 Jul 2022 19:40:18 +0000 (21:40 +0200)
For the trip points, I used values from the BSP code.

The critical trip point value is 30°C above the maximum recommended
ambient temperature (85°C) for the SoC from the datasheet, so there's
some headroom even at such a high ambient temperature.

Signed-off-by: qianfan Zhao <qianfanguijin@163.com>
Reviewed-by: Samuel Holland <samuel@sholland.org>
Tested-by: Samuel Holland <samuel@sholland.org>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220517013607.2252-4-qianfanguijin@163.com
arch/arm/boot/dts/sun8i-r40.dtsi

index 88baaf6..4ef26d8 100644 (file)
@@ -87,6 +87,7 @@
                        reg = <0>;
                        clocks = <&ccu CLK_CPU>;
                        clock-names = "cpu";
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -95,6 +96,7 @@
                        reg = <1>;
                        clocks = <&ccu CLK_CPU>;
                        clock-names = "cpu";
+                       #cooling-cells = <2>;
                };
 
                cpu2: cpu@2 {
                        reg = <2>;
                        clocks = <&ccu CLK_CPU>;
                        clock-names = "cpu";
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@3 {
                        reg = <3>;
                        clocks = <&ccu CLK_CPU>;
                        clock-names = "cpu";
+                       #cooling-cells = <2>;
                };
        };
 
                        polling-delay-passive = <0>;
                        polling-delay = <0>;
                        thermal-sensors = <&ths 0>;
+
+                       trips {
+                               cpu_hot_trip: cpu-hot {
+                                       temperature = <80000>;
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+
+                               cpu_very_hot_trip: cpu-very-hot {
+                                       temperature = <115000>;
+                                       hysteresis = <0>;
+                                       type = "critical";
+                               };
+                       };
+
+                       cooling-maps {
+                               cpu-hot-limit {
+                                       trip = <&cpu_hot_trip>;
+                                       cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
+                                                        <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
                };
 
                gpu_thermal: gpu-thermal {