diff options
Diffstat (limited to 'drivers/char/rio/riospace.h')
-rw-r--r-- | drivers/char/rio/riospace.h | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/drivers/char/rio/riospace.h b/drivers/char/rio/riospace.h new file mode 100644 index 000000000000..32b09b0f23aa --- /dev/null +++ b/drivers/char/rio/riospace.h | |||
@@ -0,0 +1,161 @@ | |||
1 | /* | ||
2 | ** ----------------------------------------------------------------------------- | ||
3 | ** | ||
4 | ** Perle Specialix driver for Linux | ||
5 | ** Ported from existing RIO Driver for SCO sources. | ||
6 | * | ||
7 | * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK. | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; either version 2 of the License, or | ||
12 | * (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
22 | ** | ||
23 | ** Module : riospace.h | ||
24 | ** SID : 1.2 | ||
25 | ** Last Modified : 11/6/98 11:34:13 | ||
26 | ** Retrieved : 11/6/98 11:34:22 | ||
27 | ** | ||
28 | ** ident @(#)riospace.h 1.2 | ||
29 | ** | ||
30 | ** ----------------------------------------------------------------------------- | ||
31 | */ | ||
32 | |||
33 | #ifndef __rio_riospace_h__ | ||
34 | #define __rio_riospace_h__ | ||
35 | |||
36 | #ifdef SCCS_LABELS | ||
37 | static char *_riospace_h_sccs_ = "@(#)riospace.h 1.2"; | ||
38 | #endif | ||
39 | |||
40 | #define RIO_LOCATOR_LEN 16 | ||
41 | #define MAX_RIO_BOARDS 4 | ||
42 | |||
43 | /* | ||
44 | ** DONT change this file. At all. Unless you can rebuild the entire | ||
45 | ** device driver, which you probably can't, then the rest of the | ||
46 | ** driver won't see any changes you make here. So don't make any. | ||
47 | ** In particular, it won't be able to see changes to RIO_SLOTS | ||
48 | */ | ||
49 | |||
50 | struct Conf | ||
51 | { | ||
52 | char Locator[24]; | ||
53 | unsigned int StartupTime; | ||
54 | unsigned int SlowCook; | ||
55 | unsigned int IntrPollTime; | ||
56 | unsigned int BreakInterval; | ||
57 | unsigned int Timer; | ||
58 | unsigned int RtaLoadBase; | ||
59 | unsigned int HostLoadBase; | ||
60 | unsigned int XpHz; | ||
61 | unsigned int XpCps; | ||
62 | char *XpOn; | ||
63 | char *XpOff; | ||
64 | unsigned int MaxXpCps; | ||
65 | unsigned int MinXpCps; | ||
66 | unsigned int SpinCmds; | ||
67 | unsigned int FirstAddr; | ||
68 | unsigned int LastAddr; | ||
69 | unsigned int BufferSize; | ||
70 | unsigned int LowWater; | ||
71 | unsigned int LineLength; | ||
72 | unsigned int CmdTime; | ||
73 | }; | ||
74 | |||
75 | /* | ||
76 | ** Board types - these MUST correspond to product codes! | ||
77 | */ | ||
78 | #define RIO_EMPTY 0x0 | ||
79 | #define RIO_EISA 0x3 | ||
80 | #define RIO_RTA_16 0x9 | ||
81 | #define RIO_AT 0xA | ||
82 | #define RIO_MCA 0xB | ||
83 | #define RIO_PCI 0xD | ||
84 | #define RIO_RTA 0xE | ||
85 | |||
86 | /* | ||
87 | ** Board data structure. This is used for configuration info | ||
88 | */ | ||
89 | struct Brd | ||
90 | { | ||
91 | unsigned char Type; /* RIO_EISA, RIO_MCA, RIO_AT, RIO_EMPTY... */ | ||
92 | unsigned char Ivec; /* POLLED or ivec number */ | ||
93 | unsigned char Mode; /* Control stuff, see below */ | ||
94 | }; | ||
95 | |||
96 | struct Board | ||
97 | { | ||
98 | char Locator[RIO_LOCATOR_LEN]; | ||
99 | int NumSlots; | ||
100 | struct Brd Boards[MAX_RIO_BOARDS]; | ||
101 | }; | ||
102 | |||
103 | #define BOOT_FROM_LINK 0x00 | ||
104 | #define BOOT_FROM_RAM 0x01 | ||
105 | #define EXTERNAL_BUS_OFF 0x00 | ||
106 | #define EXTERNAL_BUS_ON 0x02 | ||
107 | #define INTERRUPT_DISABLE 0x00 | ||
108 | #define INTERRUPT_ENABLE 0x04 | ||
109 | #define BYTE_OPERATION 0x00 | ||
110 | #define WORD_OPERATION 0x08 | ||
111 | #define POLLED INTERRUPT_DISABLE | ||
112 | #define IRQ_15 (0x00 | INTERRUPT_ENABLE) | ||
113 | #define IRQ_12 (0x10 | INTERRUPT_ENABLE) | ||
114 | #define IRQ_11 (0x20 | INTERRUPT_ENABLE) | ||
115 | #define IRQ_9 (0x30 | INTERRUPT_ENABLE) | ||
116 | #define SLOW_LINKS 0x00 | ||
117 | #define FAST_LINKS 0x40 | ||
118 | #define SLOW_AT_BUS 0x00 | ||
119 | #define FAST_AT_BUS 0x80 | ||
120 | #define SLOW_PCI_TP 0x00 | ||
121 | #define FAST_PCI_TP 0x80 | ||
122 | /* | ||
123 | ** Debug levels | ||
124 | */ | ||
125 | #define DBG_NONE 0x00000000 | ||
126 | |||
127 | #define DBG_INIT 0x00000001 | ||
128 | #define DBG_OPEN 0x00000002 | ||
129 | #define DBG_CLOSE 0x00000004 | ||
130 | #define DBG_IOCTL 0x00000008 | ||
131 | |||
132 | #define DBG_READ 0x00000010 | ||
133 | #define DBG_WRITE 0x00000020 | ||
134 | #define DBG_INTR 0x00000040 | ||
135 | #define DBG_PROC 0x00000080 | ||
136 | |||
137 | #define DBG_PARAM 0x00000100 | ||
138 | #define DBG_CMD 0x00000200 | ||
139 | #define DBG_XPRINT 0x00000400 | ||
140 | #define DBG_POLL 0x00000800 | ||
141 | |||
142 | #define DBG_DAEMON 0x00001000 | ||
143 | #define DBG_FAIL 0x00002000 | ||
144 | #define DBG_MODEM 0x00004000 | ||
145 | #define DBG_LIST 0x00008000 | ||
146 | |||
147 | #define DBG_ROUTE 0x00010000 | ||
148 | #define DBG_UTIL 0x00020000 | ||
149 | #define DBG_BOOT 0x00040000 | ||
150 | #define DBG_BUFFER 0x00080000 | ||
151 | |||
152 | #define DBG_MON 0x00100000 | ||
153 | #define DBG_SPECIAL 0x00200000 | ||
154 | #define DBG_VPIX 0x00400000 | ||
155 | #define DBG_FLUSH 0x00800000 | ||
156 | |||
157 | #define DBG_QENABLE 0x01000000 | ||
158 | |||
159 | #define DBG_ALWAYS 0x80000000 | ||
160 | |||
161 | #endif /* __rio_riospace_h__ */ | ||