Parcourir la source

mvebu: split thermal zone for puzzle chassis

Split thermal zone for puzzle chassis. Thermal platform supports only
one sensor per thermal zone.

Signed-off-by: Christian Marangi <[email protected]>
Signed-off-by: Daniel Golle <[email protected]>
Christian Marangi il y a 1 an
Parent
commit
611413cc3f

+ 7 - 50
target/linux/mvebu/files-6.6/arch/arm64/boot/dts/marvell/cn9131-puzzle-m901.dts

@@ -56,57 +56,14 @@
 	};
 
 	thermal-zones {
-		chassis-thermal {
-			polling-delay = <5000>;
-			thermal-sensors = <&puzzle_hwmon 0>, <&puzzle_hwmon 1>;
-
-			trips {
-				chassis_very_hot: trip-point3 {
-					temperature = <55000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-
-				chassis_hot: trip-point2 {
-					temperature = <50000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-
-				chassis_warm: trip-point1 {
-					temperature = <45000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-
-				chassis_cold: trip-point0 {
-					temperature = <40000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-			};
+		chassis0-thermal {
+			thermal-sensors = <&puzzle_hwmon 0>;
+			PUZZLE_FAN_CHASSIS_THERMAL(chassis0, &chassis_fan_group0);
+		};
 
-			cooling-maps {
-				map3 {
-					trip = <&chassis_very_hot>;
-					cooling-device = <&chassis_fan_group0 6 6>;
-				};
-
-				map2 {
-					trip = <&chassis_hot>;
-					cooling-device = <&chassis_fan_group0 3 3>;
-				};
-
-				map1 {
-					trip = <&chassis_warm>;
-					cooling-device = <&chassis_fan_group0 1 1>;
-				};
-
-				map0 {
-					trip = <&chassis_cold>;
-					cooling-device = <&chassis_fan_group0 0 0>;
-				};
-			};
+		chassis1-thermal {
+			thermal-sensors = <&puzzle_hwmon 1>;
+			PUZZLE_FAN_CHASSIS_THERMAL(chassis1, &chassis_fan_group0);
 		};
 
 		cp0-phy0-thermal {

+ 7 - 39
target/linux/mvebu/files-6.6/arch/arm64/boot/dts/marvell/cn9132-puzzle-m902.dts

@@ -101,46 +101,14 @@
 	};
 
 	thermal-zones {
-		chassis-thermal {
-			polling-delay = <5000>;
-			thermal-sensors = <&puzzle_hwmon 0>, <&puzzle_hwmon 1>;
-
-			trips {
-				chassis_very_hot: trip-point2 {
-					temperature = <55000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-
-				chassis_hot: trip-point1 {
-					temperature = <50000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-
-				chassis_warm: trip-point0 {
-					temperature = <45000>;
-					hysteresis = <5000>;
-					type = "active";
-				};
-			};
+		chassis0-thermal {
+			thermal-sensors = <&puzzle_hwmon 0>;
+			PUZZLE_FAN_CHASSIS_THERMAL(chassis0, &chassis_fan_group0);
+		};
 
-			cooling-maps {
-				map2 {
-					trip = <&chassis_very_hot>;
-					cooling-device = <&chassis_fan_group0 6 6>;
-				};
-
-				map1 {
-					trip = <&chassis_hot>;
-					cooling-device = <&chassis_fan_group0 3 3>;
-				};
-
-				map0 {
-					trip = <&chassis_warm>;
-					cooling-device = <&chassis_fan_group0 1 1>;
-				};
-			};
+		chassis1-thermal {
+			thermal-sensors = <&puzzle_hwmon 1>;
+			PUZZLE_FAN_CHASSIS_THERMAL(chassis1, &chassis_fan_group0);
 		};
 
 		cp0-phy0-thermal {

+ 36 - 0
target/linux/mvebu/files-6.6/arch/arm64/boot/dts/marvell/puzzle-thermal.dtsi

@@ -60,3 +60,39 @@
 			cooling-device = <_fan 1 1>;			\
 		};							\
 	}
+
+#define PUZZLE_FAN_CHASSIS_THERMAL(_cname, _fan)			\
+	polling-delay-passive = <0>;					\
+	polling-delay = <5000>;						\
+									\
+	trips {								\
+		_cname##_active_full: trip-point2 {			\
+			temperature = <70000>;				\
+			hysteresis = <3000>;				\
+			type = "active";				\
+		};							\
+		_cname##_active_med: trip-point1 {			\
+			temperature = <62500>;				\
+			hysteresis = <3000>;				\
+			type = "active";				\
+		};							\
+		_cname##_active_min: trip-point0 {			\
+			temperature = <55000>;				\
+			hysteresis = <5000>;				\
+			type = "active";				\
+		};							\
+	};								\
+	cooling-maps {							\
+		map2 {							\
+			trip = <&_cname##_active_full>;			\
+			cooling-device = <_fan 6 6>;			\
+		};							\
+		map1 {							\
+			trip = <&_cname##_active_med>;			\
+			cooling-device = <_fan 3 3>;			\
+		};							\
+		map0 {							\
+			trip = <&_cname##_active_min>;			\
+			cooling-device = <_fan 1 1>;			\
+		};							\
+	}