[PATCH] dts: arm64: mediatek: thermal adjustments for MT8186, MT8188 and MT8195
Nicolas Pitre
npitre at baylibre.com
Fri Apr 18 16:57:25 PDT 2025
Adjust temperature threshold values. Provide the "switch on" thermal
trip point to be used by the power allocator governor.
All numbers were provided by Mediatek.
Signed-off-by: Nicolas Pitre <npitre at baylibre.com>
diff --git a/arch/arm64/boot/dts/mediatek/mt8186.dtsi b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
index b91f88ffae..bfea811491 100644
--- a/arch/arm64/boot/dts/mediatek/mt8186.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8186.dtsi
@@ -2229,22 +2229,23 @@ cpu-little0-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts MT8186_LITTLE_CPU0>;
+ sustainable-power = <1500>;
trips {
- cpu_little0_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little0_pa_switch_on: trip_pa_switch_on {
+ temperature = <58000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little0_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little0_alert0: trip-alert {
+ temperature = <82000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little0_crit: trip-crit {
- temperature = <100000>;
+ temperature = <103000>;
hysteresis = <0>;
type = "critical";
};
@@ -2267,22 +2268,23 @@ cpu-little1-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts MT8186_LITTLE_CPU1>;
+ sustainable-power = <1500>;
trips {
- cpu_little1_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little1_pa_switch_on: trip_pa_switch_on {
+ temperature = <58000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little1_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little1_alert0: trip-alert {
+ temperature = <82000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little1_crit: trip-crit {
- temperature = <100000>;
+ temperature = <103000>;
hysteresis = <0>;
type = "critical";
};
@@ -2305,22 +2307,23 @@ cpu-little2-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts MT8186_LITTLE_CPU2>;
+ sustainable-power = <1500>;
trips {
- cpu_little2_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little2_pa_switch_on: trip_pa_switch_on {
+ temperature = <58000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little2_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little2_alert0: trip-alert {
+ temperature = <82000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little2_crit: trip-crit {
- temperature = <100000>;
+ temperature = <103000>;
hysteresis = <0>;
type = "critical";
};
@@ -2454,22 +2457,23 @@ cpu-big0-thermal {
polling-delay = <1000>;
polling-delay-passive = <100>;
thermal-sensors = <&lvts MT8186_BIG_CPU0>;
+ sustainable-power = <1500>;
trips {
- cpu_big0_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_big0_pa_switch_on: trip_pa_switch_on {
+ temperature = <58000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_big0_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_big0_alert0: trip-alert {
+ temperature = <82000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_big0_crit: trip-crit {
- temperature = <100000>;
+ temperature = <103000>;
hysteresis = <0>;
type = "critical";
};
@@ -2488,22 +2492,23 @@ cpu-big1-thermal {
polling-delay = <1000>;
polling-delay-passive = <100>;
thermal-sensors = <&lvts MT8186_BIG_CPU1>;
+ sustainable-power = <1500>;
trips {
- cpu_big1_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_big1_pa_switch_on: trip_pa_switch_on {
+ temperature = <58000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_big1_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_big1_alert0: trip-alert {
+ temperature = <82000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_big1_crit: trip-crit {
- temperature = <100000>;
+ temperature = <103000>;
hysteresis = <0>;
type = "critical";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
index 69a8423d38..c2ac47c77c 100644
--- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
@@ -472,22 +472,23 @@ cpu-little0-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU0>;
+ sustainable-power = <1500>;
trips {
- cpu_little0_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little0_pa_switch_on: trip-pa-switch_on {
+ temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little0_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little0_alert0: trip-alert {
+ temperature = <85000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little0_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
@@ -510,22 +511,23 @@ cpu-little1-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU1>;
+ sustainable-power = <1500>;
trips {
- cpu_little1_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little1_pa_switch_on: trip-pa-switch_on {
+ temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little1_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little1_alert0: trip-alert {
+ temperature = <85000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little1_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
@@ -548,22 +550,23 @@ cpu-little2-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU2>;
+ sustainable-power = <1500>;
trips {
- cpu_little2_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little2_pa_switch_on: trip-pa-switch_on {
+ temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little2_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little2_alert0: trip-alert {
+ temperature = <85000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little2_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
@@ -586,22 +589,23 @@ cpu-little3-thermal {
polling-delay = <1000>;
polling-delay-passive = <150>;
thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU3>;
+ sustainable-power = <1500>;
trips {
- cpu_little3_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_little3_pa_switch_on: trip-pa-switch_on {
+ temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_little3_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_little3_alert0: trip-alert {
+ temperature = <85000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_little3_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
@@ -624,22 +628,23 @@ cpu-big0-thermal {
polling-delay = <1000>;
polling-delay-passive = <100>;
thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU0>;
+ sustainable-power = <1500>;
trips {
- cpu_big0_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_big0_pa_switch_on: trip-pa-switch_on {
+ temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_big0_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_big0_alert0: trip-alert {
+ temperature = <85000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_big0_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
@@ -658,22 +663,23 @@ cpu-big1-thermal {
polling-delay = <1000>;
polling-delay-passive = <100>;
thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU1>;
+ sustainable-power = <1500>;
trips {
- cpu_big1_alert0: trip-alert0 {
- temperature = <85000>;
+ cpu_big1_pa_switch_on: trip-pa-switch_on {
+ temperature = <68000>;
hysteresis = <2000>;
type = "passive";
};
- cpu_big1_alert1: trip-alert1 {
- temperature = <95000>;
+ cpu_big1_alert0: trip-alert {
+ temperature = <85000>;
hysteresis = <2000>;
- type = "hot";
+ type = "passive";
};
cpu_big1_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <0>;
type = "critical";
};
diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
index 4f2dc0a755..06631760c2 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
@@ -3729,16 +3729,23 @@ cpu0-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU0>;
+ sustainable-power = <1500>;
trips {
+ cpu0_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu0_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu0_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3759,16 +3766,23 @@ cpu1-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU1>;
+ sustainable-power = <1500>;
trips {
+ cpu1_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu1_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu1_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3789,16 +3803,23 @@ cpu2-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU2>;
+ sustainable-power = <1500>;
trips {
+ cpu2_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu2_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu2_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3819,16 +3840,23 @@ cpu3-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_LITTLE_CPU3>;
+ sustainable-power = <1500>;
trips {
+ cpu3_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu3_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu3_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3849,16 +3877,23 @@ cpu4-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU0>;
+ sustainable-power = <1500>;
trips {
+ cpu4_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu4_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu4_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3879,16 +3914,23 @@ cpu5-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU1>;
+ sustainable-power = <1500>;
trips {
+ cpu5_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu5_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu5_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3909,16 +3951,23 @@ cpu6-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU2>;
+ sustainable-power = <1500>;
trips {
+ cpu6_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu6_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu6_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
@@ -3939,16 +3988,23 @@ cpu7-thermal {
polling-delay = <1000>;
polling-delay-passive = <250>;
thermal-sensors = <&lvts_mcu MT8195_MCU_BIG_CPU3>;
+ sustainable-power = <1500>;
trips {
+ cpu7_pa_switch_on: trip_pa_switch_on {
+ temperature = <68000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
cpu7_alert: trip-alert {
- temperature = <85000>;
+ temperature = <90000>;
hysteresis = <2000>;
type = "passive";
};
cpu7_crit: trip-crit {
- temperature = <100000>;
+ temperature = <115000>;
hysteresis = <2000>;
type = "critical";
};
More information about the Linux-mediatek
mailing list