1 |
1633 |
jcastillo |
/*
|
2 |
|
|
* asm-m68k/zorro.h -- Amiga AutoConfig (Zorro) Expansion Device Definitions
|
3 |
|
|
*
|
4 |
|
|
* Copyright (C) 1995 Geert Uytterhoeven
|
5 |
|
|
*
|
6 |
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
7 |
|
|
* License. See the file COPYING in the main directory of this archive
|
8 |
|
|
* for more details.
|
9 |
|
|
*/
|
10 |
|
|
|
11 |
|
|
#ifndef _ASM_M68K_ZORRO_H_
|
12 |
|
|
#define _ASM_M68K_ZORRO_H_
|
13 |
|
|
|
14 |
|
|
#ifndef __ASSEMBLY__
|
15 |
|
|
|
16 |
|
|
#include <linux/config.h>
|
17 |
|
|
#include <asm/amigatypes.h>
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
/*
|
21 |
|
|
* Defined Board Manufacturers
|
22 |
|
|
*
|
23 |
|
|
* Please update arch/m68k/amiga/zorro.c if you make changes here
|
24 |
|
|
* Many IDs were obtained by using ExpName V1.4 ((C) Richard Körber)
|
25 |
|
|
* and by looking at the NetBSD-Amiga kernel source
|
26 |
|
|
*/
|
27 |
|
|
|
28 |
|
|
#define MANUF_MEMPHIS (0x0100) /* Memphis */
|
29 |
|
|
#define PROD_STORMBRINGER (0x00) /* Stormbringer */
|
30 |
|
|
|
31 |
|
|
#define MANUF_COMMODORE2 (0x0201) /* Commodore Germany */
|
32 |
|
|
#define PROD_A2088 (0x01) /* CBM A2088 Bridgeboard */
|
33 |
|
|
#define PROD_A2386SX (0x67) /* CBM A2386-SX Bridgeboard */
|
34 |
|
|
|
35 |
|
|
#define MANUF_COMMODORE (0x0202) /* Commodore USA */
|
36 |
|
|
#define PROD_A2090A (0x01) /* CBM A2090/A2090A HD Controller */
|
37 |
|
|
#define PROD_A590 (0x02) /* CBM A590 SCSI Controller */
|
38 |
|
|
#define PROD_A2091 (0x03) /* CBM A2091 SCSI Controller */
|
39 |
|
|
#define PROD_A2090B (0x04) /* CBM A2090B 2090 Autoboot Card */
|
40 |
|
|
#define PROD_ARCNET (0x09) /* CBM A2060 Arcnet Card */
|
41 |
|
|
#define PROD_CBMRAM (0x0A) /* CBM A2052/58.RAM | 590/2091.RAM */
|
42 |
|
|
#define PROD_A560RAM (0x20) /* CBM A560 Memory Module */
|
43 |
|
|
#define PROD_A2232PROTO (0x45) /* CBM A2232 Serial Prototype */
|
44 |
|
|
#define PROD_A2232 (0x46) /* CBM A2232 Serial Production */
|
45 |
|
|
#define PROD_A2620 (0x50) /* CBM A2620 68020/RAM Card */
|
46 |
|
|
#define PROD_A2630 (0x51) /* CBM A2630 68030/RAM Card */
|
47 |
|
|
#define PROD_A4091 (0x54) /* CBM A4091 SCSI Controller */
|
48 |
|
|
#define PROD_ROMULATOR (0x60) /* CBM Romulator Card */
|
49 |
|
|
#define PROD_A3000TESTFIX (0x61) /* CBM A3000 Test Fixture */
|
50 |
|
|
#define PROD_A2065 (0x70) /* CBM A2065 Ethernet Card */
|
51 |
|
|
|
52 |
|
|
#define MANUF_CARDCO (0x03EC) /* Cardco */
|
53 |
|
|
#define PROD_CC_A2410 (0xF5) /* Cardco A2410 Hires Graphics Card */
|
54 |
|
|
|
55 |
|
|
#define MANUF_MICROBOTICS (0x03F2) /* MicroBotics */
|
56 |
|
|
#define PROD_VXL_30 (0x45) /* VXL-30 Turbo Board */
|
57 |
|
|
|
58 |
|
|
#define MANUF_ASDG (0x03FF) /* ASDG */
|
59 |
|
|
#define PROD_LAN_ROVER (0xFE) /* Lan Rover Ethernet */
|
60 |
|
|
#define PROD_ASDG_DUAL_SERIAL (0xFF) /* Dual Serial Card */
|
61 |
|
|
|
62 |
|
|
#define MANUF_UNIV_OF_LOWELL (0x0406) /* University of Lowell */
|
63 |
|
|
#define PROD_A2410 (0x00) /* CBM A2410 Hires Graphics Card */
|
64 |
|
|
|
65 |
|
|
#define MANUF_AMERISTAR (0x041D) /* Ameristar */
|
66 |
|
|
#define PROD_AMERISTAR2065 (0x01) /* A2065 Ethernet Card */
|
67 |
|
|
#define PROD_A560 (0x09) /* Arcnet Card */
|
68 |
|
|
#define PROD_A4066 (0x0A) /* A4066 Ethernet Card */
|
69 |
|
|
|
70 |
|
|
#define MANUF_SUPRA (0x0420) /* Supra */
|
71 |
|
|
#define PROD_WORDSYNC (0x0C) /* Supra Wordsync SCSI Controller */
|
72 |
|
|
#define PROD_WORDSYNC_II (0x0D) /* Supra Wordsync II SCSI Controller */
|
73 |
|
|
#define PROD_SUPRA_2400MODEM (0x10) /* Supra 2400 Modem */
|
74 |
|
|
|
75 |
|
|
#define MANUF_CSA (0x0422) /* CSA */
|
76 |
|
|
#define PROD_MAGNUM (0x11) /* Magnum 40 SCSI Controller */
|
77 |
|
|
#define PROD_12GAUGE (0x15) /* 12 Gauge SCSI Controller */
|
78 |
|
|
|
79 |
|
|
#define MANUF_HACKER (0x07DB) /* Test only: no product definitions */
|
80 |
|
|
|
81 |
|
|
#define MANUF_POWER_COMPUTING (0x07DC) /* Power Computing */
|
82 |
|
|
#define PROD_DKB_1240 (0x12) /* Viper II Turbo Board (DKB 1240) */
|
83 |
|
|
|
84 |
|
|
#define MANUF_GVP (0x07E1) /* Great Valley Products */
|
85 |
|
|
#define PROD_GVPIISCSI (0x0B) /* GVP Series II SCSI Controller */
|
86 |
|
|
#define PROD_GVPIISCSI_2 (0x09) /* evidence that the driver works
|
87 |
|
|
for this product code also */
|
88 |
|
|
#define PROD_GVPIIRAM (0x0A) /* GVP Series II RAM */
|
89 |
|
|
#define PROD_GVP (0x0B) /* This code is used by a wide range of
|
90 |
|
|
GVP products - use the epc to
|
91 |
|
|
identify it correctly */
|
92 |
|
|
#define PROD_GVP_A2000_030 (0x0D) /* GVP A2000 68030 Turbo Board */
|
93 |
|
|
#define PROD_GFORCE_040_SCSI (0x16) /* GForce 040 with SCSI (new) */
|
94 |
|
|
#define PROD_GVPIV_24 (0x20) /* GVP IV-24 Graphics Board */
|
95 |
|
|
/* #define PROD_GVPIO_EXT (0xFF)*/ /* GVP I/O Extender */
|
96 |
|
|
|
97 |
|
|
#define MANUF_PPI (0x07EA) /* Progressive Peripherals Inc. */
|
98 |
|
|
#define PROD_MERCURY (0x00) /* Mercury Turbo Board */
|
99 |
|
|
#define PROD_PPS_A3000_040 (0x01) /* PP&S A3000 68040 Turbo Board */
|
100 |
|
|
#define PROD_PPS_A2000_040 (0x69) /* PP&S A2000 68040 Turbo Board */
|
101 |
|
|
#define PROD_ZEUS (0x96) /* Zeus SCSI Controller */
|
102 |
|
|
#define PROD_PPS_A500_040 (0xBB) /* PP&S A500 68040 Turbo Board */
|
103 |
|
|
|
104 |
|
|
#define MANUF_BSC (0x07FE) /* BSC */
|
105 |
|
|
#define PROD_ALF_3_SCSI (0x03) /* BSC ALF 3 SCSI Controller */
|
106 |
|
|
|
107 |
|
|
#define MANUF_C_LTD (0x0802) /* C Ltd. */
|
108 |
|
|
#define PROD_KRONOS_SCSI (0x04) /* Kronos SCSI Controller */
|
109 |
|
|
|
110 |
|
|
#define MANUF_JOCHHEIM (0x0804) /* Jochheim */
|
111 |
|
|
#define PROD_JOCHHEIM_RAM (0x01) /* Jochheim RAM */
|
112 |
|
|
|
113 |
|
|
#define MANUF_CHECKPOINT (0x0807) /* Checkpoint Technologies */
|
114 |
|
|
#define PROD_SERIAL_SOLUTION (0x00) /* Serial Solution */
|
115 |
|
|
|
116 |
|
|
#define MANUF_GOLEM (0x0819) /* Golem */
|
117 |
|
|
#define PROD_GOLEM_SCSI_II (0x02) /* Golem SCSI-II Controller */
|
118 |
|
|
|
119 |
|
|
#define MANUF_HARDITAL_SYNTHES (0x0817) /* Hardital Synthesis */
|
120 |
|
|
#define PROD_HARDITAL_SCSI (0x01) /* Hardital Synthesis SCSI Controller */
|
121 |
|
|
|
122 |
|
|
#define MANUF_HARDITAL2 (0x0820) /* Hardital Synthesis */
|
123 |
|
|
#define PROD_TQM (0x14) /* TQM 68030+68882 Turbo Board */
|
124 |
|
|
|
125 |
|
|
#define MANUF_BSC2 (0x082C) /* BSC */
|
126 |
|
|
#define PROD_OKTAGON_SCSI (0x05) /* BSC Oktagon 2008 SCSI Controller */
|
127 |
|
|
#define PROD_TANDEM (0x06) /* BSC Tandem */
|
128 |
|
|
#define PROD_OKTAGON_RAM (0x08) /* BSC Oktagon 2008 RAM */
|
129 |
|
|
#define PROD_MULTIFACE_I (0x10) /* Alfa Data MultiFace I */
|
130 |
|
|
#define PROD_MULTIFACE_II (0x11) /* Alfa Data MultiFace II */
|
131 |
|
|
#define PROD_MULTIFACE_III (0x12) /* Alfa Data MultiFace III */
|
132 |
|
|
#define PROD_ISDN_MASTER (0x40) /* BSC ISDN Master */
|
133 |
|
|
|
134 |
|
|
#define MANUF_ADV_SYS_SOFT (0x0836) /* Advanced Systems & Software */
|
135 |
|
|
#define PROD_NEXUS_SCSI (0x01) /* Nexus SCSI Controller */
|
136 |
|
|
#define PROD_NEXUS_RAM (0x08) /* Nexus RAM */
|
137 |
|
|
|
138 |
|
|
#define MANUF_IVS (0x0840) /* IVS */
|
139 |
|
|
#define PROD_TRUMPCARD_500 (0x30) /* Trumpcard 500 SCSI Controller */
|
140 |
|
|
#define PROD_TRUMPCARD (0x34) /* Trumpcard SCSI Controller */
|
141 |
|
|
#define PROD_VECTOR (0xF3) /* Vector SCSI Controller */
|
142 |
|
|
|
143 |
|
|
#define MANUF_XPERT_PRODEV (0x0845) /* XPert/ProDev */
|
144 |
|
|
#define PROD_MERLIN_RAM (0x03) /* Merlin Graphics Board */
|
145 |
|
|
#define PROD_MERLIN_REG (0x04)
|
146 |
|
|
|
147 |
|
|
#define MANUF_HYDRA_SYSTEMS (0x0849) /* Hydra Systems */
|
148 |
|
|
#define PROD_AMIGANET (0x01) /* Amiganet Board */
|
149 |
|
|
|
150 |
|
|
#define MANUF_DIG_MICRONICS (0x0851) /* Digital Micronics Inc */
|
151 |
|
|
#define PROD_DMI_RESOLVER (0x01) /* DMI Resolver Graphics Board */
|
152 |
|
|
|
153 |
|
|
#define MANUF_HELFRICH1 (0x0861) /* Helfrich */
|
154 |
|
|
#define PROD_RAINBOW3 (0x21) /* Rainbow3 Graphics Board */
|
155 |
|
|
|
156 |
|
|
#define MANUF_SW_RESULT_ENTS (0x0866) /* Software Result Enterprises */
|
157 |
|
|
#define PROD_GG2PLUS (0x01) /* GG2+ Bus Converter */
|
158 |
|
|
|
159 |
|
|
#define MANUF_VILLAGE_TRONIC (0x0877) /* Village Tronic */
|
160 |
|
|
#define PROD_PICASSO_II_RAM (0x0B) /* Picasso II Graphics Board */
|
161 |
|
|
#define PROD_PICASSO_II_REG (0x0C)
|
162 |
|
|
#define PROD_ARIADNE (0xC9) /* Ariadne Ethernet */
|
163 |
|
|
|
164 |
|
|
#define MANUF_UTILITIES_ULTD (0x087B) /* Utilities Unlimited */
|
165 |
|
|
#define PROD_EMPLANT_DELUXE (0x15) /* Emplant Deluxe SCSI Controller */
|
166 |
|
|
#define PROD_EMPLANT_DELUXE2 (0x20) /* Emplant Deluxe SCSI Controller */
|
167 |
|
|
|
168 |
|
|
#define MANUF_MTEC (0x0890) /* MTEC Germany */
|
169 |
|
|
#define PROD_MTEC_68030 (0x03) /* 68030 Turbo Board */
|
170 |
|
|
#define PROD_MTEC_T1230 (0x20) /* MTEC T1230/28 Turbo Board */
|
171 |
|
|
|
172 |
|
|
#define MANUF_GVP2 (0x0891) /* Great Valley Products */
|
173 |
|
|
#define PROD_SPECTRUM_RAM (0x01) /* GVP Spectrum Graphics Board */
|
174 |
|
|
#define PROD_SPECTRUM_REG (0x02)
|
175 |
|
|
|
176 |
|
|
#define MANUF_HELFRICH2 (0x0893) /* Helfrich */
|
177 |
|
|
#define PROD_PICCOLO_RAM (0x05) /* Piccolo Graphics Board */
|
178 |
|
|
#define PROD_PICCOLO_REG (0x06)
|
179 |
|
|
#define PROD_PEGGY_PLUS (0x07) /* PeggyPlus MPEG Decoder Board */
|
180 |
|
|
#define PROD_SD64_RAM (0x0A) /* SD64 Graphics Board */
|
181 |
|
|
#define PROD_SD64_REG (0x0B)
|
182 |
|
|
|
183 |
|
|
#define MANUF_MACROSYSTEMS (0x089B) /* MacroSystems USA */
|
184 |
|
|
#define PROD_WARP_ENGINE (0x13) /* Warp Engine SCSI Controller */
|
185 |
|
|
|
186 |
|
|
#define MANUF_HARMS_PROF (0x0A00) /* Harms Professional */
|
187 |
|
|
#define PROD_3500_TURBO (0xD0) /* 3500 Turbo board */
|
188 |
|
|
|
189 |
|
|
#define MANUF_VORTEX (0x2017) /* Vortex */
|
190 |
|
|
#define PROD_GOLDEN_GATE_386 (0x07) /* Golden Gate 80386 Board */
|
191 |
|
|
#define PROD_GOLDEN_GATE_RAM (0x08) /* Golden Gate RAM */
|
192 |
|
|
#define PROD_GOLDEN_GATE_486 (0x09) /* Golden Gate 80486 Board */
|
193 |
|
|
|
194 |
|
|
#define MANUF_DATAFLYER (0x2062) /* DataFlyer */
|
195 |
|
|
#define PROD_DATAFLYER_4000SX (0x01) /* DataFlyer 4000SX SCSI Controller */
|
196 |
|
|
|
197 |
|
|
#define MANUF_PHASE5 (0x2140) /* Phase5 */
|
198 |
|
|
#define PROD_FASTLANE_RAM (0x0A) /* FastLane RAM */
|
199 |
|
|
#define PROD_FASTLANE_SCSI (0x0B) /* FastLane/Blizzard 1230-II SCSI */
|
200 |
|
|
#define PROD_CYBERSTORM_SCSI (0x0C) /* CyberStorm Fast SCSI-II Controller */
|
201 |
|
|
#define PROD_BLIZZARD_1230_III (0x0D) /* Blizzard 1230-III Turbo Board */
|
202 |
|
|
#define PROD_BLIZZARD_1230_IV (0x11) /* Blizzard 1230-IV Turbo Board */
|
203 |
|
|
#define PROD_CYBERVISION (0x22) /* CyberVision64 Graphics Board */
|
204 |
|
|
|
205 |
|
|
#define MANUF_APOLLO (0x2222) /* Apollo */
|
206 |
|
|
#define PROD_AT_APOLLO (0x22) /* AT-Apollo */
|
207 |
|
|
#define PROD_APOLLO_TURBO (0x23) /* Apollo Turbo Board */
|
208 |
|
|
|
209 |
|
|
#define MANUF_UWE_GERLACH (0x3FF7) /* Uwe Gerlach */
|
210 |
|
|
#define PROD_UG_RAM_ROM (0xd4) /* RAM/ROM */
|
211 |
|
|
|
212 |
|
|
#define MANUF_MACROSYSTEMS2 (0x4754) /* MacroSystems Germany */
|
213 |
|
|
#define PROD_MAESTRO (0x03) /* Maestro */
|
214 |
|
|
#define PROD_VLAB (0x04) /* VLab */
|
215 |
|
|
#define PROD_MAESTRO_PRO (0x05) /* Maestro Pro */
|
216 |
|
|
#define PROD_RETINA_Z2 (0x06) /* Retina Z2 Graphics Board */
|
217 |
|
|
#define PROD_MULTI_EVOLUTION (0x08) /* MultiEvolution */
|
218 |
|
|
#define PROD_RETINA_Z3 (0x10) /* Retina Z3 Graphics Board */
|
219 |
|
|
#define PROD_FALCON_040 (0xFD) /* Falcon '040 Turbo Board */
|
220 |
|
|
|
221 |
|
|
|
222 |
|
|
/* Illegal Manufacturer IDs. These do NOT appear in amiga/zorro.c! */
|
223 |
|
|
|
224 |
|
|
#define MANUF_HACKER_INC (0x07DB) /* Hacker Inc. */
|
225 |
|
|
#define PROD_HACKER_SCSI (0x01) /* Hacker Inc. SCSI Controller */
|
226 |
|
|
|
227 |
|
|
#define MANUF_RES_MNGT_FORCE (0x07DB) /* Resource Management Force */
|
228 |
|
|
#define PROD_QUICKNET (0x02) /* QuickNet Ethernet */
|
229 |
|
|
|
230 |
|
|
|
231 |
|
|
/*
|
232 |
|
|
* GVP's identifies most of their product through the 'extended
|
233 |
|
|
* product code' (epc). The epc has to be and'ed with the GVPEPCMASK
|
234 |
|
|
* before the identification.
|
235 |
|
|
*/
|
236 |
|
|
|
237 |
|
|
#define GVP_EPCMASK (0xf8)
|
238 |
|
|
|
239 |
|
|
enum GVP_ident {
|
240 |
|
|
GVP_GFORCE_040 = 0x20,
|
241 |
|
|
GVP_GFORCE_040_SCSI = 0x30,
|
242 |
|
|
GVP_A1291_SCSI = 0x40,
|
243 |
|
|
GVP_COMBO_R4 = 0x60,
|
244 |
|
|
GVP_COMBO_R4_SCSI = 0x70,
|
245 |
|
|
GVP_PHONEPAK = 0x78,
|
246 |
|
|
GVP_IOEXT = 0x98,
|
247 |
|
|
GVP_GFORCE_030 = 0xa0,
|
248 |
|
|
GVP_GFORCE_030_SCSI = 0xb0,
|
249 |
|
|
GVP_A530 = 0xc0,
|
250 |
|
|
GVP_A530_SCSI = 0xd0,
|
251 |
|
|
GVP_COMBO_R3 = 0xe0,
|
252 |
|
|
GVP_COMBO_R3_SCSI = 0xf0,
|
253 |
|
|
GVP_SERIESII = 0xf8,
|
254 |
|
|
};
|
255 |
|
|
|
256 |
|
|
enum GVP_flags {
|
257 |
|
|
GVP_IO = 0x01,
|
258 |
|
|
GVP_ACCEL = 0x02,
|
259 |
|
|
GVP_SCSI = 0x04,
|
260 |
|
|
GVP_24BITDMA = 0x08,
|
261 |
|
|
GVP_25BITDMA = 0x10,
|
262 |
|
|
GVP_NOBANK = 0x20,
|
263 |
|
|
GVP_14MHZ = 0x40,
|
264 |
|
|
};
|
265 |
|
|
|
266 |
|
|
|
267 |
|
|
struct Node {
|
268 |
|
|
struct Node *ln_Succ; /* Pointer to next (successor) */
|
269 |
|
|
struct Node *ln_Pred; /* Pointer to previous (predecessor) */
|
270 |
|
|
u_char ln_Type;
|
271 |
|
|
char ln_Pri; /* Priority, for sorting */
|
272 |
|
|
char *ln_Name; /* ID string, null terminated */
|
273 |
|
|
};
|
274 |
|
|
|
275 |
|
|
struct ExpansionRom {
|
276 |
|
|
/* -First 16 bytes of the expansion ROM */
|
277 |
|
|
u_char er_Type; /* Board type, size and flags */
|
278 |
|
|
u_char er_Product; /* Product number, assigned by manufacturer */
|
279 |
|
|
u_char er_Flags; /* Flags */
|
280 |
|
|
u_char er_Reserved03; /* Must be zero ($ff inverted) */
|
281 |
|
|
u_short er_Manufacturer; /* Unique ID,ASSIGNED BY COMMODORE-AMIGA! */
|
282 |
|
|
u_long er_SerialNumber; /* Available for use by manufacturer */
|
283 |
|
|
u_short er_InitDiagVec; /* Offset to optional "DiagArea" structure */
|
284 |
|
|
u_char er_Reserved0c;
|
285 |
|
|
u_char er_Reserved0d;
|
286 |
|
|
u_char er_Reserved0e;
|
287 |
|
|
u_char er_Reserved0f;
|
288 |
|
|
};
|
289 |
|
|
|
290 |
|
|
/* er_Type board type bits */
|
291 |
|
|
#define ERT_TYPEMASK 0xc0
|
292 |
|
|
#define ERT_ZORROII 0xc0
|
293 |
|
|
#define ERT_ZORROIII 0x80
|
294 |
|
|
|
295 |
|
|
/* other bits defined in er_Type */
|
296 |
|
|
#define ERTB_MEMLIST 5 /* Link RAM into free memory list */
|
297 |
|
|
#define ERTF_MEMLIST (1<<5)
|
298 |
|
|
|
299 |
|
|
struct ConfigDev {
|
300 |
|
|
struct Node cd_Node;
|
301 |
|
|
u_char cd_Flags; /* (read/write) */
|
302 |
|
|
u_char cd_Pad; /* reserved */
|
303 |
|
|
struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */
|
304 |
|
|
void *cd_BoardAddr; /* where in memory the board was placed */
|
305 |
|
|
u_long cd_BoardSize; /* size of board in bytes */
|
306 |
|
|
u_short cd_SlotAddr; /* which slot number (PRIVATE) */
|
307 |
|
|
u_short cd_SlotSize; /* number of slots (PRIVATE) */
|
308 |
|
|
void *cd_Driver; /* pointer to node of driver */
|
309 |
|
|
struct ConfigDev *cd_NextCD; /* linked list of drivers to config */
|
310 |
|
|
u_long cd_Unused[4]; /* for whatever the driver wants */
|
311 |
|
|
};
|
312 |
|
|
|
313 |
|
|
#else /* __ASSEMBLY__ */
|
314 |
|
|
|
315 |
|
|
LN_Succ = 0
|
316 |
|
|
LN_Pred = LN_Succ+4
|
317 |
|
|
LN_Type = LN_Pred+4
|
318 |
|
|
LN_Pri = LN_Type+1
|
319 |
|
|
LN_Name = LN_Pri+1
|
320 |
|
|
LN_sizeof = LN_Name+4
|
321 |
|
|
|
322 |
|
|
ER_Type = 0
|
323 |
|
|
ER_Product = ER_Type+1
|
324 |
|
|
ER_Flags = ER_Product+1
|
325 |
|
|
ER_Reserved03 = ER_Flags+1
|
326 |
|
|
ER_Manufacturer = ER_Reserved03+1
|
327 |
|
|
ER_SerialNumber = ER_Manufacturer+2
|
328 |
|
|
ER_InitDiagVec = ER_SerialNumber+4
|
329 |
|
|
ER_Reserved0c = ER_InitDiagVec+2
|
330 |
|
|
ER_Reserved0d = ER_Reserved0c+1
|
331 |
|
|
ER_Reserved0e = ER_Reserved0d+1
|
332 |
|
|
ER_Reserved0f = ER_Reserved0e+1
|
333 |
|
|
ER_sizeof = ER_Reserved0f+1
|
334 |
|
|
|
335 |
|
|
CD_Node = 0
|
336 |
|
|
CD_Flags = CD_Node+LN_sizeof
|
337 |
|
|
CD_Pad = CD_Flags+1
|
338 |
|
|
CD_Rom = CD_Pad+1
|
339 |
|
|
CD_BoardAddr = CD_Rom+ER_sizeof
|
340 |
|
|
CD_BoardSize = CD_BoardAddr+4
|
341 |
|
|
CD_SlotAddr = CD_BoardSize+4
|
342 |
|
|
CD_SlotSize = CD_SlotAddr+2
|
343 |
|
|
CD_Driver = CD_SlotSize+2
|
344 |
|
|
CD_NextCD = CD_Driver+4
|
345 |
|
|
CD_Unused = CD_NextCD+4
|
346 |
|
|
CD_sizeof = CD_Unused+(4*4)
|
347 |
|
|
|
348 |
|
|
#endif /* __ASSEMBLY__ */
|
349 |
|
|
|
350 |
|
|
#ifndef __ASSEMBLY__
|
351 |
|
|
|
352 |
|
|
/*
|
353 |
|
|
* Zorro Functions
|
354 |
|
|
*/
|
355 |
|
|
|
356 |
|
|
extern int zorro_find(int manuf, int prod, int part, int index);
|
357 |
|
|
extern struct ConfigDev *zorro_get_board(int key);
|
358 |
|
|
extern void zorro_config_board(int key, int part);
|
359 |
|
|
extern void zorro_unconfig_board(int key, int part);
|
360 |
|
|
|
361 |
|
|
|
362 |
|
|
/*
|
363 |
|
|
* Bitmask indicating portions of available Zorro II RAM that are unused
|
364 |
|
|
* by the system. Every bit represents a 64K chunk, for a maximum of 8MB
|
365 |
|
|
* (128 chunks, physical 0x00200000-0x009fffff).
|
366 |
|
|
*
|
367 |
|
|
* If you want to use (= allocate) portions of this RAM, you should clear
|
368 |
|
|
* the corresponding bits.
|
369 |
|
|
*/
|
370 |
|
|
|
371 |
|
|
extern u_long zorro_unused_z2ram[4];
|
372 |
|
|
|
373 |
|
|
#define Z2RAM_START (0x00200000)
|
374 |
|
|
#define Z2RAM_END (0x00a00000)
|
375 |
|
|
#define Z2RAM_SIZE (0x00800000)
|
376 |
|
|
#define Z2RAM_CHUNKSIZE (0x00010000)
|
377 |
|
|
#define Z2RAM_CHUNKMASK (0x0000ffff)
|
378 |
|
|
#define Z2RAM_CHUNKSHIFT (16)
|
379 |
|
|
|
380 |
|
|
|
381 |
|
|
/*
|
382 |
|
|
* Verbose Board Identification
|
383 |
|
|
*/
|
384 |
|
|
|
385 |
|
|
#ifdef CONFIG_ZORRO
|
386 |
|
|
extern void zorro_identify(void);
|
387 |
|
|
extern int zorro_get_list(char *buffer);
|
388 |
|
|
#endif CONFIG_ZORRO
|
389 |
|
|
|
390 |
|
|
#endif /* __ASSEMBLY__ */
|
391 |
|
|
|
392 |
|
|
#endif /* _ASM_M68K_ZORRO_H_ */
|