Lines Matching refs:bas

55 #define	RD4(bas, reg)		\  argument
56 bus_space_read_4((bas)->bst, (bas)->bsh, uart_regofs((bas), (reg)))
57 #define WR4(bas, reg, value) \ argument
58 bus_space_write_4((bas)->bst, (bas)->bsh, uart_regofs((bas), (reg)), \
147 static int cdnc_uart_probe(struct uart_bas *bas);
148 static void cdnc_uart_init(struct uart_bas *bas, int, int, int, int);
149 static void cdnc_uart_term(struct uart_bas *bas);
150 static void cdnc_uart_putc(struct uart_bas *bas, int);
151 static int cdnc_uart_rxready(struct uart_bas *bas);
152 static int cdnc_uart_getc(struct uart_bas *bas, struct mtx *mtx);
173 cdnc_uart_probe(struct uart_bas *bas) in cdnc_uart_probe() argument
180 cdnc_uart_set_baud(struct uart_bas *bas, int baudrate) in cdnc_uart_set_baud() argument
192 baudgen = (bas->rclk + (baudrate * (bauddiv + 1)) / 2) / in cdnc_uart_set_baud()
197 baud_out = bas->rclk / (baudgen * (bauddiv + 1)); in cdnc_uart_set_baud()
209 WR4(bas, CDNC_UART_BAUDDIV_REG, best_bauddiv); in cdnc_uart_set_baud()
210 WR4(bas, CDNC_UART_BAUDGEN_REG, best_baudgen); in cdnc_uart_set_baud()
217 cdnc_uart_set_params(struct uart_bas *bas, int baudrate, int databits, in cdnc_uart_set_params() argument
257 WR4(bas, CDNC_UART_MODE_REG, mode_reg_value); in cdnc_uart_set_params()
259 if (baudrate > 0 && cdnc_uart_set_baud(bas, baudrate) < 0) in cdnc_uart_set_params()
266 cdnc_uart_hw_init(struct uart_bas *bas) in cdnc_uart_hw_init() argument
270 WR4(bas, CDNC_UART_CTRL_REG, in cdnc_uart_hw_init()
274 WR4(bas, CDNC_UART_IDIS_REG, CDNC_UART_INT_ALL); in cdnc_uart_hw_init()
275 WR4(bas, CDNC_UART_ISTAT_REG, CDNC_UART_INT_ALL); in cdnc_uart_hw_init()
278 WR4(bas, CDNC_UART_MODEM_STAT_REG, in cdnc_uart_hw_init()
283 WR4(bas, CDNC_UART_RX_WATER_REG, UART_FIFO_SIZE/2); in cdnc_uart_hw_init()
284 WR4(bas, CDNC_UART_RX_TIMEO_REG, 10); in cdnc_uart_hw_init()
287 WR4(bas, CDNC_UART_TX_WATER_REG, UART_FIFO_SIZE/2); in cdnc_uart_hw_init()
290 WR4(bas, CDNC_UART_CTRL_REG, in cdnc_uart_hw_init()
295 WR4(bas, CDNC_UART_MODEM_CTRL_REG, CDNC_UART_MODEM_CTRL_REG_DTR | in cdnc_uart_hw_init()
303 cdnc_uart_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in cdnc_uart_init() argument
308 cdnc_uart_hw_init(bas); in cdnc_uart_init()
311 (void)cdnc_uart_set_params(bas, baudrate, databits, stopbits, parity); in cdnc_uart_init()
319 cdnc_uart_term(struct uart_bas *bas) in cdnc_uart_term() argument
330 cdnc_uart_putc(struct uart_bas *bas, int c) in cdnc_uart_putc() argument
334 while ((RD4(bas,CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_putc()
338 WR4(bas, CDNC_UART_FIFO, c); in cdnc_uart_putc()
340 while ((RD4(bas,CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_putc()
349 cdnc_uart_rxready(struct uart_bas *bas) in cdnc_uart_rxready() argument
352 return ((RD4(bas, CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_rxready()
360 cdnc_uart_getc(struct uart_bas *bas, struct mtx *mtx) in cdnc_uart_getc() argument
366 while ((RD4(bas, CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_getc()
373 c = RD4(bas, CDNC_UART_FIFO); in cdnc_uart_getc()
433 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_attach() local
438 (void)cdnc_uart_set_params(bas, di->baudrate, di->databits, in cdnc_uart_bus_attach()
441 cdnc_uart_hw_init(bas); in cdnc_uart_bus_attach()
446 WR4(bas, CDNC_UART_IEN_REG, in cdnc_uart_bus_attach()
458 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_transmit() local
463 WR4(bas, CDNC_UART_ISTAT_REG, CDNC_UART_INT_TXEMPTY); in cdnc_uart_bus_transmit()
466 WR4(bas, CDNC_UART_FIFO, sc->sc_txbuf[i]); in cdnc_uart_bus_transmit()
469 WR4(bas, CDNC_UART_IEN_REG, CDNC_UART_INT_TXEMPTY); in cdnc_uart_bus_transmit()
480 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_setsig() local
494 modem_ctrl = RD4(bas, CDNC_UART_MODEM_CTRL_REG) & in cdnc_uart_bus_setsig()
500 WR4(bas, CDNC_UART_MODEM_CTRL_REG, modem_ctrl); in cdnc_uart_bus_setsig()
509 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_receive() local
516 status = RD4(bas, CDNC_UART_ISTAT_REG); in cdnc_uart_bus_receive()
518 WR4(bas, CDNC_UART_ISTAT_REG, in cdnc_uart_bus_receive()
526 while ((RD4(bas, CDNC_UART_CHAN_STAT_REG) & in cdnc_uart_bus_receive()
528 c = RD4(bas, CDNC_UART_FIFO) & 0xff; in cdnc_uart_bus_receive()
535 WR4(bas, CDNC_UART_ISTAT_REG, CDNC_UART_INT_FRAMING); in cdnc_uart_bus_receive()
559 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_ipend() local
564 istatus = RD4(bas, CDNC_UART_ISTAT_REG); in cdnc_uart_bus_ipend()
567 WR4(bas, CDNC_UART_ISTAT_REG, istatus & in cdnc_uart_bus_ipend()
579 WR4(bas, CDNC_UART_IDIS_REG, CDNC_UART_INT_TXEMPTY); in cdnc_uart_bus_ipend()
593 WR4(bas, CDNC_UART_MODEM_STAT_REG, in cdnc_uart_bus_ipend()
615 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_getsig() local
623 modem_status = RD4(bas, CDNC_UART_MODEM_STAT_REG); in cdnc_uart_bus_getsig()
641 struct uart_bas *bas = &sc->sc_bas; in cdnc_uart_bus_ioctl() local
649 uart_ctrl = RD4(bas, CDNC_UART_CTRL_REG); in cdnc_uart_bus_ioctl()
657 WR4(bas, CDNC_UART_CTRL_REG, uart_ctrl); in cdnc_uart_bus_ioctl()
660 modem_ctrl = RD4(bas, CDNC_UART_MODEM_CTRL_REG); in cdnc_uart_bus_ioctl()
665 WR4(bas, CDNC_UART_MODEM_CTRL_REG, modem_ctrl); in cdnc_uart_bus_ioctl()