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