diff options
| author | Michael Schwingen <michael@schwingen.org> | 2011-05-22 23:59:59 +0200 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-06-23 08:24:55 +0200 | 
| commit | 009e464802569bc97c03c52f76fdf7e38040b634 (patch) | |
| tree | 8dc65a1cfec5eb5c4a8a1bea24c90d6893a999c5 | |
| parent | 20f172815d59d2788b7136a810439c28dc61c4c6 (diff) | |
| download | olio-uboot-2014.01-009e464802569bc97c03c52f76fdf7e38040b634.tar.xz olio-uboot-2014.01-009e464802569bc97c03c52f76fdf7e38040b634.zip | |
trigger hardware watchdog in IXP42x serial driver
Signed-off-by: Michael Schwingen <michael@schwingen.org>
| -rw-r--r-- | drivers/serial/serial_ixp.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/drivers/serial/serial_ixp.c b/drivers/serial/serial_ixp.c index dd26af49b..a9acd476c 100644 --- a/drivers/serial/serial_ixp.c +++ b/drivers/serial/serial_ixp.c @@ -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;  } |