--- /dev/null
+Atmel AT91RM9200 System Timer Watchdog
+
+Required properties:
+- compatible: must be "atmel,at91sam9260-wdt".
+
+Example:
+       watchdog@fffffd00 {
+               compatible = "atmel,at91rm9200-wdt";
+       };
 
 
 config AT91RM9200_WATCHDOG
        tristate "AT91RM9200 watchdog"
-       depends on ARCH_AT91RM9200
+       depends on ARCH_AT91
        help
          Watchdog timer embedded into AT91RM9200 chips. This will reboot your
          system when the timeout is reached.
 
 #include <linux/types.h>
 #include <linux/watchdog.h>
 #include <linux/uaccess.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
 #include <mach/at91_st.h>
 
 #define WDT_DEFAULT_TIME       5       /* seconds */
 #define at91wdt_resume NULL
 #endif
 
+static const struct of_device_id at91_wdt_dt_ids[] = {
+       { .compatible = "atmel,at91rm9200-wdt" },
+       { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, at91_wdt_dt_ids);
+
 static struct platform_driver at91wdt_driver = {
        .probe          = at91wdt_probe,
        .remove         = at91wdt_remove,
        .driver         = {
                .name   = "at91_wdt",
                .owner  = THIS_MODULE,
+               .of_match_table = of_match_ptr(at91_wdt_dt_ids),
        },
 };