xref: /netbsd-src/sys/arch/acorn32/include/io.h (revision 7d4a1addde61d967a2e96e173a7b80c1711cb26d)
1*7d4a1addSreinoud /*	$NetBSD: io.h,v 1.1 2001/10/05 22:27:50 reinoud Exp $	*/
2*7d4a1addSreinoud 
3*7d4a1addSreinoud /*
4*7d4a1addSreinoud  * Copyright (c) 1994 Mark Brinicombe.
5*7d4a1addSreinoud  * Copyright (c) 1994 Brini.
6*7d4a1addSreinoud  * All rights reserved.
7*7d4a1addSreinoud  *
8*7d4a1addSreinoud  * This code is derived from software written for Brini by Mark Brinicombe
9*7d4a1addSreinoud  *
10*7d4a1addSreinoud  * Redistribution and use in source and binary forms, with or without
11*7d4a1addSreinoud  * modification, are permitted provided that the following conditions
12*7d4a1addSreinoud  * are met:
13*7d4a1addSreinoud  * 1. Redistributions of source code must retain the above copyright
14*7d4a1addSreinoud  *    notice, this list of conditions and the following disclaimer.
15*7d4a1addSreinoud  * 2. Redistributions in binary form must reproduce the above copyright
16*7d4a1addSreinoud  *    notice, this list of conditions and the following disclaimer in the
17*7d4a1addSreinoud  *    documentation and/or other materials provided with the distribution.
18*7d4a1addSreinoud  * 3. All advertising materials mentioning features or use of this software
19*7d4a1addSreinoud  *    must display the following acknowledgement:
20*7d4a1addSreinoud  *	This product includes software developed by Brini.
21*7d4a1addSreinoud  * 4. The name of the company nor the name of the author may be used to
22*7d4a1addSreinoud  *    endorse or promote products derived from this software without specific
23*7d4a1addSreinoud  *    prior written permission.
24*7d4a1addSreinoud  *
25*7d4a1addSreinoud  * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
26*7d4a1addSreinoud  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
27*7d4a1addSreinoud  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28*7d4a1addSreinoud  * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29*7d4a1addSreinoud  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30*7d4a1addSreinoud  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31*7d4a1addSreinoud  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32*7d4a1addSreinoud  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33*7d4a1addSreinoud  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34*7d4a1addSreinoud  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35*7d4a1addSreinoud  * SUCH DAMAGE.
36*7d4a1addSreinoud  *
37*7d4a1addSreinoud  * RiscBSD kernel project
38*7d4a1addSreinoud  *
39*7d4a1addSreinoud  * io.h
40*7d4a1addSreinoud  *
41*7d4a1addSreinoud  * IO registers
42*7d4a1addSreinoud  *
43*7d4a1addSreinoud  * Created      : 10/10/94
44*7d4a1addSreinoud  */
45*7d4a1addSreinoud 
46*7d4a1addSreinoud /* Some of these addresses are frightening and need cleaning up */
47*7d4a1addSreinoud 
48*7d4a1addSreinoud /*
49*7d4a1addSreinoud  * The podule addresses should be removed and localised for the podules.
50*7d4a1addSreinoud  * This is difficuly as the podule addresses are interleaved with the
51*7d4a1addSreinoud  * other IO devices thus making it difficult to separate them.
52*7d4a1addSreinoud  */
53*7d4a1addSreinoud 
54*7d4a1addSreinoud #define IO_CONF_BASE			0xf6000000
55*7d4a1addSreinoud 
56*7d4a1addSreinoud #define IO_HW_BASE			0x03000000
57*7d4a1addSreinoud 
58*7d4a1addSreinoud #define IO_BASE				0xf6200000
59*7d4a1addSreinoud 
60*7d4a1addSreinoud #define COMBO_BASE			0xf6210000
61*7d4a1addSreinoud 
62*7d4a1addSreinoud #define IDE_CONTROLLER_BASE		0xf62107c0
63*7d4a1addSreinoud 
64*7d4a1addSreinoud #define FLOPPY_CONTROLLER_BASE		0xf6210fc0
65*7d4a1addSreinoud 
66*7d4a1addSreinoud #define FLOPPY_DACK			0x00002000
67*7d4a1addSreinoud 
68*7d4a1addSreinoud #define SERIAL0_CONTROLLER_BASE		0xf6210fe0
69*7d4a1addSreinoud 
70*7d4a1addSreinoud #define SERIAL1_CONTROLLER_BASE		0xf6210be0
71*7d4a1addSreinoud 
72*7d4a1addSreinoud #define PARALLEL_CONTROLLER_BASE	0xf62109e0
73*7d4a1addSreinoud 
74*7d4a1addSreinoud #ifdef RC7500
75*7d4a1addSreinoud 
76*7d4a1addSreinoud #define IDE_CONTROLLER_BASE2		0xf622B000
77*7d4a1addSreinoud 
78*7d4a1addSreinoud /*
79*7d4a1addSreinoud  * a bit low turns attached LED on
80*7d4a1addSreinoud  */
81*7d4a1addSreinoud #define LEDPORT	(IO_BASE + 0x0002B060)
82*7d4a1addSreinoud #define LED0	0x01
83*7d4a1addSreinoud #define LED1	0x02
84*7d4a1addSreinoud #define LED2	0x04
85*7d4a1addSreinoud #define LED3	0x08
86*7d4a1addSreinoud #define LED4	0x10
87*7d4a1addSreinoud #define LED5	0x20
88*7d4a1addSreinoud #define LED6	0x40
89*7d4a1addSreinoud #define LED7	0x80
90*7d4a1addSreinoud #define LEDOFF	0x00
91*7d4a1addSreinoud #define LEDALL	0xFF
92*7d4a1addSreinoud #endif
93*7d4a1addSreinoud 
94*7d4a1addSreinoud 
95*7d4a1addSreinoud #define EASI_HW_BASE		0x08000000
96*7d4a1addSreinoud #define EASI_BASE		0xf8000000
97*7d4a1addSreinoud #define EASI_SIZE		0x01000000
98*7d4a1addSreinoud 
99*7d4a1addSreinoud #define SIMPLE_PODULE_SIZE	0x00004000
100*7d4a1addSreinoud 
101*7d4a1addSreinoud #define MOD_PODULE_BASE		0xf6200000
102*7d4a1addSreinoud #define SYNC_PODULE_BASE	0xf63c0000
103*7d4a1addSreinoud #define SYNC_PODULE_HW_BASE	0x033c0000
104*7d4a1addSreinoud #define FAST_PODULE_BASE	0xf6340000
105*7d4a1addSreinoud #define MEDIUM_PODULE_BASE	0xf60c0000
106*7d4a1addSreinoud #define SLOW_PODULE_BASE	0xf6040000
107*7d4a1addSreinoud 
108*7d4a1addSreinoud #define PODULE_GAP		0x00020000
109*7d4a1addSreinoud #define MAX_PODULES		8
110*7d4a1addSreinoud 
111*7d4a1addSreinoud #define NETSLOT_BASE		0xf622b000
112*7d4a1addSreinoud #define MAX_NETSLOTS		1
113*7d4a1addSreinoud 
114*7d4a1addSreinoud /* End of io.h */
115