diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi index d1890797c..6cb02c962 100644 --- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi +++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi @@ -1045,28 +1045,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>; }; }; };