[U-Boot-Users] [PATCH] bugfix: the watchdog post for lwmon5

Sascha Laue Sascha.Laue at gmx.biz
Tue Apr 1 09:59:41 CEST 2008


bugfix: the watchdog post for lwmon5 doesn't work. This Patch fix it.
To trigger and activate the watchdog correct it is necessary to create 2 pulses.
Lowpegel on GPIO62 point to a voltagefailure.

Signed-off-by: Sascha Laue <sascha.laue at liebherr.com>
---
 post/board/lwmon5/watchdog.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/post/board/lwmon5/watchdog.c b/post/board/lwmon5/watchdog.c
index 48ff687..014aae4 100644
--- a/post/board/lwmon5/watchdog.c
+++ b/post/board/lwmon5/watchdog.c
@@ -55,7 +55,7 @@ static void watchdog_magic_write(uint value)
 
 int sysmon1_post_test(int flags)
 {
-	if (gpio_read_in_bit(CFG_GPIO_SYSMON_STATUS)) {
+	if (0 == gpio_read_in_bit(CFG_GPIO_SYSMON_STATUS)) {
 		/*
 		 * 3.1. GPIO62 is low
 		 * Assuming system voltage failure.
@@ -99,6 +99,9 @@ int lwmon5_watchdog_post_test(int flags)
 		ints = disable_interrupts ();
 		/* 3.2.2. strobe watchdog once */
 		WATCHDOG_RESET();
+		base = post_time_ms (0);
+		while (post_time_ms (base) < 2)
+		WATCHDOG_RESET();
 		out_be32((void *)CFG_WATCHDOG_TIME_ADDR, 0);
 		/* 3.2.3. save time of strobe in scratch register 2 */
 		base = post_time_ms (0);
-- 
1.5.2.4




More information about the U-Boot mailing list