xref: /csrg-svn/sys/news3400/include/adrsmap.h (revision 53899)
1*53899Smckusick /*
2*53899Smckusick  * Copyright (c) 1992 The Regents of the University of California.
3*53899Smckusick  * All rights reserved.
4*53899Smckusick  *
5*53899Smckusick  * This code is derived from software contributed to Berkeley by
6*53899Smckusick  * Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc.
7*53899Smckusick  *
8*53899Smckusick  * %sccs.include.redist.c%
9*53899Smckusick  *
10*53899Smckusick  * from: $Hdr: adrsmap.h,v 4.300 91/06/09 06:34:29 root Rel41 $ SONY
11*53899Smckusick  *
12*53899Smckusick  *	@(#)adrsmap.h	7.1 (Berkeley) 06/04/92
13*53899Smckusick  */
14*53899Smckusick 
15*53899Smckusick /*
16*53899Smckusick  * adrsmap.h
17*53899Smckusick  *
18*53899Smckusick  * Define all hardware address map.
19*53899Smckusick  */
20*53899Smckusick 
21*53899Smckusick #ifndef __ADRSMAP__
22*53899Smckusick #define	__ADRSMAP__	1
23*53899Smckusick 
24*53899Smckusick #include "machine/fix_machine_type.h"
25*53899Smckusick 
26*53899Smckusick #ifdef news3400
27*53899Smckusick /*----------------------------------------------------------------------
28*53899Smckusick  *	news3400
29*53899Smckusick  *----------------------------------------------------------------------*/
30*53899Smckusick /*
31*53899Smckusick  * timer
32*53899Smckusick  */
33*53899Smckusick #define	RTC_PORT	0xbff407f8
34*53899Smckusick #define	DATA_PORT	0xbff407f9
35*53899Smckusick 
36*53899Smckusick #ifdef notdef
37*53899Smckusick #define	EN_ITIMER	0xb8000004	/*XXX:???*/
38*53899Smckusick #endif
39*53899Smckusick 
40*53899Smckusick #define	INTEN0	0xbfc80000
41*53899Smckusick #define		INTEN0_PERR	0x80
42*53899Smckusick #define		INTEN0_ABORT	0x40
43*53899Smckusick #define		INTEN0_BERR	0x20
44*53899Smckusick #define		INTEN0_TIMINT	0x10
45*53899Smckusick #define		INTEN0_KBDINT	0x08
46*53899Smckusick #define		INTEN0_MSINT	0x04
47*53899Smckusick #define		INTEN0_CFLT	0x02
48*53899Smckusick #define		INTEN0_CBSY	0x01
49*53899Smckusick 
50*53899Smckusick #define	INTEN1	0xbfc80001
51*53899Smckusick #define		INTEN1_BEEP	0x80
52*53899Smckusick #define		INTEN1_SCC	0x40
53*53899Smckusick #define		INTEN1_LANCE	0x20
54*53899Smckusick #define		INTEN1_DMA	0x10
55*53899Smckusick #define		INTEN1_SLOT1	0x08
56*53899Smckusick #define		INTEN1_SLOT3	0x04
57*53899Smckusick #define		INTEN1_EXT1	0x02
58*53899Smckusick #define		INTEN1_EXT3	0x01
59*53899Smckusick 
60*53899Smckusick #define	INTST0	0xbfc80002
61*53899Smckusick #define		INTST0_PERR	0x80
62*53899Smckusick #define		INTST0_ABORT	0x40
63*53899Smckusick #define		INTST0_BERR	0x00	/* N/A */
64*53899Smckusick #define		INTST0_TIMINT	0x10
65*53899Smckusick #define		INTST0_KBDINT	0x08
66*53899Smckusick #define		INTST0_MSINT	0x04
67*53899Smckusick #define		INTST0_CFLT	0x02
68*53899Smckusick #define		INTST0_CBSY	0x01
69*53899Smckusick #define			INTST0_PERR_BIT		7
70*53899Smckusick #define			INTST0_ABORT_BIT	6
71*53899Smckusick #define			INTST0_BERR_BIT		5	/* N/A */
72*53899Smckusick #define			INTST0_TIMINT_BIT	4
73*53899Smckusick #define			INTST0_KBDINT_BIT	3
74*53899Smckusick #define			INTST0_MSINT_BIT	2
75*53899Smckusick #define			INTST0_CFLT_BIT		1
76*53899Smckusick #define			INTST0_CBSY_BIT		0
77*53899Smckusick 
78*53899Smckusick #define	INTST1	0xbfc80003
79*53899Smckusick #define		INTST1_BEEP	0x80
80*53899Smckusick #define		INTST1_SCC	0x40
81*53899Smckusick #define		INTST1_LANCE	0x20
82*53899Smckusick #define		INTST1_DMA	0x10
83*53899Smckusick #define		INTST1_SLOT1	0x08
84*53899Smckusick #define		INTST1_SLOT3	0x04
85*53899Smckusick #define		INTST1_EXT1	0x02
86*53899Smckusick #define		INTST1_EXT3	0x01
87*53899Smckusick #define			INTST1_BEEP_BIT		7
88*53899Smckusick #define			INTST1_SCC_BIT		6
89*53899Smckusick #define			INTST1_LANCE_BIT	5
90*53899Smckusick #define			INTST1_DMA_BIT		4
91*53899Smckusick #define			INTST1_SLOT1_BIT	3
92*53899Smckusick #define			INTST1_SLOT3_BIT	2
93*53899Smckusick #define			INTST1_EXT1_BIT		1
94*53899Smckusick #define			INTST1_EXT3_BIT		0
95*53899Smckusick 
96*53899Smckusick #define	INTCLR0	0xbfc80004
97*53899Smckusick #define		INTCLR0_PERR	0x80
98*53899Smckusick #define		INTCLR0_ABORT	0x40
99*53899Smckusick #define		INTCLR0_BERR	0x20
100*53899Smckusick #define		INTCLR0_TIMINT	0x10
101*53899Smckusick #define		INTCLR0_KBDINT	0x00	/* N/A */
102*53899Smckusick #define		INTCLR0_MSINT	0x00	/* N/A */
103*53899Smckusick #define		INTCLR0_CFLT	0x02
104*53899Smckusick #define		INTCLR0_CBSY	0x01
105*53899Smckusick 
106*53899Smckusick #define	INTCLR1	0xbfc80005
107*53899Smckusick #define		INTCLR1_BEEP	0x80
108*53899Smckusick #define		INTCLR1_SCC	0x00	/* N/A */
109*53899Smckusick #define		INTCLR1_LANCE	0x00	/* N/A */
110*53899Smckusick #define		INTCLR1_DMA	0x00	/* N/A */
111*53899Smckusick #define		INTCLR1_SLOT1	0x00	/* N/A */
112*53899Smckusick #define		INTCLR1_SLOT3	0x00	/* N/A */
113*53899Smckusick #define		INTCLR1_EXT1	0x00	/* N/A */
114*53899Smckusick #define		INTCLR1_EXT3	0x00	/* N/A */
115*53899Smckusick 
116*53899Smckusick #define	ITIMER		0xbfc80006
117*53899Smckusick #define	IOCLOCK		4915200
118*53899Smckusick 
119*53899Smckusick #define	DIP_SWITCH	0xbfe40000
120*53899Smckusick #define	IDROM		0xbfe80000
121*53899Smckusick 
122*53899Smckusick #define	DEBUG_PORT	0xbfcc0003
123*53899Smckusick #define		DP_READ		0x00
124*53899Smckusick #define		DP_WRITE	0xf0
125*53899Smckusick #define		DP_LED0		0x01
126*53899Smckusick #define		DP_LED1		0x02
127*53899Smckusick #define		DP_LED2		0x04
128*53899Smckusick #define		DP_LED3		0x08
129*53899Smckusick 
130*53899Smckusick 
131*53899Smckusick #define	LANCE_PORT	0xbff80000
132*53899Smckusick #define	LANCE_MEMORY	0xbffc0000
133*53899Smckusick #define	ETHER_ID	IDROM_PORT
134*53899Smckusick 
135*53899Smckusick #define	LANCE_PORT1	0xb8c30000	/* expansion lance #1 */
136*53899Smckusick #define	LANCE_MEMORY1	0xb8c20000
137*53899Smckusick #define	ETHER_ID1	0xb8c38000
138*53899Smckusick 
139*53899Smckusick #define	LANCE_PORT2	0xb8c70000	/* expansion lance #2 */
140*53899Smckusick #define	LANCE_MEMORY2	0xb8c60000
141*53899Smckusick #define	ETHER_ID2	0xb8c78000
142*53899Smckusick 
143*53899Smckusick #define	IDROM_PORT	0xbfe80000
144*53899Smckusick 
145*53899Smckusick #define	SCCPORT0B	0xbfec0000
146*53899Smckusick #define	SCCPORT0A	0xbfec0002
147*53899Smckusick #define SCCPORT1B	0xb8c40100
148*53899Smckusick #define SCCPORT1A	0xb8c40102
149*53899Smckusick #define SCCPORT2B	0xb8c40104
150*53899Smckusick #define SCCPORT2A	0xb8c40106
151*53899Smckusick #define SCCPORT3B	0xb8c40110
152*53899Smckusick #define SCCPORT3A	0xb8c40112
153*53899Smckusick #define SCCPORT4B	0xb8c40114
154*53899Smckusick #define SCCPORT4A	0xb8c40116
155*53899Smckusick 
156*53899Smckusick #define	SCC_STATUS0	0xbfcc0002
157*53899Smckusick #define	SCC_STATUS1	0xb8c40108
158*53899Smckusick #define	SCC_STATUS2	0xb8c40118
159*53899Smckusick 
160*53899Smckusick #define	SCCVECT		(0x1fcc0007 | MACH_UNCACHED_MEMORY_ADDR)
161*53899Smckusick #define	SCC_RECV	2
162*53899Smckusick #define	SCC_XMIT	0
163*53899Smckusick #define	SCC_CTRL	3
164*53899Smckusick #define	SCC_STAT	1
165*53899Smckusick #define	SCC_INT_MASK	0x6
166*53899Smckusick 
167*53899Smckusick /*XXX: SHOULD BE FIX*/
168*53899Smckusick #define	KEYB_DATA	0xbfd00000	/* keyboard data port */
169*53899Smckusick #define KEYB_STAT	0xbfd00001	/* keyboard status port */
170*53899Smckusick #define	KEYB_INTE	INTEN0		/* keyboard interrupt enable */
171*53899Smckusick #define	KEYB_RESET	0xbfd00002	/* keyboard reset port*/
172*53899Smckusick #define	KEYB_INIT1	0xbfd00003	/* keyboard speed */
173*53899Smckusick #define	KEYB_INIT2	KEYB_INIT1	/* keyboard clock */
174*53899Smckusick #define	KEYB_BUZZ	0xbfd40001	/* keyboard buzzer (length) */
175*53899Smckusick #define	KEYB_BUZZF	0xbfd40000	/* keyboard buzzer frequency */
176*53899Smckusick #define	MOUSE_DATA	0xbfd00004	/* mouse data port */
177*53899Smckusick #define MOUSE_STAT	0xbfd00005	/* mouse status port */
178*53899Smckusick #define	MOUSE_INTE	INTEN0		/* mouse interrupt enable */
179*53899Smckusick #define	MOUSE_RESET	0xbfd00006	/* mouse reset port */
180*53899Smckusick #define	MOUSE_INIT1	0xbfd00007	/* mouse speed */
181*53899Smckusick #define	MOUSE_INIT2	MOUSE_INIT1	/* mouse clock */
182*53899Smckusick 
183*53899Smckusick #define	RX_MSINTE	0x04		/* Mouse Interrupt Enable */
184*53899Smckusick #define RX_KBINTE	0x08		/* Keyboard Intr. Enable */
185*53899Smckusick #define	RX_MSINT	0x04		/* Mouse Interrupted */
186*53899Smckusick #define	RX_KBINT	0x08		/* Keyboard Interrupted */
187*53899Smckusick #define	RX_MSBUF	0x01		/* Mouse data buffer Full */
188*53899Smckusick #define	RX_KBBUF	0x01		/* Keyboard data Full */
189*53899Smckusick #define	RX_MSRDY	0x02		/* Mouse data ready */
190*53899Smckusick #define	RX_KBRDY	0x02		/* Keyboard data ready */
191*53899Smckusick /*XXX: SHOULD BE FIX*/
192*53899Smckusick 
193*53899Smckusick #define	ABEINT_BADDR	0xbfdc0038
194*53899Smckusick #endif /* news3400 */
195*53899Smckusick 
196*53899Smckusick #endif /* !__ADRSMAP__ */
197