Annotation of sys/arch/sparc/dev/fgareg.h, Revision 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