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

Annotation of sys/arch/sparc/dev/fgareg.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: fgareg.h,v 1.2 2003/06/02 18:40:59 jason Exp $        */
                      2:
                      3: /*
                      4:  * Copyright (c) 1999 Jason L. Wright (jason@thought.net)
                      5:  * All rights reserved.
                      6:  *
                      7:  * This software was developed by Jason L. Wright under contract with
                      8:  * RTMX Incorporated (http://www.rtmx.com).
                      9:  *
                     10:  * Redistribution and use in source and binary forms, with or without
                     11:  * modification, are permitted provided that the following conditions
                     12:  * are met:
                     13:  * 1. Redistributions of source code must retain the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer.
                     15:  * 2. Redistributions in binary form must reproduce the above copyright
                     16:  *    notice, this list of conditions and the following disclaimer in the
                     17:  *    documentation and/or other materials provided with the distribution.
                     18:  *
                     19:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     20:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
                     21:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
                     22:  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
                     23:  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
                     24:  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
                     25:  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     26:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
                     27:  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
                     28:  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     29:  * POSSIBILITY OF SUCH DAMAGE.
                     30:  */
                     31:
                     32: /*
                     33:  * Register definitions for Force Gate Array 5000
                     34:  * Definitions from: "Force Gate Array-5000 Technical Reference Manual"
                     35:  * revision 1, April 1995, Force Computers, Inc./GmbH.
                     36:  */
                     37:
                     38: /*
                     39:  * FGA Register structure.
                     40:  * The register set takes up 512 bytes and is found in to sbus slot 5's
                     41:  * address space (you can change that).
                     42:  * Most of the bit registers use a negative logic sense: ie. writing
                     43:  * a zero means "setting the bit" and writing a one means "clearing"
                     44:  * the bit.
                     45:  */
                     46: struct fga_regs {
                     47:        volatile u_int32_t      sbus_base;      /* sbus base address reg */
                     48:        volatile u_int32_t      vme_range[16];  /* master range registers */
                     49:        volatile u_int8_t       _unused0[32];
                     50:        volatile u_int8_t       vme_master_cap[16];/* master capability */
                     51:        volatile u_int8_t       _unused1[8];
                     52:        volatile u_int8_t       sbus_ssel[8];   /* sbus slot select */
                     53:        volatile u_int8_t       _unused2[15];
                     54:        volatile u_int8_t       viack_emu1;     /* vme intr ack emulation */
                     55:        volatile u_int8_t       _unused3[1];
                     56:        volatile u_int8_t       viack_emu2;
                     57:        volatile u_int8_t       _unused4[1];
                     58:        volatile u_int8_t       viack_emu3;
                     59:        volatile u_int8_t       _unused5[1];
                     60:        volatile u_int8_t       viack_emu4;
                     61:        volatile u_int8_t       _unused6[1];
                     62:        volatile u_int8_t       viack_emu5;
                     63:        volatile u_int8_t       _unused7[1];
                     64:        volatile u_int8_t       viack_emu6;
                     65:        volatile u_int8_t       _unused8[1];
                     66:        volatile u_int8_t       viack_emu7;
                     67:        volatile u_int8_t       _unused9[16];
                     68:        volatile u_int8_t       sbus_cap;       /* sbus capabilities */
                     69:        volatile u_int8_t       sbus_retry_ctrl; /* sbus retry control */
                     70:        volatile u_int8_t       sbus_rerun_ctrl; /* sbus rerun control */
                     71:        volatile u_int8_t       sbus_cap2;      /* sbus capabilities 2 */
                     72:        volatile u_int32_t      swpar;          /* sbus write post err addr */
                     73:        volatile u_int32_t      slerr;          /* sbus late err addr */
                     74:        volatile u_int32_t      _unused10;
                     75:        volatile u_int8_t       vme_base;       /* vme slave base addr */
                     76:        volatile u_int8_t       vme_ext[3];     /* vme slave addr extension */
                     77:        volatile u_int32_t      sbus_range[3];  /* vme->sbus slave addr */
                     78:        volatile u_int16_t      ibox_addr;      /* ibox address */
                     79:        volatile u_int16_t      ibox_ctrl;      /* ibox control */
                     80:        volatile u_int8_t       fmb_ctrl;       /* FMB control reg */
                     81:        volatile u_int8_t       fmb_addr;       /* FMB addresss reg */
                     82:        volatile u_int8_t       _unused11[10];
                     83:        volatile u_int8_t       vme_cap;        /* vme capabilities */
                     84:        volatile u_int8_t       vmebus_handshake; /* vme handshake mode */
                     85:        volatile u_int8_t       _unused12[2];
                     86:        volatile u_int32_t      vwpar;          /* vme write post addr */
                     87:        volatile u_int8_t       _unused13[8];
                     88:        volatile u_int16_t      dma_ctrl;       /* dma control */
                     89:        volatile u_int8_t       dma_mode;       /* dma mode */
                     90:        volatile u_int8_t       dma_stat;       /* dma status */
                     91:        volatile u_int32_t      dma_src;        /* dma source address */
                     92:        volatile u_int32_t      dma_dst;        /* dma destination address */
                     93:        volatile u_int32_t      dma_captl;      /* dma capabilities/length */
                     94:        volatile u_int8_t       _unused14[32];
                     95:        volatile u_int8_t       mbox[16];       /* mailboxes */
                     96:        volatile u_int8_t       sem[48];        /* semaphores */
                     97:        volatile u_int8_t       _unused15[32];
                     98:        volatile u_int8_t       id[4];          /* revision/id register */
                     99:        volatile u_int8_t       gcsr;           /* global control/status */
                    100:        volatile u_int8_t       _unused16[3];
                    101:        volatile u_int8_t       reset_stat;     /* reset status */
                    102:        volatile u_int8_t       _unused17[24];
                    103:        volatile u_int8_t       virq_map[7];    /* vme->sbus irq mapping */
                    104:        volatile u_int8_t       mbox_irq_map[16];
                    105:        volatile u_int8_t       acfail_irq_map;
                    106:        volatile u_int8_t       sysfail_irq_map[2];
                    107:        volatile u_int8_t       abort_irq_map;
                    108:        volatile u_int8_t       dma_irq_map;
                    109:        volatile u_int8_t       wpe_irq_map;
                    110:        volatile u_int8_t       arb_irq_map;
                    111:        volatile u_int8_t       wdt_irq_map;
                    112:        volatile u_int8_t       slerr_irq_map;
                    113:        volatile u_int8_t       fmb_irq_map[2];
                    114:        volatile u_int8_t       ibox_irq_map;
                    115:        volatile u_int8_t       _unused18[20];
                    116:        volatile u_int16_t      mbox_stat;      /* mailbox status */
                    117:        volatile u_int8_t       _unused19[2];
                    118:        volatile u_int8_t       arb_ctrl;       /* arbitration control */
                    119:        volatile u_int8_t       req_ctrl;       /* vme request control */
                    120:        volatile u_int8_t       bus_ctrl;       /* vme bus control */
                    121:        volatile u_int8_t       _unused20[1];
                    122:        volatile u_int8_t       mcsr0;          /* misc control/status */
                    123:        volatile u_int8_t       _unused21[3];
                    124:        volatile u_int8_t       mcsr1;          /* misc control/status */
                    125:        volatile u_int8_t       wdt_restart;    /* watchdog restart */
                    126:        volatile u_int8_t       _unused22[2];
                    127:        volatile u_int32_t      intr_stat;      /* interrupt status */
                    128:        volatile u_int8_t       _unused23[20];
                    129: };
                    130:
                    131: /* sbus_base: sbus base address register */
                    132: #define        SBUS_BASE_RMBA          0xffffe000      /* reg map base address */
                    133: #define        SBUS_BASE_RMSS          0x00000007      /* reg map slot select bits */
                    134:
                    135: /* vme_range0..15: master range registers */
                    136: #define        VME_RANGE_VMRCC         0xfff80000      /* master range compare code */
                    137: #define        VME_RANGE_VMAE          0x00078000      /* master adr extension bits */
                    138: #define        VME_RANGE_VMAT          0x00007ff8      /* master adr xlation bits */
                    139: #define        VME_RANGE_WPEN          0x00000002      /* write posting enable */
                    140: #define        VME_RANGE_DECEN         0x00000001      /* range decoding enable */
                    141:
                    142: /* vme_master_map0..15: master capability registers */
                    143: #define        VME_MASTER_CAP_DATA     0xe0            /* data capabilities */
                    144: #define        VME_MASTER_CAP_D8       0x00            /* vmebus D8 */
                    145: #define        VME_MASTER_CAP_D16      0x20            /* vmebus D16 */
                    146: #define        VME_MASTER_CAP_D32      0x40            /* vmebus D32 */
                    147: #define        VME_MASTER_CAP_DBLT     0x60            /* vmebus BLT */
                    148: #define        VME_MASTER_CAP_DMBLT    0x80            /* vmebus MBLT */
                    149: #define        VME_MASTER_CAP_ADDR     0x1c            /* addr capabilities */
                    150: #define        VME_MASTER_CAP_A16      0x00            /* vmebus A16 */
                    151: #define        VME_MASTER_CAP_A24      0x04            /* vmebus A24 */
                    152: #define        VME_MASTER_CAP_A32      0x08            /* vmebus A32 */
                    153: #define        FVME_MAX_RANGES         16              /* number of ranges avail */
                    154:
                    155: /* sbus_ssel0..15: sbus slot select registers */
                    156: #define        SBUS_SSEL_X             0x70            /* slot select pins range X */
                    157: #define        SBUS_SSEL_X_SLOT1       0x00            /* sbus slot 1 */
                    158: #define        SBUS_SSEL_X_SLOT2       0x10            /* sbus slot 2 */
                    159: #define        SBUS_SSEL_X_SLOT3       0x20            /* sbus slot 3 */
                    160: #define        SBUS_SSEL_X_SLOT4       0x30            /* sbus slot 4 */
                    161: #define        SBUS_SSEL_X_SLOT5x      0x40            /* sbus slot 5? */
                    162: #define        SBUS_SSEL_X_SLOT5       0x50            /* sbus slot 5 */
                    163: #define        SBUS_SSEL_Y             0x07            /* slot select pins range X+1*/
                    164: #define        SBUS_SSEL_Y_SLOT1       0x00            /* sbus slot 1 */
                    165: #define        SBUS_SSEL_Y_SLOT2       0x01            /* sbus slot 2 */
                    166: #define        SBUS_SSEL_Y_SLOT3       0x02            /* sbus slot 3 */
                    167: #define        SBUS_SSEL_Y_SLOT4       0x03            /* sbus slot 4 */
                    168: #define        SBUS_SSEL_Y_SLOT5x      0x04            /* sbus slot 5? */
                    169: #define        SBUS_SSEL_Y_SLOT5       0x05            /* sbus slot 5 */
                    170:
                    171: /* viack_emu1..7: iack emulation registers */
                    172: /* bits contain d00-d07 from VMEbus interrupter */
                    173:
                    174: /* sbus_cap: sbus capability register */
                    175: #define        SBUS_CAP_BURSTMASK      0xc0            /* dma burst size mask */
                    176: #define        SBUS_CAP_BURST_64       0xc0            /* 64 byte burst */
                    177: #define        SBUS_CAP_BURST_32       0x80            /* 32 byte burst */
                    178: #define        SBUS_CAP_BURST_16       0x40            /* 16 byte burst */
                    179: #define        SBUS_CAP_BURST_8        0x00            /* 8 byte burst */
                    180: #define        SBUS_CAP_READSTOPMASK   0x30            /* master read stop point */
                    181: #define        SBUS_CAP_READSTOP_64    0x30            /* stop at 64 byte boundary */
                    182: #define        SBUS_CAP_READSTOP_32    0x20            /* stop at 32 byte boundary */
                    183: #define        SBUS_CAP_READSTOP_16    0x10            /* stop at 16 byte boundary */
                    184: #define        SBUS_CAP_READSTOP_8     0x00            /* stop at 8 byte boundary */
                    185: #define        SBUS_CAP_BURSTDIS       0x08            /* disable sbus bursts */
                    186: #define        SBUS_CAP_HIDDENARBDIS   0x04            /* disable sbus hidden arb */
                    187: #define        SBUS_CAP_SPLITFLOW      0x02            /* disable flow through */
                    188:
                    189: /* sbus_retry_ctrl: sbus retry register */
                    190: /* clock cycles with no acknowledge */
                    191:
                    192: /* sbus_rerun_ctrl: sbus rerun limit register */
                    193: /* number of times to reruns to try on the bus */
                    194:
                    195: /* swpar: sbus write posting error address register */
                    196: /* virtual sbus transfer address that was ack'd with an error */
                    197:
                    198: /* slerr: sbus late error address register */
                    199: /* virtual sbus address that resulted in a late transfer */
                    200:
                    201: /* vme_base: VMEbus base address register */
                    202: #define VME_BASE_RMVBA         0xfe            /* reg map base address */
                    203: #define        VME_BASE_RMACCEN        0x01            /* reg remote access enable */
                    204:
                    205: /* vme_ext0..2: slave address extension registers */
                    206: /* extensions of A24 VMEbus address to 32bit sbus address (msb) */
                    207:
                    208: /* sbus_range0..2: slave range registers */
                    209: #define        SBUS_RANGE_VSRCC        0xfff00000      /* slave range compare code */
                    210: #define        SBUS_RANGE_VSAT         0x000ffe00      /* slave address translation */
                    211: #define        SBUS_RANGE_A32DIS       0x00000004      /* disable A32 (enable A24) */
                    212: #define        SBUS_RANGE_WPDIS        0x00000002      /* disable write posting */
                    213: #define        SBUS_RANGE_DECDIS       0x00000001      /* disable encoding */
                    214:
                    215: /* ibox_addr: IBOX address register */
                    216: /* address within VME A16 space where the IBOX is accessed */
                    217:
                    218: /* ibox_ctrl: IBOX control register */
                    219: #define        IBOX_CTRL_DIS           0x01            /* disable ibox */
                    220:
                    221: /* fmb_ctrl: force message broadcast control register */
                    222: #define        FMB_CTRL_SELAM          0x80            /* supervisor/user access */
                    223: #define        FMB_CTRL_DISCH1         0x40            /* disable channel 1 */
                    224: #define        FMB_CTRL_DISCH2         0x20            /* disable channel 2 */
                    225: #define        FMB_CTRL_SLOTID         0x1f            /* slot id: 1-15 */
                    226:
                    227: /* vme_cap: global master capability register */
                    228: #define        VME_CAP_NPRV            0x80            /* supervisor access */
                    229:
                    230: /* vmebus_handshake: VMEbus handshake configuration register */
                    231: #define        VME_HANDSHAKE_DISSGLE   0x80            /* disable glitch filter */
                    232: #define        VME_HANDSHAKE_DISASFAST 0x40            /* disable fast AS handshake */
                    233: #define        VME_HANDSHAKE_DISDS     0x20            /* disable fast data strobe */
                    234:
                    235: /* vwpar: VMEbus write posting address register */
                    236: /* contains address ack'd with a BERR from the VME bus */
                    237:
                    238: /* dma_ctrl: dma control register */
                    239: #define        DMA_CTRL_DMAEN          0x80            /* enable (start) dma */
                    240: #define        DMA_CTRL_DMADIS         0x40            /* disable dma transaction */
                    241: #define        DMA_CTRL_DMAHLT         0x20            /* stop dma transaction */
                    242: #define        DMA_CTRL_DMARESU        0x10            /* resume dma transaction */
                    243:
                    244: /* dma_mode: dma mode register */
                    245: #define        DMA_MODE_DMASB          0x80            /* single buffer mode */
                    246: #define        DMA_MODE_DMANRTRY       0x40            /* error on retry */
                    247:
                    248: /* dma_stat: dma status register */
                    249: #define        DMA_STAT_DMARUN         0x80            /* dma task is running */
                    250: #define        DMA_STAT_DMAWT          0x40            /* dma task is halted */
                    251: #define        DMA_STAT_DMANT          0x20            /* dma task successful */
                    252: #define        DMA_STAT_ERRMASK        0x18            /* dma error mask */
                    253: #define        DMA_STAT_ERR_SRC        0x00            /* error on source bus */
                    254: #define        DMA_STAT_ERR_DST        0x08            /* error on destination bus */
                    255: #define        DMA_STAT_ERR_NONE       0x10            /* no error termination */
                    256: #define        DMA_STAT_ERR_NOERROR    0x18            /* no error termination */
                    257:
                    258: /* dma_src: dma source address register */
                    259: #define        DMA_SRC_ADDR            0xfffffffc      /* source address */
                    260: #define        DMA_SRC_VME             0x00000002      /* 0=vme, 1=sbus */
                    261:
                    262: /* dma_dst: dma destination address register */
                    263: #define        DMA_DST_ADDR            0xfffffffc      /* destination address */
                    264: #define        DMA_DST_VME             0x00000002      /* 0=vme, 1=sbus */
                    265:
                    266: /* dma_captl: dma capability/transfer length */
                    267: #define        DMA_CAPTL_SCAPD_MASK    0xe0000000      /* src data capability */
                    268: #define        DMA_CAPTL_SCAPD_D8      0x00000000      /* D8 slave */
                    269: #define        DMA_CAPTL_SCAPD_D16     0x20000000      /* D16 slave */
                    270: #define        DMA_CAPTL_SCAPD_D32     0x40000000      /* D32 slave */
                    271: #define        DMA_CAPTL_SCAPD_BLT     0x60000000      /* BLT slave */
                    272: #define        DMA_CAPTL_SCAPD_MBLT    0x80000000      /* MBLT slave */
                    273: #define        DMA_CAPTL_SCAPA_MASK    0x1c000000      /* src addr capability */
                    274: #define        DMA_CAPTL_SCAPA_A16     0x00000000      /* A16 slave */
                    275: #define        DMA_CAPTL_SCAPA_A24     0x04000000      /* A24 slave */
                    276: #define        DMA_CAPTL_SCAPA_A32     0x08000000      /* A32 slave */
                    277: #define        DMA_CAPTL_DCAPD_MASK    0x03800000      /* dst data capability */
                    278:
                    279: /* mbox0..15: mailbox registers */
                    280: #define        MBOX_SEM                0x80            /* semaphore bit */
                    281:
                    282: /* sem0..47: semaphore registers */
                    283: #define        SEM_SEM                 0x80            /* semaphore bit */
                    284:
                    285: /* gcsr: global control and status register */
                    286: #define        GCSR_SETSYSFAIL         0x80            /* assert SYSFAIL* signal */
                    287: #define        GCSR_ENSYSFAIL          0x40            /* enable SYSFAIL* output */
                    288: #define        GCSR_SYSFAIL            0x20            /* SYSFAIL* input status */
                    289: #define        GCSR_RESET              0x10            /* software reset */
                    290: #define        GCSR_ACFAIL             0x08            /* ACFAIL input status */
                    291: #define        GCSR_DISVDR             0x04            /* disable VME DTB drivers */
                    292: #define        GCSR_ENSYSCON           0x02            /* enable system controller */
                    293:
                    294: /* reset_stat: reset status register */
                    295: #define        RESET_STAT_SBUS_RESET   0x80            /* sbus has been reset */
                    296: #define        RESET_STAT_VME_SYSRES   0x40            /* vmebus has been reset */
                    297: #define        RESET_STAT_WDT_RESET    0x20            /* watchdog has triggered */
                    298: #define        RESET_STAT_SYSRES_CALL  0x04            /* sysreset in mcsr0 set */
                    299: #define        RESET_STAT_RESET_CALL   0x02            /* reset in mcsr0 set */
                    300: #define        RESET_STAT_LOCRES_CALL  0x01            /* reset in ccsr set */
                    301:
                    302: /* *irq_map: interrupt request mapping registers */
                    303: #define        IRQ_MAP_ENABLE          0x08            /* enable irq */
                    304: #define        IRQ_MAP_INT_MASK        0x07            /* irq mapping mask */
                    305: #define        IRQ_MAP_INT             0x00            /* NMI */
                    306: #define        IRQ_MAP_SINT1           0x01            /* sbus pri 1 */
                    307: #define        IRQ_MAP_SINT2           0x02            /* sbus pri 2 */
                    308: #define        IRQ_MAP_SINT3           0x03            /* sbus pri 3 */
                    309: #define        IRQ_MAP_SINT4           0x04            /* sbus pri 4 */
                    310: #define        IRQ_MAP_SINT5           0x05            /* sbus pri 5 */
                    311: #define        IRQ_MAP_SINT6           0x06            /* sbus pri 6 */
                    312: #define        IRQ_MAP_SINT7           0x07            /* sbus pri 7 */
                    313:
                    314: /* mbox_stat: mailbox status interrupt status register */
                    315: /* 1 bit for each mailbox, 0 = interrupt pending, 1 = no interrupt pending */
                    316:
                    317: /* arb_ctrl: arbitration control register */
                    318: #define        ARB_CTRL_MASK           0xc0            /* control mask */
                    319: #define        ARB_CTRL_PRIORITY       0xc0            /* priority mode */
                    320: #define        ARB_CTRL_ROBIN          0x40            /* round robin mode */
                    321: #define        ARB_CTRL_PRIROBIN       0x80            /* priority round robin mode */
                    322:
                    323: /* req_ctrl: VMEbus request control register */
                    324: #define        REQ_CTRL_FM             0x80            /* 0=fair,1=demand mode */
                    325: #define        REQ_CTRL_RM_MASK        0x70            /* release mode mask */
                    326: #define        REQ_CTRL_RM_ROR         0x30            /* release on request */
                    327: #define        REQ_CTRL_RM_ROC         0x40            /* release on bus clear */
                    328: #define        REQ_CTRL_RM_RAT         0x60            /* release after timeout */
                    329: #define        REQ_CTRL_RM_RWD         0x70            /* release when done */
                    330: #define        REQ_CTRL_REC            0x08            /* 0=begin,1=end of cycle */
                    331: #define        REQ_CTRL_RL_MASK        0x06            /* request level mask */
                    332: #define        REQ_CTRL_RL_BR3         0x06            /* br3 priority */
                    333: #define        REQ_CTRL_RL_BR2         0x04            /* br2 priority */
                    334: #define        REQ_CTRL_RL_BR1         0x02            /* br1 priority */
                    335: #define        REQ_CTRL_RL_BR0         0x00            /* br0 priority */
                    336: #define        REQ_CTRL_GLFI           0x01            /* enable bbsy glitch filter */
                    337:
                    338: /* bus_ctrl: VMEbus capture register */
                    339: #define        BUS_CTRL_BCAP           0x80            /* request and keep bus */
                    340: #define        BUS_CTRL_OWN            0x40            /* do we own the bus? */
                    341:
                    342: /* mcsr0: miscellaneous control and status register 0 */
                    343: #define        MCSR0_ABORTSW           0x80            /* status of abort switch */
                    344: #define        MCSR0_SCON              0x40            /* status of SCON input */
                    345: #define        MCSR0_SYSRESET          0x20            /* assert SYSRESET* */
                    346: #define        MCSR0_RESET             0x10            /* software reset fga5000 */
                    347: #define        MCSR0_ENA_VME_TIMEOUT   0x08            /* enable VME timeout */
                    348: #define        MCSR0_VME_TIMEOUT_MASK  0x06            /* VME transaction timeout */
                    349: #define        MCSR0_VME_TIMEOUT_32    0x02            /* 32 usec */
                    350: #define        MCSR0_VME_TIMEOUT_128   0x04            /* 128 usec */
                    351: #define        MCSR0_VME_TIMEOUT_512   0x06            /* 512 usec */
                    352: #define        MCSR0_SYSRESET_IN       0x01            /* enable SYSRESET input */
                    353:
                    354: /* mcsr1: miscellaneous control and status register 1 */
                    355: #define        MCSR1_ENAWDT            0x80            /* enable watchdog timer */
                    356: #define        MCSR1_TIMEOUT_MASK      0x70            /* watchdog timeout mask */
                    357: #define        MCSR1_TIMEOUT_408MS     0x00            /* 408 msec */
                    358: #define        MCSR1_TIMEOUT_168S      0x10            /* 1.68 sec */
                    359: #define        MCSR1_TIMEOUT_67S       0x20            /* 6.7 sec */
                    360: #define        MCSR1_TIMEOUT_268S      0x30            /* 26.8 sec */
                    361: #define        MCSR1_TIMEOUT_1M48S     0x40            /* 1 min 48 sec */
                    362: #define        MCSR1_TIMEOUT_7M9S      0x50            /* 7 min 9 sec */
                    363: #define        MCSR1_TIMEOUT_28M38S    0x60            /* 28 min 38 sec */
                    364: #define        MCSR1_TIMEOUT_1H54M     0x70            /* 1 hour 54 min */
                    365: #define        MCSR1_IRQ_FREEZE        0x08            /* freeze irq map regs */
                    366:
                    367: /* wdt_restart: watchdog timer restart register */
                    368: /* any read/write resets the watchdog timer */
                    369:
                    370: /* intr_stat: interrupt status register */
                    371: #define        INTR_STAT_ACFAIL        0x80000000      /* acfail pending */
                    372: #define        INTR_STAT_SYSFAILASSERT 0x40000000      /* sysfail assert pending */
                    373: #define        INTR_STAT_SYSFAILNEGATE 0x20000000      /* sysfail negate pending */
                    374: #define        INTR_STAT_ABORT         0x10000000      /* abort pending */
                    375: #define        INTR_STAT_ARBTIMEOUT    0x08000000      /* arbitration timeout */
                    376: #define        INTR_STAT_MAILBOX       0x04000000      /* mailbox intr pending */
                    377: #define        INTR_STAT_SBUS_WPERR    0x02000000      /* sbus wperr pending */
                    378: #define        INTR_STAT_VME_WPERR     0x01000000      /* vme wperr pending */
                    379: #define        INTR_STAT_DMATERM       0x00800000      /* dma finished */
                    380: #define        INTR_STAT_WDT           0x00400000      /* watchdog half timeout */
                    381: #define        INTR_STAT_SLERR         0x00200000      /* sbus late error pending */
                    382: #define        INTR_STAT_IBOX          0x00100000      /* ibox pending */
                    383: #define        INTR_STAT_FMB0          0x00080000      /* fmb channel 0 pending */
                    384: #define        INTR_STAT_FMB1          0x00040000      /* fmb channel 1 pending */
                    385: #define        INTR_STAT_VMEIRQ7       0x00000080      /* vme irq 7 pending */
                    386: #define        INTR_STAT_VMEIRQ6       0x00000040      /* vme irq 6 pending */
                    387: #define        INTR_STAT_VMEIRQ5       0x00000020      /* vme irq 5 pending */
                    388: #define        INTR_STAT_VMEIRQ4       0x00000010      /* vme irq 4 pending */
                    389: #define        INTR_STAT_VMEIRQ3       0x00000008      /* vme irq 3 pending */
                    390: #define        INTR_STAT_VMEIRQ2       0x00000004      /* vme irq 2 pending */
                    391: #define        INTR_STAT_VMEIRQ1       0x00000002      /* vme irq 1 pending */

CVSweb