xref: /netbsd/sys/arch/sun3/sun3x/obio.h (revision ce099b40)
1 /*	$NetBSD: obio.h,v 1.7 2008/04/28 20:23:38 martin Exp $	*/
2 
3 /*-
4  * Copyright (c) 1996 The NetBSD Foundation, Inc.
5  * All rights reserved.
6  *
7  * This code is derived from software contributed to The NetBSD Foundation
8  * by Adam Glass and Gordon W. Ross.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 /*
33  * This file defines addresses in Type 1 space for various devices
34  * which can be on the motherboard directly.
35  *
36  * Supposedly these values are constant across the entire sun3 architecture.
37  *
38  */
39 
40 /*
41  * The obio or type "1" address space.
42  */
43 #define	OBIO_MIN_ADDRESS	0x58000000
44 #define	OBIO_MAX_ADDRESS	0x7BFFFFFF
45 
46 /*
47  * Physical addresses of nonconfigurable devices.
48  */
49 #define	OBIO_FPA_ADDR		0x5C000000
50 
51 #define	OBIO_IOMMU  		0x60000000
52 
53 /* Note that these six are all in the same page. */
54 #define	OBIO_ENABLEREG		0x61000000
55 #define	OBIO_BUSERRREG		0x61000400
56 #define	OBIO_DIAGREG		0x61000800
57 #define	OBIO_IDPROM1		0x61000C00 /* 3/470 only */
58 #define	OBIO_MEMREG 		0x61001000
59 #define	OBIO_INTERREG		0x61001400
60 
61 #define	OBIO_ZS_KBD_MS		0x62000000
62 #define	OBIO_ZS_TTY_AB		0x62002000
63 
64 /*
65  * Note: there are two kinds of EEPROM/IDPROM/clock!
66  * On the 3/80 one Mostek MK48T02 does it all.
67  * The 3/470 uses the older, discrete parts.
68  */
69 #define	OBIO_EEPROM 		0x64000000
70 #define	OBIO_IDPROM2		0x640007D8 /* 3/80 only (Mostek MK48T02) */
71 #define	OBIO_CLOCK2 		0x640007F8 /* 3/80 only (Mostek MK48T02) */
72 
73 #define	OBIO_CLOCK1 		0x64002000 /* 3/470 only */
74 
75 #define	OBIO_INTEL_ETHER	0x65000000
76 #define	OBIO_LANCE_ETHER	0x65002000
77 
78 #define	OBIO_EMULEX_SCSI	0x66000000 /* 3/80 only */
79 #define	OBIO_EMULEX_DMA 	0x66001000 /* 3/80 only */
80 
81 #define	OBIO_PCACHE_TAGS	0x68000000
82 #define	OBIO_ECCPARREG		0x6A1E0000
83 #define	OBIO_IOC_TAGS		0x6C000000
84 #define	OBIO_IOC_FLUSH		0x6D000000
85 
86 #define	OBIO_FDC    		0x6e000000	/* 3/80 only */
87 #define	OBIO_PRINTER_PORT	0x6f00003c	/* 3/80 only */
88 
89