summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorŁukasz M2023-10-31 15:15:06 +0000
committerDaniel Golle2024-02-27 17:42:30 +0000
commit91ef14a487a51b5f6d20f8f2cc9d1b485535fddc (patch)
treec3a27edbb1c0a2bdaccf7af57b4885100218433a
parent78d493af229c2e20a81f01b1d87685da4a897822 (diff)
downloadopenwrt-91ef14a487a51b5f6d20f8f2cc9d1b485535fddc.tar.gz
mediatek: mt7981: improve fan behaviour
This doubles the number of cooling-levels. In addition the fan is turned on with a low speed at lower temperatures and with a higher speed at higher temperatures. This also attempts to reduce the likelihood of constant start-stop actions. The change only affects the GL.iNet MT3000 and has been tested with it. Signed-off-by: Łukasz M <lukasz1992m@gmail.com> (cherry picked from commit 5a603c7a316c3fb4bae4c7cb5c666232864126f2)
-rw-r--r--target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi52
1 files changed, 32 insertions, 20 deletions
diff --git a/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi b/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi
index 05d4b7d91d..cb161df81e 100644
--- a/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi
+++ b/target/linux/mediatek/files-5.15/arch/arm64/boot/dts/mediatek/mt7981.dtsi
@@ -55,8 +55,8 @@
fan: pwm-fan {
compatible = "pwm-fan";
- /* cooling level (0, 1, 2, 3) : (0% duty, 50% duty, 75% duty, 100% duty) */
- cooling-levels = <0 128 192 255>;
+ /* cooling level (0, 1, 2, 3, 4, 5, 6, 7) : (0%/25%/37.5%/50%/62.5%/75%/87.5%/100% duty) */
+ cooling-levels = <0 63 95 127 159 191 223 255>;
#cooling-cells = <2>;
status = "disabled";
};
@@ -67,55 +67,67 @@
polling-delay = <1000>;
thermal-sensors = <&thermal 0>;
trips {
- cpu_trip_crit: crit {
- temperature = <125000>;
+ cpu_trip_active_highest: active-highest {
+ temperature = <70000>;
hysteresis = <2000>;
- type = "critical";
- };
-
- cpu_trip_hot: hot {
- temperature = <120000>;
- hysteresis = <2000>;
- type = "hot";
+ type = "active";
};
cpu_trip_active_high: active-high {
- temperature = <115000>;
+ temperature = <60000>;
hysteresis = <2000>;
type = "active";
};
cpu_trip_active_med: active-med {
- temperature = <85000>;
+ temperature = <50000>;
hysteresis = <2000>;
type = "active";
};
cpu_trip_active_low: active-low {
- temperature = <60000>;
+ temperature = <45000>;
+ hysteresis = <2000>;
+ type = "active";
+ };
+
+ cpu_trip_active_lowest: active-lowest {
+ temperature = <40000>;
hysteresis = <2000>;
type = "active";
};
};
cooling-maps {
+ cpu-active-highest {
+ /* active: set fan to cooling level 7 */
+ cooling-device = <&fan 7 7>;
+ trip = <&cpu_trip_active_highest>;
+ };
+
cpu-active-high {
- /* active: set fan to cooling level 3 */
- cooling-device = <&fan 3 3>;
+ /* active: set fan to cooling level 5 */
+ cooling-device = <&fan 5 5>;
trip = <&cpu_trip_active_high>;
};
cpu-active-med {
- /* active: set fan to cooling level 2 */
- cooling-device = <&fan 2 2>;
+ /* active: set fan to cooling level 3 */
+ cooling-device = <&fan 3 3>;
trip = <&cpu_trip_active_med>;
};
cpu-active-low {
- /* passive: set fan to cooling level 1 */
- cooling-device = <&fan 1 1>;
+ /* active: set fan to cooling level 2 */
+ cooling-device = <&fan 2 2>;
trip = <&cpu_trip_active_low>;
};
+
+ cpu-active-lowest {
+ /* active: set fan to cooling level 1 */
+ cooling-device = <&fan 1 1>;
+ trip = <&cpu_trip_active_lowest>;
+ };
};
};
};