diff --git a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts
index cfdb4d6b4b70257e2a2a86292a45a7e4f1b772ab..6be2590a0cda2e33d3875b87c7cb1f29e2ffc49a 100644
--- a/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts
+++ b/target/linux/ramips/dts/rt3050_teltonika_rut5xx.dts
@@ -33,6 +33,15 @@
 			linux,code = <KEY_RESTART>;
 		};
 	};
+
+	watchdog {
+		compatible = "linux,wdt-gpio";
+		gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
+		hw_algo = "toggle";
+		/* hw_margin_ms is actually 280s but driver limits it to 60s */
+		hw_margin_ms = <60000>;
+		always-running;
+	};
 };
 
 &spi0 {
diff --git a/target/linux/ramips/image/rt305x.mk b/target/linux/ramips/image/rt305x.mk
index e817c12e7669d4b769c8745194f09a755f2e1fb2..d8ea1d567367c71883f29651451a33eda96fd626 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -990,7 +990,6 @@ define Device/teltonika_rut5xx
   IMAGE_SIZE := 16064k
   DEVICE_VENDOR := Teltonika
   DEVICE_MODEL := RUT5XX
-  DEVICE_PACKAGES := om-watchdog
   SUPPORTED_DEVICES += rut5xx
 endef
 TARGET_DEVICES += teltonika_rut5xx
diff --git a/target/linux/ramips/rt305x/config-5.10 b/target/linux/ramips/rt305x/config-5.10
index b62c44198891f8f55eb5f9d0425a6fcd7f324fe9..31dbec907e72ff0ef49a7f4be6f5ea369cc5e065 100644
--- a/target/linux/ramips/rt305x/config-5.10
+++ b/target/linux/ramips/rt305x/config-5.10
@@ -60,6 +60,8 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_RALINK=y
+CONFIG_GPIO_WATCHDOG=y
+# CONFIG_GPIO_WATCHDOG_ARCH_INITCALL is not set
 CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y