[BACK]Return to crimereg.h CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / arch / sgimips / dev

Annotation of src/sys/arch/sgimips/dev/crimereg.h, Revision 1.11

1.11    ! msaitoh     1: /*     $NetBSD: crimereg.h,v 1.10 2005/12/11 12:18:52 christos Exp $   */
1.1       soren       2:
                      3: /*
                      4:  * Copyright (c) 2000 Soren S. Jorvang
                      5:  * All rights reserved.
1.3       simonb      6:  *
1.1       soren       7:  * Redistribution and use in source and binary forms, with or without
                      8:  * modification, are permitted provided that the following conditions
                      9:  * are met:
                     10:  * 1. Redistributions of source code must retain the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer.
                     12:  * 2. Redistributions in binary form must reproduce the above copyright
                     13:  *    notice, this list of conditions and the following disclaimer in the
                     14:  *    documentation and/or other materials provided with the distribution.
                     15:  * 3. All advertising materials mentioning features or use of this software
                     16:  *    must display the following acknowledgement:
                     17:  *          This product includes software developed for the
1.9       keihan     18:  *          NetBSD Project.  See http://www.NetBSD.org/ for
1.1       soren      19:  *          information about NetBSD.
                     20:  * 4. The name of the author may not be used to endorse or promote products
                     21:  *    derived from this software without specific prior written permission.
1.3       simonb     22:  *
1.1       soren      23:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     24:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     25:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     26:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     27:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     28:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     29:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     30:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     31:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     32:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     33:  */
                     34:
                     35: /*
                     36:  * O2 CRIME register definitions
                     37:  */
                     38:
1.8       tsutsui    39: #define CRIME_BASE     0x14000000      /* all registers 64-bit access */
1.4       pooka      40:
                     41: /* Offset 0x00 -- revision register */
1.8       tsutsui    42: #define CRIME_REV              0x00
                     43: #define CRIME_ID_IDBITS                0x000000f0
                     44: #define CRIME_ID_IDSHIFT       4
                     45: #define CRIME_ID_REV           0x0000000f
                     46: #define CRIME_REV_PETTY                0x00
                     47: #define CRIME_REV_11           0x11
                     48: #define CRIME_REV_13           0x13
                     49: #define CRIME_REV_14           0x14
                     50:
                     51: /* offset 0x08 -- control register.  Only lower 14 bits are valid */
                     52: #define CRIME_CONTROL                  0x08
                     53: #define CRIME_CONTROL_TRITON_SYSADC     0x2000
                     54: #define CRIME_CONTROL_CRIME_SYSADC      0x1000
                     55: #define CRIME_CONTROL_HARD_RESET        0x0800
                     56: #define CRIME_CONTROL_SOFT_RESET        0x0400
                     57: #define CRIME_CONTROL_DOG_ENABLE        0x0200
1.11    ! msaitoh    58: #define CRIME_CONTROL_ENDIANNESS        0x0100 /* assert for BE */
1.8       tsutsui    59: #define CRIME_CONTROL_CQUEUE_HWM        0x000f
                     60: #define CRIME_CONTROL_CQUEUE_SHFT       0
                     61: #define CRIME_CONTROL_WBUF_HWM          0x00f0
                     62: #define CRIME_CONTROL_WBUF_SHFT                 8
1.4       pooka      63:
                     64: /*
                     65:  * macros to manipulate CRIME High Water Mark bits in
                     66:  * the CRIME control register.  Examples:
                     67:  *
                     68:  * foo = CRM_CONTROL_GET_CQUEUE_HWM(*(__uint64_t *)CRM_CONTROL)
                     69:  * CRM_CONTROL_SET_CQUEUE_HWM(*(__uint64_t *)CRM_CONTROL, 4)
                     70:  *
                     71:  * foo = CRM_CONTROL_GET_WBUF_HWM(*(__uint64_t *)CRM_CONTROL)
                     72:  * CRM_CONTROL_SET_WBUF_HWM(*(__uint64_t *)CRM_CONTROL, 4)
                     73:  */
                     74: #define CRM_CONTROL_GET_CQUEUE_HWM(x)   \
1.7       tsutsui    75:        (((x) & CRM_CONTROL_CQUEUE_HWM) >> CRM_CONTROL_CQUEUE_SHFT)
1.4       pooka      76: #define CRM_CONTROL_SET_CQUEUE_HWM(x,v) \
1.7       tsutsui    77:        (((v) << CRM_CONTROL_CQUEUE_SHFT) | ((x) & ~CRM_CONTROL_CQUEUE_HWM))
1.4       pooka      78:
                     79: #define CRM_CONTROL_GET_WBUF_HWM(x)     \
1.7       tsutsui    80:        (((x) & CRM_CONTROL_WBUF_HWM) >> CRM_CONTROL_WBUF_SHFT)
1.4       pooka      81: #define CRM_CONTROL_SET_WBUF_HWM(x,v)   \
1.7       tsutsui    82:        (((v) << CRM_CONTROL_WBUF_SHFT) | ((x) & ~CRM_CONTROL_WBUF_HWM))
1.4       pooka      83:
                     84:
                     85: /* Offset 0x010 -- interrupt status register.  All 32 bits valid */
