[PATCH v2 2/5] arm: dts: imx: Update watchdog nodes for dynamic base address lookup
alice.guo at oss.nxp.com
alice.guo at oss.nxp.com
Tue Apr 21 16:01:28 CEST 2026
From: Alice Guo <alice.guo at nxp.com>
Update watchdog device tree nodes to enable dynamic base address
retrieval for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95 and
i.MX952. This allows the bootloader to obtain watchdog base addresses
from the device tree instead of using hardcoded values.
- imx7ulp: Add wdog2 node
- imx8ulp: Mark wdog3 available
- imx91/imx93: Add wdog4 and wdog5 nodes
Mark wdog3/wdog4/wdog5 available
- imx943: Add wdog4 node and mark wdog3/wdog4 available
- imx95/imx952: Add wdog4 node and mark wdog3/wdog4 available
Watchdog nodes are marked with "bootph-all" to ensure availability
during early boot stages when init_wdog() occurs.
Signed-off-by: Alice Guo <alice.guo at nxp.com>
---
arch/arm/dts/imx7ulp.dtsi | 6 ++++++
arch/arm/dts/imx8ulp-u-boot.dtsi | 4 ++++
arch/arm/dts/imx91-u-boot.dtsi | 12 ++++++++++++
arch/arm/dts/imx93-u-boot.dtsi | 12 ++++++++++++
arch/arm/dts/imx93.dtsi | 18 ++++++++++++++++++
arch/arm/dts/imx943-u-boot.dtsi | 16 ++++++++++++++++
arch/arm/dts/imx95-u-boot.dtsi | 14 ++++++++++++++
arch/arm/dts/imx952-u-boot.dtsi | 14 ++++++++++++++
8 files changed, 96 insertions(+)
diff --git a/arch/arm/dts/imx7ulp.dtsi b/arch/arm/dts/imx7ulp.dtsi
index bcec98b9641..45a69f06e20 100644
--- a/arch/arm/dts/imx7ulp.dtsi
+++ b/arch/arm/dts/imx7ulp.dtsi
@@ -295,6 +295,12 @@
clock-names = "divcore", "hsrun_divcore";
};
+ wdog2: watchdog at 40430000 {
+ compatible = "fsl,imx7ulp-wdt";
+ reg = <0x40430000 0x10000>;
+ timeout-sec = <40>;
+ };
+
pcc3: clock-controller at 40b30000 {
compatible = "fsl,imx7ulp-pcc3";
reg = <0x40b30000 0x10000>;
diff --git a/arch/arm/dts/imx8ulp-u-boot.dtsi b/arch/arm/dts/imx8ulp-u-boot.dtsi
index 30baaeff8ef..54ecbcf1795 100644
--- a/arch/arm/dts/imx8ulp-u-boot.dtsi
+++ b/arch/arm/dts/imx8ulp-u-boot.dtsi
@@ -61,3 +61,7 @@
};
};
#endif
+
+&wdog3 {
+ bootph-all;
+};
diff --git a/arch/arm/dts/imx91-u-boot.dtsi b/arch/arm/dts/imx91-u-boot.dtsi
index 5b639c965d6..149f7bc685a 100644
--- a/arch/arm/dts/imx91-u-boot.dtsi
+++ b/arch/arm/dts/imx91-u-boot.dtsi
@@ -90,3 +90,15 @@
};
};
};
+
+&wdog3 {
+ bootph-all;
+};
+
+&wdog4 {
+ bootph-all;
+};
+
+&wdog5 {
+ bootph-all;
+};
diff --git a/arch/arm/dts/imx93-u-boot.dtsi b/arch/arm/dts/imx93-u-boot.dtsi
index dc86746ac90..a84cdf2bc45 100644
--- a/arch/arm/dts/imx93-u-boot.dtsi
+++ b/arch/arm/dts/imx93-u-boot.dtsi
@@ -96,3 +96,15 @@
0x000001b2 0x800001b6>;
#thermal-sensor-cells = <1>;
};
+
+&wdog3 {
+ bootph-all;
+};
+
+&wdog4 {
+ bootph-all;
+};
+
+&wdog5 {
+ bootph-all;
+};
diff --git a/arch/arm/dts/imx93.dtsi b/arch/arm/dts/imx93.dtsi
index d6964714ea0..511e9594e37 100644
--- a/arch/arm/dts/imx93.dtsi
+++ b/arch/arm/dts/imx93.dtsi
@@ -414,6 +414,24 @@
timeout-sec = <40>;
};
+ wdog4: watchdog at 424a0000 {
+ compatible = "fsl,imx93-wdt";
+ reg = <0x424a0000 0x10000>;
+ interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_WDOG4_GATE>;
+ timeout-sec = <40>;
+ status = "disabled";
+ };
+
+ wdog5: watchdog at 424b0000 {
+ compatible = "fsl,imx93-wdt";
+ reg = <0x424b0000 0x10000>;
+ interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX93_CLK_WDOG5_GATE>;
+ timeout-sec = <40>;
+ status = "disabled";
+ };
+
tpm3: pwm at 424e0000 {
compatible = "fsl,imx7ulp-pwm";
reg = <0x424e0000 0x1000>;
diff --git a/arch/arm/dts/imx943-u-boot.dtsi b/arch/arm/dts/imx943-u-boot.dtsi
index 3457442a3b0..fca0f10c865 100644
--- a/arch/arm/dts/imx943-u-boot.dtsi
+++ b/arch/arm/dts/imx943-u-boot.dtsi
@@ -159,6 +159,18 @@
};
};
+&aips4 {
+ bootph-all;
+
+ wdog4: watchdog at 49230000 {
+ bootph-all;
+
+ compatible = "fsl,imx94-wdt", "fsl,imx93-wdt";
+ reg = <0x49230000 0x10000>;
+ status = "disabled";
+ };
+};
+
&clk_ext1 {
bootph-all;
};
@@ -460,3 +472,7 @@
&sram0 {
bootph-all;
};
+
+&wdog3 {
+ bootph-all;
+};
diff --git a/arch/arm/dts/imx95-u-boot.dtsi b/arch/arm/dts/imx95-u-boot.dtsi
index 6dec159752b..2fdb7e331b6 100644
--- a/arch/arm/dts/imx95-u-boot.dtsi
+++ b/arch/arm/dts/imx95-u-boot.dtsi
@@ -138,6 +138,16 @@
&aips2 {
bootph-all;
+
+ wdog4: watchdog at 424a0000 {
+ bootph-all;
+
+ compatible = "fsl,imx93-wdt";
+ reg = <0x424a0000 0x10000>;
+ clocks = <&scmi_clk IMX95_CLK_BUSWAKEUP>;
+ timeout-sec = <40>;
+ status = "disabled";
+ };
};
&aips3 {
@@ -238,3 +248,7 @@
&scmi_buf1 {
bootph-all;
};
+
+&wdog3 {
+ bootph-all;
+};
diff --git a/arch/arm/dts/imx952-u-boot.dtsi b/arch/arm/dts/imx952-u-boot.dtsi
index e977014992e..082dab75a18 100644
--- a/arch/arm/dts/imx952-u-boot.dtsi
+++ b/arch/arm/dts/imx952-u-boot.dtsi
@@ -115,6 +115,16 @@
&aips2 {
bootph-all;
+
+ wdog4: watchdog at 420c0000 {
+ bootph-all;
+
+ compatible = "fsl,imx93-wdt";
+ reg = <0x420c0000 0x10000>;
+ clocks = <&scmi_clk IMX952_CLK_BUSWAKEUP>;
+ timeout-sec = <40>;
+ status = "disabled";
+ };
};
&aips3 {
@@ -237,6 +247,10 @@
bootph-pre-ram;
};
+&wdog3 {
+ bootph-all;
+};
+
&scmi_iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
--
2.34.1
More information about the U-Boot
mailing list