[BACK]Return to dartreg.h CVS log [TXT][DIR] Up to [local] / sys / arch / aviion / dev

Annotation of sys/arch/aviion/dev/dartreg.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: dartreg.h,v 1.1.1.1 2006/05/09 18:24:15 miod Exp $    */
        !             2:
        !             3: #define MAXPORTS       2               /* max count of PORTS/DUART */
        !             4:
        !             5: #define  A_PORT   0  /* flag for port a */
        !             6: #define  B_PORT   1  /* flag for port b */
        !             7:
        !             8: /* the access to the same command register must be delayed,
        !             9:    because the chip has some hardware problems in this case */
        !            10: #define DELAY_CR   do { volatile int i; for (i = 0; i < 250; ++i); } while (0)
        !            11:
        !            12: /*********************** MC68681 DEFINITIONS ************************/
        !            13:
        !            14: /* mode register 1: MR1x operations */
        !            15: #define RXRTS        0x80  /* enable receiver RTS */
        !            16: #define PAREN        0x00  /* with parity */
        !            17: #define PARDIS       0x10  /* no parity */
        !            18: #define EVENPAR      0x00  /* even parity */
        !            19: #define ODDPAR       0x04  /* odd parity */
        !            20: #define CL5          0x00  /* 5 bits per char */
        !            21: #define CL6          0x01  /* 6 bits per char */
        !            22: #define CL7          0x02  /* 7 bits per char */
        !            23: #define CL8          0x03  /* 8 bits per char */
        !            24: #define PARMODEMASK  0x18  /* parity mode mask */
        !            25: #define PARTYPEMASK  0x04  /* parity type mask */
        !            26: #define CLMASK       0x03  /* character length mask */
        !            27:
        !            28: /* mode register 2: MR2x operations */
        !            29: #define TXRTS        0x20  /* enable transmitter RTS */
        !            30: #define TXCTS        0x10  /* enable transmitter CTS */
        !            31: #define SB2          0x0f  /* 2 stop bits */
        !            32: #define SB1          0x07  /* 1 stop bit */
        !            33: #define SB1L5        0x00  /* 1 stop bit at 5 bits per character */
        !            34:
        !            35: #define SBMASK       0x0f  /* stop bit mask */
        !            36:
        !            37: /* clock-select register: CSRx operations */
        !            38: #define NOBAUD       -1    /* 50 and 200 baud are not possible */
        !            39: /* they are not in Baud register set 2 */
        !            40: #define BD75         0x00  /* 75 baud */
        !            41: #define BD110        0x11  /* 110 baud */
        !            42: #define BD134        0x22  /* 134.5 baud */
        !            43: #define BD150        0x33  /* 150 baud */
        !            44: #define BD300        0x44  /* 300 baud */
        !            45: #define BD600        0x55  /* 600 baud */
        !            46: #define BD1200       0x66  /* 1200 baud */
        !            47: #define BD1800       0xaa  /* 1800 baud */
        !            48: #define BD2400       0x88  /* 2400 baud */
        !            49: #define BD4800       0x99  /* 4800 baud */
        !            50: #define BD9600       0xbb  /* 9600 baud */
        !            51: #define BD19200      0xcc  /* 19200 baud */
        !            52:
        !            53: #define DEFBAUD      BD9600   /* default value if baudrate is not possible */
        !            54:
        !            55:
        !            56: /* channel command register: CRx operations */
        !            57: #define MRRESET      0x10  /* reset mr pointer to mr1 */
        !            58: #define RXRESET      0x20  /* reset receiver */
        !            59: #define TXRESET      0x30  /* reset transmitter */
        !            60: #define ERRRESET     0x40  /* reset error status */
        !            61: #define BRKINTRESET  0x50  /* reset channel's break interrupt */
        !            62: #define BRKSTART     0x60  /* start break */
        !            63: #define BRKSTOP      0x70  /* stop break */
        !            64: #define TXDIS        0x08  /* disable transmitter */
        !            65: #define TXEN         0x04  /* enable transmitter */
        !            66: #define RXDIS        0x02  /* disable receiver */
        !            67: #define RXEN         0x01  /* enable receiver */
        !            68:
        !            69: /* status register: SRx status */
        !            70: #define RBRK         0x80  /* received break */
        !            71: #define FRERR        0x40  /* frame error */
        !            72: #define PERR         0x20  /* parity error */
        !            73: #define ROVRN        0x10  /* receiver overrun error */
        !            74: #define TXEMT        0x08  /* transmitter empty */
        !            75: #define TXRDY        0x04  /* transmitter ready */
        !            76: #define FFULL        0x02  /* receiver FIFO full */
        !            77: #define RXRDY        0x01  /* receiver ready */
        !            78:
        !            79: /* output port configuration register: OPCR operations */
        !            80: #define OPSET        0x00  /* set all op lines to op function */
        !            81: #define OPSETTO      0x04  /* use OP3 for timer output */
        !            82:
        !            83: /* output port register: OP operations */
        !            84: #define OPDTRB       0x20  /* DTR line output b on the VME188, 181, 141 */
        !            85: #define OPDTRA       0x04  /* DTR line output a */
        !            86: #define OPRTSB       0x02  /* RTS line output b */
        !            87: #define OPRTSA       0x01  /* RTS line output a */
        !            88:
        !            89: /* auxiliary control register: ACR operations */
        !            90: #define BDSET1       0x00  /* baudrate generator set 1 */
        !            91: #define BDSET2       0x80  /* baudrate generator set 2 */
        !            92: #define CCLK1        0x60  /* timer clock: external rate.  TA */
        !            93: #define CCLK16       0x30  /* counter clock: x1 clk divided by 16 */
        !            94: #define SLCTIM       0x7800/* timer count to get 60 Hz time slice (16.6ms ticks) */
        !            95: #define IPDCDIB      0x08  /* IP3 change == DCD input on port B */
        !            96: #define IPDCDIA      0x04  /* IP2 change == DCD input on port A */
        !            97:
        !            98: /* input port change register: IPCR operations */
        !            99: #define IPCRDCDB     0x80  /* IP3 change == DCD change on port B */
        !           100: #define IPCRDCDA     0x40  /* IP2 change == DCD change on port A */
        !           101:
        !           102: /* Defines for mvme335 */
        !           103: #define IPDCDB       0x20  /* DCD line input b */
        !           104: #define IPDCDA       0x10  /* DCD line input a */
        !           105:
        !           106: #define IPDSRB       0x08  /* DSR line input b */
        !           107: #define IPDSRA       0x04  /* DSR line input a */
        !           108: #define IPCTSB       0x02  /* CTS line input b */
        !           109: #define IPCTSA       0x01  /* CTS line input a */
        !           110:
        !           111: /* interrupt status and mask register: ISR status and IMR mask */
        !           112: #define IIPCHG       0x80  /* input port change */
        !           113: #define IBRKB        0x40  /* delta break b */
        !           114: #define IRXRDYB      0x20  /* receiver ready b */
        !           115: #define ITXRDYB      0x10  /* transmitter ready b */
        !           116: #define ITIMER       0x08  /* Enable timer interrupts. */
        !           117: #define IBRKA        0x04  /* delta break a */
        !           118: #define IRXRDYA      0x02  /* receiver ready a */
        !           119: #define ITXRDYA      0x01  /* transmitter ready a */
        !           120:
        !           121: /* interrupts from port a or b */
        !           122: #define AINTPORT  ( IRXRDYA | ITXRDYA )
        !           123: #define BINTPORT  ( IRXRDYB | ITXRDYB )
        !           124:
        !           125: /* HW write register index for ut_wr_regs[] */
        !           126: #define MR1A         0  /* mode register 1 a */
        !           127: #define CSRA         1  /* clock-select register a*/
        !           128: #define CRA          2  /* command register a */
        !           129: #define TBA          3  /* transmitter buffer a */
        !           130: #define ACR          4  /* auxiliary control register*/
        !           131: #define IMR          5  /* interrupt mask register */
        !           132: #define CTUR         6  /* counter/timer upper reg */
        !           133: #define CTLR         7  /* counter/timer lower reg */
        !           134: #define MR1B         8  /* mode register 1 b */
        !           135: #define CSRB         9  /* clock-select register b*/
        !           136: #define CRB          10 /* command register b */
        !           137: #define TBB          11 /* transmitter buffer b */
        !           138: #define IVR          12 /* interrupt vector register */
        !           139: #define OPCR         13 /* output port config reg */
        !           140: #define OPRSET       14 /* output port: bit set cmd */
        !           141: #define OPRRESET     15 /* output port: bit reset cmd */
        !           142: #define MR2A         16 /* mode register 2 a */
        !           143: #define MR2B         17 /* mode register 2 b */
        !           144: #define MAXREG       18 /* max count of registers */
        !           145:
        !           146: /*
        !           147:  *     MC68681 hardware registers.
        !           148:  */
        !           149:
        !           150: #define        DART_MR1A       0x00    /* RW: mode register A */
        !           151: #define        DART_MR2A       0x00    /* RW: mode register A */
        !           152: #define        DART_SRA        0x01    /* R: status register A */
        !           153: #define        DART_CSRA       0x01    /* W: clock select register A */
        !           154: #define        DART_CRA        0x02    /* W: command register A */
        !           155: #define        DART_RBA        0x03    /* R: receiver buffer A */
        !           156: #define        DART_TBA        0x03    /* W: transmit buffer A */
        !           157: #define        DART_IPCR       0x04    /* R: input port change register */
        !           158: #define        DART_ACR        0x04    /* W: auxiliary control register */
        !           159: #define        DART_ISR        0x05    /* R: interrupt status register */
        !           160: #define        DART_IMR        0x05    /* W: interrupt mask register */
        !           161: #define        DART_CUR        0x06    /* R: count upper register */
        !           162: #define        DART_CTUR       0x06    /* W: counter/timer upper register */
        !           163: #define        DART_CLR        0x07    /* R: count lower register */
        !           164: #define        DART_CTLR       0x07    /* W: counter/timer lower register */
        !           165: #define        DART_MR1B       0x08    /* RW: mode register B */
        !           166: #define        DART_MR2B       0x08    /* RW: mode register B */
        !           167: #define        DART_SRB        0x09    /* R: status register B */
        !           168: #define        DART_CSRB       0x09    /* W: clock select register B */
        !           169: #define        DART_CRB        0x0a    /* W: command register B */
        !           170: #define        DART_RBB        0x0b    /* R: receiver buffer B */
        !           171: #define        DART_TBB        0x0b    /* W: transmit buffer B */
        !           172: #define        DART_IVR        0x0c    /* RW: interrupt vector register */
        !           173: #define        DART_IP         0x0d    /* R: input port (unlatched) */
        !           174: #define        DART_OPCR       0x0d    /* W: output port configuration register */
        !           175: #define        DART_CTSTART    0x0e    /* R: start counter command */
        !           176: #define        DART_OPRS       0x0e    /* W: output port bit set */
        !           177: #define        DART_CTSTOP     0x0f    /* R: stop counter command */
        !           178: #define        DART_OPRR       0x0f    /* W: output port bit reset */
        !           179:
        !           180: #define        DART_A_BASE     0x00
        !           181: #define        DART_B_BASE     0x08

CVSweb