trigger hardware watchdog in IXP42x serial driver

Signed-off-by: Michael Schwingen <michael@schwingen.org>
This commit is contained in:
Michael Schwingen 2011-05-22 23:59:59 +02:00 committed by Albert ARIBAUD
parent 20f172815d
commit 009e464802
1 changed files with 5 additions and 2 deletions

View File

@ -30,6 +30,7 @@
#include <common.h>
#include <asm/arch/ixp425.h>
#include <watchdog.h>
/*
* 14.7456 MHz
@ -85,7 +86,8 @@ int serial_init (void)
void serial_putc (const char c)
{
/* wait for room in the tx FIFO on UART */
while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0);
while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0)
WATCHDOG_RESET(); /* Reset HW Watchdog, if needed */
THR(CONFIG_SYS_IXP425_CONSOLE) = c;
@ -111,7 +113,8 @@ int serial_tstc (void)
*/
int serial_getc (void)
{
while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR));
while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR))
WATCHDOG_RESET(); /* Reset HW Watchdog, if needed */
return (char) RBR(CONFIG_SYS_IXP425_CONSOLE) & 0xff;
}