Re: [PATCH] arm64: dts: st: add thermal zones on stm32mp251
From: Patrick DELAUNAY
Date: Wed Oct 07 2026 - 05:57:44 EST
Hi,
in rules established by STMicroelectronics:
-Tcritical = Tj - (sensor tolerance). With Tj the function temperature.
-Tlimitation = 90% of Tcritical.
On STM32MP25, Tj=125C even if the overdrive is used. So we have:
- STM32MP2xxA/C/D/F, Tcritical = 125-3 = 122C
- STM32MP2xxA/C/D/F, Tlimitation = 110C
So critical value need to be adjusted to
temperature = <122000>;
hysteresis = <1000>;
On 10/4/26 14:12, Mateusz Nowicki wrote:
Add a CPU and a SoC thermal zone for the two DTS sensors, each with apolling-delay-passive = <250>;
critical trip point at 120 degrees Celsius, below the 125 degrees
Celsius max junction temperature of the STM32MP25.
Signed-off-by: Mateusz Nowicki <mateusz.nowicki@xxxxxxxxxx>
---
arch/arm64/boot/dts/st/stm32mp251.dtsi | 28 ++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/arch/arm64/boot/dts/st/stm32mp251.dtsi b/arch/arm64/boot/dts/st/stm32mp251.dtsi
index b624f998b87c..fd174c88b26d 100644
--- a/arch/arm64/boot/dts/st/stm32mp251.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp251.dtsi
@@ -158,6 +158,34 @@ RET_PD: power-domain-retention {
};
};
+ thermal-zones {
+ cpu-thermal {
because the DTS sensors have no interrupts support
+ polling-delay = <1000>;
+ thermal-sensors = <&dts 1>;
+
+ trips {
+ cpu-crit {
+ temperature = <120000>;
+ hysteresis = <2000>;
temperature = <122000>;
hysteresis = <1000>;
+ type = "critical";polling-delay-passive = <250>;
+ };
+ };
+ };
+
+ soc-thermal {
+ polling-delay = <1000>;
+ thermal-sensors = <&dts 0>;
+
+ trips {
+ soc-crit {
+ temperature = <120000>;
+ hysteresis = <2000>;
temperature = <122000>;
hysteresis = <1000>;
+ type = "critical";
+ };
+ };
+ };
+ };
+
timer {
compatible = "arm,armv8-timer";
interrupt-parent = <&intc>;
base-commit: f831584128ac2a36fb4fa62fe106793d08c2dbf1
Regards
Patrick