Lines Matching refs:bas

153 uart_mvebu_probe(struct uart_bas *bas)  in uart_mvebu_probe()  argument
175 uart_mvebu_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mvebu_param() argument
183 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_param()
184 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_FIFO_RST | CTRL_RX_FIFO_RST | in uart_mvebu_param()
186 uart_barrier(bas); in uart_mvebu_param()
207 divisor = uart_mvebu_divisor(bas->rclk, baudrate); in uart_mvebu_param()
211 ccr = uart_getreg(bas, UART_CCR); in uart_mvebu_param()
214 uart_setreg(bas, UART_CCR, ccr | divisor); in uart_mvebu_param()
215 uart_barrier(bas); in uart_mvebu_param()
222 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_param()
223 uart_barrier(bas); in uart_mvebu_param()
229 uart_mvebu_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mvebu_init() argument
233 bas->rclk = DEFAULT_RCLK; in uart_mvebu_init()
236 uart_setreg(bas, UART_CTRL, uart_getreg(bas, UART_CTRL) & in uart_mvebu_init()
238 uart_barrier(bas); in uart_mvebu_init()
240 uart_mvebu_param(bas, baudrate, databits, stopbits, parity); in uart_mvebu_init()
244 uart_mvebu_putc(struct uart_bas *bas, int c) in uart_mvebu_putc() argument
246 while (uart_getreg(bas, UART_STAT) & STAT_TX_FIFO_FULL) in uart_mvebu_putc()
248 uart_setreg(bas, UART_TSH, c & 0xff); in uart_mvebu_putc()
252 uart_mvebu_rxready(struct uart_bas *bas) in uart_mvebu_rxready() argument
254 if (uart_getreg(bas, UART_STAT) & STAT_RX_RDY) in uart_mvebu_rxready()
260 uart_mvebu_getc(struct uart_bas *bas, struct mtx *hwmtx) in uart_mvebu_getc() argument
265 while (!(uart_getreg(bas, UART_STAT) & STAT_RX_RDY)) in uart_mvebu_getc()
268 c = uart_getreg(bas, UART_RBR) & 0xff; in uart_mvebu_getc()
333 struct uart_bas *bas; in uart_mvebu_bus_attach() local
336 bas = &sc->sc_bas; in uart_mvebu_bus_attach()
339 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_attach()
346 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_attach()
347 uart_barrier(bas); in uart_mvebu_bus_attach()
364 struct uart_bas *bas; in uart_mvebu_bus_flush() local
367 bas = &sc->sc_bas; in uart_mvebu_bus_flush()
369 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_flush()
373 uart_setreg(bas, UART_CTRL, ctrl | CTRL_RX_FIFO_RST); in uart_mvebu_bus_flush()
374 uart_barrier(bas); in uart_mvebu_bus_flush()
378 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_FIFO_RST); in uart_mvebu_bus_flush()
379 uart_barrier(bas); in uart_mvebu_bus_flush()
389 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_flush()
390 uart_barrier(bas); in uart_mvebu_bus_flush()
407 struct uart_bas *bas; in uart_mvebu_bus_ioctl() local
411 bas = &sc->sc_bas; in uart_mvebu_bus_ioctl()
415 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_ioctl()
420 uart_setreg(bas, UART_CTRL, ctrl); in uart_mvebu_bus_ioctl()
421 uart_barrier(bas); in uart_mvebu_bus_ioctl()
425 divisor = uart_getreg(bas, UART_CCR) & CCR_BAUDRATE_DIV; in uart_mvebu_bus_ioctl()
426 baudrate = bas->rclk/(divisor * 16); in uart_mvebu_bus_ioctl()
442 struct uart_bas *bas; in uart_mvebu_bus_ipend() local
445 bas = &sc->sc_bas; in uart_mvebu_bus_ipend()
447 ipend = uart_getreg(bas, UART_STAT); in uart_mvebu_bus_ipend()
448 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_ipend()
453 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_TX_IDLE_INT); in uart_mvebu_bus_ipend()
454 uart_barrier(bas); in uart_mvebu_bus_ipend()
457 while(!(uart_getreg(bas, UART_STAT) & STAT_TX_FIFO_EMPT)) in uart_mvebu_bus_ipend()
505 struct uart_bas *bas; in uart_mvebu_bus_receive() local
509 bas = &sc->sc_bas; in uart_mvebu_bus_receive()
512 while (!(uart_getreg(bas, UART_STAT) & STAT_RX_FIFO_EMPT)) { in uart_mvebu_bus_receive()
518 xc = uart_getreg(bas, UART_RBR); in uart_mvebu_bus_receive()
531 uart_barrier(bas); in uart_mvebu_bus_receive()
539 if (!(uart_getreg(bas, UART_STAT) & STAT_RX_FIFO_EMPT)) { in uart_mvebu_bus_receive()
557 struct uart_bas *bas; in uart_mvebu_bus_transmit() local
560 bas = &sc->sc_bas; in uart_mvebu_bus_transmit()
564 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_transmit()
565 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_INTR_MASK); in uart_mvebu_bus_transmit()
566 uart_barrier(bas); in uart_mvebu_bus_transmit()
569 uart_setreg(bas, UART_TSH, sc->sc_txbuf[i] & 0xff); in uart_mvebu_bus_transmit()
570 uart_barrier(bas); in uart_mvebu_bus_transmit()
577 uart_setreg(bas, UART_CTRL, ctrl | CTRL_TX_IDLE_INT); in uart_mvebu_bus_transmit()
578 uart_barrier(bas); in uart_mvebu_bus_transmit()
591 struct uart_bas *bas = &sc->sc_bas; in uart_mvebu_bus_grab() local
596 ctrl = uart_getreg(bas, UART_CTRL); in uart_mvebu_bus_grab()
598 uart_setreg(bas, UART_CTRL, ctrl & ~CTRL_INTR_MASK); in uart_mvebu_bus_grab()
599 uart_barrier(bas); in uart_mvebu_bus_grab()
607 struct uart_bas *bas = &sc->sc_bas; in uart_mvebu_bus_ungrab() local
612 ctrl = uart_getreg(bas, UART_CTRL) & ~CTRL_INTR_MASK; in uart_mvebu_bus_ungrab()
613 uart_setreg(bas, UART_CTRL, ctrl | msc->intrm); in uart_mvebu_bus_ungrab()
614 uart_barrier(bas); in uart_mvebu_bus_ungrab()