Lines Matching refs:bas

150 #define	__uart_getreg(bas, reg)		\  argument
151 bus_space_read_4((bas)->bst, (bas)->bsh, uart_regofs(bas, reg))
152 #define __uart_setreg(bas, reg, value) \ argument
153 bus_space_write_4((bas)->bst, (bas)->bsh, uart_regofs(bas, reg), value)
158 static int uart_pl011_probe(struct uart_bas *bas);
159 static void uart_pl011_init(struct uart_bas *bas, int, int, int, int);
160 static void uart_pl011_term(struct uart_bas *bas);
161 static void uart_pl011_putc(struct uart_bas *bas, int);
162 static int uart_pl011_rxready(struct uart_bas *bas);
163 static int uart_pl011_getc(struct uart_bas *bas, struct mtx *);
175 uart_pl011_probe(struct uart_bas *bas) in uart_pl011_probe() argument
182 uart_pl011_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_pl011_param() argument
193 __uart_setreg(bas, UART_CR, ctrl); in uart_pl011_param()
223 if (bas->rclk != 0 && baudrate != 0) { in uart_pl011_param()
224 baud = bas->rclk * 4 / baudrate; in uart_pl011_param()
225 __uart_setreg(bas, UART_IBRD, ((uint32_t)(baud >> 6)) & IBRD_BDIVINT); in uart_pl011_param()
226 __uart_setreg(bas, UART_FBRD, (uint32_t)(baud & 0x3F) & FBRD_BDIVFRAC); in uart_pl011_param()
230 __uart_setreg(bas, UART_LCR_H, (__uart_getreg(bas, UART_LCR_H) & in uart_pl011_param()
234 __uart_setreg(bas, UART_IFLS, FIFO_IFLS_BITS); in uart_pl011_param()
236 __uart_setreg(bas, UART_CR, ctrl); in uart_pl011_param()
240 uart_pl011_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in uart_pl011_init() argument
244 __uart_setreg(bas, UART_IMSC, __uart_getreg(bas, UART_IMSC) & in uart_pl011_init()
247 uart_pl011_param(bas, baudrate, databits, stopbits, parity); in uart_pl011_init()
251 uart_pl011_term(struct uart_bas *bas) in uart_pl011_term() argument
256 uart_pl011_putc(struct uart_bas *bas, int c) in uart_pl011_putc() argument
260 while (__uart_getreg(bas, UART_FR) & FR_TXFF) in uart_pl011_putc()
262 __uart_setreg(bas, UART_DR, c & 0xff); in uart_pl011_putc()
266 uart_pl011_rxready(struct uart_bas *bas) in uart_pl011_rxready() argument
269 return !(__uart_getreg(bas, UART_FR) & FR_RXFE); in uart_pl011_rxready()
273 uart_pl011_getc(struct uart_bas *bas, struct mtx *hwmtx) in uart_pl011_getc() argument
277 while (!uart_pl011_rxready(bas)) in uart_pl011_getc()
279 c = __uart_getreg(bas, UART_DR) & 0xff; in uart_pl011_getc()
355 struct uart_bas *bas; in uart_pl011_bus_attach() local
358 bas = &sc->sc_bas; in uart_pl011_bus_attach()
362 __uart_setreg(bas, UART_IMSC, psc->imsc); in uart_pl011_bus_attach()
365 __uart_setreg(bas, UART_ICR, IMSC_MASK_ALL); in uart_pl011_bus_attach()
417 struct uart_bas *bas; in uart_pl011_bus_ipend() local
422 bas = &sc->sc_bas; in uart_pl011_bus_ipend()
425 ints = __uart_getreg(bas, UART_MIS); in uart_pl011_bus_ipend()
439 __uart_setreg(bas, UART_IMSC, psc->imsc & ~UART_TXEMPTY); in uart_pl011_bus_ipend()
520 struct uart_bas *bas; in uart_pl011_bus_receive() local
524 bas = &sc->sc_bas; in uart_pl011_bus_receive()
528 ints = __uart_getreg(bas, UART_FR); in uart_pl011_bus_receive()
536 xc = __uart_getreg(bas, UART_DR); in uart_pl011_bus_receive()
563 struct uart_bas *bas; in uart_pl011_bus_transmit() local
567 bas = &sc->sc_bas; in uart_pl011_bus_transmit()
571 __uart_setreg(bas, UART_DR, sc->sc_txbuf[i]); in uart_pl011_bus_transmit()
572 uart_barrier(bas); in uart_pl011_bus_transmit()
577 __uart_setreg(bas, UART_IMSC, psc->imsc); in uart_pl011_bus_transmit()
588 struct uart_bas *bas; in uart_pl011_bus_grab() local
591 bas = &sc->sc_bas; in uart_pl011_bus_grab()
595 __uart_setreg(bas, UART_IMSC, psc->imsc & ~IMSC_MASK_ALL); in uart_pl011_bus_grab()
603 struct uart_bas *bas; in uart_pl011_bus_ungrab() local
606 bas = &sc->sc_bas; in uart_pl011_bus_ungrab()
610 __uart_setreg(bas, UART_IMSC, psc->imsc); in uart_pl011_bus_ungrab()