Skip to content

Commit

Permalink
lwmon5: enable hardware watchdog
Browse files Browse the repository at this point in the history
Some boards (e.g. lwmon5) may use rather small watchdog intervals, so
causing it to reboot the board if U-Boot does a long busy-wait with
udelay(). Thus, for these boards we have to restart WD more
frequently.

This patch splits the busy-wait udelay() into smaller, predefined,
intervals, so that the watchdog timer may be resetted with the
configurable (CONFIG_WD_PERIOD) interval.

Signed-off-by: Yuri Tikhonov <[email protected]>
  • Loading branch information
yuri-tikhonov authored and wdenx committed Feb 22, 2008
1 parent bc77881 commit 2e72109
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
3 changes: 1 addition & 2 deletions include/configs/lwmon5.h
Original file line number Diff line number Diff line change
Expand Up @@ -366,12 +366,11 @@
#define CFG_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */
#define CFG_PCI_SUBSYS_ID 0xcafe /* Whatever */

#if 0
/*
* ToDo: Watchdog is not test fully, so exclude it for now
*/
#define CONFIG_HW_WATCHDOG 1 /* Use external HW-Watchdog */
#endif
#define CONFIG_WD_PERIOD 40000 /* in usec */

/*
* For booting Linux, the board info and command line data
Expand Down
14 changes: 11 additions & 3 deletions lib_ppc/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@

#include <common.h>

#ifndef CONFIG_WD_PERIOD
# define CONFIG_WD_PERIOD (10 * 1000 * 1000) /* 10 seconds default*/
#endif

/* ------------------------------------------------------------------------- */

Expand Down Expand Up @@ -53,9 +56,14 @@ unsigned long usec2ticks(unsigned long usec)
*/
void udelay(unsigned long usec)
{
ulong ticks = usec2ticks (usec);

wait_ticks (ticks);
ulong ticks, kv;

do {
kv = usec > CONFIG_WD_PERIOD ? CONFIG_WD_PERIOD : usec;
ticks = usec2ticks (kv);
wait_ticks (ticks);
usec -= kv;
} while(usec);
}

/* ------------------------------------------------------------------------- */
Expand Down

0 comments on commit 2e72109

Please sign in to comment.