mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
serial: uartlite: Reset RX/TX in init
Just to be sure that there is no pending data. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
b44bd2c73c
commit
8c3bd6b596
1 changed files with 13 additions and 1 deletions
|
@ -18,10 +18,14 @@
|
||||||
#define SR_RX_FIFO_VALID_DATA 0x01 /* data in receive FIFO */
|
#define SR_RX_FIFO_VALID_DATA 0x01 /* data in receive FIFO */
|
||||||
#define SR_RX_FIFO_FULL 0x02 /* receive FIFO full */
|
#define SR_RX_FIFO_FULL 0x02 /* receive FIFO full */
|
||||||
|
|
||||||
|
#define ULITE_CONTROL_RST_TX 0x01
|
||||||
|
#define ULITE_CONTROL_RST_RX 0x02
|
||||||
|
|
||||||
struct uartlite {
|
struct uartlite {
|
||||||
unsigned int rx_fifo;
|
unsigned int rx_fifo;
|
||||||
unsigned int tx_fifo;
|
unsigned int tx_fifo;
|
||||||
unsigned int status;
|
unsigned int status;
|
||||||
|
unsigned int control;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct uartlite *userial_ports[4] = {
|
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)
|
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 0;
|
||||||
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue