#ifdef CONFIG_HAS_DATAFLASH
 #include <dataflash.h>
 #endif
+#include <watchdog.h>
 
 #if defined(CONFIG_CMD_MEMORY)         \
     || defined(CONFIG_CMD_I2C)         \
                    }
                }
                start[test_offset] = pattern;
+               WATCHDOG_RESET();
 
                /*
                 * Check for addr bits stuck low or shorted.
                 * Fill memory with a known pattern.
                 */
                for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
+                       WATCHDOG_RESET();
                        start[offset] = pattern;
                }
 
                 * Check each location and invert it for the second pass.
                 */
                for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
+                   WATCHDOG_RESET();
                    temp = start[offset];
                    if (temp != pattern) {
                        printf ("\nFAILURE (read/write) @ 0x%.8lx:"
                 * Check each location for the inverted pattern and zero it.
                 */
                for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
+                   WATCHDOG_RESET();
                    anti_pattern = ~pattern;
                    temp = start[offset];
                    if (temp != anti_pattern) {
                        pattern, "");
 
                for (addr=start,val=pattern; addr<end; addr++) {
+                       WATCHDOG_RESET();
                        *addr = val;
                        val  += incr;
                }
                puts ("Reading...");
 
                for (addr=start,val=pattern; addr<end; addr++) {
+                       WATCHDOG_RESET();
                        readback = *addr;
                        if (readback != val) {
                                printf ("\nMem error @ 0x%08X: "