diff options
Diffstat (limited to 'target/linux/ar7/patches-3.6/500-serial_kludge.patch')
-rw-r--r-- | target/linux/ar7/patches-3.6/500-serial_kludge.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/target/linux/ar7/patches-3.6/500-serial_kludge.patch b/target/linux/ar7/patches-3.6/500-serial_kludge.patch new file mode 100644 index 0000000..4a66161 --- /dev/null +++ b/target/linux/ar7/patches-3.6/500-serial_kludge.patch @@ -0,0 +1,28 @@ +--- a/drivers/tty/serial/8250/8250.c ++++ b/drivers/tty/serial/8250/8250.c +@@ -290,6 +290,13 @@ static const struct serial8250_config ua + UART_FCR_R_TRIG_00 | UART_FCR_T_TRIG_00, + .flags = UART_CAP_FIFO, + }, ++ [PORT_AR7] = { ++ .name = "TI-AR7", ++ .fifo_size = 16, ++ .tx_loadsz = 16, ++ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00, ++ .flags = UART_CAP_FIFO | UART_CAP_AFE, ++ }, + }; + + /* Uart divisor latch read */ +@@ -2752,7 +2759,11 @@ static void serial8250_console_putchar(s + struct uart_8250_port *up = + container_of(port, struct uart_8250_port, port); + ++#ifdef CONFIG_AR7 ++ wait_for_xmitr(up, BOTH_EMPTY); ++#else + wait_for_xmitr(up, UART_LSR_THRE); ++#endif + serial_port_out(port, UART_TX, ch); + } + |