Skip to content

Commit

Permalink
mvebu: split thermal zone for puzzle chassis
Browse files Browse the repository at this point in the history
Split thermal zone for puzzle chassis. Thermal platform supports only
one sensor per thermal zone.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  • Loading branch information
Ansuel authored and dangowrt committed Jun 1, 2024
1 parent e5c7b5e commit 611413c
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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>; \
}; \
}

0 comments on commit 611413c

Please sign in to comment.