Lines Matching refs:bas

49 #define	quicc_read2(bas, reg)		\  argument
50 bus_space_read_2((bas)->bst, (bas)->bsh, reg)
51 #define quicc_read4(bas, reg) \ argument
52 bus_space_read_4((bas)->bst, (bas)->bsh, reg)
54 #define quicc_write2(bas, reg, val) \ argument
55 bus_space_write_2((bas)->bst, (bas)->bsh, reg, val)
56 #define quicc_write4(bas, reg, val) \ argument
57 bus_space_write_4((bas)->bst, (bas)->bsh, reg, val)
87 quicc_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in quicc_param() argument
94 divisor = quicc_divisor(bas->rclk, baudrate); in quicc_param()
97 quicc_write4(bas, QUICC_REG_BRG(bas->chan - 1), in quicc_param()
122 quicc_write2(bas, QUICC_REG_SCC_PSMR(bas->chan - 1), psmr); in quicc_param()
127 quicc_setup(struct uart_bas *bas, int baudrate, int databits, int stopbits, in quicc_setup() argument
131 if (bas->rclk == 0) in quicc_setup()
132 bas->rclk = DEFAULT_RCLK; in quicc_setup()
138 quicc_param(bas, baudrate, databits, stopbits, parity); in quicc_setup()
140 quicc_write2(bas, QUICC_REG_SCC_SCCE(bas->chan - 1), ~0); in quicc_setup()
141 quicc_write2(bas, QUICC_REG_SCC_SCCM(bas->chan - 1), 0x0027); in quicc_setup()
147 static int quicc_probe(struct uart_bas *bas);
148 static void quicc_init(struct uart_bas *bas, int, int, int, int);
149 static void quicc_term(struct uart_bas *bas);
150 static void quicc_putc(struct uart_bas *bas, int);
151 static int quicc_rxready(struct uart_bas *bas);
152 static int quicc_getc(struct uart_bas *bas, struct mtx *);
164 quicc_probe(struct uart_bas *bas) in quicc_probe() argument
171 quicc_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in quicc_init() argument
175 quicc_setup(bas, baudrate, databits, stopbits, parity); in quicc_init()
179 quicc_term(struct uart_bas *bas) in quicc_term() argument
184 quicc_putc(struct uart_bas *bas, int c) in quicc_putc() argument
189 unit = bas->chan - 1; in quicc_putc()
190 while (quicc_read2(bas, QUICC_PRAM_SCC_UART_TOSEQ(unit)) & 0x2000) in quicc_putc()
194 quicc_write2(bas, QUICC_PRAM_SCC_UART_TOSEQ(unit), toseq); in quicc_putc()
198 quicc_rxready(struct uart_bas *bas) in quicc_rxready() argument
202 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_rxready()
203 return ((quicc_read2(bas, rb) & 0x8000) ? 0 : 1); in quicc_rxready()
207 quicc_getc(struct uart_bas *bas, struct mtx *hwmtx) in quicc_getc() argument
215 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_getc()
217 while ((sc = quicc_read2(bas, rb)) & 0x8000) { in quicc_getc()
223 buf = (void *)(uintptr_t)quicc_read4(bas, rb + 4); in quicc_getc()
225 quicc_write2(bas, rb, sc | 0x8000); in quicc_getc()
290 struct uart_bas *bas; in quicc_bus_attach() local
294 bas = &sc->sc_bas; in quicc_bus_attach()
297 quicc_param(bas, di->baudrate, di->databits, di->stopbits, in quicc_bus_attach()
300 quicc_setup(bas, 9600, 8, 1, UART_PARITY_NONE); in quicc_bus_attach()
304 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_attach()
305 st = quicc_read2(bas, rb); in quicc_bus_attach()
306 quicc_write2(bas, rb, st | 0x9000); in quicc_bus_attach()
351 struct uart_bas *bas; in quicc_bus_ioctl() local
355 bas = &sc->sc_bas; in quicc_bus_ioctl()
362 brg = quicc_read4(bas, QUICC_REG_BRG(bas->chan - 1)) & 0x1fff; in quicc_bus_ioctl()
364 baudrate = bas->rclk / (brg * 16); in quicc_bus_ioctl()
378 struct uart_bas *bas; in quicc_bus_ipend() local
382 bas = &sc->sc_bas; in quicc_bus_ipend()
386 scce = quicc_read2(bas, QUICC_REG_SCC_SCCE(bas->chan - 1)); in quicc_bus_ipend()
387 quicc_write2(bas, QUICC_REG_SCC_SCCE(bas->chan - 1), ~0); in quicc_bus_ipend()
435 struct uart_bas *bas; in quicc_bus_receive() local
439 bas = &sc->sc_bas; in quicc_bus_receive()
441 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_receive()
442 st = quicc_read2(bas, rb); in quicc_bus_receive()
443 buf = (void *)(uintptr_t)quicc_read4(bas, rb + 4); in quicc_bus_receive()
445 quicc_write2(bas, rb, st | 0x9000); in quicc_bus_receive()
453 struct uart_bas *bas; in quicc_bus_setsig() local
456 bas = &sc->sc_bas; in quicc_bus_setsig()
480 struct uart_bas *bas; in quicc_bus_transmit() local
483 bas = &sc->sc_bas; in quicc_bus_transmit()
485 tb = quicc_read2(bas, QUICC_PRAM_SCC_TBASE(bas->chan - 1)); in quicc_bus_transmit()
486 st = quicc_read2(bas, tb); in quicc_bus_transmit()
487 buf = (void *)(uintptr_t)quicc_read4(bas, tb + 4); in quicc_bus_transmit()
489 quicc_write2(bas, tb + 2, 1); in quicc_bus_transmit()
490 quicc_write2(bas, tb, st | 0x9000); in quicc_bus_transmit()
499 struct uart_bas *bas; in quicc_bus_grab() local
503 bas = &sc->sc_bas; in quicc_bus_grab()
505 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_grab()
506 st = quicc_read2(bas, rb); in quicc_bus_grab()
507 quicc_write2(bas, rb, st & ~0x9000); in quicc_bus_grab()
514 struct uart_bas *bas; in quicc_bus_ungrab() local
518 bas = &sc->sc_bas; in quicc_bus_ungrab()
520 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_ungrab()
521 st = quicc_read2(bas, rb); in quicc_bus_ungrab()
522 quicc_write2(bas, rb, st | 0x9000); in quicc_bus_ungrab()