Lines Matching full:via

3  * Device driver for the via ADB on (many) Mac II-class machines
21 * Rockwell R6522 VIA datasheet
37 static volatile unsigned char *via; variable
39 /* VIA registers - spaced 0x200 bytes apart */
120 static int status; /* VIA's ADB status bits captured upon interrupt */
134 via = via1; in macii_probe()
169 via[DIRB] = (via[DIRB] | ST_EVEN | ST_ODD) & ~CTLR_IRQ; in macii_init_via()
172 via[B] |= ST_IDLE; in macii_init_via()
175 via[ACR] = (via[ACR] & ~SR_CTRL) | SR_EXT; in macii_init_via()
178 x = via[SR]; in macii_init_via()
339 via[ACR] |= SR_OUT; in macii_start()
341 via[SR] = req->data[1]; in macii_start()
343 via[B] = (via[B] & ~ST_MASK) | ST_CMD; in macii_start()
358 * The VIA Port B output signalling works as follows. After the ADB transceiver
359 * sees a transition on the PB4 and PB5 lines it will crank over the VIA shift
380 if (via[IFR] & SR_INT) in macii_interrupt()
381 via[IFR] = SR_INT; in macii_interrupt()
388 status = via[B] & (ST_MASK | CTLR_IRQ); in macii_interrupt()
400 x = via[SR]; in macii_interrupt()
416 via[B] = (via[B] & ~ST_MASK) | ST_EVEN; in macii_interrupt()
449 via[ACR] &= ~SR_OUT; in macii_interrupt()
450 x = via[SR]; in macii_interrupt()
462 via[ACR] &= ~SR_OUT; in macii_interrupt()
463 x = via[SR]; in macii_interrupt()
472 via[ACR] &= ~SR_OUT; in macii_interrupt()
473 x = via[SR]; in macii_interrupt()
489 via[SR] = req->data[data_index++]; in macii_interrupt()
492 if ((via[B] & ST_MASK) == ST_CMD) { in macii_interrupt()
494 via[B] = (via[B] & ~ST_MASK) | ST_EVEN; in macii_interrupt()
497 via[B] ^= ST_MASK; in macii_interrupt()
502 x = via[SR]; in macii_interrupt()
541 via[B] ^= ST_MASK; in macii_interrupt()
556 via[ACR] &= ~SR_OUT; in macii_interrupt()
557 x = via[SR]; in macii_interrupt()
558 via[B] = (via[B] & ~ST_MASK) | ST_IDLE; in macii_interrupt()