summaryrefslogtreecommitdiff
path: root/board/lwmon5
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-04-25 11:32:01 +0200
committerWolfgang Denk <wd@denx.de>2008-04-25 11:32:01 +0200
commit4b7a6dd89633d60dc4b58476d5ce48247f82a3ca (patch)
treed3cfeccec77867d855289809d6a472617d16c0cc /board/lwmon5
parent926662762e5d280f6a9caed8dd9f49be2ebcaf2f (diff)
parenta6e6fc610e39dec41b79680413d4ed38145bd3c8 (diff)
Merge branch 'master' of /home/wd/git/u-boot/lwmon5
Conflicts: common/cmd_bootm.c common/cmd_log.c include/common.h post/board/lwmon5/Makefile post/board/lwmon5/dsp.c post/board/lwmon5/dspic.c post/board/lwmon5/fpga.c post/board/lwmon5/gdc.c post/board/lwmon5/sysmon.c post/board/lwmon5/watchdog.c Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'board/lwmon5')
-rw-r--r--board/lwmon5/lwmon5.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/board/lwmon5/lwmon5.c b/board/lwmon5/lwmon5.c
index e5fa25937b5..b63fbdc0cdd 100644
--- a/board/lwmon5/lwmon5.c
+++ b/board/lwmon5/lwmon5.c
@@ -476,6 +476,24 @@ int is_pci_host(struct pci_controller *hose)
void hw_watchdog_reset(void)
{
int val;
+#if defined(CONFIG_WD_MAX_RATE)
+ unsigned long long ct = get_ticks();
+
+ /*
+ * Don't allow watch-dog triggering more frequently than
+ * the predefined value CONFIG_WD_MAX_RATE [ticks].
+ */
+ if (ct >= gd->wdt_last) {
+ if ((ct - gd->wdt_last) < CONFIG_WD_MAX_RATE)
+ return;
+ } else {
+ /* Time base counter had been reset */
+ if (((unsigned long long)(-1) - gd->wdt_last + ct) <
+ CONFIG_WD_MAX_RATE)
+ return;
+ }
+ gd->wdt_last = get_ticks();
+#endif
/*
* Toggle watchdog output