build/patch/kernel/sunxi-dev/ths-29-add-correct-h5-thermal-zone.patch
Igor Pecovnik 76ac54aae3
sunxi-dev Fix wrong temperature readings
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
2019-07-04 21:41:41 +02:00

88 lines
2 KiB
Diff

diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
index 8da95c0df..70e55fe32 100644
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -1030,28 +1030,74 @@
};
thermal-zones {
- cpu_thermal: cpu-thermal {
- polling-delay-passive = <330>;
+ cpu-thermal {
+ /* milliseconds */
+ polling-delay-passive = <250>;
polling-delay = <1000>;
- thermal-sensors = <&ths 0>;
+ thermal-sensors = <&ths>;
trips {
- cpu_hot_trip: cpu-warm {
- temperature = <65000>;
+ cpu_warm: cpu_warm {
+ temperature = <75000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_very_hot_trip: cpu-very-hot {
+
+ cpu_hot_pre: cpu_hot_pre {
+ temperature = <80000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ cpu_hot: cpu_hot {
+ temperature = <85000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ cpu_very_hot_pre: cpu_very_hot_pre {
temperature = <90000>;
hysteresis = <2000>;
+ type = "passive";
+ };
+
+ cpu_very_hot: cpu_very_hot {
+ temperature = <95000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ cpu_crit: cpu_crit {
+ temperature = <105000>;
+ hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
- cpu-warm-limit {
- trip = <&cpu_hot_trip>;
- cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ cpu_warm_limit_cpu {
+ trip = <&cpu_warm>;
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>;
+ };
+
+ cpu_hot_pre_limit_cpu {
+ trip = <&cpu_hot_pre>;
+ cooling-device = <&cpu0 2 3>;
+ };
+
+ cpu_hot_limit_cpu {
+ trip = <&cpu_hot>;
+ cooling-device = <&cpu0 3 4>;
+ };
+
+ cpu_very_hot_pre_limit_cpu {
+ trip = <&cpu_very_hot_pre>;
+ cooling-device = <&cpu0 5 6>;
+ };
+
+ cpu_very_hot_limit_cpu {
+ trip = <&cpu_very_hot>;
+ cooling-device = <&cpu0 7 THERMAL_NO_LIMIT>;
};
};
};