#define CFG_INIT_SP_OFFSET    CFG_GBL_DATA_OFFSET
  #define CFG_POST_ALT_WORD_ADDR        (CFG_PERIPHERAL_BASE + GPT0_COMP6)
                                                /* unused GPT0 COMP reg */
 +#define CFG_MEM_TOP_HIDE      (4 << 10) /* don't use last 4kbytes     */
 +                                      /* 440EPx errata CHIP 11        */
 +
 +/* Additional registers for watchdog timer post test */
 +
 +#define CFG_DSPIC_TEST_ADDR   (CFG_PERIPHERAL_BASE + GPT0_COMP5)
 +#define CFG_WATCHDOG_TIME_ADDR        (CFG_PERIPHERAL_BASE + GPT0_COMP4)
 +#define CFG_WATCHDOG_FLAGS_ADDR       (CFG_PERIPHERAL_BASE + GPT0_COMP5)
 +#define CFG_WATCHDOG_MAGIC    0x12480000
 +#define CFG_WATCHDOG_MAGIC_MASK       0xFFFF0000
 +#define CFG_DSPIC_TEST_MASK   0x00000001
  
+ /* Additional registers for watchdog timer post test */
+ 
+ #define CFG_DSPIC_TEST_ADDR   (CFG_PERIPHERAL_BASE + GPT0_COMP5)
+ #define CFG_WATCHDOG_TIME_ADDR        (CFG_PERIPHERAL_BASE + GPT0_COMP4)
+ #define CFG_WATCHDOG_FLAGS_ADDR       (CFG_PERIPHERAL_BASE + GPT0_COMP5)
+ #define CFG_WATCHDOG_MAGIC    0x12480000
+ #define CFG_WATCHDOG_MAGIC_MASK       0xFFFF0000
+ #define CFG_DSPIC_TEST_MASK   0x00000001
+ 
  /*-----------------------------------------------------------------------
   * Serial Port
   *----------------------------------------------------------------------*/
 
                /* 3.2.6. Mark test as failed. */
                post_log("hw watchdog time : %u ms, failed ", time);
                return 2;
+       } else {
+               /* 3.3. Scratch register matches magic value 0x1248xxxx
+                * Assume this is watchdog-initiated reset
+                */
+               ulong time;
+               /* 3.3.1. So, the test succeed, save measured time to syslog. */
+               time = in_be32((void *)CFG_WATCHDOG_TIME_ADDR);
+               post_log("hw watchdog time : %u ms, passed ", time);
+               /* 3.3.2. Set scratch register 1 to 0x0000xxxx */
+               watchdog_magic_write(0);
+               return 0;
        }
- 
-       /*
-        * 3.3. Scratch register matches magic value 0x1248xxxx
-        * Assume this is watchdog-initiated reset
-        */
-       /* 3.3.1. So, the test succeed, save measured time to syslog. */
-       time = in_be32((void *)CFG_WATCHDOG_TIME_ADDR);
-       post_log("hw watchdog time : %u ms, passed ", time);
-       /* 3.3.2. Set scratch register 1 to 0x0000xxxx */
-       watchdog_magic_write(0);
- 
-       return 0;
+       return -1;
  }
  
 -
  #endif /* CONFIG_POST & CFG_POST_WATCHDOG */
- #endif /* CONFIG_POST */