*/
#include "cn9130.dtsi"
+#include "puzzle-thermal.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
chassis_fan_group0: fan-group@0 {
#cooling-cells = <2>;
reg = <0x00>;
- cooling-levels = <64 102 170 230 250>;
+ cooling-levels = <80 102 170 230 255>;
};
};
};
};
-&ap_thermal_cpu1 {
- trips {
- 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>;
- };
- };
+&ap_thermal_ic {
+ PUZZLE_FAN_THERMAL(ic, &chassis_fan_group0);
+};
+
+&cp0_thermal_ic {
+ PUZZLE_FAN_THERMAL(cp0, &chassis_fan_group0);
};
/* on-board eMMC - U9 */
};
};
+&cp1_thermal_ic {
+ PUZZLE_FAN_THERMAL(cp1, &chassis_fan_group0);
+};
+
&cp1_usb3_1 {
status = "okay";
phys = <&cp1_comphy3 1>;
*/
#include "cn9130.dtsi"
+#include "puzzle-thermal.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
chassis_fan_group0: fan-group@0 {
#cooling-cells = <2>;
reg = <0x00>;
- cooling-levels = <64 102 170 230 250>;
+ cooling-levels = <80 102 170 230 255>;
};
};
};
};
-&ap_thermal_cpu1 {
- trips {
- 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>;
- };
- };
+&ap_thermal_ic {
+ PUZZLE_FAN_THERMAL(ic, &chassis_fan_group0);
+};
+
+&cp0_thermal_ic {
+ PUZZLE_FAN_THERMAL(cp0, &chassis_fan_group0);
};
+
/* on-board eMMC - U9 */
&ap_sdhci0 {
pinctrl-names = "default";
};
};
+&cp1_thermal_ic {
+ PUZZLE_FAN_THERMAL(cp1, &chassis_fan_group0);
+};
+
/*
* Instantiate the second connected CP115
*/
};
};
};
+
+&cp2_thermal_ic {
+ PUZZLE_FAN_THERMAL(cp2, &chassis_fan_group0);
+};
--- /dev/null
+#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>; \
+ }; \
+ }