[openwrt/openwrt] mediatek: mt7981: improve fan behaviour

LEDE Commits lede-commits at lists.infradead.org
Sun Mar 3 06:38:20 PST 2024


dangole pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/91ef14a487a51b5f6d20f8f2cc9d1b485535fddc

commit 91ef14a487a51b5f6d20f8f2cc9d1b485535fddc
Author: Łukasz M <lukasz1992m at gmail.com>
AuthorDate: Tue Oct 31 16:15:06 2023 +0100

    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 at gmail.com>
    (cherry picked from commit 5a603c7a316c3fb4bae4c7cb5c666232864126f2)
---
 .../arch/arm64/boot/dts/mediatek/mt7981.dtsi       | 52 +++++++++++++---------
 1 file 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>;
+				};
 			};
 		};
 	};




More information about the lede-commits mailing list