Files
x1e-nixos/kernel/dtb-overlays/surface-laptop-7-thermal.dts
T
2026-04-10 15:45:53 +04:00

245 lines
4.9 KiB
Devicetree

// SPDX-License-Identifier: GPL-2.0-only
/*
* Surface Laptop 7 CPU thermal throttling overlay. Adds #cooling-cells
* to CPU nodes and passive trip points at 85 °C (5 °C hysteresis) so
* cpufreq cooling is registered and step_wise throttling kicks in.
*/
/dts-v1/;
/plugin/;
#define THERMAL_NO_LIMIT 0xffffffff
/ {
compatible = "microsoft,romulus13", "microsoft,romulus15", "qcom,x1e80100";
};
&cpu0 { #cooling-cells = <2>; };
&cpu1 { #cooling-cells = <2>; };
&cpu2 { #cooling-cells = <2>; };
&cpu3 { #cooling-cells = <2>; };
&cpu4 { #cooling-cells = <2>; };
&cpu5 { #cooling-cells = <2>; };
&cpu6 { #cooling-cells = <2>; };
&cpu7 { #cooling-cells = <2>; };
&cpu8 { #cooling-cells = <2>; };
&cpu9 { #cooling-cells = <2>; };
&cpu10 { #cooling-cells = <2>; };
&cpu11 { #cooling-cells = <2>; };
&{/thermal-zones/cpu0-0-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu0_0_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu0_0_passive>;
cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu0-1-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu0_1_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu0_1_passive>;
cooling-device = <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu0-2-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu0_2_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu0_2_passive>;
cooling-device = <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu0-3-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu0_3_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu0_3_passive>;
cooling-device = <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu1-0-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu1_0_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu1_0_passive>;
cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu1-1-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu1_1_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu1_1_passive>;
cooling-device = <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu1-2-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu1_2_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu1_2_passive>;
cooling-device = <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu1-3-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu1_3_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu1_3_passive>;
cooling-device = <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu2-0-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu2_0_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu2_0_passive>;
cooling-device = <&cpu8 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu2-1-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu2_1_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu2_1_passive>;
cooling-device = <&cpu9 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu2-2-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu2_2_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu2_2_passive>;
cooling-device = <&cpu10 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&{/thermal-zones/cpu2-3-top-thermal} {
polling-delay-passive = <250>;
polling-delay = <1000>;
trips {
cpu2_3_passive: trip-passive {
temperature = <85000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu2_3_passive>;
cooling-device = <&cpu11 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};