Annotation of kernel/bsd/dev/ppc/drvSymbios8xx/Sym8xxRegs.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.1 (the "License").  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License.
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: 
                     25: /*
                     26:  * Copyright (c) 1998 Apple Computer Inc.
                     27:  *
                     28:  * Symbios8xx Controller.
                     29:  *
                     30:  */
                     31: 
                     32: /* SymBios 8xx register addressing definitions */
                     33: 
                     34: #define SCNTL0_SIZE   0x01
                     35: #define SCNTL0        0x00000000
                     36: #define SCNTL0_INIT   0xCA      /* Scsi control 0 */ 
                     37:    /* ARB1  1                  */
                     38:    /* ARB0  1 : Full arbitration            */
                     39:    /* START 0 : Start sequence            */
                     40:    /* WATN  0 : Select with ATN            */
                     41:    /* EPC   1 : enable SCSI bus parity checking      */
                     42:    /* RES      */
                     43:    /* AAP   1 : Assert ATN on SCSI parity error      */
                     44:    /* TRG   0 : Target mode. 720 is Initiator      */
                     45: 
                     46: #define SCNTL1_SIZE   0x01
                     47: #define SCNTL1        0x00000001
                     48: #define SCNTL1_INIT   0x00      /* Scsi control 1 */ 
                     49:    /* EXC   0 : Extra clock cycle data setup (Sdtr)      */
                     50:    /* ADB   0 : Assert SCSI data bus         */
                     51:    /* DHP   0 : Target only Disable halt parity error   */
                     52:    /* CON   0 : 820 connected to SCSI bus         */
                     53:    /* RST   0 : Assert SCSI RST signal         */
                     54:    /* AESP  0 : Force bad parity            */
                     55:    /* IARB  0 : Immediate arbitration         */
                     56:    /* SST   0 : Start SCSI transfer            */
                     57: 
                     58: #define SCNTL1_SCSI_RST                0x08     /* force scsi reset in scntl1 reg */
                     59: 
                     60: #define SCNTL2_SIZE   0x01
                     61: #define SCNTL2        0x00000002
                     62: #define SCNTL2_INIT   0x00      /* Scsi control 2 */ 
                     63:    #define    SDU                0x80  /* SDU   0 : SCSI Disconnect Unexpected         */
                     64:    #define    CHM                0x40   /* CHM   0 : Chained mode                       */
                     65:    #define    SLPMD              0x40   /* SLPMD 0 : SLPAR Mode Bit                     */
                     66:    #define    SLPHBEN            0x40   /* SLPHBEN : SLPAR High Byte Enable             */
                     67:    #define    WSS                0x08  /* WSS   0 : Wide Scsi Send                     */
                     68:    #define    VUE0               0x40   /* VUE0    : Vendor Uniq Enhancements Bit 0     */
                     69:    #define    VUE1               0x40   /* VUE1    : Vendor Uniq Enhancements Bit 1     */
                     70:    #define    WSR                0x01   /* WSR   0 : Wide Scsi Receive                  */
                     71: 
                     72: #define SCNTL3_SIZE   0x01
                     73: #define SCNTL3        0x00000003
                     74: #define SCNTL3_INIT            0x03   /* Scsi control 3 for 40Mhz sys clock */
                     75: #define SCNTL3_INIT_875        0x05   /* Scsi control 3 for 80Mhz sys clock */
                     76: #define SCNTL3_INIT_875_ULTRA   0x95   /* Scsi control 3 for 80Mhz sys clock */
                     77: #define SCNTL3_INIT_875_FAST   0x35   /* Scsi control 3 for 80Mhz sys clock */
                     78: #define SCNTL3_INIT_875_SLOW   0x55   /* Scsi control 3 for 80Mhz sys clock */
                     79:                                        /* RES                     */
                     80:    #define    SCF                0x70   /* SCF    0 : Sync clock conversion factor 0-2 */
                     81:    #define    EWS                0x08   /* EWS    0 : Enable Wide SCSI (wdtr)          */
                     82:    #define    CCF                0x07   /* CCF    0 : Async clock conversion factor 0-2        */
                     83: 
                     84: #define SCID_SIZE     0x01
                     85: #define SCID          0x00000004
                     86: #define SCID_INIT     0x40   /* Scsi chip Id */ 
                     87:    /* RES                     */
                     88:    /* RRE   1 : Enable response to reselection      */
                     89:    /* SRE   0 : Disable response to selection       */
                     90:    /* RES                     */
                     91:    /* ID3   0                                               */
                     92:    /* ID2   0                                               */
                     93:    /* ID1   0                                               */
                     94:    /* ID0   0 : Encoded 53825 chip SCSI Id         */
                     95: 
                     96: #define SXFER_SIZE    0x01
                     97: #define SXFER         0x00000005
                     98: #define SXFER_INIT    0x00   /* Scsi Transfer */ 
                     99:    /* TP2   0                  */
                    100:    /* TP1   0                  */
                    101:    /* TP0   0 : Scsi sync Transfer Period (4)(Sdtr)      */
                    102:    /* RES                     */
                    103:    /* MO3   0                  */
                    104:    /* MO2   0                  */
                    105:    /* MO1   0                  */
                    106:    /* MO0   0 : Max Scsi Sync ReqAck offset (async) (Sdtr)   */
                    107: 
                    108: #define SDID_SIZE     0x01
                    109: #define SDID          0x00000006
                    110: #define SDID_INIT     0x00   /* Scsi destination Id */ 
                    111:    /* RES                                                  */
                    112:    /* RES                                                  */
                    113:    /* RES                                                  */
                    114:    /* RES                                                  */
                    115:    /* ID3   0                  */
                    116:    /* ID2   0                  */
                    117:    /* ID1   0                  */
                    118:    /* ID0   0 : Encoded destination Scsi Id         */
                    119: 
                    120: #define GPREG_SIZE    0x01
                    121: #define GPREG         0x00000007
                    122: #define GPREG_INIT    0x00       /* Read/write general purpose */
                    123: #define GPIO3         0x08       /* GPIO bit 3 */
                    124:    /* RES                                                  */
                    125:    /* RES                                                  */
                    126:    /* RES                                                  */
                    127:    /* GPO    0 : General purpose output         */
                    128:    /* GPI3   0                  */
                    129:    /* GPI2   0                  */
                    130:    /* GPI1   0                  */
                    131:    /* GPI0   0 : General purpose inputs         */
                    132: 
                    133: #define SFBR_SIZE     0x01
                    134: #define SFBR          0x00000008
                    135: #define SFBR_INIT     0x00       
                    136:    /* SCSI First Byte Received */
                    137: 
                    138: #define SOCL_SIZE     0x01
                    139: #define SOCL          0x00000009
                    140: #define SOCL_INIT     0x00 
                    141:    #define    SREQ               0x80  /* REQ   0 : Assert SCSI REQ signal     */
                    142:    #define    SACK               0x40   /* ACK   0 :            ACK            */
                    143:    #define    SBSY               0x20   /* BSY   0 :            BSY            */
                    144:    #define    SSEL               0x10   /* SEL   0 :            SEL            */
                    145:    #define    SATN               0x08   /* ATN   0 :            ATN            */
                    146:    #define    SMSG               0x04   /* MSG   0 :            MSG            */
                    147:    #define    SC_D               0x02   /* C/D   0 :            C/D            */
                    148:    #define    SI_O               0x01   /* I/O   0 :            I/O            */
                    149: 
                    150: #define SSID_SIZE     0x01
                    151: #define SSID          0x0000000A /* Read Only */
                    152:    /* VAL       Scsi Valid Bit            */
                    153:    /* RES                                                  */
                    154:    /* RES                                                  */
                    155:    /* RES                                                  */
                    156:    /* ID3                     */
                    157:    /* ID2                     */
                    158:    /* ID1                     */
                    159:    /* ID0      Encoded Destination Scsi Id         */
                    160: 
                    161: #define SBCL_SIZE     0x01
                    162: #define SBCL          0x0000000B /* Scsi Bus Control Lines Read only */
                    163:    /* REQ                                                  */
                    164:    /* ACK                                                  */
                    165:    /* BSY                                                  */
                    166:    /* SEL                                                  */
                    167:    /* ATN                                                  */
                    168:    /* MSG                                                  */
                    169:    /* C/D                     */
                    170:    /* I/O                     */
                    171: 
                    172: #define DSTAT_SIZE    0x01
                    173: #define DSTAT         0x0000000C /* DMA status Read only */
                    174:    #define    DFE                0x80    /* DSTAT DMA FIFO Empty           */
                    175:    #define    MDPE               0x40    /* Master Data Parity Error       */
                    176:    #define    BF                 0x20    /* Bus Fault                      */
                    177:    #define    DABRT              0x10    /* Abort occurred                 */
                    178:    #define    SSI                0x08    /* Script Step Interrupt          */
                    179:    #define    SIR                0x04    /* Script Interrupt Inst Received */
                    180: #ifdef notdef
                    181:    #define    WTD                0x02    /* was watchdog timer, now reserved */
                    182: #endif /* notdef */
                    183:    #define    IID                0x01    /* Illegal Instruction Detected   */
                    184: 
                    185: #define SSTAT0_SIZE   0x01
                    186: #define SSTAT0        0x0000000D /* SCSI status zero Read only */
                    187:     #define    ILF             0x80     /* ILF   SIDL least significant byte full      */
                    188:     #define    ORF             0x40     /* ORF   SODR least significant byte full      */
                    189:     #define    OLF             0x20     /* OLF   SODL least significant byte full      */
                    190:     #define    AIP             0x10     /* AIP   Arbitration in progress               */
                    191:     #define    LOA             0x08     /* LOA   Lost arbitration                      */
                    192:     #define    WOA             0x04     /* WOA   Won arbitration                       */
                    193:     #define    RSTB            0x02     /* RST   Scsi reset signal                     */
                    194:     #define    SDP0            0x01     /* SDP0  Scsi SDP0 parity signal               */
                    195: 
                    196: #define SSTAT1_SIZE   0x01
                    197: #define SSTAT1        0x0000000E /* SCSI status one Read only */
                    198:    /* FF3-0 Bytes or word in the Scsi FIFO         */
                    199:    /* SDP   Latched Scsi parity            */
                    200:    /* MSG   Scsi phase status            */
                    201:    /* C/D                     */
                    202:    /* I/O                     */
                    203: 
                    204: #define SSTAT2_SIZE   0x01
                    205: #define SSTAT2        0x0000000F /* Scsi status two Read only */
                    206:     #define    ILF1            0x80    /* ILF1   SIDL most significant byte full       */
                    207:     #define    ORF1            0x40    /* ORF1   SODR   "   "   "   "                  */
                    208:     #define    OLF1            0x20    /* OLF1   SODL   "   "   "   "                  */
                    209:                                         /* RES                                         */
                    210:     #define    SPL1            0x08    /* SPL1   Latched Scsi parity for SIDL15-8      */
                    211:     #define    FF4             0x04    /* FIFO Flags Bit 4                             */
                    212:     #define    LDSC            0x02    /* LDSC   Last disconnect                       */
                    213:     #define    SDP1            0x01    /* SDP1   Scsi SDP1 Signal                      */
                    214: 
                    215: #define DSA_SIZE      0x04
                    216: #define DSA           0x00000010
                    217: #define DSA_INIT      0x00000000 /* Data structure address */
                    218: 
                    219: #define ISTAT_SIZE    0x01
                    220: #define ISTAT         0x00000014
                    221: #define ISTAT_INIT    0x00       /* Interrupt Status   */
                    222:    #define    ABRT         0x80    /* Abort Operation      */
                    223:    #define    RST          0x40    /* Software reset      */
                    224:    #define    SIGP         0x20    /* Signal process      */
                    225:    #define    SEM          0x10    /* Semaphore         */
                    226:    #define    ISTAT_CON           0X08    /* Connected to target. */
                    227:    #define    INTF         0x04    /* Interrupt on the fly   */
                    228:    #define    SIP          0x02    /* SCSI Interrupt Pending   */
                    229:    #define    DIP          0x01    /* DMA Interrupt Pending    */
                    230: 
                    231: #define CTEST0_SIZE   0x01
                    232: #define CTEST0        0x00000018
                    233: #define CTEST0_INIT   0x00       /* Chip test zero (now general purpose, rph) */
                    234: 
                    235: #define CTEST1_SIZE   0x01
                    236: #define CTEST1        0x00000019 /* Chip test one Read only */
                    237:    /* FMT3-0 0 : Byte empty in DMA FIFO         */
                    238:    /* FFL3-0 0 : Byte full in DMA FIFO         */
                    239: 
                    240: #define CTEST2_SIZE   0x01
                    241: #define CTEST2        0x0000001A /* Chip test two Read only */
                    242:    /* DDIR   Data transfer direction (1 : Scsi bus -> host)   */
                    243:    /* SIGP   Signal process (Clear SIGP ISTAT when read)   */
                    244:    /* CIO (read-only, indicates chip configured as I/O space) */
                    245:    /* CM  (read-only, indicates configured as memory space) */
                    246:    /* RES               */
                    247:    /* TEOP   Scsi true end of process         */
                    248:    /* DREQ   Data request status            */
                    249:    /* DACK   Data acknowledge status            */
                    250: 
                    251: #define CTEST3_SIZE   0x01
                    252: #define CTEST3        0x0000001B
                    253: #define CTEST3_INIT   0x04       /* Chip test  three */
                    254: #define CTEST3_INIT_A 0x05       /* Chip test  three for 'A' part */
                    255: 
                    256:    #define    VERS         0xf0   /* V3-0  0 : Chip revision level       */
                    257:    #define    FLF          0x08   /* FLF   0 : Flush DMA Fifo            */
                    258:    #define    CLF          0x04   /* CLF   1 : Clear DMA FIFO           */
                    259:    #define    FM           0x02   /* FM    0 : Fetch pin mode            */
                    260:    #define    WRIE         0x01   /* WRIE  1 : Write and Invalidate Enable, for 825A only!!! */
                    261: 
                    262: #define TEMP_SIZE     0x04
                    263: #define TEMP          0x0000001C
                    264: #define TEMP_INIT     0x00000000 /* Tempory stack */
                    265: 
                    266: #define DFIFO_SIZE    0x01
                    267: #define DFIFO         0x00000020
                    268: #define DFIFO_INIT    0x00       /* DMA FIFO */
                    269:    /* upper bit used for 825 'A' part when using large fifo */
                    270:    /* BO6-0 0: Byte offset counter            */
                    271: 
                    272: #define CTEST4_SIZE   0x01
                    273: #define CTEST4        0x00000021 /* Chip test four */
                    274: //  #define CTEST4_INIT   0x80 /* Chip test four DISABLE BURST!! */
                    275: #define CTEST4_INIT   0x00 /* Chip test four */
                    276:    /* BDIS  0 : set for Burst Disable, reset allows burst on data moves */
                    277:    /* ZMOD   High impedance mode            */
                    278:    /* ZSD    Scsi high impedance mode         */
                    279:    /* SRTM   Shadow register test mode         */
                    280: /* NOT for bandit!!!! yes for NEW rev of Dumbarton LATER on, not initial!!! */
                    281:    /* MPEE  0 : Master Parity Error Enable   Do we want this set????   rph  */
                    282:    /* FBL2-0 Fifo byte control            */
                    283: 
                    284: #define CTEST5_SIZE   0x01
                    285: #define CTEST5        0x00000022
                    286: #define CTEST5_INIT   0x00       /* Chip test five */
                    287: #define CTEST5_INIT_A 0x00       /* Chip test five 'A' part, upper burst OFF */
                    288: #define CTEST5_INIT_A_revB 0x24  /* Chip test five 'A' part, upper burst OFF
                    289:                                  * also Enable 536 byte fifo */
                    290:     #define    ADCK                    0x80    /* ADCK   0 : Clock address incrementor                 */
                    291:     #define    BBCK                    0x40    /* BBCK   0 : Clock byte counter                        */
                    292:     #define    DFS             0x20    /* DFS    0 : fifo size - 0=88 1=536 bytes              */
                    293:     #define    MASR                    0x10    /* MASR   0 : Master control for set reset pulses       */
                    294:     #define    DDIR                    0x08    /* DDIR   0 : DMA direction                             */
                    295:     #define    BL2             0x04    /* BL2    0 : see DMODE bits 6,7                        */
                    296:     #define    BO89                    0x03    /* BO89   0 : upper bits of DFIFO count                 */
                    297: 
                    298: #define CTEST6_SIZE   0x01
                    299: #define CTEST6        0x00000023
                    300: #define CTEST6_INIT   0x00       /* chip test six */
                    301:    /* 7-0   0 : DMA Fifo               */
                    302: 
                    303: #define DBC_SIZE      0x04
                    304: #define DBC           0x00000024
                    305: #define DBC_INIT      0x000000   /* DMA Byte Counter */
                    306: 
                    307: #define DCMD_SIZE     0x01
                    308: #define DCMD          0x00000027
                    309: #define DCMD_INIT     0x00       /* DMA command */
                    310: 
                    311: #define DNAD_SIZE     0x04
                    312: #define DNAD          0x00000028
                    313: #define DNAD_INIT     0x00000000 /* DMA Next Data Address */
                    314: 
                    315: #define DSP_SIZE      0x04
                    316: #define DSP           0x0000002C
                    317: #define DSP_INIT      0x00000000 /* DMA script pointer */
                    318: 
                    319: #define DSPS_SIZE     0x04
                    320: #define DSPS          0x00000030
                    321: #define DSPS_INIT     0x00000000 /* DMA SCRIPTS Pointer Save */
                    322: 
                    323: #define SCRATCHA_SIZE 0x04
                    324: #define SCRATCHA      0x00000034  
                    325: #define SCRATCHA0     0x00000034
                    326: #define SCRATCHA1     0x00000035
                    327: #define SCRATCHA2     0x00000036
                    328: #define SCRATCHA3     0x00000037
                    329: #define SCRATCHA_INIT 0x04030201 /* general purpose register */
                    330: 
                    331: #define DMODE_SIZE    0x01
                    332: #define DMODE         0x00000038
                    333: /* 825 bug!!!!! 8 is max!!!!!!!                rph 8-23-94
                    334:  */
                    335: #define DMODE_INIT        0x82  /* DMA mode 8 burst xfers + instruc fetch */
                    336: #define DMODE_INIT_A       0x0A  /* DMA mode 32 burst xfers + instruc fetch */
                    337:    /* BL1     1 : Burst length, burst size is '8' transfers (4 bytes per) */
                    338:    /* BL0     0 : Burst length  */
                    339:    /* SIOM    0 : Source I/O-Memory Enable (Memory space is default) */
                    340:    /* DIOM    0 : Destination I/O-Memory Enable (Memory space is default) */
                    341:    /* ER      1 : Enable Read Line Command,  set for 825'A' part    */
                    342:    /* ERM     0 :              */
                    343:    /* BOF     1 : Burst Op Code Fetch Enable, only for 825!!! rph */
                    344:    /* MAN     0 : Manual start mode (leave 0 for auto-start with DSP write  */
                    345: 
                    346: #define DIEN_SIZE     0x01
                    347: #define DIEN          0x00000039
                    348: #define DIEN_INIT     0x7D       /* No mask on DMA interrupt */
                    349:    /* RES                     */
                    350:    /* MDPE  1 : Master Data Parity Error   */
                    351:    /* BF    1 : Bus fault               */
                    352:    /* ABRT  1 : Aborted               */
                    353:    /* SSI   1 : Script step interrupt         */
                    354:    /* SIR   1 : Script interrupt instruction received   */
                    355:    /* RES          */
                    356:    /* IID   1 : Illegal instruction detected      */
                    357: 
                    358: #define DWT_SIZE      0x01
                    359: #define DWT           0x0000003A
                    360: #define DWT_INIT      0xD0       /* DMA watchdog timer to 0xD0*32*BCLK ns*/
                    361: 
                    362: #define DCNTL_SIZE    0x01
                    363: #define DCNTL         0x0000003B
                    364: #define DCNTL_INIT    0x01     /* DMA Control register */
                    365: #define DCNTL_INIT_A  0xA1     /* DMA Control register, 'A' part */
                    366:    /* CLE  7: Cache Line Size Enable for 'A' part */
                    367:    /* PFF  6: pre-fetch flush bit for 'A' part */
                    368:    /* PFEN 5: pre-fetch Enable bit for 'A' part */
                    369:    /* RES  */ 
                    370:    /* RES  */
                    371: #define  SSM  0x10      /* 0 : Single step mode       */
                    372:    /* IRQM   0 : HW driver type for IRQ pin, default is open drain, ask HW rph*/
                    373: #define  STD  0x04      /* 0 : start DMA operation       */
                    374:    /* IRQ 1: IRQ disable for 'A' part */
                    375:    /* COM   1 : No Compatibility 700            */
                    376: 
                    377: #define ADDER_SIZE    0x04
                    378: #define ADDER         0x0000003C /* Adder sum output Read only */
                    379: 
                    380: #define SIEN_SIZE     0x02
                    381: #define SIEN          0x00000040
                    382: #define SIEN_INIT_RST_OFF  0x048D  /* SCSI Interrupt enable SIEN0-1  rph */
                    383: #define SIEN_INIT          0x048F  /* SCSI Interrupt enable SIEN0-1  rph */
                    384: /* SIEN0 */
                    385:    /* M/A   1 : Scsi phase mismatch    */
                    386:    /* CMP   0 : Function complete      */
                    387:    /* SEL   0 : Selected               */
                    388:    /* RSL   0 : Reselected             */
                    389:    /* SGE   1 : Scsi Gross error       */
                    390:    /* UDC   1 : Unexpected disconnect  */
                    391:    /* RST   1 : Scsi Reset condition   */
                    392:    /* PAR   1 : Scsi Parity error      */
                    393: 
                    394:    /* RES                              */
                    395:    /* RES                              */
                    396:    /* RES                              */
                    397:    /* RES                              */
                    398:    /* RES                              */
                    399:    /* STO   1 : (Re)Selection timeout  */
                    400:    /* GEM   0 : General purpose timeout*/
                    401:    /* HTH   0 : Handshake timeout      */
                    402: 
                    403: #define SIST_SIZE     0x02
                    404: #define SIST          0x00000042 /* Scsi interrupt status Read only */
                    405:    /* idem SIEN reg               */
                    406:    #define    STO              0x0400
                    407:    #define    GEN              0x0200
                    408:    #define    HTH              0x0100
                    409:      
                    410:    #define    MA               0x0080
                    411:    #define    CMP              0x0040
                    412:    #define    SEL              0x0020
                    413:    #define    RSL              0x0010
                    414:    #define    SGE              0x0008
                    415:    #define    UDC              0x0004
                    416:    #define    RSTI              0x0002
                    417:    #define    PAR               0x0001 
                    418: 
                    419: #define SLPAR_SIZE    0x01
                    420: #define SLPAR         0x00000044
                    421: #define SLPAR_INIT    0x00       /* SCSI longitudinal parity */
                    422: 
                    423: #define SWIDE_SIZE    0x01
                    424: #define SWIDE         0x00000045 /*  Scsi wide residue data Read only */
                    425: 
                    426: #define MACNTL_SIZE   0x01
                    427: #define MACNTL        0x00000046
                    428: #define MACNTL_INIT   0x00       /* memory access control */
                    429:    /* TYP3-0   : Chip Type (read-only)         */
                    430:    /* DataWr 0 : Data write Far memory         */
                    431:    /* DataRd 0 : Data read far memory         */
                    432:    /* Pointer to script fetch 0 : far memory      */
                    433:    /* Script fetch 0 : far memory            */
                    434: 
                    435: #define GPCNTL_SIZE   0x01
                    436: #define GPCNTL        0x00000047
                    437: #define GPCNTL_INIT   0x0F       /* General purpose control Cf appendum  ?? */
                    438: // #define GPCNTL_INIT   0xCF       /* General purpose control Cf appendum  ?? */
                    439:    /* ME        : 0 Master Enable                          */
                    440:    /* FE        : 0 Fetch  Enable                          */
                    441:    /* RES                                                  */
                    442:    /* GPI/O_en4 : 0 GPREG input or output         */
                    443:    /* GPI/O_en3 : 1               */
                    444:    /* GPI/O_en2 : 1                                        */
                    445:    /* GPI/O_en1 : 1                                        */
                    446:    /* GPI/O_en0 : 1                                        */
                    447: 
                    448: #define STIME0_SIZE   0x01
                    449: #define STIME0        0x00000048
                    450: #define STIME0_INIT   0x0C       /* Scsi timer register 0 */
                    451:    /* HTH3                     */
                    452:    /* HTH2                     */
                    453:    /* HTH1   0                   */
                    454:    /* HTH0   0 : Handshake timer period (disabled)      */
                    455:    /* SEL3   1                   */
                    456:    /* SEL2   1                  */
                    457:    /* SEL1   0                  */
                    458:    /* SEL0   0 : Selection timeout period (204.8ms)      */
                    459: 
                    460: #define STIME1_SIZE   0x01
                    461: #define STIME1        0x00000049
                    462: #define STIME1_INIT   0x00       /* Scsi timer register one */
                    463:    /* RES                                                  */
                    464:    /* RES                                                  */
                    465:    /* RES                                                  */
                    466:    /* RES                                                  */
                    467:    /* GEN3 0                   */
                    468:    /* GEN2 0                  */
                    469:    /* GEN1 0                  */
                    470:    /* GEN0 0 : General purpose timer period (disabled)   */
                    471: 
                    472: #define RESPID0_SIZE  0x01
                    473: #define RESPID0       0x0000004A
                    474: #define RESPID0_INIT  0x00       /* Response Id zero */
                    475:    /* ID7 - ID0                  */
                    476: 
                    477: #define RESPID1_SIZE  0x01
                    478: #define RESPID1       0x0000004B
                    479: #define RESPID1_INIT  0x00       /* Response ID one       */
                    480:    /* ID15  - ID8                  */
                    481: 
                    482: #define STEST0_SIZE   0x01
                    483: #define STEST0        0x0000004C /*  Scsi test register zero Read only */
                    484:    /* RES                                                  */
                    485:    /* RES                                                  */
                    486:    /* RES                                                  */
                    487:    /* RES                                                  */
                    488:    /* SLT Selection response Logic test         */
                    489:    /* ART Arbitration priority encoder test      */
                    490:    /* SOZ Scsi synchronous offset zero         */
                    491:    /* SOM Scsi synchronous offset maximum         */
                    492: 
                    493: #define STEST1_SIZE   0x01
                    494: #define STEST1        0x0000004D       /* Scsi test register one Read/Write */
                    495: #define STEST1_INIT   0x00
                    496:    #define    SCLK             0x80    /* SCLK    0 : 1 = Use PCI Clock 0 = Use SCLK input     */
                    497:    #define    SISIO            0x40    /* SISIO   0 : SCSI Isolation Mode                      */
                    498:                                        /*         0 :                                          */
                    499:                                        /*         0 :                                          */
                    500:    #define    DBLEN            0x08    /* DBLEN   0 : SCLK Doubler Enable                      */
                    501:    #define    DBLSEL           0x04    /* DBLSEL  0 : SCLK Doubler Select                      */
                    502:                                        /*         0 :                                          */
                    503:                                        /*         0 :                                          */
                    504: 
                    505: #define STEST2_SIZE   0x01
                    506: #define STEST2        0x0000004E
                    507: #define STEST2_INIT        0x00       /* Scsi Test register two */
                    508: #define STEST2_DIFF_INIT   0x20       /* Scsi Test register two */
                    509:    #define    SCE              0x80    /* SCE   0 : Scsi control enable                                        */
                    510:    #define    ROF              0x40    /* ROF   0 : Reset Scsi offset                                          */
                    511:    #define    DIF              0x20    /* DIF   0/1 : SCSI differential mode, set if we detect differential card */
                    512:    #define    SLB              0x10    /* SLB   0 : Scsi loopback mode                                         */
                    513:    #define    SZM              0x08    /* SZM   0 : SCSI high impedance mode                                   */
                    514:    #define    AWS              0x04    /* AWS   0 : Always wide SCSI                                           */
                    515:    #define    EXT              0x02    /* EXT   0 : Extend REQ/ACK filtering    NEVER want SET for 'fast'!!!   */
                    516:    #define    LOW              0x01    /* LOW   0 : Scsi low level mode                                        */
                    517: 
                    518: #define STEST3_SIZE   0x01
                    519: #define STEST3        0x0000004F
                    520: #define STEST3_INIT   0x92   /* Scsi test register 3   */
                    521:    #define    EAN              0x80    /* EAN   1 : Enable active negation                     */
                    522:    #define    STR              0x40    /* STR   0 : Scsi FIFO test read                        */
                    523:    #define    HSC              0x20    /* HSC   0 : Halt Scsi Clock                            */
                    524:    #define    DSI              0x10    /* DSI   1 : Disable single initiator response          */
                    525:                                        /* RES                                                  */
                    526:    #define    TTM              0x04    /* TTM   0 : Timer test mode                            */
                    527:    #define    CSF              0x02    /* CSF   1 : Clear SCSI FIFO                            */
                    528:    #define    STW              0x01    /* STW   0 : SCSI FIFO test write                       */
                    529: 
                    530: #define SSIDL_SIZE    0x02
                    531: #define SSIDL         0x00000050 /* SCSI input data latch Read only */
                    532: 
                    533: #define SODL_SIZE     0x02
                    534: #define SODL          0x00000054
                    535: #define SODL_INIT     0x0000     /* SCSI Output Data Latch */
                    536: 
                    537: #define SBDL_SIZE     0x02
                    538: #define SBDL          0x00000058 /* SCSI bus data line Read only */
                    539: 
                    540: #define SCRATCHB_SIZE 0x04
                    541: #define SCRATCHB      0x0000005C
                    542: #define SCRATCHB0     0x0000005C
                    543: #define SCRATCHB1     0x0000005D
                    544: #define SCRATCHB2     0x0000005E
                    545: #define SCRATCHB3     0x0000005F
                    546: #define SCRATCHB_INIT 0x00000000 /* general purpose register */
                    547: 
                    548: /* ************************* */
                    549: 
                    550: /* Miscellaneous defines */
                    551: #define CLK_40MHz                      40
                    552: #define CLK_80MHz                      80
                    553: #define kResetRecoveryTimeMS           5000

unix.superglobalmegacorp.com

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