[PATCH] dts: arm64: mediatek: thermal adjustments for MT8186, MT8188 and MT8195
Nicolas Pitre
nico at fluxnic.net
Thu May 15 20:34:49 PDT 2025
Gentle ping.
On Fri, 18 Apr 2025, Nicolas Pitre wrote:
> 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