Annotation of researchv9/jerq/include/sys/2681.h, revision 1.1

1.1     ! root        1: /*     static char Y2681_h[]="@(#)2681.h       2.1.1.2";       */
        !             2: /*
        !             3:  * Signetics 2681 Dual UART
        !             4:  */
        !             5: 
        !             6: #ifndef _2681
        !             7: #define _2681
        !             8: 
        !             9: /*
        !            10:  *
        !            11:  *
        !            12:  *                                    READ         WRITE
        !            13:  *                                  7      0     7      0
        !            14:  *                                 +--------+   +--------+
        !            15:  *  (struct duart *) ->mr1_2a      |        |   |        |
        !            16:  *                                 +--------+   +--------+
        !            17:  *
        !            18:  *                                 +--------+   +--------+
        !            19:  *                   ->a_sr_csr    |  SRA   |   |  CSRA  |
        !            20:  *                                 +--------+   +--------+
        !            21:  *
        !            22:  *                                              +--------+
        !            23:  *                  ->a_cmnd       RESERVED    |   CRA  |
        !            24:  *                                              +--------+
        !            25:  *
        !            26:  *                                 +--------+   +--------+
        !            27:  *                   ->a_data      |  RHRA  |   |  TXRA  |
        !            28:  *                                 +--------+   +--------+
        !            29:  *
        !            30:  *                                 +--------+   +--------+
        !            31:  *                   ->ipc_acr     |  IPCR  |   |   ACR  |
        !            32:  *                                 +--------+   +--------+
        !            33:  *
        !            34:  *                                 +--------+   +--------+
        !            35:  *                   ->is_imr      |   ISR  |   |   IMR  |
        !            36:  *                                 +--------+   +--------+
        !            37:  *
        !            38:  *                                 +--------+   +--------+
        !            39:  *                   ->ctur        |   CTU  |   |  CTUR  |
        !            40:  *                                 +--------+   +--------+
        !            41:  *
        !            42:  *                                 +--------+   +--------+
        !            43:  *                   ->ctlr        |   CTL  |   |  CTLR  |
        !            44:  *                                 +--------+   +--------+
        !            45:  *
        !            46:  *                                 +--------+   +--------+
        !            47:  *                   ->mr1_2b      |        |   |        |
        !            48:  *                                 +--------+   +--------+
        !            49:  *
        !            50:  *                                 +--------+   +--------+
        !            51:  *                   ->b_sr_csr    |   SRB  |   |  CSRB  |
        !            52:  *                                 +--------+   +--------+
        !            53:  *
        !            54:  *                                              +--------+
        !            55:  *                   ->b_cmnd       RESERVED    |   CRB  |
        !            56:  *                                              +--------+
        !            57:  *
        !            58:  *                                 +--------+   +--------+
        !            59:  *                   ->b_data      |  RHRB  |   |  THRB  |
        !            60:  *                                 +--------+   +--------+
        !            61:  *
        !            62:  *                                 +--------+   +--------+
        !            63:  *                   ->ip_opcr     | In.Prt |   |  OPCR  |
        !            64:  *                                 +--------+   +--------+
        !            65:  *
        !            66:  *                                 +--------+   +--------+
        !            67:  *                   ->scc_sopbc   |  SCC   |   |  SOPBC |
        !            68:  *                                 +--------+   +--------+
        !            69:  *
        !            70:  *                                 +--------+   +--------+
        !            71:  *                   ->scc_ropbc   |  SCC   |   |  ROPBC |
        !            72:  *                                 +--------+   +--------+
        !            73:  */
        !            74: 
        !            75: struct duart
        !            76: {
        !            77:        int : 16; int :8; unsigned char mr1_2a;   /* Mode Register A Channels 1 & 2 */
        !            78:        int : 16; int :8; unsigned char a_sr_csr; /* Status Reg. A / Clock Select Reg. A */
        !            79:        int : 16; int :8; unsigned char a_cmnd;   /* Command Register A */
        !            80:        int : 16; int :8; unsigned char a_data;   /* RX Holding / TX Holding Register A */
        !            81: 
        !            82:        int : 16; int :8; unsigned char ipc_acr;  /* Input Port Change / Aux. Control Register A */
        !            83:        int : 16; int :8; unsigned char is_imr;   /* Interrupt Status / Interrupt Mask Register A */
        !            84:        int : 16; int :8; unsigned char ctur;     /* Counter/Timer Upper Register */
        !            85:        int : 16; int :8; unsigned char ctlr;     /* Counter/Timer Lower Register */
        !            86: 
        !            87:        int : 16; int :8; unsigned char mr1_2b;   /* Mode Register B Channels 1 & 2 */
        !            88:        int : 16; int :8; unsigned char b_sr_csr; /* Status Reg. B / Clock Select Reg. B */
        !            89:        int : 16; int :8; unsigned char b_cmnd;   /* Command Register B */
        !            90:        int : 16; int :8; unsigned char b_data;   /* RX Holding / TX Holding Register B */
        !            91: 
        !            92:        int : 16; int :8; int :8;                 /* RESERVED */
        !            93: 
        !            94:        int : 16; int :8; unsigned char ip_opcr;  /* Input Port / Output Port Conf. Reg. */
        !            95:        int : 16; int :8; unsigned char scc_sopbc;/* Start Counter Command / Set Output Port Bits Command */
        !            96:        int : 16; int :8; unsigned char scc_ropbc;/* Stop Counter Command / Reset Output Port Bits Command */
        !            97: };
        !            98: 
        !            99: /* Register Bit Format Defines */
        !           100: 
        !           101: /*
        !           102:  *     Mode Register 1 Channel A and B Defines
        !           103:  */
        !           104: 
        !           105: #define        ENB_RX_RTS      0x80
        !           106: #define ENB_RXINT      0x40
        !           107: #define BLCK_ERR       0x20
        !           108: #define CHAR_ERR       0x00
        !           109: #define PAR_ENB                0x00
        !           110: #define        FRC_PAR         0x08
        !           111: #define        NO_PAR          0x10
        !           112: #define        SPECIAL         0x18
        !           113: #define EVN_PAR                0x00
        !           114: #define ODD_PAR                0x04
        !           115: #define CBITS5         0x00
        !           116: #define        CBITS6          0x01
        !           117: #define        CBITS7          0x02
        !           118: #define        CBITS8          0x03
        !           119: 
        !           120: /*
        !           121:  *     Mode Register 2 Channel A and B Defines
        !           122:  */
        !           123:  
        !           124: #define        NRML_MOD        0x00
        !           125: #define        ENB_ECHO        0x40
        !           126: #define        LCL_LOOP        0x80
        !           127: #define        REM_LOOP        0xc0
        !           128: 
        !           129: #define        ENB_TXRTS       0x20
        !           130: #define        ENB_CTSTX       0x10
        !           131: 
        !           132: #define        ZEROP563SB      0x00
        !           133: #define        ZEROP625SB      0x01
        !           134: #define        ZEROP688SB      0x02
        !           135: #define        ZEROP750SB      0x03
        !           136: #define        ZEROP813SB      0x04
        !           137: #define        ZEROP875SB      0x05
        !           138: #define        ZEROP938SB      0x06
        !           139: 
        !           140: #define        ONEP000SB       0x07
        !           141: #define        ONEP563SB       0x08
        !           142: #define        ONEP625SB       0x09
        !           143: #define        ONEP688SB       0x0a
        !           144: #define        ONEP750SB       0x0b
        !           145: #define        ONEP813SB       0x0c
        !           146: #define        ONEP875SB       0x0d
        !           147: #define        ONEP938SB       0x0e
        !           148: 
        !           149: #define        TWOP000SB       0x0f
        !           150: 
        !           151: /*
        !           152:  *     Clock Select Register Defines
        !           153:  */
        !           154: 
        !           155: #define        BD50BPS         0x00
        !           156: #define        BD75BPS         0x00            /* ACR[7]=SET2  */
        !           157: #define        BD110BPS        0x11
        !           158: #define        BD134BPS        0x22
        !           159: #define        BD150BPS        0x33            /* ACR[7]=SET2  */
        !           160: #define        BD200BPS        0x33
        !           161: #define        BD300BPS        0x44
        !           162: #define        BD600BPS        0x55
        !           163: #define        BD1200BPS       0x66
        !           164: #define        BD1050BPS       0x77
        !           165: #define        BD1800BPS       0xaa            /* ACR[7]=SET2  */
        !           166: #define        BD2000BPS       0x77            /* ACR[7]=SET2  */
        !           167: #define        BD2400BPS       0x88
        !           168: #define        BD4800BPS       0x99
        !           169: #define        BD7200BPS       0xaa
        !           170: #define        BD9600BPS       0xbb
        !           171: #define        BD19200BPS      0xcc            /* ACR[7]=SET2  */
        !           172: #define        BD38400BPS      0xcc
        !           173: 
        !           174: /*
        !           175:  *     Miscellaneous Commands for CRA/CRB
        !           176:  */
        !           177: 
        !           178: #define        NO_OP           0x00
        !           179: #define        RESET_MR        0x10
        !           180: #define        RESET_RECV      0x20
        !           181: #define        RESET_TRANS     0x30
        !           182: #define        RESET_ERR       0x40
        !           183: #define        RST_A_BCI       0x50
        !           184: #define        STRT_BRK        0x60
        !           185: #define        STOP_BRK        0x70
        !           186: #define        DIS_TX          0x08
        !           187: #define        ENB_TX          0x04
        !           188: #define        DIS_RX          0x02
        !           189: #define        ENB_RX          0x01
        !           190: 
        !           191: /*
        !           192:  *     Status Register Defines for SRA/SRB
        !           193:  */
        !           194: 
        !           195: #define        RCVD_BRK        0x80
        !           196: #define        FRM_ERR         0x40
        !           197: #define        PAR_ERR         0x20
        !           198: #define        OVR_RUN         0x10
        !           199: #define        XMT_EMT         0x08
        !           200: #define        XMT_RDY         0x04
        !           201: #define        FIFOFULL        0x02
        !           202: #define        RCV_RDY         0x01
        !           203: 
        !           204: /*
        !           205:  *     Register Defines for IPCR/OPCR
        !           206:  */
        !           207: 
        !           208: #define        DCDA            0x01
        !           209: #define        DCDB            0x02
        !           210: #define        DTRA            0x01
        !           211: #define        DTRB            0x02
        !           212: 
        !           213: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.