Skip to content
Snippets Groups Projects
Commit a6e6fc61 authored by Sergei Poselenov's avatar Sergei Poselenov Committed by Wolfgang Denk
Browse files

Added watchdog triggering calls in the "mtest" test function.

parent d32a874b
No related branches found
No related tags found
No related merge requests found
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#ifdef CONFIG_HAS_DATAFLASH #ifdef CONFIG_HAS_DATAFLASH
#include <dataflash.h> #include <dataflash.h>
#endif #endif
#include <watchdog.h>
#if defined(CONFIG_CMD_MEMORY) \ #if defined(CONFIG_CMD_MEMORY) \
|| defined(CONFIG_CMD_I2C) \ || defined(CONFIG_CMD_I2C) \
...@@ -868,6 +869,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ...@@ -868,6 +869,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
} }
} }
start[test_offset] = pattern; start[test_offset] = pattern;
WATCHDOG_RESET();
/* /*
* Check for addr bits stuck low or shorted. * Check for addr bits stuck low or shorted.
...@@ -905,6 +907,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ...@@ -905,6 +907,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
* Fill memory with a known pattern. * Fill memory with a known pattern.
*/ */
for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) { for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
WATCHDOG_RESET();
start[offset] = pattern; start[offset] = pattern;
} }
...@@ -912,6 +915,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ...@@ -912,6 +915,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
* Check each location and invert it for the second pass. * Check each location and invert it for the second pass.
*/ */
for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) { for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
WATCHDOG_RESET();
temp = start[offset]; temp = start[offset];
if (temp != pattern) { if (temp != pattern) {
printf ("\nFAILURE (read/write) @ 0x%.8lx:" printf ("\nFAILURE (read/write) @ 0x%.8lx:"
...@@ -928,6 +932,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ...@@ -928,6 +932,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
* Check each location for the inverted pattern and zero it. * Check each location for the inverted pattern and zero it.
*/ */
for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) { for (pattern = 1, offset = 0; offset < num_words; pattern++, offset++) {
WATCHDOG_RESET();
anti_pattern = ~pattern; anti_pattern = ~pattern;
temp = start[offset]; temp = start[offset];
if (temp != anti_pattern) { if (temp != anti_pattern) {
...@@ -954,6 +959,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ...@@ -954,6 +959,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
pattern, ""); pattern, "");
for (addr=start,val=pattern; addr<end; addr++) { for (addr=start,val=pattern; addr<end; addr++) {
WATCHDOG_RESET();
*addr = val; *addr = val;
val += incr; val += incr;
} }
...@@ -961,6 +967,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ...@@ -961,6 +967,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
puts ("Reading..."); puts ("Reading...");
for (addr=start,val=pattern; addr<end; addr++) { for (addr=start,val=pattern; addr<end; addr++) {
WATCHDOG_RESET();
readback = *addr; readback = *addr;
if (readback != val) { if (readback != val) {
printf ("\nMem error @ 0x%08X: " printf ("\nMem error @ 0x%08X: "
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment