Lines Matching refs:bas

126 #define	__uart_getreg(bas, reg)		\  argument
127 bus_space_read_4((bas)->bst, (bas)->bsh, uart_regofs(bas, reg))
128 #define __uart_setreg(bas, reg, value) \ argument
129 bus_space_write_4((bas)->bst, (bas)->bsh, uart_regofs(bas, reg), value)
134 static int uart_mu_probe(struct uart_bas *bas);
135 static void uart_mu_init(struct uart_bas *bas, int, int, int, int);
136 static void uart_mu_term(struct uart_bas *bas);
137 static void uart_mu_putc(struct uart_bas *bas, int);
138 static int uart_mu_rxready(struct uart_bas *bas);
139 static int uart_mu_getc(struct uart_bas *bas, struct mtx *);
151 uart_mu_probe(struct uart_bas *bas) in uart_mu_probe() argument
164 uart_mu_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mu_param() argument
175 __uart_setreg(bas, AUX_MU_CNTL_REG, line); in uart_mu_param()
189 __uart_setreg(bas, AUX_MU_LCR_REG, line); in uart_mu_param()
197 __uart_setreg(bas, AUX_MU_BAUD_REG, ((uint32_t)(baud & 0xFFFF))); in uart_mu_param()
201 __uart_setreg(bas, AUX_MU_CNTL_REG, CNTL_RXENAB|CNTL_TXENAB); in uart_mu_param()
205 uart_mu_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_mu_init() argument
210 __uart_setreg(bas, AUX_MU_IER_REG, 0); in uart_mu_init()
211 uart_mu_param(bas, baudrate, databits, stopbits, parity); in uart_mu_init()
215 uart_mu_term(struct uart_bas *bas) in uart_mu_term() argument
220 uart_mu_putc(struct uart_bas *bas, int c) in uart_mu_putc() argument
224 while ((__uart_getreg(bas, AUX_MU_LSR_REG) & LSR_TXEMPTY) == 0) in uart_mu_putc()
226 __uart_setreg(bas, AUX_MU_IO_REG, c & 0xff); in uart_mu_putc()
230 uart_mu_rxready(struct uart_bas *bas) in uart_mu_rxready() argument
233 return ((__uart_getreg(bas, AUX_MU_LSR_REG) & LSR_RXREADY) != 0); in uart_mu_rxready()
237 uart_mu_getc(struct uart_bas *bas, struct mtx *hwmtx) in uart_mu_getc() argument
241 while(!uart_mu_rxready(bas)) in uart_mu_getc()
243 c = __uart_getreg(bas, AUX_MU_IO_REG) & 0xff; in uart_mu_getc()
251 struct uart_softc bas; member
308 struct uart_bas *bas; in uart_mu_bus_attach() local
311 bas = &sc->sc_bas; in uart_mu_bus_attach()
313 __uart_setreg(bas, AUX_MU_IIR_REG, IIR_CLEAR); in uart_mu_bus_attach()
316 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier); in uart_mu_bus_attach()
369 struct uart_bas *bas; in uart_mu_bus_ipend() local
374 bas = &sc->sc_bas; in uart_mu_bus_ipend()
377 ints = __uart_getreg(bas, AUX_MU_IIR_REG); in uart_mu_bus_ipend()
387 if (__uart_getreg(bas, AUX_MU_LSR_REG) & LSR_TXIDLE) { in uart_mu_bus_ipend()
392 __uart_setreg(bas, AUX_MU_IER_REG, in uart_mu_bus_ipend()
429 struct uart_bas *bas; in uart_mu_bus_receive() local
433 bas = &sc->sc_bas; in uart_mu_bus_receive()
436 lsr = __uart_getreg(bas, AUX_MU_LSR_REG); in uart_mu_bus_receive()
438 xc = __uart_getreg(bas, AUX_MU_IO_REG); in uart_mu_bus_receive()
445 lsr = __uart_getreg(bas, AUX_MU_LSR_REG); in uart_mu_bus_receive()
463 struct uart_bas *bas; in uart_mu_bus_transmit() local
467 bas = &sc->sc_bas; in uart_mu_bus_transmit()
471 __uart_setreg(bas, AUX_MU_IO_REG, sc->sc_txbuf[i] & 0xff); in uart_mu_bus_transmit()
472 uart_barrier(bas); in uart_mu_bus_transmit()
477 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier); in uart_mu_bus_transmit()
488 struct uart_bas *bas; in uart_mu_bus_grab() local
491 bas = &sc->sc_bas; in uart_mu_bus_grab()
495 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier &~IER_MASK_ALL); in uart_mu_bus_grab()
503 struct uart_bas *bas; in uart_mu_bus_ungrab() local
506 bas = &sc->sc_bas; in uart_mu_bus_ungrab()
510 __uart_setreg(bas, AUX_MU_CNTL_REG, CNTL_RXENAB|CNTL_TXENAB); in uart_mu_bus_ungrab()
511 __uart_setreg(bas, AUX_MU_IER_REG, psc->aux_ier); in uart_mu_bus_ungrab()