|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1982, 1986, 1990 Regents of the University of California. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution is only permitted until one year after the first shipment ! 6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and ! 7: * binary forms are permitted provided that: (1) source distributions retain ! 8: * this entire copyright notice and comment, and (2) distributions including ! 9: * binaries display the following acknowledgement: This product includes ! 10: * software developed by the University of California, Berkeley and its ! 11: * contributors'' in the documentation or other materials provided with the ! 12: * distribution and in all advertising materials mentioning features or use ! 13: * of this software. Neither the name of the University nor the names of ! 14: * its contributors may be used to endorse or promote products derived from ! 15: * this software without specific prior written permission. ! 16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED ! 17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF ! 18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 19: * ! 20: * @(#)dcareg.h 7.2 (Berkeley) 6/27/90 ! 21: */ ! 22: ! 23: struct dcadevice { ! 24: u_char dca_pad0; ! 25: volatile u_char dca_irid; ! 26: volatile short dca_ic; ! 27: volatile short dca_ocbrc; ! 28: volatile short dca_lcsm; ! 29: short dca_pad1[4]; ! 30: u_char dca_pad2; ! 31: volatile u_char dca_data; ! 32: volatile short dca_ier; ! 33: u_char dca_pad4; ! 34: volatile u_char dca_iir; ! 35: volatile short dca_cfcr; ! 36: volatile short dca_mcr; ! 37: volatile short dca_lsr; ! 38: u_char dca_pad3; ! 39: volatile u_char dca_msr; ! 40: }; ! 41: ! 42: /* interface reset/id */ ! 43: #define DCAID0 0x02 ! 44: #define DCAREMID0 0x82 ! 45: #define DCAID1 0x42 ! 46: #define DCAREMID1 0xC2 ! 47: ! 48: /* interrupt control */ ! 49: #define DCAIPL(x) ((((x) >> 4) & 3) + 3) ! 50: #define IC_IR 0x40 ! 51: #define IC_IE 0x80 ! 52: ! 53: /* 16 bit baud rate divisor (lower byte in dca_data, upper in dca_ier) */ ! 54: #define DCABRD(x) (153600 / (x)) ! 55: ! 56: /* interrupt enable register */ ! 57: #define IER_ERXRDY 0x1 ! 58: #define IER_ETXRDY 0x2 ! 59: #define IER_ERLS 0x4 ! 60: #define IER_EMSC 0x8 ! 61: ! 62: /* interrupt identification register */ ! 63: #define IIR_NOPEND 0x1 ! 64: #define IIR_IMASK 0x6 ! 65: #define IIR_RLS 6 ! 66: #define IIR_RXRDY 4 ! 67: #define IIR_TXRDY 2 ! 68: #define IIR_MLSC 0 ! 69: ! 70: /* character format control register */ ! 71: #define CFCR_DLAB 0x80 ! 72: #define CFCR_SBREAK 0x40 ! 73: #define CFCR_PZERO 0x30 ! 74: #define CFCR_PONE 0x20 ! 75: #define CFCR_PEVEN 0x10 ! 76: #define CFCR_PODD 0x00 ! 77: #define CFCR_PENAB 0x08 ! 78: #define CFCR_STOPB 0x04 ! 79: #define CFCR_8BITS 0x03 ! 80: #define CFCR_7BITS 0x02 ! 81: #define CFCR_6BITS 0x01 ! 82: #define CFCR_5BITS 0x00 ! 83: ! 84: /* modem control register */ ! 85: #define MCR_LOOPBACK 0x10 ! 86: #define MCR_SRTS 0x08 ! 87: #define MCR_DRS 0x04 ! 88: #define MCR_RTS 0x02 ! 89: #define MCR_DTR 0x01 ! 90: ! 91: /* line status register */ ! 92: #define LSR_TSRE 0x40 ! 93: #define LSR_TXRDY 0x20 ! 94: #define LSR_BI 0x10 ! 95: #define LSR_FE 0x08 ! 96: #define LSR_PE 0x04 ! 97: #define LSR_OE 0x02 ! 98: #define LSR_RXRDY 0x01 ! 99: ! 100: /* modem status register */ ! 101: #define MSR_DCD 0x80 ! 102: #define MSR_RI 0x40 ! 103: #define MSR_DSR 0x20 ! 104: #define MSR_CTS 0x10 ! 105: #define MSR_DDCD 0x08 ! 106: #define MSR_TERI 0x04 ! 107: #define MSR_DDSR 0x02 ! 108: #define MSR_DCTS 0x01 ! 109: ! 110: /* ! 111: * WARNING: Serial console is assumed to be at SC9 ! 112: * and CONUNIT must be 0. ! 113: */ ! 114: #define CONADDR ((struct dcadevice *)(IOV(EXTIOBASE + (9 * IOCARDSIZE)))) ! 115: #define CONUNIT (0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.