1.8       tsutsui    86: #define CRIME_INTSTAT          0x10
1.4       pooka      87: #define CRIME_INT_VICE         0x80000000
                     88: #define CRIME_INT_SOFT2                0x40000000 /* Also CPU_SysCorErr */
                     89: #define CRIME_INT_SOFT1                0x20000000
                     90: #define CRIME_INT_SOFT0                0x10000000
                     91: #define CRIME_INT_RE5          0x08000000
                     92: #define CRIME_INT_RE4          0x04000000
                     93: #define CRIME_INT_RE3          0x02000000
                     94: #define CRIME_INT_RE2          0x01000000
                     95: #define CRIME_INT_RE1          0x00800000
                     96: #define CRIME_INT_RE0          0x00400000
                     97: #define CRIME_INT_MEMERR       0x00200000
                     98: #define CRIME_INT_CRMERR       0x00100000
                     99: #define CRIME_INT_GBE3         0x00080000
                    100: #define CRIME_INT_GBE2         0x00040000
                    101: #define CRIME_INT_GBE1         0x00020000
                    102: #define CRIME_INT_GBE0         0x00010000
                    103: #define CRIME_INT_PCI_SHARED2  0x00008000 /* from here, actually mace irqs */
                    104: #define CRIME_INT_PCI_SHARED1  0x00004000
                    105: #define CRIME_INT_PCI_SHARED0  0x00002000
                    106: #define CRIME_INT_PCI_SLOT2    0x00001000
                    107: #define CRIME_INT_PCI_SLOT1    0x00000800
                    108: #define CRIME_INT_PCI_SLOT0    0x00000400
                    109: #define CRIME_INT_PCI_SCSI1    0x00000200
                    110: #define CRIME_INT_PCI_SCSI0    0x00000100
                    111: #define CRIME_INT_PCI_BRIDGE   0x00000080
                    112: #define CRIME_INT_PERIPH_AUD   0x00000040
                    113: #define CRIME_INT_PERIPH_MISC  0x00000020
                    114: #define CRIME_INT_PERIPH_SERIAL        0x00000010
                    115: #define CRIME_INT_ETHERNET     0x00000008
                    116: #define CRIME_INT_VID_OUT      0x00000004
                    117: #define CRIME_INT_VID_IN2      0x00000002
                    118: #define CRIME_INT_VID_IN1      0x00000001
                    119:
1.8       tsutsui   120: /* Masks, hard interrupts, soft interrupts.  */
                    121: #define CRIME_INTMASK          0x18
                    122: #define CRIME_SOFTINT          0x20
                    123: #define CRIME_HARDINT          0x28
1.4       pooka     124:
                    125: /*
1.8       tsutsui   126:  * Offset 0x030 -- watchdog register.  33 bits are valid
                    127:  * Bit 32:  power on reset
                    128:  * Bit 31:  warm reset
1.4       pooka     129:  * Write zero here to reset watchdog
                    130:  */
                    131:
1.8       tsutsui   132: #define CRIME_DOG              0x30
1.4       pooka     133: #define CRIME_WATCHDOG         CRIME_DOG
1.8       tsutsui   134: #define CRIME_TIME             0x38
                    135: #define CRIME_TIME_MASK                0x0000ffffffffffffULL
                    136: #define CRIME_CPU_ERROR_ADDR   0x40
                    137: #define CRIME_CPU_ERROR_STAT   0x48
                    138: #define CRIME_CPU_ERROR_ENA    0x50
                    139: #define CRIME_VICE_ERROR_ADDR  0x58
                    140: #define CRIME_MEM_CONTROL      0x0200
                    141: #define CRIME_MEM_BANK_CTRL0   0x0208
                    142: #define CRIME_MEM_BANK_CTRL1   0x0218
                    143: #define CRIME_MEM_BANK_CTRL2   0x0210
                    144: #define CRIME_MEM_BANK_CTRL3   0x0228
                    145: #define CRIME_MEM_BANK_CTRL4   0x0220
                    146: #define CRIME_MEM_BANK_CTRL5   0x0238
                    147: #define CRIME_MEM_BANK_CTRL6   0x0230
                    148: #define CRIME_MEM_BANK_CTRL7   0x0248
                    149: #define CRIME_MEM_REFRESH_CNTR 0x0248
                    150: #define CRIME_MEM_ERROR_STAT   0x0250
                    151: #define CRIME_MEM_ERROR_ADDR   0x0258
                    152: #define CRIME_MEM_ERROR_ECC_SYN        0x0260
                    153: #define CRIME_MEM_ERROR_ECC_CHK        0x0268
                    154: #define CRIME_MEM_ERROR_ECC_REPL 0x0270
1.4       pooka     155:
                    156: #define McGriff CRIME_DOG /* Baseball compatibility */

CVSweb <webmaster@jp.NetBSD.org>