Lines Matching refs:bas
129 #define __uart_getreg(bas, reg) \ argument
130 bus_space_read_4((bas)->bst, (bas)->bsh, uart_regofs(bas, reg))
131 #define __uart_setreg(bas, reg, value) \ argument
132 bus_space_write_4((bas)->bst, (bas)->bsh, uart_regofs(bas, reg), value)
137 static int uart_mu_probe(struct uart_bas *bas);
138 static void uart_mu_init(struct uart_bas *bas, int, int, int, int);
139 static void uart_mu_term(struct uart_bas *bas);
140 static void uart_mu_putc(struct uart_bas *bas, int);
141 static int uart_mu_rxready(struct uart_bas *bas);
142 static int uart_mu_getc(struct uart_bas *bas, struct mtx *);
154 uart_mu_probe(struct uart_bas *bas) in uart_mu_probe() argument
167 uart_mu_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mu_param() argument
178 __uart_setreg(bas, AUX_MU_CNTL_REG, line); in uart_mu_param()
192 __uart_setreg(bas, AUX_MU_LCR_REG, line); in uart_mu_param()
200 __uart_setreg(bas, AUX_MU_BAUD_REG, ((uint32_t)(baud & 0xFFFF))); in uart_mu_param()
204 __uart_setreg(bas, AUX_MU_CNTL_REG, CNTL_RXENAB|CNTL_TXENAB); in uart_mu_param()
208 uart_mu_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mu_init() argument
213 __uart_setreg(bas, AUX_MU_IER_REG, 0); in uart_mu_init()
214 uart_mu_param(bas, baudrate, databits, stopbits, parity); in uart_mu_init()
218 uart_mu_term(struct uart_bas *bas) in uart_mu_term() argument
223 uart_mu_putc(struct uart_bas *bas, int c) in uart_mu_putc() argument
227 while ((__uart_getreg(bas, AUX_MU_LSR_REG) & LSR_TXEMPTY) == 0) in uart_mu_putc()
229 __uart_setreg(bas, AUX_MU_IO_REG, c & 0xff); in uart_mu_putc()
233 uart_mu_rxready(struct uart_bas *bas) in uart_mu_rxready() argument
236 return ((__uart_getreg(bas, AUX_MU_LSR_REG) & LSR_RXREADY) != 0); in uart_mu_rxready()
240 uart_mu_getc(struct uart_bas *bas, struct mtx *hwmtx) in uart_mu_getc() argument
244 while(!uart_mu_rxready(bas)) in uart_mu_getc()
246 c = __uart_getreg(bas, AUX_MU_IO_REG) & 0xff; in uart_mu_getc()
254 struct uart_softc bas; member
312 struct uart_bas *bas; in uart_mu_bus_attach() local
315 bas = &sc->sc_bas; in uart_mu_bus_attach()
317 __uart_setreg(bas, AUX_MU_IIR_REG, IIR_CLEAR); in uart_mu_bus_attach()
320 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier); in uart_mu_bus_attach()
350 struct uart_bas *bas; in uart_mu_bus_ioctl() local
353 bas = &sc->sc_bas; in uart_mu_bus_ioctl()
375 struct uart_bas *bas; in uart_mu_bus_ipend() local
380 bas = &sc->sc_bas; in uart_mu_bus_ipend()
383 ints = __uart_getreg(bas, AUX_MU_IIR_REG); in uart_mu_bus_ipend()
393 if (__uart_getreg(bas, AUX_MU_LSR_REG) & LSR_TXIDLE) { in uart_mu_bus_ipend()
398 __uart_setreg(bas, AUX_MU_IER_REG, in uart_mu_bus_ipend()
436 struct uart_bas *bas; in uart_mu_bus_receive() local
440 bas = &sc->sc_bas; in uart_mu_bus_receive()
444 lsr = __uart_getreg(bas, AUX_MU_LSR_REG); in uart_mu_bus_receive()
446 xc = __uart_getreg(bas, AUX_MU_IO_REG); in uart_mu_bus_receive()
453 lsr = __uart_getreg(bas, AUX_MU_LSR_REG); in uart_mu_bus_receive()
471 struct uart_bas *bas; in uart_mu_bus_transmit() local
475 bas = &sc->sc_bas; in uart_mu_bus_transmit()
479 __uart_setreg(bas, AUX_MU_IO_REG, sc->sc_txbuf[i] & 0xff); in uart_mu_bus_transmit()
480 uart_barrier(bas); in uart_mu_bus_transmit()
485 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier); in uart_mu_bus_transmit()
496 struct uart_bas *bas; in uart_mu_bus_grab() local
499 bas = &sc->sc_bas; in uart_mu_bus_grab()
503 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier &~IER_MASK_ALL); in uart_mu_bus_grab()
511 struct uart_bas *bas; in uart_mu_bus_ungrab() local
514 bas = &sc->sc_bas; in uart_mu_bus_ungrab()
518 __uart_setreg(bas, AUX_MU_CNTL_REG, CNTL_RXENAB|CNTL_TXENAB); in uart_mu_bus_ungrab()
519 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier); in uart_mu_bus_ungrab()