dts: nrf: Expand nRF DTS to support watchdog

Commit introduces support for watchdog configuration for Nordic
Semiconductor nRF SoCs in device tree.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
diff --git a/arch/arm/soc/nordic_nrf/nrf51/dts.fixup b/arch/arm/soc/nordic_nrf/nrf51/dts.fixup
index 5de0687..8a6df41 100644
--- a/arch/arm/soc/nordic_nrf/nrf51/dts.fixup
+++ b/arch/arm/soc/nordic_nrf/nrf51/dts.fixup
@@ -19,4 +19,8 @@
 #define CONFIG_I2C_1_IRQ_PRI		NORDIC_NRF5_I2C_40004000_IRQ_0_PRIORITY
 #define CONFIG_I2C_1_IRQ		NORDIC_NRF5_I2C_40004000_IRQ_0
 
+#define CONFIG_WDT_0_NAME		NORDIC_NRF_WATCHDOG_40010000_LABEL
+#define CONFIG_WDT_NRF_IRQ		NORDIC_NRF_WATCHDOG_40010000_IRQ_WDT
+#define CONFIG_WDT_NRF_IRQ_PRI		NORDIC_NRF_WATCHDOG_40010000_IRQ_WDT_PRIORITY
+
 /* End of SoC Level DTS fixup file */
diff --git a/arch/arm/soc/nordic_nrf/nrf52/dts.fixup b/arch/arm/soc/nordic_nrf/nrf52/dts.fixup
index 8a594b6..aaece83 100644
--- a/arch/arm/soc/nordic_nrf/nrf52/dts.fixup
+++ b/arch/arm/soc/nordic_nrf/nrf52/dts.fixup
@@ -28,4 +28,8 @@
 #define CONFIG_USBD_NRF5_NUM_ISOOUT_EP	NORDIC_NRF_USBD_0X40027000_NUM_ISOOUT_ENDPOINTS
 #define CONFIG_USBD_NRF5_NAME		NORDIC_NRF_USBD_0X40027000_LABEL
 
+#define CONFIG_WDT_0_NAME		NORDIC_NRF_WATCHDOG_40010000_LABEL
+#define CONFIG_WDT_NRF_IRQ		NORDIC_NRF_WATCHDOG_40010000_IRQ_WDT
+#define CONFIG_WDT_NRF_IRQ_PRI		NORDIC_NRF_WATCHDOG_40010000_IRQ_WDT_PRIORITY
+
 /* End of SoC Level DTS fixup file */
diff --git a/dts/Kconfig b/dts/Kconfig
index 80127c4..8f5dd2e 100644
--- a/dts/Kconfig
+++ b/dts/Kconfig
@@ -74,3 +74,11 @@
 	help
 	  This option specifies that the target platform supports device tree
 	  configuration for USB.
+
+config HAS_DTS_WDT
+	bool
+	default n
+	depends on HAS_DTS
+	help
+	  This option specifies that the target platform supports device tree
+	  configuration for WDT.
diff --git a/dts/arm/nordic/nrf51822.dtsi b/dts/arm/nordic/nrf51822.dtsi
index a9fcafc..b0fc0a1 100644
--- a/dts/arm/nordic/nrf51822.dtsi
+++ b/dts/arm/nordic/nrf51822.dtsi
@@ -67,6 +67,14 @@
 			status = "disabled";
 			label = "I2C_1";
 		};
+
+		wdt: watchdog@40010000 {
+			compatible = "nordic,nrf-watchdog";
+			reg = <0x40010000 0x1000>;
+			interrupts = <16 1>;
+			interrupt-names = "wdt";
+			label = "WDT";
+		};
 	};
 };
 
diff --git a/dts/arm/nordic/nrf52832.dtsi b/dts/arm/nordic/nrf52832.dtsi
index bd4a70e..ba8a677 100644
--- a/dts/arm/nordic/nrf52832.dtsi
+++ b/dts/arm/nordic/nrf52832.dtsi
@@ -67,6 +67,14 @@
 			status = "disabled";
 			label = "I2C_1";
 		};
+
+		wdt: watchdog@40010000 {
+			compatible = "nordic,nrf-watchdog";
+			reg = <0x40010000 0x1000>;
+			interrupts = <16 1>;
+			interrupt-names = "wdt";
+			label = "WDT";
+		};
 	};
 };
 
diff --git a/dts/arm/nordic/nrf52840.dtsi b/dts/arm/nordic/nrf52840.dtsi
index 7ba4e80..7ed81ce 100644
--- a/dts/arm/nordic/nrf52840.dtsi
+++ b/dts/arm/nordic/nrf52840.dtsi
@@ -89,6 +89,14 @@
 			status = "disabled";
 			label = "USBD";
 		};
+
+		wdt: watchdog@40010000 {
+			compatible = "nordic,nrf-watchdog";
+			reg = <0x40010000 0x1000>;
+			interrupts = <16 1>;
+			interrupt-names = "wdt";
+			label = "WDT";
+		};
 	};
 };
 
diff --git a/dts/bindings/watchdog/nordic,nrf-watchdog.yaml b/dts/bindings/watchdog/nordic,nrf-watchdog.yaml
new file mode 100644
index 0000000..ebfabe9
--- /dev/null
+++ b/dts/bindings/watchdog/nordic,nrf-watchdog.yaml
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2018, Nordic Semiconductor ASA
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+---
+title: Nordic Semiconductor NRF watchdog driver
+id: nordic,nrf-watchdog
+version: 0.1
+
+description: >
+    This is a representation of the NRF watchdog
+
+properties:
+    compatible:
+      type: string
+      category: required
+      description: compatible strings
+      constraint: "nordic,nrf-watchdog"
+
+    reg:
+      type: int
+      description: mmio register space
+      generation: define
+      category: required
+
+    label:
+      type: string
+      category: required
+      description: Human readable string describing the device (used by Zephyr for API name)
+      generation: define
+
+    interrupts:
+      type: array
+      category: required
+      description: required interrupts
+      generation: define
+
+    interrupt-names:
+      type: stringlist
+      category: optional
+      description: readable string describing the interrupts
+      generation: define