Lines Matching full:uart
3 * ARC On-Chip(fpga) UART Driver
17 * -New Serial Core based ARC UART driver
37 * ARC UART Hardware Specs
42 * UART Register set (this is not a Standards Compliant IP)
54 /* Bits for UART Status Reg (R/W) */
67 /* Uart bit fiddling helpers: lowest level */
75 /* Uart bit fiddling helpers: API level */
76 #define UART_SET_DATA(uart, val) UART_REG_SET(uart, R_DATA, val) argument
77 #define UART_GET_DATA(uart) UART_REG_GET(uart, R_DATA) argument
79 #define UART_SET_BAUDH(uart, val) UART_REG_SET(uart, R_BAUDH, val) argument
80 #define UART_SET_BAUDL(uart, val) UART_REG_SET(uart, R_BAUDL, val) argument
82 #define UART_CLR_STATUS(uart, val) UART_REG_CLR(uart, R_STS, val) argument
83 #define UART_GET_STATUS(uart) UART_REG_GET(uart, R_STS) argument
85 #define UART_ALL_IRQ_DISABLE(uart) UART_REG_CLR(uart, R_STS, RXIENB|TXIENB) argument
86 #define UART_RX_IRQ_DISABLE(uart) UART_REG_CLR(uart, R_STS, RXIENB) argument
87 #define UART_TX_IRQ_DISABLE(uart) UART_REG_CLR(uart, R_STS, TXIENB) argument
89 #define UART_ALL_IRQ_ENABLE(uart) UART_REG_OR(uart, R_STS, RXIENB|TXIENB) argument
90 #define UART_RX_IRQ_ENABLE(uart) UART_REG_OR(uart, R_STS, RXIENB) argument
91 #define UART_TX_IRQ_ENABLE(uart) UART_REG_OR(uart, R_STS, TXIENB) argument
108 #define DRIVER_NAME "arc-uart"
202 * UART has 4 deep RX-FIFO. Driver's recongnition of this fact in arc_serial_rx_chars()
249 * to keep things simple as well as efficient, it writes to UART in polled
261 * -writes-data-to-uart
282 * notifications from the UART Controller. in arc_serial_isr()
330 /* ARC UART doesn't support sending Break signal */ in arc_serial_break_ctl()
335 /* Before we hook up the ISR, Disable all UART Interrupts */ in arc_serial_startup()
338 if (request_irq(port->irq, arc_serial_isr, 0, "arc uart rx-tx", port)) { in arc_serial_startup()
339 dev_warn(port->dev, "Unable to attach ARC UART intr\n"); in arc_serial_startup()
358 struct arc_uart_port *uart = to_arc_port(port); in arc_serial_set_termios() local
366 * Formula for ARC UART is: hw-val = ((CLK/(BAUD*4)) -1) in arc_serial_set_termios()
371 hw_val = port->uartclk / (uart->baud * 4) - 1; in arc_serial_set_termios()
385 * UART doesn't support Parity/Hardware Flow Control; in arc_serial_set_termios()
496 * The uart port backing the console (e.g. ttyARC1) might not have been in arc_serial_console_setup()
572 OF_EARLYCON_DECLARE(arc_uart, "snps,arc-uart", arc_early_console_setup);
579 struct arc_uart_port *uart; in arc_serial_probe() local
597 uart = &arc_uart_ports[dev_id]; in arc_serial_probe()
598 port = &uart->port; in arc_serial_probe()
610 uart->baud = val; in arc_serial_probe()
614 /* No point of dev_err since UART itself is hosed here */ in arc_serial_probe()
644 { .compatible = "snps,arc-uart" },