Lines Matching refs:bas
151 uart_mvebu_probe(struct uart_bas *bas) in uart_mvebu_probe() argument
173 uart_mvebu_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mvebu_param() argument
181 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_param()
182 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_FIFO_RST | CTRL_RX_FIFO_RST | in uart_mvebu_param()
184 uart_barrier(bas); in uart_mvebu_param()
205 divisor = uart_mvebu_divisor(bas->rclk, baudrate); in uart_mvebu_param()
209 ccr = uart_getreg(bas, UART_CCR); in uart_mvebu_param()
212 uart_setreg(bas, UART_CCR, ccr | divisor); in uart_mvebu_param()
213 uart_barrier(bas); in uart_mvebu_param()
220 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_param()
221 uart_barrier(bas); in uart_mvebu_param()
227 uart_mvebu_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mvebu_init() argument
231 bas->rclk = DEFAULT_RCLK; in uart_mvebu_init()
234 uart_setreg(bas, UART_CTRL, uart_getreg(bas, UART_CTRL) & in uart_mvebu_init()
236 uart_barrier(bas); in uart_mvebu_init()
238 uart_mvebu_param(bas, baudrate, databits, stopbits, parity); in uart_mvebu_init()
242 uart_mvebu_putc(struct uart_bas *bas, int c) in uart_mvebu_putc() argument
244 while (uart_getreg(bas, UART_STAT) & STAT_TX_FIFO_FULL) in uart_mvebu_putc()
246 uart_setreg(bas, UART_TSH, c & 0xff); in uart_mvebu_putc()
250 uart_mvebu_rxready(struct uart_bas *bas) in uart_mvebu_rxready() argument
252 if (uart_getreg(bas, UART_STAT) & STAT_RX_RDY) in uart_mvebu_rxready()
258 uart_mvebu_getc(struct uart_bas *bas, struct mtx *hwmtx) in uart_mvebu_getc() argument
263 while (!(uart_getreg(bas, UART_STAT) & STAT_RX_RDY)) in uart_mvebu_getc()
266 c = uart_getreg(bas, UART_RBR) & 0xff; in uart_mvebu_getc()
331 struct uart_bas *bas; in uart_mvebu_bus_attach() local
334 bas = &sc->sc_bas; in uart_mvebu_bus_attach()
337 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_attach()
344 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_attach()
345 uart_barrier(bas); in uart_mvebu_bus_attach()
362 struct uart_bas *bas; in uart_mvebu_bus_flush() local
365 bas = &sc->sc_bas; in uart_mvebu_bus_flush()
367 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_flush()
371 uart_setreg(bas, UART_CTRL, ctrl | CTRL_RX_FIFO_RST); in uart_mvebu_bus_flush()
372 uart_barrier(bas); in uart_mvebu_bus_flush()
376 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_FIFO_RST); in uart_mvebu_bus_flush()
377 uart_barrier(bas); in uart_mvebu_bus_flush()
387 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_flush()
388 uart_barrier(bas); in uart_mvebu_bus_flush()
405 struct uart_bas *bas; in uart_mvebu_bus_ioctl() local
409 bas = &sc->sc_bas; in uart_mvebu_bus_ioctl()
413 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_ioctl()
418 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_ioctl()
419 uart_barrier(bas); in uart_mvebu_bus_ioctl()
423 divisor = uart_getreg(bas, UART_CCR) & CCR_BAUDRATE_DIV; in uart_mvebu_bus_ioctl()
424 baudrate = bas->rclk/(divisor * 16); in uart_mvebu_bus_ioctl()
440 struct uart_bas *bas; in uart_mvebu_bus_ipend() local
443 bas = &sc->sc_bas; in uart_mvebu_bus_ipend()
445 ipend = uart_getreg(bas, UART_STAT); in uart_mvebu_bus_ipend()
446 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_ipend()
451 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_TX_IDLE_INT); in uart_mvebu_bus_ipend()
452 uart_barrier(bas); in uart_mvebu_bus_ipend()
455 while(!(uart_getreg(bas, UART_STAT) & STAT_TX_FIFO_EMPT)) in uart_mvebu_bus_ipend()
503 struct uart_bas *bas; in uart_mvebu_bus_receive() local
507 bas = &sc->sc_bas; in uart_mvebu_bus_receive()
510 while (!(uart_getreg(bas, UART_STAT) & STAT_RX_FIFO_EMPT)) { in uart_mvebu_bus_receive()
516 xc = uart_getreg(bas, UART_RBR); in uart_mvebu_bus_receive()
529 uart_barrier(bas); in uart_mvebu_bus_receive()
537 if (!(uart_getreg(bas, UART_STAT) & STAT_RX_FIFO_EMPT)) { in uart_mvebu_bus_receive()
555 struct uart_bas *bas; in uart_mvebu_bus_transmit() local
558 bas = &sc->sc_bas; in uart_mvebu_bus_transmit()
562 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_transmit()
563 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_INTR_MASK); in uart_mvebu_bus_transmit()
564 uart_barrier(bas); in uart_mvebu_bus_transmit()
567 uart_setreg(bas, UART_TSH, sc->sc_txbuf[i] & 0xff); in uart_mvebu_bus_transmit()
568 uart_barrier(bas); in uart_mvebu_bus_transmit()
575 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_IDLE_INT); in uart_mvebu_bus_transmit()
576 uart_barrier(bas); in uart_mvebu_bus_transmit()
589 struct uart_bas *bas = &sc->sc_bas; in uart_mvebu_bus_grab() local
594 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_grab()
596 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_INTR_MASK); in uart_mvebu_bus_grab()
597 uart_barrier(bas); in uart_mvebu_bus_grab()
605 struct uart_bas *bas = &sc->sc_bas; in uart_mvebu_bus_ungrab() local
610 ctrl = uart_getreg(bas, UART_CTRL) & ~CTRL_INTR_MASK; in uart_mvebu_bus_ungrab()
611 uart_setreg(bas, UART_CTRL, ctrl | msc->intrm); in uart_mvebu_bus_ungrab()
612 uart_barrier(bas); in uart_mvebu_bus_ungrab()