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 <ansuelsmth@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Christian Marangi 2024-05-21 17:33:02 +02:00 committed by Daniel Golle
parent e5c7b5ec43
commit 611413cc3f
3 changed files with 50 additions and 89 deletions

View File

@ -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";
chassis0-thermal {
thermal-sensors = <&puzzle_hwmon 0>;
PUZZLE_FAN_CHASSIS_THERMAL(chassis0, &chassis_fan_group0);
};
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";
};
};
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 {

View File

@ -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";
chassis0-thermal {
thermal-sensors = <&puzzle_hwmon 0>;
PUZZLE_FAN_CHASSIS_THERMAL(chassis0, &chassis_fan_group0);
};
chassis_hot: trip-point1 {
temperature = <50000>;
hysteresis = <5000>;
type = "active";
};
chassis_warm: trip-point0 {
temperature = <45000>;
hysteresis = <5000>;
type = "active";
};
};
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 {

View File

@ -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>; \
}; \
}