blob: ff1b212096631c7b20f904013379268e74ad2565 [file] [log] [blame]
wdenkaffae2b2002-08-17 09:36:01 +00001/*
2 * (C) Copyright 2001
3 * Erik Theisen, Wave 7 Optics, etheisen@mindspring.com.
4 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02005 * SPDX-License-Identifier: GPL-2.0+
wdenkaffae2b2002-08-17 09:36:01 +00006 */
7
8/*
9 * W7O board level hardware watchdog.
10 */
11#include <common.h>
12#include <config.h>
13
14#ifdef CONFIG_HW_WATCHDOG
15#include <watchdog.h>
16
17void hw_watchdog_reset(void)
18{
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020019 volatile ushort *hwd = (ushort *)(CONFIG_SYS_W7O_EBC_PB7CR & 0xfff00000);
wdenkaffae2b2002-08-17 09:36:01 +000020
21 /*
22 * Read the LMG's hwd register and toggle the
23 * watchdog bit to reset it. On the LMC, just
24 * reading it is enough, but toggling the bit
25 * doen't hurt either.
26 */
27 *hwd = *hwd ^ 0x8000;
28
29} /* hw_watchdog_reset() */
30
31#endif /* CONFIG_HW_WATCHDOG */