patch-2.4.19 linux-2.4.19/include/asm-mips/dec/kn02.h

Next file: linux-2.4.19/include/asm-mips/dec/kn02ba.h
Previous file: linux-2.4.19/include/asm-mips/dec/kn01.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/include/asm-mips/dec/kn02.h linux-2.4.19/include/asm-mips/dec/kn02.h
@@ -1,21 +1,26 @@
 /*
- * Hardware info about DEC DECstation 5000/2xx systems (otherwise known
- * as 3max or kn02.
+ * Hardware info about DECstation 5000/200 systems (otherwise known as
+ * 3max or KN02).
  *
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
  * Copyright (C) 1995,1996 by Paul M. Antoine, some code and definitions
- * are by curteousy of Chris Fraser.
- *
- * This file is under construction - you were warned!
+ * are by courtesy of Chris Fraser.
+ * Copyright (C) 2002  Maciej W. Rozycki
  */
 #ifndef __ASM_MIPS_DEC_KN02_H 
 #define __ASM_MIPS_DEC_KN02_H 
 
+#ifndef __ASSEMBLY__
+#include <linux/spinlock.h>
+#include <linux/types.h>
+#endif
+
 #include <asm/addrspace.h>
 
+
 /*
  * Motherboard regs (kseg1 addresses)
  */
@@ -23,21 +28,47 @@
 
 /*
  * Some port addresses...
- * FIXME: these addresses are incomplete and need tidying up!
  */
 #define KN02_RTC_BASE	KSEG1ADDR(0x1fe80000)
 #define KN02_DZ11_BASE	KSEG1ADDR(0x1fe00000)
 
 #define KN02_CSR_BNK32M	(1<<10)			/* 32M stride */
 
+
+/*
+ * CPU interrupt bits.
+ */
+#define KN02_CPU_INR_RES_6	6	/* unused */
+#define KN02_CPU_INR_MEMORY	5	/* memory, I/O bus write errors */
+#define KN02_CPU_INR_RES_4	4	/* unused */
+#define KN02_CPU_INR_RTC	3	/* DS1287 RTC */
+#define KN02_CPU_INR_CASCADE	2	/* CSR cascade */
+
 /*
- * Interrupt enable Bits
+ * CSR interrupt bits.
  */
-#define KN02_SLOT0	(1<<16)
-#define KN02_SLOT1	(1<<17)
-#define KN02_SLOT2	(1<<18)
-#define KN02_SLOT5	(1<<21)
-#define KN02_SLOT6	(1<<22)
-#define KN02_SLOT7	(1<<23)
+#define KN02_CSR_INR_DZ11	7	/* DZ11 (DC7085) serial */
+#define KN02_CSR_INR_LANCE	6	/* LANCE (Am7990) Ethernet */
+#define KN02_CSR_INR_ASC	5	/* ASC (NCR53C94) SCSI */
+#define KN02_CSR_INR_RES_4	4	/* unused */
+#define KN02_CSR_INR_RES_3	3	/* unused */
+#define KN02_CSR_INR_TC2	2	/* TURBOchannel slot #2 */
+#define KN02_CSR_INR_TC1	1	/* TURBOchannel slot #1 */
+#define KN02_CSR_INR_TC0	0	/* TURBOchannel slot #0 */
+
+
+#define KN02_IRQ_BASE		8	/* first IRQ assigned to CSR */
+#define KN02_IRQ_LINES		8	/* number of CSR interrupts */
+
+#define KN02_IRQ_NR(n)		((n) + KN02_IRQ_BASE)
+#define KN02_IRQ_MASK(n)	(1 << (n))
+#define KN02_IRQ_ALL		0xff
+
+
+#ifndef __ASSEMBLY__
+extern u32 cached_kn02_csr;
+extern spinlock_t kn02_lock;
+extern void init_kn02_irqs(int base);
+#endif
 
 #endif /* __ASM_MIPS_DEC_KN02_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)