Lines Matching refs:bas

46 #define	quicc_read2(bas, reg)		\  argument
47 bus_space_read_2((bas)->bst, (bas)->bsh, reg)
48 #define quicc_read4(bas, reg) \ argument
49 bus_space_read_4((bas)->bst, (bas)->bsh, reg)
51 #define quicc_write2(bas, reg, val) \ argument
52 bus_space_write_2((bas)->bst, (bas)->bsh, reg, val)
53 #define quicc_write4(bas, reg, val) \ argument
54 bus_space_write_4((bas)->bst, (bas)->bsh, reg, val)
84 quicc_param(struct uart_bas *bas, int baudrate, int databits, int stopbits, in quicc_param() argument
91 divisor = quicc_divisor(bas->rclk, baudrate); in quicc_param()
94 quicc_write4(bas, QUICC_REG_BRG(bas->chan - 1), in quicc_param()
119 quicc_write2(bas, QUICC_REG_SCC_PSMR(bas->chan - 1), psmr); in quicc_param()
124 quicc_setup(struct uart_bas *bas, int baudrate, int databits, int stopbits, in quicc_setup() argument
128 if (bas->rclk == 0) in quicc_setup()
129 bas->rclk = DEFAULT_RCLK; in quicc_setup()
135 quicc_param(bas, baudrate, databits, stopbits, parity); in quicc_setup()
137 quicc_write2(bas, QUICC_REG_SCC_SCCE(bas->chan - 1), ~0); in quicc_setup()
138 quicc_write2(bas, QUICC_REG_SCC_SCCM(bas->chan - 1), 0x0027); in quicc_setup()
144 static int quicc_probe(struct uart_bas *bas);
145 static void quicc_init(struct uart_bas *bas, int, int, int, int);
146 static void quicc_term(struct uart_bas *bas);
147 static void quicc_putc(struct uart_bas *bas, int);
148 static int quicc_rxready(struct uart_bas *bas);
149 static int quicc_getc(struct uart_bas *bas, struct mtx *);
161 quicc_probe(struct uart_bas *bas) in quicc_probe() argument
168 quicc_init(struct uart_bas *bas, int baudrate, int databits, int stopbits, in quicc_init() argument
172 quicc_setup(bas, baudrate, databits, stopbits, parity); in quicc_init()
176 quicc_term(struct uart_bas *bas) in quicc_term() argument
181 quicc_putc(struct uart_bas *bas, int c) in quicc_putc() argument
186 unit = bas->chan - 1; in quicc_putc()
187 while (quicc_read2(bas, QUICC_PRAM_SCC_UART_TOSEQ(unit)) & 0x2000) in quicc_putc()
191 quicc_write2(bas, QUICC_PRAM_SCC_UART_TOSEQ(unit), toseq); in quicc_putc()
195 quicc_rxready(struct uart_bas *bas) in quicc_rxready() argument
199 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_rxready()
200 return ((quicc_read2(bas, rb) & 0x8000) ? 0 : 1); in quicc_rxready()
204 quicc_getc(struct uart_bas *bas, struct mtx *hwmtx) in quicc_getc() argument
212 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_getc()
214 while ((sc = quicc_read2(bas, rb)) & 0x8000) { in quicc_getc()
220 buf = (void *)(uintptr_t)quicc_read4(bas, rb + 4); in quicc_getc()
222 quicc_write2(bas, rb, sc | 0x8000); in quicc_getc()
288 struct uart_bas *bas; in quicc_bus_attach() local
292 bas = &sc->sc_bas; in quicc_bus_attach()
295 quicc_param(bas, di->baudrate, di->databits, di->stopbits, in quicc_bus_attach()
298 quicc_setup(bas, 9600, 8, 1, UART_PARITY_NONE); in quicc_bus_attach()
302 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_attach()
303 st = quicc_read2(bas, rb); in quicc_bus_attach()
304 quicc_write2(bas, rb, st | 0x9000); in quicc_bus_attach()
349 struct uart_bas *bas; in quicc_bus_ioctl() local
353 bas = &sc->sc_bas; in quicc_bus_ioctl()
360 brg = quicc_read4(bas, QUICC_REG_BRG(bas->chan - 1)) & 0x1fff; in quicc_bus_ioctl()
362 baudrate = bas->rclk / (brg * 16); in quicc_bus_ioctl()
376 struct uart_bas *bas; in quicc_bus_ipend() local
380 bas = &sc->sc_bas; in quicc_bus_ipend()
384 scce = quicc_read2(bas, QUICC_REG_SCC_SCCE(bas->chan - 1)); in quicc_bus_ipend()
385 quicc_write2(bas, QUICC_REG_SCC_SCCE(bas->chan - 1), ~0); in quicc_bus_ipend()
431 struct uart_bas *bas; in quicc_bus_receive() local
435 bas = &sc->sc_bas; in quicc_bus_receive()
437 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_receive()
438 st = quicc_read2(bas, rb); in quicc_bus_receive()
439 buf = (void *)(uintptr_t)quicc_read4(bas, rb + 4); in quicc_bus_receive()
441 quicc_write2(bas, rb, st | 0x9000); in quicc_bus_receive()
474 struct uart_bas *bas; in quicc_bus_transmit() local
477 bas = &sc->sc_bas; in quicc_bus_transmit()
479 tb = quicc_read2(bas, QUICC_PRAM_SCC_TBASE(bas->chan - 1)); in quicc_bus_transmit()
480 st = quicc_read2(bas, tb); in quicc_bus_transmit()
481 buf = (void *)(uintptr_t)quicc_read4(bas, tb + 4); in quicc_bus_transmit()
483 quicc_write2(bas, tb + 2, 1); in quicc_bus_transmit()
484 quicc_write2(bas, tb, st | 0x9000); in quicc_bus_transmit()
493 struct uart_bas *bas; in quicc_bus_grab() local
497 bas = &sc->sc_bas; in quicc_bus_grab()
499 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_grab()
500 st = quicc_read2(bas, rb); in quicc_bus_grab()
501 quicc_write2(bas, rb, st & ~0x9000); in quicc_bus_grab()
508 struct uart_bas *bas; in quicc_bus_ungrab() local
512 bas = &sc->sc_bas; in quicc_bus_ungrab()
514 rb = quicc_read2(bas, QUICC_PRAM_SCC_RBASE(bas->chan - 1)); in quicc_bus_ungrab()
515 st = quicc_read2(bas, rb); in quicc_bus_ungrab()
516 quicc_write2(bas, rb, st | 0x9000); in quicc_bus_ungrab()