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

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@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);

In message 20080401075941.145820@gmx.net you wrote:
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.
Please fix English ("correct", "Lowpegel", "voltagefailure").
Is it really 2 pulses - or just one, consisting of
Signed-off-by: Sascha Laue sascha.laue@liebherr.com
...
- if (gpio_read_in_bit(CFG_GPIO_SYSMON_STATUS)) {
- if (0 == gpio_read_in_bit(CFG_GPIO_SYSMON_STATUS)) {
Please write that as:
if (gpio_read_in_bit(CFG_GPIO_SYSMON_STATUS) == 0) { or if (!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();
Are you absolutely sure that is needed?
Best regards,
Wolfgang Denk

In message 20080401083320.B918D24544@gemini.denx.de I wrote:
/* 3.2.2. strobe watchdog once */ WATCHDOG_RESET();
base = post_time_ms (0);
while (post_time_ms (base) < 2)
WATCHDOG_RESET();
Are you absolutely sure that is needed?
Maybe I should have been more explicit - note that above code with correct indentation looks like this:
/* 3.2.2. strobe watchdog once */ WATCHDOG_RESET(); base = post_time_ms (0); while (post_time_ms (base) < 2) WATCHDOG_RESET();
I. e. the comment "once" is wrong - you trigger the watchdog many more times that you probably think.
Best regards,
Wolfgang Denk

You are right! I've checked it again and find the mistake by myself.
Subject: [PATCH] bugfix: lwmon5 watchdog post If the hardware watchdog detects a voltage error, the watchdog set GPIO62 to low. The watchdog POST have to detect this lowpegel.
Signed-off-by: Sascha Laue leglas0@legpc180.leg.liebherr.i --- post/board/lwmon5/watchdog.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/post/board/lwmon5/watchdog.c b/post/board/lwmon5/watchdog.c index 48ff687..899fbfb 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 (gpio_read_in_bit(CFG_GPIO_SYSMON_STATUS) == 0) { /* * 3.1. GPIO62 is low * Assuming system voltage failure.

In message 20080401131303.17520@gmx.net you wrote:
You are right! I've checked it again and find the mistake by myself.
Subject: [PATCH] bugfix: lwmon5 watchdog post If the hardware watchdog detects a voltage error, the watchdog set GPIO62 to low. The watchdog POST have to detect this lowpegel.
Signed-off-by: Sascha Laue leglas0@legpc180.leg.liebherr.i
Applied, thanks.
Best regards,
Wolfgang Denk

Hi,
In message 20080401131303.17520@gmx.net you wrote:
You are right! I've checked it again and find the mistake by myself.
Subject: [PATCH] bugfix: lwmon5 watchdog post If the hardware watchdog detects a voltage error, the watchdog set GPIO62 to low. The watchdog POST have to detect this lowpegel.
Signed-off-by: Sascha Laue leglas0@legpc180.leg.liebherr.i
It just occured to me, Sascha you should check your git-setup.
Very likely a "git-config --global user.email <real e-mail>" helps you out here.
Cheers Detlev
participants (3)
-
Detlev Zundel
-
Sascha Laue
-
Wolfgang Denk