[PATCH v3 06/13] ARM: dts: stm32: enable iwdg1 on stm32mp15x ST boards
From: Antonio Borneo
Date: Fri Nov 06 2026 - 11:36:44 EST
From: Amelie Delaunay <amelie.delaunay@xxxxxxxxxxx>
On STM32MP15x ST boards where IWDG1 is exposed as a non-secure
watchdog, Linux must register and periodically ping it if it was
started by an earlier boot stage.
Enable the IWDG1 node on ST non-SCMI boards that use this
non-secure watchdog configuration.
With two watchdogs now enabled on ST STM32MP2xx boards, assign the
watchdog0 alias to the IWDG1 watchdog that may have been started
by an earlier boot stage. This allows userspace to identify and
ping the appropriate watchdog.
Signed-off-by: Amelie Delaunay <amelie.delaunay@xxxxxxxxxxx>
Signed-off-by: Antonio Borneo <antonio.borneo@xxxxxxxxxxx>
---
arch/arm/boot/dts/st/stm32mp15-scmi.dtsi | 4 ++++
arch/arm/boot/dts/st/stm32mp157c-ed1.dts | 6 ++++++
arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi | 6 ++++++
3 files changed, 16 insertions(+)
diff --git a/arch/arm/boot/dts/st/stm32mp15-scmi.dtsi b/arch/arm/boot/dts/st/stm32mp15-scmi.dtsi
index 98552fe45d4e0..cc9521b105262 100644
--- a/arch/arm/boot/dts/st/stm32mp15-scmi.dtsi
+++ b/arch/arm/boot/dts/st/stm32mp15-scmi.dtsi
@@ -64,6 +64,10 @@ scmi_usb33: regulator@2 {
};
};
+&iwdg1 {
+ status = "disabled";
+};
+
®11 {
status = "disabled";
};
diff --git a/arch/arm/boot/dts/st/stm32mp157c-ed1.dts b/arch/arm/boot/dts/st/stm32mp157c-ed1.dts
index 49dd555cc228c..6c7dfbee29528 100644
--- a/arch/arm/boot/dts/st/stm32mp157c-ed1.dts
+++ b/arch/arm/boot/dts/st/stm32mp157c-ed1.dts
@@ -19,6 +19,7 @@ / {
aliases {
serial0 = &uart4;
+ watchdog0 = &iwdg1;
};
chosen {
@@ -331,6 +332,11 @@ &ipcc {
status = "okay";
};
+&iwdg1 {
+ timeout-sec = <32>;
+ status = "okay";
+};
+
&iwdg2 {
timeout-sec = <32>;
status = "okay";
diff --git a/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi b/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
index 1a07ae09afb2a..9722e2ab07794 100644
--- a/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
+++ b/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
@@ -13,6 +13,7 @@ aliases {
serial0 = &uart4;
serial1 = &usart3;
serial2 = &uart7;
+ watchdog0 = &iwdg1;
};
memory@c0000000 {
@@ -511,6 +512,11 @@ &ipcc {
status = "okay";
};
+&iwdg1 {
+ timeout-sec = <32>;
+ status = "okay";
+};
+
&iwdg2 {
timeout-sec = <32>;
status = "okay";
--
2.34.1