1
2
3
4
5
6
7
8
9
10
11 #ifndef _ASM_M68K_ZORRO_H_
12 #define _ASM_M68K_ZORRO_H_
13
14 #include <linux/config.h>
15 #include <asm/amigatypes.h>
16
17
18
19
20
21
22
23
24
25
26 #define MANUF_MEMPHIS (0x0100)
27 #define PROD_STORMBRINGER (0x00)
28
29 #define MANUF_COMMODORE2 (0x0201)
30 #define PROD_A2088 (0x01)
31 #define PROD_A2386SX (0x67)
32
33 #define MANUF_COMMODORE (0x0202)
34 #define PROD_A2090A (0x01)
35 #define PROD_A590 (0x02)
36 #define PROD_A2091 (0x03)
37 #define PROD_A2090B (0x04)
38 #define PROD_ARCNET (0x09)
39 #define PROD_CBMRAM (0x0A)
40 #define PROD_A560RAM (0x20)
41 #define PROD_A2232PROTO (0x45)
42 #define PROD_A2232 (0x46)
43 #define PROD_A2620 (0x50)
44 #define PROD_A2630 (0x51)
45 #define PROD_A4091 (0x54)
46 #define PROD_ROMULATOR (0x60)
47 #define PROD_A3000TESTFIX (0x61)
48 #define PROD_A2065 (0x70)
49
50 #define MANUF_CARDCO (0x03EC)
51 #define PROD_CC_A2410 (0xF5)
52
53 #define MANUF_MICROBOTICS (0x03F2)
54 #define PROD_VXL_30 (0x45)
55
56 #define MANUF_ASDG (0x03FF)
57 #define PROD_LAN_ROVER (0xFE)
58 #define PROD_ASDG_DUAL_SERIAL (0xFF)
59
60 #define MANUF_UNIV_OF_LOWELL (0x0406)
61 #define PROD_A2410 (0x00)
62
63 #define MANUF_AMERISTAR (0x041D)
64 #define PROD_AMERISTAR2065 (0x01)
65 #define PROD_A560 (0x09)
66 #define PROD_A4066 (0x0A)
67
68 #define MANUF_SUPRA (0x0420)
69 #define PROD_WORDSYNC (0x0C)
70 #define PROD_WORDSYNC_II (0x0D)
71 #define PROD_SUPRA_2400MODEM (0x10)
72
73 #define MANUF_CSA (0x0422)
74 #define PROD_MAGNUM (0x11)
75 #define PROD_12GAUGE (0x15)
76
77 #define MANUF_HACKER (0x07DB)
78
79 #define MANUF_POWER_COMPUTING (0x07DC)
80 #define PROD_DKB_1240 (0x12)
81
82 #define MANUF_GVP (0x07E1)
83 #define PROD_GVPIISCSI (0x0B)
84 #define PROD_GVPIISCSI_2 (0x09)
85
86 #define PROD_GVPIIRAM (0x0A)
87 #define PROD_GFORCE_040_SCSI (0x16)
88 #define PROD_GVPIV_24 (0x20)
89 #define PROD_GVP (0x0B)
90
91
92
93
94 #define MANUF_PPI (0x07EA)
95 #define PROD_MERCURY (0x00)
96 #define PROD_PPS_A3000_040 (0x01)
97 #define PROD_PPS_A2000_040 (0x69)
98 #define PROD_ZEUS (0x96)
99 #define PROD_PPS_A500_040 (0xBB)
100
101 #define MANUF_BSC (0x07FE)
102 #define PROD_ALF_3_SCSI (0x03)
103
104 #define MANUF_C_LTD (0x0802)
105 #define PROD_KRONOS_SCSI (0x04)
106
107 #define MANUF_JOCHHEIM (0x0804)
108 #define PROD_JOCHHEIM_RAM (0x01)
109
110 #define MANUF_CHECKPOINT (0x0807)
111 #define PROD_SERIAL_SOLUTION (0x00)
112
113 #define MANUF_GOLEM (0x0819)
114 #define PROD_GOLEM_SCSI_II (0x02)
115
116 #define MANUF_HARDITAL_SYNTHES (0x0817)
117 #define PROD_HARDITAL_SCSI (0x01)
118
119 #define MANUF_BSC2 (0x082C)
120 #define PROD_OKTAGON_SCSI (0x05)
121 #define PROD_TANDEM (0x06)
122 #define PROD_OKTAGON_RAM (0x08)
123 #define PROD_MULTIFACE_I (0x10)
124 #define PROD_MULTIFACE_II (0x11)
125 #define PROD_MULTIFACE_III (0x12)
126 #define PROD_ISDN_MASTER (0x40)
127
128 #define MANUF_ADV_SYS_SOFT (0x0836)
129 #define PROD_NEXUS_SCSI (0x01)
130 #define PROD_NEXUS_RAM (0x08)
131
132 #define MANUF_IVS (0x0840)
133 #define PROD_TRUMPCARD_500 (0x30)
134 #define PROD_TRUMPCARD (0x34)
135 #define PROD_VECTOR (0xF3)
136
137 #define MANUF_XPERT_PRODEV (0x0845)
138 #define PROD_MERLIN_RAM (0x03)
139 #define PROD_MERLIN_REG (0x04)
140
141 #define MANUF_HYDRA_SYSTEMS (0x0849)
142 #define PROD_AMIGANET (0x01)
143
144 #define MANUF_DIG_MICRONICS (0x0851)
145 #define PROD_DMI_RESOLVER (0x01)
146
147 #define MANUF_HELFRICH1 (0x0861)
148 #define PROD_RAINBOW3 (0x21)
149
150 #define MANUF_SW_RESULT_ENTS (0x0866)
151 #define PROD_GG2PLUS (0x01)
152
153 #define MANUF_VILLAGE_TRONIC (0x0877)
154 #define PROD_PICASSO_II_RAM (0x0B)
155 #define PROD_PICASSO_II_REG (0x0C)
156 #define PROD_ARIADNE (0xC9)
157
158 #define MANUF_UTILITIES_ULTD (0x087B)
159 #define PROD_EMPLANT_DELUXE (0x15)
160 #define PROD_EMPLANT_DELUXE2 (0x20)
161
162 #define MANUF_MTEC (0x0890)
163 #define PROD_MTEC_68030 (0x03)
164 #define PROD_MTEC_T1230 (0x20)
165
166 #define MANUF_GVP2 (0x0891)
167 #define PROD_SPECTRUM_RAM (0x01)
168 #define PROD_SPECTRUM_REG (0x02)
169
170 #define MANUF_HELFRICH2 (0x0893)
171 #define PROD_PICCOLO_RAM (0x05)
172 #define PROD_PICCOLO_REG (0x06)
173 #define PROD_PEGGY_PLUS (0x07)
174 #define PROD_SD64_RAM (0x0A)
175 #define PROD_SD64_REG (0x0B)
176
177 #define MANUF_MACROSYSTEMS (0x089B)
178 #define PROD_WARP_ENGINE (0x13)
179
180 #define MANUF_HARMS_PROF (0x0A00)
181 #define PROD_3500_TURBO (0xD0)
182
183 #define MANUF_VORTEX (0x2017)
184 #define PROD_GOLDEN_GATE_386 (0x07)
185 #define PROD_GOLDEN_GATE_RAM (0x08)
186 #define PROD_GOLDEN_GATE_486 (0x09)
187
188 #define MANUF_DATAFLYER (0x2062)
189 #define PROD_DATAFLYER_4000SX (0x01)
190
191 #define MANUF_PHASE5 (0x2140)
192 #define PROD_FASTLANE_RAM (0x0A)
193 #define PROD_FASTLANE_SCSI (0x0B)
194 #define PROD_BLIZZARD_1230_III (0x0D)
195 #define PROD_BLIZZARD_1230_IV (0x11)
196 #define PROD_CYBERVISION (0x22)
197
198 #define MANUF_APOLLO (0x2222)
199 #define PROD_AT_APOLLO (0x22)
200 #define PROD_APOLLO_TURBO (0x23)
201
202 #define MANUF_UWE_GERLACH (0x3FF7)
203 #define PROD_UG_RAM_ROM (0xd4)
204
205 #define MANUF_MACROSYSTEMS2 (0x4754)
206 #define PROD_MAESTRO (0x03)
207 #define PROD_VLAB (0x04)
208 #define PROD_MAESTRO_PRO (0x05)
209 #define PROD_RETINA_Z2 (0x06)
210 #define PROD_MULTI_EVOLUTION (0x08)
211 #define PROD_RETINA_Z3 (0x10)
212
213
214
215
216 #define MANUF_HACKER_INC (0x07DB)
217 #define PROD_HACKER_SCSI (0x01)
218
219 #define MANUF_RES_MNGT_FORCE (0x07DB)
220 #define PROD_QUICKNET (0x02)
221
222
223
224
225
226
227
228
229 #define GVP_EPCMASK (0xf8)
230
231 enum GVP_ident {
232 GVP_GFORCE_040 = 0x20,
233 GVP_GFORCE_040_SCSI = 0x30,
234 GVP_A1291_SCSI = 0x40,
235 GVP_COMBO_R4 = 0x60,
236 GVP_COMBO_R4_SCSI = 0x70,
237 GVP_PHONEPAK = 0x78,
238 GVP_IOEXT = 0x98,
239 GVP_GFORCE_030 = 0xa0,
240 GVP_GFORCE_030_SCSI = 0xb0,
241 GVP_A530 = 0xc0,
242 GVP_A530_SCSI = 0xd0,
243 GVP_COMBO_R3 = 0xe0,
244 GVP_COMBO_R3_SCSI = 0xf0,
245 GVP_SERIESII = 0xf8,
246 };
247
248 enum GVP_flags {
249 GVP_IO = 0x01,
250 GVP_ACCEL = 0x02,
251 GVP_SCSI = 0x04,
252 GVP_24BITDMA = 0x08,
253 GVP_25BITDMA = 0x10,
254 GVP_NOBANK = 0x20,
255 GVP_14MHZ = 0x40,
256 };
257
258
259 struct Node {
260 struct Node *ln_Succ;
261 struct Node *ln_Pred;
262 u_char ln_Type;
263 char ln_Pri;
264 char *ln_Name;
265 };
266
267 struct ExpansionRom {
268
269 u_char er_Type;
270 u_char er_Product;
271 u_char er_Flags;
272 u_char er_Reserved03;
273 u_short er_Manufacturer;
274 u_long er_SerialNumber;
275 u_short er_InitDiagVec;
276 u_char er_Reserved0c;
277 u_char er_Reserved0d;
278 u_char er_Reserved0e;
279 u_char er_Reserved0f;
280 };
281
282
283 #define ERT_TYPEMASK 0xc0
284 #define ERT_ZORROII 0xc0
285 #define ERT_ZORROIII 0x80
286
287
288 #define ERTB_MEMLIST 5
289 #define ERTF_MEMLIST (1<<5)
290
291 struct ConfigDev {
292 struct Node cd_Node;
293 u_char cd_Flags;
294 u_char cd_Pad;
295 struct ExpansionRom cd_Rom;
296 void *cd_BoardAddr;
297 u_long cd_BoardSize;
298 u_short cd_SlotAddr;
299 u_short cd_SlotSize;
300 void *cd_Driver;
301 struct ConfigDev *cd_NextCD;
302 u_long cd_Unused[4];
303 };
304
305
306
307
308
309
310 extern int zorro_find(int manuf, int prod, int part, int index);
311 extern struct ConfigDev *zorro_get_board(int key);
312 extern void zorro_config_board(int key, int part);
313 extern void zorro_unconfig_board(int key, int part);
314
315
316
317
318
319
320
321
322
323
324
325 extern u_long zorro_unused_z2ram[4];
326
327 #define Z2RAM_START (0x00200000)
328 #define Z2RAM_END (0x00a00000)
329 #define Z2RAM_SIZE (0x00800000)
330 #define Z2RAM_CHUNKSIZE (0x00010000)
331 #define Z2RAM_CHUNKMASK (0x0000ffff)
332 #define Z2RAM_CHUNKSHIFT (16)
333
334
335
336
337
338
339 #ifdef CONFIG_ZORRO
340 extern void zorro_identify(void);
341 extern int zorro_get_list(char *buffer);
342 #endif CONFIG_ZORRO
343
344
345 #endif