Lines Matching refs:bas

54 #define	RD4(bas, reg)		\  argument
55 bus_space_read_4((bas)->bst, (bas)->bsh, uart_regofs((bas), (reg)))
56 #define WR4(bas, reg, value) \ argument
57 bus_space_write_4((bas)->bst, (bas)->bsh, uart_regofs((bas), (reg)), \
146 static int cdnc_uart_probe(struct uart_bas *bas);
147 static void cdnc_uart_init(struct uart_bas *bas, int, int, int, int);
148 static void cdnc_uart_term(struct uart_bas *bas);
149 static void cdnc_uart_putc(struct uart_bas *bas, int);
150 static int cdnc_uart_rxready(struct uart_bas *bas);
151 static int cdnc_uart_getc(struct uart_bas *bas, struct mtx *mtx);
172 cdnc_uart_probe(struct uart_bas *bas) in cdnc_uart_probe() argument
179 cdnc_uart_set_baud(struct uart_bas *bas, int baudrate) in cdnc_uart_set_baud() argument
191 baudgen = (bas->rclk + (baudrate * (bauddiv + 1)) / 2) / in cdnc_uart_set_baud()
196 baud_out = bas->rclk / (baudgen * (bauddiv + 1)); in cdnc_uart_set_baud()
208 WR4(bas, CDNC_UART_BAUDDIV_REG, best_bauddiv); in cdnc_uart_set_baud()
209 WR4(bas, CDNC_UART_BAUDGEN_REG, best_baudgen); in cdnc_uart_set_baud()
216 cdnc_uart_set_params(struct uart_bas *bas, int baudrate, int databits, in cdnc_uart_set_params() argument
256 WR4(bas, CDNC_UART_MODE_REG, mode_reg_value); in cdnc_uart_set_params()
258 if (baudrate > 0 && cdnc_uart_set_baud(bas, baudrate) < 0) in cdnc_uart_set_params()
265 cdnc_uart_hw_init(struct uart_bas *bas) in cdnc_uart_hw_init() argument
269 WR4(bas, CDNC_UART_CTRL_REG, in cdnc_uart_hw_init()
273 WR4(bas, CDNC_UART_IDIS_REG, CDNC_UART_INT_ALL); in cdnc_uart_hw_init()
274 WR4(bas, CDNC_UART_ISTAT_REG, CDNC_UART_INT_ALL); in cdnc_uart_hw_init()
277 WR4(bas, CDNC_UART_MODEM_STAT_REG, in cdnc_uart_hw_init()
282 WR4(bas, CDNC_UART_RX_WATER_REG, UART_FIFO_SIZE/2); in cdnc_uart_hw_init()
283 WR4(bas, CDNC_UART_RX_TIMEO_REG, 10); in cdnc_uart_hw_init()
286 WR4(bas, CDNC_UART_TX_WATER_REG, UART_FIFO_SIZE/2); in cdnc_uart_hw_init()
289 WR4(bas, CDNC_UART_CTRL_REG, in cdnc_uart_hw_init()
294 WR4(bas, CDNC_UART_MODEM_CTRL_REG, CDNC_UART_MODEM_CTRL_REG_DTR | in cdnc_uart_hw_init()
302 cdnc_uart_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in cdnc_uart_init() argument
307 cdnc_uart_hw_init(bas); in cdnc_uart_init()
310 (void)cdnc_uart_set_params(bas, baudrate, databits, stopbits, parity); in cdnc_uart_init()
318 cdnc_uart_term(struct uart_bas *bas) in cdnc_uart_term() argument
329 cdnc_uart_putc(struct uart_bas *bas, int c) in cdnc_uart_putc() argument
333 while ((RD4(bas,CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_putc()
337 WR4(bas, CDNC_UART_FIFO, c); in cdnc_uart_putc()
339 while ((RD4(bas,CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_putc()
348 cdnc_uart_rxready(struct uart_bas *bas) in cdnc_uart_rxready() argument
351 return ((RD4(bas, CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_rxready()
359 cdnc_uart_getc(struct uart_bas *bas, struct mtx *mtx) in cdnc_uart_getc() argument
365 while ((RD4(bas, CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_getc()
372 c = RD4(bas, CDNC_UART_FIFO); in cdnc_uart_getc()
432 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_attach() local
437 (void)cdnc_uart_set_params(bas, di->baudrate, di->databits, in cdnc_uart_bus_attach()
440 cdnc_uart_hw_init(bas); in cdnc_uart_bus_attach()
445 WR4(bas, CDNC_UART_IEN_REG, in cdnc_uart_bus_attach()
457 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_transmit() local
462 WR4(bas, CDNC_UART_ISTAT_REG, CDNC_UART_INT_TXEMPTY); in cdnc_uart_bus_transmit()
465 WR4(bas, CDNC_UART_FIFO, sc->sc_txbuf[i]); in cdnc_uart_bus_transmit()
468 WR4(bas, CDNC_UART_IEN_REG, CDNC_UART_INT_TXEMPTY); in cdnc_uart_bus_transmit()
479 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_setsig() local
493 modem_ctrl = RD4(bas, CDNC_UART_MODEM_CTRL_REG) & in cdnc_uart_bus_setsig()
499 WR4(bas, CDNC_UART_MODEM_CTRL_REG, modem_ctrl); in cdnc_uart_bus_setsig()
508 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_receive() local
515 status = RD4(bas, CDNC_UART_ISTAT_REG); in cdnc_uart_bus_receive()
517 WR4(bas, CDNC_UART_ISTAT_REG, in cdnc_uart_bus_receive()
525 while ((RD4(bas, CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_bus_receive()
527 c = RD4(bas, CDNC_UART_FIFO) & 0xff; in cdnc_uart_bus_receive()
534 WR4(bas, CDNC_UART_ISTAT_REG, CDNC_UART_INT_FRAMING); in cdnc_uart_bus_receive()
558 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_ipend() local
563 istatus = RD4(bas, CDNC_UART_ISTAT_REG); in cdnc_uart_bus_ipend()
566 WR4(bas, CDNC_UART_ISTAT_REG, istatus & in cdnc_uart_bus_ipend()
578 WR4(bas, CDNC_UART_IDIS_REG, CDNC_UART_INT_TXEMPTY); in cdnc_uart_bus_ipend()
592 WR4(bas, CDNC_UART_MODEM_STAT_REG, in cdnc_uart_bus_ipend()
614 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_getsig() local
622 modem_status = RD4(bas, CDNC_UART_MODEM_STAT_REG); in cdnc_uart_bus_getsig()
640 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_ioctl() local
648 uart_ctrl = RD4(bas, CDNC_UART_CTRL_REG); in cdnc_uart_bus_ioctl()
656 WR4(bas, CDNC_UART_CTRL_REG, uart_ctrl); in cdnc_uart_bus_ioctl()
659 modem_ctrl = RD4(bas, CDNC_UART_MODEM_CTRL_REG); in cdnc_uart_bus_ioctl()
664 WR4(bas, CDNC_UART_MODEM_CTRL_REG, modem_ctrl); in cdnc_uart_bus_ioctl()