|
|
@ -114,3 +114,29 @@ U_BOOT_DRIVER(serial_uartlite) = { |
|
|
|
.ops = &uartlite_serial_ops, |
|
|
|
.ops = &uartlite_serial_ops, |
|
|
|
.flags = DM_FLAG_PRE_RELOC, |
|
|
|
.flags = DM_FLAG_PRE_RELOC, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_DEBUG_UART_UARTLITE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <debug_uart.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static inline void _debug_uart_init(void) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
struct uartlite *regs = (struct uartlite *)CONFIG_DEBUG_UART_BASE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
out_be32(®s->control, 0); |
|
|
|
|
|
|
|
out_be32(®s->control, ULITE_CONTROL_RST_RX | ULITE_CONTROL_RST_TX); |
|
|
|
|
|
|
|
in_be32(®s->control); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static inline void _debug_uart_putc(int ch) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
struct uartlite *regs = (struct uartlite *)CONFIG_DEBUG_UART_BASE; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while (in_be32(®s->status) & SR_TX_FIFO_FULL) |
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
out_be32(®s->tx_fifo, ch & 0xff); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DEBUG_UART_FUNCS |
|
|
|
|
|
|
|
#endif |
|
|
|