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

Annotation of sys/arch/mvme88k/dev/busswreg.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: busswreg.h,v 1.7 2005/12/11 21:31:36 miod Exp $ */
        !             2:
        !             3: /*
        !             4:  * Memory map for BusSwitch chip found in mvme197 boards.
        !             5:  */
        !             6: #ifndef        BUSSWREG_H
        !             7: #define        BUSSWREG_H
        !             8:
        !             9: #define BS_BASE                0xfff00000
        !            10: #define        BS_SIZE         0x00000120
        !            11:
        !            12: #define        BS_CHIPID       0x0000
        !            13: #define        BS_CHIPREV      0x0001
        !            14: #define        BS_GCSR         0x0002
        !            15: #define        BS_IODATA       0x0004
        !            16: #define        BS_IODIR        0x0006
        !            17: #define        BS_PSAR1        0x0008
        !            18: #define        BS_PEAR1        0x000a
        !            19: #define        BS_PSAR2        0x000c
        !            20: #define        BS_PEAR2        0x000e
        !            21: #define        BS_PSAR3        0x0010
        !            22: #define        BS_PEAR3        0x0012
        !            23: #define        BS_PSAR4        0x0014
        !            24: #define        BS_PEAR4        0x0016
        !            25: #define        BS_PTR1         0x0018
        !            26: #define        BS_PTSR1        0x001a
        !            27: #define        BS_PTR2         0x001c
        !            28: #define        BS_PTSR2        0x001e
        !            29: #define        BS_PTR3         0x0020
        !            30: #define        BS_PTSR3        0x0022
        !            31: #define        BS_PTR4         0x0024
        !            32: #define        BS_PTSR4        0x0026
        !            33: #define        BS_SSAR1        0x0028
        !            34: #define        BS_SEAR1        0x002a
        !            35: #define        BS_SSAR2        0x002c
        !            36: #define        BS_SEAR2        0x002e
        !            37: #define        BS_SSAR3        0x0030
        !            38: #define        BS_SEAR3        0x0032
        !            39: #define        BS_SSAR4        0x0034
        !            40: #define        BS_SEAR4        0x0036
        !            41: #define        BS_STR1         0x0038
        !            42: #define        BS_STSR1        0x003a
        !            43: #define        BS_STR2         0x003c
        !            44: #define        BS_STSR2        0x003e
        !            45: #define        BS_STR3         0x0040
        !            46: #define        BS_STSR3        0x0042
        !            47: #define        BS_STR4         0x0044
        !            48: #define        BS_STSR4        0x0046
        !            49: #define        BS_PAR          0x0048
        !            50: #define        BS_SAR          0x004c
        !            51: #define        BS_BTIMER       0x0051
        !            52: #define        BS_PADJUST      0x0052
        !            53: #define        BS_PCOUNT       0x0053
        !            54: #define        BS_PAL          0x0054
        !            55: #define        BS_WPPA         0x0058
        !            56: #define        BS_WPTPA        0x005c
        !            57: #define        BS_WPPAT        0x005e
        !            58: #define        BS_ROMCR        0x0060
        !            59: #define        BS_TCTRL1       0x0062
        !            60: #define        BS_TCTRL2       0x0063
        !            61: #define        BS_LEVEL        0x0064
        !            62: #define        BS_MASK         0x0065
        !            63: #define        BS_ISEL0        0x0066
        !            64: #define        BS_ISEL1        0x0067
        !            65: #define        BS_ABORT        0x0068
        !            66: #define        BS_CPINT        0x0069
        !            67: #define        BS_TINT1        0x006a
        !            68: #define        BS_TINT2        0x006b
        !            69: #define        BS_WPINT        0x006c
        !            70: #define        BS_PALINT       0x006d
        !            71: #define        BS_XINT         0x006e
        !            72: #define        BS_VBASE        0x006f
        !            73: #define        BS_TCOMP1       0x0070
        !            74: #define        BS_TCOUNT1      0x0074
        !            75: #define        BS_TCOMP2       0x0078
        !            76: #define        BS_TCOUNT2      0x007c
        !            77: #define        BS_GPR          0x0080
        !            78: #define        BS_XCTAGS       0x0090
        !            79: #define        BS_XCCR         0x0100
        !            80: #define        BS_VEC          0x0104
        !            81:
        !            82: #define        BUSSWITCH_ID    0x21    /* value at CHIPID */
        !            83:
        !            84: /* GCSR bit definitions */
        !            85: #define BS_GCSR_APRI0  0x0001  /* Bus Request 0 Priority indicator (CPU0)*/
        !            86: #define BS_GCSR_APRI1  0x0002  /* Bus Request 1 Priority indicator (CPU1)*/
        !            87: #define BS_GCSR_APRI2  0x0003  /* Bus Request 2 Priority indicator (mc88410)*/
        !            88: #define BS_GCSR_AMOD   0x0004  /* Arbitration Mode */
        !            89: #define BS_GCSR_BREN   0x0008  /* Bus Request Enable */
        !            90: #define BS_GCSR_CPUID  0x0010  /* CPU ID */
        !            91: #define BS_GCSR_B410   0x0020  /* BUS410 indicator */
        !            92: #define BS_GCSR_INVD   0x0040  /* Invalidate Decoder */
        !            93: #define BS_GCSR_USR    0x0080  /* User Access Enable */
        !            94: #define BS_GCSR_XIPL   0x0100  /* External IPL Enable */
        !            95: #define BS_GCSR_TCPU1  0x0200  /* Test CPU 1 Registers */
        !            96: #define BS_GCSR_XCC    0x0400  /* External Cache Controller */
        !            97: #define BS_GCSR_INCB   0x0800  /* Increment On Burst */
        !            98: #define BS_GCSR_TDPR   0x2000  /* Test Dual Processor Registers */
        !            99: #define BS_GCSR_TBB    0x4000  /* Test Bus Busy */
        !           100: #define BS_GCSR_POR    0x8000  /* Power On Reset */
        !           101:
        !           102: /* System Attribute Registers bit definitions */
        !           103: #define BS_SAR_DEN     0x01    /* Decode Enable */
        !           104: #define BS_SAR_INVR    0x04    /* Invalidate On Reads */
        !           105: #define BS_SAR_GBL     0x08    /* Global Access */
        !           106:
        !           107: /* Bus Timer Register bit definitions */
        !           108: #define BS_BTIMER_PBT8         0x00    /* Processor Bus Timout, 8 usec */
        !           109: #define BS_BTIMER_PBT64                0x01    /* Processor Bus Timout, 64 usec */
        !           110: #define BS_BTIMER_PBT256       0x02    /* Processor Bus Timout, 256 usec */
        !           111: #define BS_BTIMER_PBTD         0x03    /* Processor Bus Timout, disable */
        !           112: #define BS_BTIMER_SBT8         (0x00 << 2)     /* System Bus Timout, 8 usec */
        !           113: #define BS_BTIMER_SBT64                (0x01 << 2)     /* System Bus Timout, 64 usec */
        !           114: #define BS_BTIMER_SBT256       (0x02 << 2)     /* System Bus Timout, 256 usec */
        !           115: #define BS_BTIMER_SBTD         (0x03 << 2)     /* System Bus Timout, disable */
        !           116:
        !           117: /* Prescaler Adjust values */
        !           118: #define BS_PADJUST_50  0xce    /* 50 MHz clock */
        !           119: #define BS_PADJUST_40  0xd8    /* 40 MHz clock */
        !           120: #define BS_PADJUST_33  0xdf    /* 33 MHz clock */
        !           121: #define BS_PADJUST_25  0xe7    /* 25 MHz clock */
        !           122:
        !           123: /* ROM Control Register bit definitions */
        !           124: #define BS_ROMCR_WEN0  0x0100
        !           125: #define BS_ROMCR_WEN1   0x0200
        !           126: #define BS_ROMCR_SGLB  0x0400
        !           127: #define BS_ROMCR_ROM0  0x8000
        !           128:
        !           129: /* External Cache Control Register bit definitions */
        !           130: #define BS_XCC_F0      0x00000001
        !           131: #define BS_XCC_F1      0x00000002
        !           132: #define BS_XCC_FBSY    0x00000004
        !           133: #define BS_XCC_DIAG    0x00000008
        !           134:
        !           135: /* Abort Control Register */
        !           136: #define BS_ABORT_ICLR  0x08    /* abort interrupt clear */
        !           137: #define BS_ABORT_IEN   0x10    /* abort interrupt enable */
        !           138: #define BS_ABORT_INT   0x20    /* abort interrupt received */
        !           139: #define BS_ABORT_ABT   0x40    /* abort interrupt asserted */
        !           140:
        !           141: /* Cross Processor Interrupt Register */
        !           142: #define BS_CPI_ICLR    0x08    /* cpi interrupt clear */
        !           143: #define BS_CPI_IEN     0x10    /* cpi interrupt enable */
        !           144: #define BS_CPI_INT     0x20    /* cpi interrupt received */
        !           145: #define BS_CPI_STAT    0x40    /* cpi interrupt status */
        !           146: #define BS_CPI_SCPI    0x80    /* send cross proc interrupt */
        !           147:
        !           148: /* Timer Interrupt 1 Register */
        !           149: #define BS_TINT1_ICLR  0x08    /* timer 1 interrupt clear */
        !           150: #define BS_TINT1_IEN   0x10    /* timer 1 interrupt enable */
        !           151: #define BS_TINT1_INT   0x20    /* timer 1 interrupt received */
        !           152: #define BS_TINT1_LM    0x07    /* timer 1 level mask */
        !           153: #define BS_TINT1_LEVEL(x)      (x & BS_TINT1_LM)
        !           154:
        !           155: /* Timer Interrupt 2 Register */
        !           156: #define BS_TINT2_ICLR  0x08    /* timer 1 interrupt clear */
        !           157: #define BS_TINT2_IEN   0x10    /* timer 1 interrupt enable */
        !           158: #define BS_TINT2_INT   0x20    /* timer 1 interrupt received */
        !           159: #define BS_TINT2_LM    0x07    /* timer 1 level mask */
        !           160: #define BS_TINT2_LEVEL(x)      (x & BS_TINT2_LM)
        !           161:
        !           162: /* Write Post Control Register */
        !           163: #define BS_WPINT_ICLR  0x08    /* WPINT interrupt clear */
        !           164: #define BS_WPINT_IEN   0x10    /* WPINT interrupt enable */
        !           165: #define BS_WPINT_INT   0x20    /* WPINT interrupt received */
        !           166: #define BS_WPINT_LM    0x07    /* WPINT level mask */
        !           167: #define BS_WPINT_LEVEL(x)      (x & BS_WPINT_LM)
        !           168:
        !           169: /* Processor Address Log Interrupt Register */
        !           170: #define BS_PALINT_ICLR 0x00    /* PALINT interrupt clear */
        !           171: #define BS_PALINT_IEN  0x10    /* PALINT interrupt enable */
        !           172: #define BS_PALINT_INT  0x20    /* PALINT interrupt received */
        !           173: #define BS_PALINT_PLTY 0x80    /* PALINT polarity */
        !           174: #define BS_PALINT_LM   0x07    /* PALINT level mask */
        !           175: #define BS_PALINT_LEVEL(x)     (x & BS_PALINT_LM)
        !           176:
        !           177: /* External Interrupt Register */
        !           178: #define BS_XINT_ICLR   0x00    /* XINT interrupt clear */
        !           179: #define BS_XINT_IEN    0x10    /* XINT interrupt enable */
        !           180: #define BS_XINT_INT    0x20    /* XINT interrupt received */
        !           181: #define BS_XINT_EL     0x40    /* XINT edge/level */
        !           182: #define BS_XINT_PLTY   0x80    /* XINT polarity */
        !           183: #define BS_XINT_LM     0x07    /* XINT level mask */
        !           184: #define BS_XINT_LEVEL(x)       (x & BS_XINT_LM)
        !           185:
        !           186: /* Vector Base Register (A read upon an interrupt reveals the source) */
        !           187: #define BS_VBASE_SRC_TMR1      0x0
        !           188: #define BS_VBASE_SRC_TMR2      0x1
        !           189: #define BS_VBASE_SRC_WPE       0x2
        !           190: #define BS_VBASE_SRC_PAL       0x3
        !           191: #define BS_VBASE_SRC_EXT       0x4     /* external interrupt */
        !           192: #define BS_VBASE_SRC_SPUR      0x7     /* spurious interrupt */
        !           193:
        !           194: /* We lock off BusSwitch vectors at 0x40 */
        !           195: #define BS_VECBASE     0x40
        !           196: #define BS_NVEC                0x10
        !           197:
        !           198: /* Bottom 4 bits of the vector returned during IACK cycle */
        !           199: #define BS_TMR1IRQ     0x01    /* lowest */
        !           200: #define BS_TMR2IRQ     0x02
        !           201: #define BS_ABORTIRQ    0x03
        !           202:
        !           203: /* Define the Abort vector */
        !           204: #define BS_ABORTVEC    (BS_VECBASE | BS_ABORTIRQ)
        !           205:
        !           206: #endif /* BUSSWREG_H */

CVSweb