[U-Boot] Watchdog doesn't get triggered on U-Boot command line

Hi,
I initialized the watchdog on a S3C6400 processor. The U-Boot boots fine until the command line prompt.
If I don't use the hush parser, watchdog resets the board approx. after 15 seconds, no matter if I do nothing or if I type in commands. Reading the watchdog counter with "md" shows that it continuously counts down.
If I use the hush parser the watchdog is only triggered if I run commands, e.g. reading the watchdog counter. I can watch, that it gets updated. If I do nothing, the board is resetted approx. after 15 seconds.
Is it intended, that the watchdog isn't triggered in U-Boot's interactive mode? I can't believe that. Or did I missed something?
On which position could I insert in a "WATCHDOG_RESET();" call? The main_loop and the hush parser are very hard to understand. Thanks in advance for help.
U-Boot is 1.3.4.
Kind regards, Jens
P.S.: I hope my e-mail is readable. I currently have to use M$ Outlo*k unitl the mail system on our Linux machine does work again.

Dear "Jens Gehrlein",
In message 47F3F98010FF784EBEE6526EAAB078D103AC722F@tq-mailsrv.tq-net.de you wrote:
If I don't use the hush parser, watchdog resets the board approx. after 15 seconds, no matter if I do nothing or if I type in commands. Reading the watchdog counter with "md" shows that it continuously counts down.
Please restrict your line length to something readable, i. e. some 70 characters or so. Thanks.
Is it intended, that the watchdog isn't triggered in U-Boot's interactive mode? I can't believe that. Or did I missed something?
Normally the console I/O routines will trigger the watchdog while waiting for characters to arrive or to be sent. Obviously you missed to add such code.
Best regards,
Wolfgang Denk

Hi Wolfgang, hi Andrew,
Please restrict your line length to something readable, i. e. some 70 characters or so. Thanks.
OK. It seems Outlo*k needs some manual override... Hope, this mail is better...
Is it intended, that the watchdog isn't triggered in
U-Boot's interactive mode? I can't believe that.
Or did I missed something?
Normally the console I/O routines will trigger the watchdog while waiting for characters to arrive or to be sent. Obviously you missed to add such code.
On 2008-09-14 in "Re: [U-Boot] Watchdog support." you wrote to Luigi, that this souldn't be necessary. Why couldn't it be in the main loop of U-Boot?
Andrew, I read the mail thread but didn't quite unterstand it, especially it was about PPC and MIPS. Now, I see more clear.
It seems, PPC uses real interrupts. Up to now I thought U-Boot doesn't handle interrupts at all.
Kind regards, Jens

Dear Jens,
In message 47F3F98010FF784EBEE6526EAAB078D103AC7230@tq-mailsrv.tq-net.de you wrote:
Normally the console I/O routines will trigger the watchdog while waiting for characters to arrive or to be sent. Obviously you missed to add such code.
On 2008-09-14 in "Re: [U-Boot] Watchdog support." you wrote to Luigi, that this souldn't be necessary.
I see. Indeed I wasn;t really clear about that, there. I was ignoring the first part of the question and just replying the the second half ("lot of commands (copy in flash, tftp, ...)") - that's what I meant when I wrote " the common infeastructure should work just fine."
Why couldn't it be in the main loop of U-Boot?
Because it wouldn't work. When you are waiting for input, you are usually blocking in a getc() which waits for some status bit to be set that will indicate that the next character was received. You will have to trigger the watchdog in this polling loop.
It seems, PPC uses real interrupts. Up to now I thought U-Boot doesn't handle interrupts at all.
U-Boot usually doesn't use them, but they are avaiable and can be used where it makes sense. It's just that usually it doesn;t make sense - it only adds complexity to the code without advantages, so we tend to avoid it.
Best regards,
Wolfgang Denk
participants (2)
-
Jens Gehrlein
-
Wolfgang Denk