Lines Matching refs:bas
145 uart_mvebu_probe(struct uart_bas *bas) in uart_mvebu_probe() argument
167 uart_mvebu_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mvebu_param() argument
175 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_param()
176 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_FIFO_RST | CTRL_RX_FIFO_RST | in uart_mvebu_param()
178 uart_barrier(bas); in uart_mvebu_param()
199 divisor = uart_mvebu_divisor(bas->rclk, baudrate); in uart_mvebu_param()
203 ccr = uart_getreg(bas, UART_CCR); in uart_mvebu_param()
206 uart_setreg(bas, UART_CCR, ccr | divisor); in uart_mvebu_param()
207 uart_barrier(bas); in uart_mvebu_param()
214 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_param()
215 uart_barrier(bas); in uart_mvebu_param()
221 uart_mvebu_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mvebu_init() argument
225 bas->rclk = DEFAULT_RCLK; in uart_mvebu_init()
228 uart_setreg(bas, UART_CTRL, uart_getreg(bas, UART_CTRL) & in uart_mvebu_init()
230 uart_barrier(bas); in uart_mvebu_init()
232 uart_mvebu_param(bas, baudrate, databits, stopbits, parity); in uart_mvebu_init()
236 uart_mvebu_putc(struct uart_bas *bas, int c) in uart_mvebu_putc() argument
238 while (uart_getreg(bas, UART_STAT) & STAT_TX_FIFO_FULL) in uart_mvebu_putc()
240 uart_setreg(bas, UART_TSH, c & 0xff); in uart_mvebu_putc()
244 uart_mvebu_rxready(struct uart_bas *bas) in uart_mvebu_rxready() argument
246 if (uart_getreg(bas, UART_STAT) & STAT_RX_RDY) in uart_mvebu_rxready()
252 uart_mvebu_getc(struct uart_bas *bas, struct mtx *hwmtx) in uart_mvebu_getc() argument
257 while (!(uart_getreg(bas, UART_STAT) & STAT_RX_RDY)) in uart_mvebu_getc()
260 c = uart_getreg(bas, UART_RBR) & 0xff; in uart_mvebu_getc()
325 struct uart_bas *bas; in uart_mvebu_bus_attach() local
328 bas = &sc->sc_bas; in uart_mvebu_bus_attach()
331 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_attach()
338 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_attach()
339 uart_barrier(bas); in uart_mvebu_bus_attach()
356 struct uart_bas *bas; in uart_mvebu_bus_flush() local
359 bas = &sc->sc_bas; in uart_mvebu_bus_flush()
361 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_flush()
365 uart_setreg(bas, UART_CTRL, ctrl | CTRL_RX_FIFO_RST); in uart_mvebu_bus_flush()
366 uart_barrier(bas); in uart_mvebu_bus_flush()
370 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_FIFO_RST); in uart_mvebu_bus_flush()
371 uart_barrier(bas); in uart_mvebu_bus_flush()
381 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_flush()
382 uart_barrier(bas); in uart_mvebu_bus_flush()
399 struct uart_bas *bas; in uart_mvebu_bus_ioctl() local
403 bas = &sc->sc_bas; in uart_mvebu_bus_ioctl()
407 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_ioctl()
412 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_ioctl()
413 uart_barrier(bas); in uart_mvebu_bus_ioctl()
417 divisor = uart_getreg(bas, UART_CCR) & CCR_BAUDRATE_DIV; in uart_mvebu_bus_ioctl()
418 baudrate = bas->rclk/(divisor * 16); in uart_mvebu_bus_ioctl()
434 struct uart_bas *bas; in uart_mvebu_bus_ipend() local
437 bas = &sc->sc_bas; in uart_mvebu_bus_ipend()
439 ipend = uart_getreg(bas, UART_STAT); in uart_mvebu_bus_ipend()
440 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_ipend()
445 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_TX_IDLE_INT); in uart_mvebu_bus_ipend()
446 uart_barrier(bas); in uart_mvebu_bus_ipend()
449 while(!(uart_getreg(bas, UART_STAT) & STAT_TX_FIFO_EMPT)) in uart_mvebu_bus_ipend()
497 struct uart_bas *bas; in uart_mvebu_bus_receive() local
501 bas = &sc->sc_bas; in uart_mvebu_bus_receive()
504 while (!(uart_getreg(bas, UART_STAT) & STAT_RX_FIFO_EMPT)) { in uart_mvebu_bus_receive()
510 xc = uart_getreg(bas, UART_RBR); in uart_mvebu_bus_receive()
523 uart_barrier(bas); in uart_mvebu_bus_receive()
531 if (!(uart_getreg(bas, UART_STAT) & STAT_RX_FIFO_EMPT)) { in uart_mvebu_bus_receive()
549 struct uart_bas *bas; in uart_mvebu_bus_transmit() local
552 bas = &sc->sc_bas; in uart_mvebu_bus_transmit()
556 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_transmit()
557 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_INTR_MASK); in uart_mvebu_bus_transmit()
558 uart_barrier(bas); in uart_mvebu_bus_transmit()
561 uart_setreg(bas, UART_TSH, sc->sc_txbuf[i] & 0xff); in uart_mvebu_bus_transmit()
562 uart_barrier(bas); in uart_mvebu_bus_transmit()
569 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_IDLE_INT); in uart_mvebu_bus_transmit()
570 uart_barrier(bas); in uart_mvebu_bus_transmit()
583 struct uart_bas *bas = &sc->sc_bas; in uart_mvebu_bus_grab() local
588 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_grab()
590 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_INTR_MASK); in uart_mvebu_bus_grab()
591 uart_barrier(bas); in uart_mvebu_bus_grab()
599 struct uart_bas *bas = &sc->sc_bas; in uart_mvebu_bus_ungrab() local
604 ctrl = uart_getreg(bas, UART_CTRL) & ~CTRL_INTR_MASK; in uart_mvebu_bus_ungrab()
605 uart_setreg(bas, UART_CTRL, ctrl | msc->intrm); in uart_mvebu_bus_ungrab()
606 uart_barrier(bas); in uart_mvebu_bus_ungrab()