]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - include/asm-mips/dec/kn03.h
Linux-2.6.12-rc2
[karo-tx-linux.git] / include / asm-mips / dec / kn03.h
1 /*
2  * Hardware info about DECstation 5000/2x0 systems (otherwise known as
3  * 3max+) and DECsystem 5900 systems (otherwise known as bigmax) which
4  * differ mechanically but are otherwise identical (both are known as
5  * KN03).
6  *
7  * This file is subject to the terms and conditions of the GNU General Public
8  * License.  See the file "COPYING" in the main directory of this archive
9  * for more details.
10  *
11  * Copyright (C) 1995,1996 by Paul M. Antoine, some code and definitions
12  * are by courtesy of Chris Fraser.
13  * Copyright (C) 2000, 2002, 2003  Maciej W. Rozycki
14  */
15 #ifndef __ASM_MIPS_DEC_KN03_H
16 #define __ASM_MIPS_DEC_KN03_H
17
18 #include <asm/addrspace.h>
19 #include <asm/dec/ecc.h>
20 #include <asm/dec/ioasic_addrs.h>
21
22 #define KN03_SLOT_BASE  KSEG1ADDR(0x1f800000)
23
24 /*
25  * Some port addresses...
26  */
27 #define KN03_IOASIC_BASE        (KN03_SLOT_BASE + IOASIC_IOCTL) /* I/O ASIC */
28 #define KN03_RTC_BASE           (KN03_SLOT_BASE + IOASIC_TOY)   /* RTC */
29 #define KN03_MCR_BASE           (KN03_SLOT_BASE + IOASIC_MCR)   /* MCR */
30
31
32 /*
33  * CPU interrupt bits.
34  */
35 #define KN03_CPU_INR_HALT       6       /* HALT button */
36 #define KN03_CPU_INR_BUS        5       /* memory, I/O bus read/write errors */
37 #define KN03_CPU_INR_RES_4      4       /* unused */
38 #define KN03_CPU_INR_RTC        3       /* DS1287 RTC */
39 #define KN03_CPU_INR_CASCADE    2       /* I/O ASIC cascade */
40
41 /*
42  * I/O ASIC interrupt bits.  Star marks denote non-IRQ status bits.
43  */
44 #define KN03_IO_INR_3MAXP       15      /* (*) 3max+/bigmax ID */
45 #define KN03_IO_INR_NVRAM       14      /* (*) NVRAM clear jumper */
46 #define KN03_IO_INR_TC2         13      /* TURBOchannel slot #2 */
47 #define KN03_IO_INR_TC1         12      /* TURBOchannel slot #1 */
48 #define KN03_IO_INR_TC0         11      /* TURBOchannel slot #0 */
49 #define KN03_IO_INR_NRMOD       10      /* (*) NRMOD manufacturing jumper */
50 #define KN03_IO_INR_ASC         9       /* ASC (NCR53C94) SCSI */
51 #define KN03_IO_INR_LANCE       8       /* LANCE (Am7990) Ethernet */
52 #define KN03_IO_INR_SCC1        7       /* SCC (Z85C30) serial #1 */
53 #define KN03_IO_INR_SCC0        6       /* SCC (Z85C30) serial #0 */
54 #define KN03_IO_INR_RTC         5       /* DS1287 RTC */
55 #define KN03_IO_INR_PSU         4       /* power supply unit warning */
56 #define KN03_IO_INR_RES_3       3       /* unused */
57 #define KN03_IO_INR_ASC_DATA    2       /* SCSI data ready (for PIO) */
58 #define KN03_IO_INR_PBNC        1       /* ~HALT button debouncer */
59 #define KN03_IO_INR_PBNO        0       /* HALT button debouncer */
60
61
62 /*
63  * Memory Control Register bits.
64  */
65 #define KN03_MCR_RES_16         (0xffff<<16)    /* unused */
66 #define KN03_MCR_DIAGCHK        (1<<15)         /* diagn/norml ECC reads */
67 #define KN03_MCR_DIAGGEN        (1<<14)         /* diagn/norml ECC writes */
68 #define KN03_MCR_CORRECT        (1<<13)         /* ECC correct/check */
69 #define KN03_MCR_RES_11         (0x3<<12)       /* unused */
70 #define KN03_MCR_BNK32M         (1<<10)         /* 32M/8M stride */
71 #define KN03_MCR_RES_7          (0x7<<7)        /* unused */
72 #define KN03_MCR_CHECK          (0x7f<<0)       /* diagnostic check bits */
73
74 /*
75  * I/O ASIC System Support Register bits.
76  */
77 #define KN03_IO_SSR_TXDIS1      (1<<14)         /* SCC1 transmit disable */
78 #define KN03_IO_SSR_TXDIS0      (1<<13)         /* SCC0 transmit disable */
79 #define KN03_IO_SSR_RES_12      (1<<12)         /* unused */
80
81 #define KN03_IO_SSR_LEDS        (0xff<<0)       /* ~diagnostic LEDs */
82
83 #endif /* __ASM_MIPS_DEC_KN03_H */