Lines Matching refs:bas
67 #define uart_getreg(bas, reg) \ argument
68 bus_space_read_4((bas)->bst, (bas)->bsh, reg)
69 #define uart_setreg(bas, reg, value) \ argument
70 bus_space_write_4((bas)->bst, (bas)->bsh, reg, value)
107 aml8726_uart_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in aml8726_uart_param() argument
115 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_param()
149 if (baudrate > 0 && bas->rclk != 0) { in aml8726_uart_param()
150 divisor = aml8726_uart_divisor(bas->rclk / 4, baudrate) - 1; in aml8726_uart_param()
160 nbr = uart_getreg(bas, AML_UART_NEW_BAUD_REG); in aml8726_uart_param()
165 uart_setreg(bas, AML_UART_NEW_BAUD_REG, nbr); in aml8726_uart_param()
180 mr = uart_getreg(bas, AML_UART_MISC_REG); in aml8726_uart_param()
185 uart_setreg(bas, AML_UART_MISC_REG, mr); in aml8726_uart_param()
188 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_param()
189 uart_barrier(bas); in aml8726_uart_param()
199 aml8726_uart_probe(struct uart_bas *bas) in aml8726_uart_probe() argument
206 aml8726_uart_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in aml8726_uart_init() argument
212 (void)aml8726_uart_param(bas, baudrate, databits, stopbits, parity); in aml8726_uart_init()
214 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_init()
221 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_init()
222 uart_barrier(bas); in aml8726_uart_init()
225 mr = uart_getreg(bas, AML_UART_MISC_REG); in aml8726_uart_init()
227 uart_setreg(bas, AML_UART_MISC_REG, mr); in aml8726_uart_init()
228 uart_barrier(bas); in aml8726_uart_init()
232 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_init()
233 uart_barrier(bas); in aml8726_uart_init()
237 aml8726_uart_term(struct uart_bas *bas) in aml8726_uart_term() argument
242 aml8726_uart_putc(struct uart_bas *bas, int c) in aml8726_uart_putc() argument
245 while ((uart_getreg(bas, AML_UART_STATUS_REG) & in aml8726_uart_putc()
249 uart_setreg(bas, AML_UART_WFIFO_REG, c); in aml8726_uart_putc()
250 uart_barrier(bas); in aml8726_uart_putc()
254 aml8726_uart_rxready(struct uart_bas *bas) in aml8726_uart_rxready() argument
257 return ((uart_getreg(bas, AML_UART_STATUS_REG) & in aml8726_uart_rxready()
262 aml8726_uart_getc(struct uart_bas *bas, struct mtx *hwmtx) in aml8726_uart_getc() argument
268 while ((uart_getreg(bas, AML_UART_STATUS_REG) & in aml8726_uart_getc()
275 c = uart_getreg(bas, AML_UART_RFIFO_REG) & 0xff; in aml8726_uart_getc()
372 struct uart_bas *bas; in aml8726_uart_bus_attach() local
376 bas = &sc->sc_bas; in aml8726_uart_bus_attach()
378 bas->rclk = aml8726_uart_bus_clk(ofw_bus_get_node(sc->sc_dev)); in aml8726_uart_bus_attach()
380 if (bas->rclk == 0) { in aml8726_uart_bus_attach()
385 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_attach()
410 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_attach()
411 uart_barrier(bas); in aml8726_uart_bus_attach()
414 mr = uart_getreg(bas, AML_UART_MISC_REG); in aml8726_uart_bus_attach()
419 uart_setreg(bas, AML_UART_MISC_REG, mr); in aml8726_uart_bus_attach()
420 uart_barrier(bas); in aml8726_uart_bus_attach()
429 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_attach()
430 uart_barrier(bas); in aml8726_uart_bus_attach()
438 struct uart_bas *bas; in aml8726_uart_bus_detach() local
442 bas = &sc->sc_bas; in aml8726_uart_bus_detach()
445 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_detach()
447 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_detach()
448 uart_barrier(bas); in aml8726_uart_bus_detach()
451 mr = uart_getreg(bas, AML_UART_MISC_REG); in aml8726_uart_bus_detach()
453 uart_setreg(bas, AML_UART_MISC_REG, mr); in aml8726_uart_bus_detach()
454 uart_barrier(bas); in aml8726_uart_bus_detach()
462 struct uart_bas *bas; in aml8726_uart_bus_flush() local
465 bas = &sc->sc_bas; in aml8726_uart_bus_flush()
468 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_flush()
473 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_flush()
474 uart_barrier(bas); in aml8726_uart_bus_flush()
478 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_flush()
479 uart_barrier(bas); in aml8726_uart_bus_flush()
489 struct uart_bas *bas; in aml8726_uart_bus_ioctl() local
493 bas = &sc->sc_bas; in aml8726_uart_bus_ioctl()
499 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_ioctl()
502 mr = uart_getreg(bas, AML_UART_MISC_REG); in aml8726_uart_bus_ioctl()
512 nbr = uart_getreg(bas, AML_UART_NEW_BAUD_REG); in aml8726_uart_bus_ioctl()
522 baudrate = bas->rclk / 4 / (divisor + 1); in aml8726_uart_bus_ioctl()
531 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_ioctl()
536 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_ioctl()
552 struct uart_bas *bas; in aml8726_uart_bus_ipend() local
557 bas = &sc->sc_bas; in aml8726_uart_bus_ipend()
561 sr = uart_getreg(bas, AML_UART_STATUS_REG); in aml8726_uart_bus_ipend()
562 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_ipend()
572 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_ipend()
573 uart_barrier(bas); in aml8726_uart_bus_ipend()
588 struct uart_bas *bas; in aml8726_uart_bus_param() local
591 bas = &sc->sc_bas; in aml8726_uart_bus_param()
594 error = aml8726_uart_param(bas, baudrate, databits, stopbits, parity); in aml8726_uart_bus_param()
604 struct uart_bas *bas; in aml8726_uart_bus_receive() local
608 bas = &sc->sc_bas; in aml8726_uart_bus_receive()
611 sr = uart_getreg(bas, AML_UART_STATUS_REG); in aml8726_uart_bus_receive()
617 xc = uart_getreg(bas, AML_UART_RFIFO_REG) & 0xff; in aml8726_uart_bus_receive()
623 sr = uart_getreg(bas, AML_UART_STATUS_REG); in aml8726_uart_bus_receive()
627 (void)uart_getreg(bas, AML_UART_RFIFO_REG); in aml8726_uart_bus_receive()
628 sr = uart_getreg(bas, AML_UART_STATUS_REG); in aml8726_uart_bus_receive()
632 uart_setreg(bas, AML_UART_CONTROL_REG, in aml8726_uart_bus_receive()
633 (uart_getreg(bas, AML_UART_CONTROL_REG) | in aml8726_uart_bus_receive()
635 uart_barrier(bas); in aml8726_uart_bus_receive()
636 uart_setreg(bas, AML_UART_CONTROL_REG, in aml8726_uart_bus_receive()
637 (uart_getreg(bas, AML_UART_CONTROL_REG) & in aml8726_uart_bus_receive()
639 uart_barrier(bas); in aml8726_uart_bus_receive()
650 struct uart_bas *bas; in aml8726_uart_bus_transmit() local
654 bas = &sc->sc_bas; in aml8726_uart_bus_transmit()
661 while ((uart_getreg(bas, AML_UART_STATUS_REG) & in aml8726_uart_bus_transmit()
666 uart_setreg(bas, AML_UART_WFIFO_REG, sc->sc_txbuf[i]); in aml8726_uart_bus_transmit()
667 uart_barrier(bas); in aml8726_uart_bus_transmit()
672 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_transmit()
674 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_transmit()
675 uart_barrier(bas); in aml8726_uart_bus_transmit()
685 struct uart_bas *bas; in aml8726_uart_bus_grab() local
700 bas = &sc->sc_bas; in aml8726_uart_bus_grab()
703 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_grab()
705 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_grab()
706 uart_barrier(bas); in aml8726_uart_bus_grab()
714 struct uart_bas *bas; in aml8726_uart_bus_ungrab() local
724 bas = &sc->sc_bas; in aml8726_uart_bus_ungrab()
727 mr = uart_getreg(bas, AML_UART_MISC_REG); in aml8726_uart_bus_ungrab()
731 cr = uart_getreg(bas, AML_UART_CONTROL_REG); in aml8726_uart_bus_ungrab()
733 uart_setreg(bas, AML_UART_CONTROL_REG, cr); in aml8726_uart_bus_ungrab()
734 uart_barrier(bas); in aml8726_uart_bus_ungrab()