From: Eric Woudstra <ericwouds@xxxxxxxxx> Cpu-thermal is set to use all frequencies already at 47 degrees. Using the CPU at 50 for a minute, the CPU has reached 48 degrees, is throttled back to lowest setting, making the mt7622 terrribly slow. Even at this low speed, the CPU does not cool down lower then 47 so the CPU is stuck at lowest possible frequency until it shut down and stays off for 15 minutes. cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; This should not be set al every cooling map. It should only be set at the highest cooling map. Same as in the example: https://www.kernel.org/doc/Documentation/devicetree/bindings/ thermal/thermal.txt line 272 But then without the fan and added a third map. Now temperature will be regulated at 87 degrees celcius. At temperatures lower then 87, all frequencies can be used. Also see the post: http://forum.banana-pi.org/t/bpi-r64-only-10-cpu-speed-at-already-48- degrees-celcius-speed-not-increasing-anymore/12262 Signed-off-by: Eric Woudstra <ericwouds@xxxxxxxxx> --- arch/arm64/boot/dts/mediatek/mt7622.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi index 890a942ec..b779c7aa6 100644 --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi @@ -170,14 +170,14 @@ cpu-crit { cooling-maps { map0 { trip = <&cpu_passive>; - cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, - <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + cooling-device = <&cpu0 0 0>, + <&cpu1 0 0>; }; map1 { trip = <&cpu_active>; - cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, - <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + cooling-device = <&cpu0 0 0>, + <&cpu1 0 0>; }; map2 { -- 2.25.1