[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