xref: /netbsd-src/sys/arch/pmax/pmax/kn01.h (revision 95e1ffb15694e54f29f8baaa4232152b703c2a5a)
1 /*	$NetBSD: kn01.h,v 1.8 2005/12/11 12:18:39 christos Exp $	*/
2 
3 /*-
4  * Copyright (c) 1992, 1993
5  *	The Regents of the University of California.  All rights reserved.
6  *
7  * This code is derived from software contributed to Berkeley by
8  * The Mach Operating System project at Carnegie-Mellon University,
9  * Ralph Campbell and Rick Macklem.
10  *
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions
13  * are met:
14  * 1. Redistributions of source code must retain the above copyright
15  *    notice, this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright
17  *    notice, this list of conditions and the following disclaimer in the
18  *    documentation and/or other materials provided with the distribution.
19  * 3. Neither the name of the University nor the names of its contributors
20  *    may be used to endorse or promote products derived from this software
21  *    without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  *
35  *	@(#)kn01.h	8.1 (Berkeley) 6/10/93
36  */
37 
38 /*
39  * Mach Operating System
40  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
41  * All Rights Reserved.
42  *
43  * Permission to use, copy, modify and distribute this software and
44  * its documentation is hereby granted, provided that both the copyright
45  * notice and this permission notice appear in all copies of the
46  * software, derivative works or modified versions, and any portions
47  * thereof, and that both notices appear in supporting documentation.
48  *
49  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
50  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
51  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
52  *
53  * Carnegie Mellon requests users of this software to return to
54  *
55  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
56  *  School of Computer Science
57  *  Carnegie Mellon University
58  *  Pittsburgh PA 15213-3890
59  *
60  * any improvements or extensions that they make and grant Carnegie the
61  * rights to redistribute these changes.
62  */
63 /*
64  * HISTORY
65  * Log:	kn01.h,v
66  * Revision 2.5  91/05/14  17:23:14  mrt
67  * 	Correcting copyright
68  *
69  * Revision 2.4  91/02/05  17:41:54  mrt
70  * 	Added author notices
71  * 	[91/02/04  11:14:12  mrt]
72  *
73  * 	Changed to use new Mach copyright
74  * 	[91/02/02  12:12:45  mrt]
75  *
76  * Revision 2.3  90/12/05  23:31:50  af
77  * 	Cleanups.
78  * 	[90/12/04  16:38:21  af]
79  *
80  * 	Created, from the DEC specs:
81  * 	"DECstation 3100 Desktop Workstation Functional Specification"
82  * 	Workstation Systems Engineering, Palo Alto, CA. Aug 28, 1990.
83  * 	[90/09/03            af]
84  */
85 /*
86  *	File: kn01.h
87  * 	Author: Alessandro Forin, Carnegie Mellon University
88  *	Date:	9/90
89  *
90  *	Definitions specific to the KN01 processor (pmax)
91  */
92 
93 #ifndef	MIPS_KN01_H
94 #define	MIPS_KN01_H	1
95 
96 /*
97  * KN01's Physical address space
98  */
99 #define KN01_PHYS_MIN		0x00000000	/* 512 Meg */
100 #define KN01_PHYS_MAX		0x1fffffff
101 
102 /*
103  * Memory map
104  */
105 #define KN01_PHYS_MEMORY_START	0x00000000
106 #define KN01_PHYS_MEMORY_END	0x01800000	/* 24 Meg in 8 slots */
107 
108 #define	KN01_PHYS_FBUF_START	0x0fc00000	/* frame buffer memory */
109 #define	KN01_PHYS_FBUF_M_END	0x0fc20000	/* mono */
110 #define	KN01_PHYS_FBUF_C_END	0x0fd00000	/* color */
111 
112 #define	KN01_PHYS_COLMASK_START	0x10000000	/* Color Plane mask */
113 #define	KN01_PHYS_COLMASK_END	0x11000000	/* Color Plane mask */
114 
115 /*
116  * I/O map
117  */
118 #define KN01_SYS_PCC		0x11000000	/* Progr. Cursor Chip */
119 #define KN01_SYS_VDAC		0x12000000	/* Color map */
120 #define KN01_SYS_ERRADR		0x17000000	/* Write error address */
121 #define KN01_SYS_LANCE		0x18000000	/* LANCE chip */
122 #define KN01_SYS_LANCE_B_START	0x19000000	/* 64 KB LANCE Buffer */
123 #define KN01_SYS_LANCE_B_END	0x19010000
124 #define KN01_SYS_SII		0x1a000000	/* SCSI SII chip */
125 #define KN01_SYS_SII_B_START	0x1b000000	/* 128 KB SCSI buffer */
126 #define KN01_SYS_SII_B_END	0x1b020000
127 #define	KN01_SYS_DZ		0x1c000000	/* Serial lines (DZ) */
128 #define	KN01_SYS_CLOCK		0x1d000000	/* RTC chip */
129 #define	KN01_SYS_CSR		0x1e000000	/* System control register */
130 #define	KN01_SYS_ROM_START	0x1f000000	/* System ROM */
131 #define	KN01_SYS_ROM_END	0x1f07ffff
132 
133 /*
134  * Interrupts
135  */
136 #define KN01_INT_FPA		IP_LEV7		/* Floating Point coproc */
137 #define KN01_INT_MEM		IP_LEV6		/* memory controller */
138 #define KN01_INT_CLOCK		IP_LEV5		/* RTC chip */
139 #define KN01_INT_DZ		IP_LEV4		/* serial line chip */
140 #define KN01_INT_LANCE		IP_LEV3		/* Ether */
141 #define KN01_INT_SII		IP_LEV2		/* SCSI interface */
142 
143 /*
144  * System board registers
145  */
146 /* system Status and Control register */
147 #define KN01_CSR_LEDS_MASK	0x00ff /* wo - Diagnostic leds mask */
148 #define KN01_CSR_VRGTRB		0x0001 /* ro - Red VoltageLev > Blue */
149 #define KN01_CSR_VRGTRG		0x0002 /* ro - Red VoltageLev > Green */
150 #define KN01_CSR_VBGTRG		0x0004 /* ro - Blue VoltageLev > Green */
151 #define KN01_CSR_TXDIS		0x0100 /* rw - Disable DZ xmit */
152 #define KN01_CSR_VINT		0x0200 /* rc - Vertical retrace intr. */
153 #define KN01_CSR_MERR		0x0400 /* rc - Memory write error intr */
154 #define KN01_CSR_MONO		0x0800 /* ro - Mono Framebuf (or none) */
155 #define KN01_CSR_CRSRTST	0x1000 /* ro - Cursor test output */
156 #define KN01_CSR_PARDIS		0x2000 /* rw - Disable mem parity chks */
157 #define KN01_CSR_SELFTEST	0x4000 /* rw - Self-test ok pinout */
158 #define KN01_CSR_MNFMOD		0x8000 /* ro - Manifacturer MOD jumper */
159 #define	KN01_CSR_MBZ		0x9800
160 
161 /* Error address status register */
162 #define KN01_ERR_ADDRESS	0x07ffffff	/* phys address mask ? */
163 
164 #endif	/* MIPS_KN01_H */
165