mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-22 10:01:03 +00:00
mvebu: setup effective thermal zones on Puzzle M901 and M902
Assign fan with 4 active cooling levels to be used for the main CPU as well as external SerDes units. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
ea33a5def5
commit
aa41f4a395
@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "cn9130.dtsi"
|
#include "cn9130.dtsi"
|
||||||
|
#include "puzzle-thermal.dtsi"
|
||||||
|
|
||||||
#include <dt-bindings/gpio/gpio.h>
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
#include <dt-bindings/input/input.h>
|
#include <dt-bindings/input/input.h>
|
||||||
@ -109,26 +110,18 @@
|
|||||||
chassis_fan_group0: fan-group@0 {
|
chassis_fan_group0: fan-group@0 {
|
||||||
#cooling-cells = <2>;
|
#cooling-cells = <2>;
|
||||||
reg = <0x00>;
|
reg = <0x00>;
|
||||||
cooling-levels = <64 102 170 230 250>;
|
cooling-levels = <80 102 170 230 255>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&ap_thermal_cpu1 {
|
&ap_thermal_ic {
|
||||||
trips {
|
PUZZLE_FAN_THERMAL(ic, &chassis_fan_group0);
|
||||||
cpu_active: cpu-active {
|
};
|
||||||
temperature = <44000>;
|
|
||||||
hysteresis = <2000>;
|
&cp0_thermal_ic {
|
||||||
type = "active";
|
PUZZLE_FAN_THERMAL(cp0, &chassis_fan_group0);
|
||||||
};
|
|
||||||
};
|
|
||||||
cooling-maps {
|
|
||||||
fan-map {
|
|
||||||
trip = <&cpu_active>;
|
|
||||||
cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* on-board eMMC - U9 */
|
/* on-board eMMC - U9 */
|
||||||
@ -396,6 +389,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&cp1_thermal_ic {
|
||||||
|
PUZZLE_FAN_THERMAL(cp1, &chassis_fan_group0);
|
||||||
|
};
|
||||||
|
|
||||||
&cp1_usb3_1 {
|
&cp1_usb3_1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
phys = <&cp1_comphy3 1>;
|
phys = <&cp1_comphy3 1>;
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "cn9130.dtsi"
|
#include "cn9130.dtsi"
|
||||||
|
#include "puzzle-thermal.dtsi"
|
||||||
|
|
||||||
#include <dt-bindings/gpio/gpio.h>
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
#include <dt-bindings/input/input.h>
|
#include <dt-bindings/input/input.h>
|
||||||
@ -154,28 +155,21 @@
|
|||||||
chassis_fan_group0: fan-group@0 {
|
chassis_fan_group0: fan-group@0 {
|
||||||
#cooling-cells = <2>;
|
#cooling-cells = <2>;
|
||||||
reg = <0x00>;
|
reg = <0x00>;
|
||||||
cooling-levels = <64 102 170 230 250>;
|
cooling-levels = <80 102 170 230 255>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
&ap_thermal_cpu1 {
|
&ap_thermal_ic {
|
||||||
trips {
|
PUZZLE_FAN_THERMAL(ic, &chassis_fan_group0);
|
||||||
cpu_active: cpu-active {
|
|
||||||
temperature = <44000>;
|
|
||||||
hysteresis = <2000>;
|
|
||||||
type = "active";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
cooling-maps {
|
|
||||||
fan-map {
|
|
||||||
trip = <&cpu_active>;
|
|
||||||
cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&cp0_thermal_ic {
|
||||||
|
PUZZLE_FAN_THERMAL(cp0, &chassis_fan_group0);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/* on-board eMMC - U9 */
|
/* on-board eMMC - U9 */
|
||||||
&ap_sdhci0 {
|
&ap_sdhci0 {
|
||||||
pinctrl-names = "default";
|
pinctrl-names = "default";
|
||||||
@ -447,6 +441,10 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&cp1_thermal_ic {
|
||||||
|
PUZZLE_FAN_THERMAL(cp1, &chassis_fan_group0);
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Instantiate the second connected CP115
|
* Instantiate the second connected CP115
|
||||||
*/
|
*/
|
||||||
@ -562,3 +560,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&cp2_thermal_ic {
|
||||||
|
PUZZLE_FAN_THERMAL(cp2, &chassis_fan_group0);
|
||||||
|
};
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
#define PUZZLE_FAN_THERMAL(_cname, _fan) \
|
||||||
|
trips { \
|
||||||
|
_cname##_active_high: cpu-active-high { \
|
||||||
|
temperature = <80000>; \
|
||||||
|
hysteresis = <2000>; \
|
||||||
|
type = "active"; \
|
||||||
|
}; \
|
||||||
|
_cname##_active_med: cpu-active-med { \
|
||||||
|
temperature = <72000>; \
|
||||||
|
hysteresis = <2000>; \
|
||||||
|
type = "active"; \
|
||||||
|
}; \
|
||||||
|
_cname##_active_low: cpu-active-low { \
|
||||||
|
temperature = <65000>; \
|
||||||
|
hysteresis = <2000>; \
|
||||||
|
type = "active"; \
|
||||||
|
}; \
|
||||||
|
_cname##_active_idle: cpu-active-idle { \
|
||||||
|
temperature = <60000>; \
|
||||||
|
hysteresis = <2000>; \
|
||||||
|
type = "active"; \
|
||||||
|
}; \
|
||||||
|
}; \
|
||||||
|
cooling-maps { \
|
||||||
|
cpu-active-high { \
|
||||||
|
trip = <&_cname##_active_high>; \
|
||||||
|
cooling-device = <_fan 3 THERMAL_NO_LIMIT>; \
|
||||||
|
}; \
|
||||||
|
cpu-active-med { \
|
||||||
|
trip = <&_cname##_active_med>; \
|
||||||
|
cooling-device = <_fan 2 THERMAL_NO_LIMIT>; \
|
||||||
|
}; \
|
||||||
|
cpu-active-low { \
|
||||||
|
trip = <&_cname##_active_low>; \
|
||||||
|
cooling-device = <_fan 1 THERMAL_NO_LIMIT>; \
|
||||||
|
}; \
|
||||||
|
cpu-active-idle { \
|
||||||
|
trip = <&_cname##_active_idle>; \
|
||||||
|
cooling-device = <_fan 0 THERMAL_NO_LIMIT>; \
|
||||||
|
}; \
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user