diff options
author | Tom Rini <trini@ti.com> | 2014-02-04 11:48:48 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-02-04 11:51:21 -0500 |
commit | 0d74665059943dc207df995e21a4767ca3e51a05 (patch) | |
tree | 16500fcd91c82db6f378af7d370dc74a94c13b0d /drivers | |
parent | f763be224fa78893384416734419d8e052c1c5ef (diff) | |
parent | 8c3bd6b596300d0ade265329f44832e89ef54a22 (diff) | |
download | u-boot-0d74665059943dc207df995e21a4767ca3e51a05.zip u-boot-0d74665059943dc207df995e21a4767ca3e51a05.tar.gz u-boot-0d74665059943dc207df995e21a4767ca3e51a05.tar.bz2 |
Merge branch 'serial' of git://www.denx.de/git/u-boot-microblaze
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/serial/serial_xuartlite.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/serial/serial_xuartlite.c b/drivers/serial/serial_xuartlite.c index e613994..988438e 100644 --- a/drivers/serial/serial_xuartlite.c +++ b/drivers/serial/serial_xuartlite.c @@ -18,10 +18,14 @@ #define SR_RX_FIFO_VALID_DATA 0x01 /* data in receive FIFO */ #define SR_RX_FIFO_FULL 0x02 /* receive FIFO full */ +#define ULITE_CONTROL_RST_TX 0x01 +#define ULITE_CONTROL_RST_RX 0x02 + struct uartlite { unsigned int rx_fifo; unsigned int tx_fifo; unsigned int status; + unsigned int control; }; static struct uartlite *userial_ports[4] = { @@ -75,8 +79,16 @@ static int uartlite_serial_tstc(const int port) static int uartlite_serial_init(const int port) { - if (userial_ports[port]) + struct uartlite *regs = userial_ports[port]; + + if (regs) { + out_be32(®s->control, 0); + out_be32(®s->control, + ULITE_CONTROL_RST_RX | ULITE_CONTROL_RST_TX); + in_be32(®s->control); return 0; + } + return -1; } |