Lines Matching refs:uart
40 #define cuart_read(uart, off) readl((uart)->regs + (off)) argument
41 #define cuart_write(uart, off,val) writel((val), (uart)->regs + (off)) argument
46 struct cuart *uart = port->uart; in cuart_interrupt() local
50 status = cuart_read(uart, R_UART_SR); in cuart_interrupt()
55 cuart_write(uart, R_UART_CISR, UART_SR_INTR_RTRIG); in cuart_interrupt()
62 struct cuart *uart = port->uart; in cuart_init_preirq() local
64 cuart_write(uart, R_UART_MR, UART_MR_NO_PARITY); in cuart_init_preirq()
66 cuart_write(uart, R_UART_CR, UART_CR_RX_RST | UART_CR_TX_RST | in cuart_init_preirq()
72 struct cuart *uart = port->uart; in cuart_init_postirq() local
75 if ( uart->irq > 0 ) in cuart_init_postirq()
77 uart->irqaction.handler = cuart_interrupt; in cuart_init_postirq()
78 uart->irqaction.name = "cadence-uart"; in cuart_init_postirq()
79 uart->irqaction.dev_id = port; in cuart_init_postirq()
80 if ( (rc = setup_irq(uart->irq, 0, &uart->irqaction)) != 0 ) in cuart_init_postirq()
81 printk("ERROR: Failed to allocate cadence-uart IRQ %d\n", uart->irq); in cuart_init_postirq()
85 cuart_write(uart, R_UART_RTRIG, 1); in cuart_init_postirq()
86 cuart_write(uart, R_UART_CISR, ~0); in cuart_init_postirq()
89 cuart_write(uart, R_UART_IDR, ~0); in cuart_init_postirq()
90 cuart_write(uart, R_UART_IER, UART_SR_INTR_RTRIG); in cuart_init_postirq()
105 struct cuart *uart = port->uart; in cuart_tx_ready() local
106 unsigned int status = cuart_read(uart, R_UART_SR); in cuart_tx_ready()
113 struct cuart *uart = port->uart; in cuart_putc() local
115 cuart_write(uart, R_UART_TX, (uint32_t)(unsigned char)c); in cuart_putc()
120 struct cuart *uart = port->uart; in cuart_getc() local
122 if ( cuart_read(uart, R_UART_SR) & UART_SR_INTR_REMPTY ) in cuart_getc()
125 *pc = cuart_read(uart, R_UART_RX) & 0xff; in cuart_getc()
131 struct cuart *uart = port->uart; in cuart_irq() local
133 return ( (uart->irq > 0) ? uart->irq : -1 ); in cuart_irq()
138 struct cuart *uart = port->uart; in cuart_vuart() local
140 return &uart->vuart; in cuart_vuart()
159 struct cuart *uart; in cuart_init() local
166 uart = &cuart_com; in cuart_init()
182 uart->irq = res; in cuart_init()
184 uart->regs = ioremap_nocache(addr, size); in cuart_init()
185 if ( !uart->regs ) in cuart_init()
191 uart->vuart.base_addr = addr; in cuart_init()
192 uart->vuart.size = size; in cuart_init()
193 uart->vuart.data_off = R_UART_RX; in cuart_init()
194 uart->vuart.status_off = R_UART_SR; in cuart_init()
195 uart->vuart.status = UART_SR_INTR_TEMPTY; in cuart_init()
198 serial_register_uart(SERHND_DTUART, &cuart_driver, uart); in cuart_init()