[U-Boot] [PATCH 03/13] trigger hardware watchdog in IXP42x serial driver

Michael Schwingen
2010-12-28T12:43:21Z

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 dd26af4..5893fd2 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;
}
--
1.7.2.3