};
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 {
};
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 {
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>; \
+ }; \
+ }