|
|
|
@ -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; |
|
|
|
|
} |
|
|
|
|