Lines Matching defs:duart
105 u_short duart_imask; /* shadowing for duart intrpt mask reg */
264 #define DUART (REGSTART+0x400)
507 qdmap[unit].duart = qdbase[unit] + DUART;
528 setup_input(unit); /* init the DUART */
637 qdmap[unit].duart = qdbase[unit] + DUART;
650 setup_input(unit); /* init the DUART */
691 * (ADDER) and xx8 (DUART). Therefore, we take three
799 volatile struct duart *duart;
814 duart = (struct duart *) qdmap[unit].duart;
827 * enable kbd & mouse intrpts in DUART mask reg
830 duart->imask = qdflags[unit].duart_imask;
848 duart->imask = qdflags[unit].duart_imask;
886 volatile struct duart *duart;
1033 setup_input(unit); /* init the DUART */
1040 duart = (struct duart *) qdmap[unit].duart;
1043 duart->imask = qdflags[unit].duart_imask;
1083 volatile struct duart *duart; /* DUART reg structure pointer */
1120 * init the dragon stuff, DUART, and driver variables
1127 setup_input(unit); /* init the DUART */
1132 * init the DUART and driver variables
1223 * enable user write to DUART
1225 mapix = VTOP((int)qd->duart) - VTOP(qvmem[0]);
1227 *ptep = (*ptep & ~PG_PROT) | PG_RW | PG_V; /* duart page */
1375 duart = (struct duart *)qdmap[unit].duart;
1381 if (duart->statusA&XMT_RDY) {
1382 duart->dataA = cmdbuf->cmd;
1396 if (duart->statusA&XMT_RDY) {
1397 duart->dataA = cmdbuf->param1;
1411 if (duart->statusA&XMT_RDY) {
1412 duart->dataA = cmdbuf->param2;
1426 duart = (struct duart *) qdmap[unit].duart;
1428 if (duart->statusB&XMT_RDY) {
1429 duart->dataB = *datap;
1457 duart = (struct duart *) qdmap[unit].duart;
1459 if (duart->statusB&XMT_RDY) {
1460 duart->dataB = *datap;
2284 * DUART input interrupt service routine
2297 volatile struct duart *duart;
2312 duart = (struct duart *) qdmap[unit].duart;
2319 * empty DUART
2321 while (duart->statusA&RCV_RDY || duart->statusB&RCV_RDY) {
2325 if (duart->statusA&RCV_RDY) {
2329 if (duart->statusA&0x70) {
2330 duart->cmdA = 0x40;
2346 key = duart->dataA & 0xFF;
2379 if ((status = duart->statusB) & RCV_RDY &&
2383 duart->cmdB = 0x40;
2396 data = duart->dataB; /* get report byte */
2564 } else if ((status = duart->statusB)&RCV_RDY &&
2570 duart->cmdB = 0x40;
2581 data = duart->dataB; /* get report byte */
2770 while (duart->statusA&RCV_RDY) {
2771 key = duart->dataA;
3112 volatile struct duart *duart;
3114 duart = (struct duart *) qdmap[0].duart;
3120 while (!(duart->statusA&RCV_RDY))
3123 key = duart->dataA;
3208 volatile struct duart *duart;
3210 duart = (struct duart *)qdmap[unit].duart;
3213 if (duart->statusA&XMT_RDY) {
3214 duart->dataA = cmd;
3219 if (duart->statusA&XMT_RDY) {
3220 duart->dataA = led_mask;
3607 * Init the DUART and set defaults in input
3612 volatile struct duart *duart; /* DUART register structure pointer */
3616 duart = (struct duart *) qdmap[unit].duart;
3617 duart->imask = 0;
3620 * setup the DUART for kbd & pointing device
3622 duart->cmdA = RESET_M; /* reset mode reg ptr for kbd */
3623 duart->modeA = 0x13; /* 8 bits, no parity, rcv IE, */
3625 duart->modeA = 0x07; /* 1 stop bit,CTS does not IE XMT */
3627 duart->cmdB = RESET_M; /* reset mode reg pntr for host */
3628 duart->modeB = 0x07; /* 8 bits, odd parity, rcv IE.. */
3630 duart->modeB = 0x07; /* 1 stop bit,CTS does not IE XMT */
3632 duart->auxctl = 0x00; /* baud rate set 1 */
3633 duart->clkselA = 0x99; /* 4800 baud for kbd */
3634 duart->clkselB = 0x99; /* 4800 baud for mouse */
3639 duart->cmdA = bits;
3644 duart->cmdB = bits;
3646 duart->cmdA = EN_RCV | EN_XMT; /* enbl xmt & rcv for kbd */
3647 duart->cmdB = EN_RCV | EN_XMT; /* enbl xmt & rcv for pointer device */
3650 * init keyboard defaults (DUART channel A)
3653 if (duart->statusA&XMT_RDY) {
3654 duart->dataA = LK_DEFAULTS;
3660 if (duart->statusA&RCV_RDY) {
3665 if (duart->dataA) /* flush the ACK */
3672 if (duart->statusB&XMT_RDY) {
3673 duart->dataB = SELF_TEST;
3682 if (duart->statusB&RCV_RDY) {
3693 if (duart->dataB)
3700 if (duart->statusB&RCV_RDY) {
3710 id_byte = duart->dataB;
3716 if (duart->statusB & RCV_RDY) {
3717 if (duart->dataB)
3727 if (duart->statusB&RCV_RDY) {
3728 if (duart->dataB)
3747 if (duart->statusB&XMT_RDY) {
3748 duart->dataB = INC_STREAM_MODE;
3757 if (duart->statusB&XMT_RDY) {
3758 duart->dataB = T_STREAM;
3764 duart->imask = qdflags[unit].duart_imask;