1 
2 /*
3  *
4  Copyright (c) Eicon Networks, 2002.
5  *
6  This source file is supplied for the use with
7  Eicon Networks range of DIVA Server Adapters.
8  *
9  Eicon File Revision :    2.1
10  *
11  This program is free software; you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation; either version 2, or (at your option)
14  any later version.
15  *
16  This program is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY OF ANY KIND WHATSOEVER INCLUDING ANY
18  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19  See the GNU General Public License for more details.
20  *
21  You should have received a copy of the GNU General Public License
22  along with this program; if not, write to the Free Software
23  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24  *
25  */
26 #ifndef _CARDTYPE_H_
27 #define _CARDTYPE_H_
28 #ifndef CARDTYPE_H_WANT_DATA
29 #define CARDTYPE_H_WANT_DATA   0
30 #endif
31 #ifndef CARDTYPE_H_WANT_IDI_DATA
32 #define CARDTYPE_H_WANT_IDI_DATA  0
33 #endif
34 #ifndef CARDTYPE_H_WANT_RESOURCE_DATA
35 #define CARDTYPE_H_WANT_RESOURCE_DATA 1
36 #endif
37 #ifndef CARDTYPE_H_WANT_FILE_DATA
38 #define CARDTYPE_H_WANT_FILE_DATA  1
39 #endif
40 /*
41  * D-channel protocol identifiers
42  *
43  * Attention: Unfortunately the identifiers defined here differ from
44  *      the identifiers used in Protocol/1/Common/prot/q931.h .
45  *     The only reason for this is that q931.h has not a global
46  *     scope and we did not know about the definitions there.
47  *     But the definitions here cannot be changed easily because
48  *     they are used in setup scripts and programs.
49  *     Thus the definitions here have to be mapped if they are
50  *     used in the protocol code context !
51  *
52  * Now the identifiers are defined in the q931lib/constant.h file.
53  * Unfortunately this file has also not a global scope.
54  * But beginning with PROTTYPE_US any new identifier will get the same
55  * value as the corresponding PROT_* definition in q931lib/constant.h !
56  */
57 #define PROTTYPE_MINVAL     0
58 #define PROTTYPE_ETSI       0
59 #define PROTTYPE_1TR6       1
60 #define PROTTYPE_BELG       2
61 #define PROTTYPE_FRANC      3
62 #define PROTTYPE_ATEL       4
63 #define PROTTYPE_NI         5  /* DMS 100, Nortel, National ISDN */
64 #define PROTTYPE_5ESS       6  /* 5ESS   , AT&T,   5ESS Custom   */
65 #define PROTTYPE_JAPAN      7
66 #define PROTTYPE_SWED       8
67 #define PROTTYPE_US         9  /* US autodetect */
68 #define PROTTYPE_ITALY      10
69 #define PROTTYPE_TWAN       11
70 #define PROTTYPE_AUSTRAL    12
71 #define PROTTYPE_4ESDN      13
72 #define PROTTYPE_4ESDS      14
73 #define PROTTYPE_4ELDS      15
74 #define PROTTYPE_4EMGC      16
75 #define PROTTYPE_4EMGI      17
76 #define PROTTYPE_HONGKONG   18
77 #define PROTTYPE_RBSCAS     19
78 #define PROTTYPE_CORNETN    20
79 #define PROTTYPE_QSIG       21
80 #define PROTTYPE_NI_EWSD    22 /* EWSD, Siemens, National ISDN   */
81 #define PROTTYPE_5ESS_NI    23 /* 5ESS, Lucent, National ISDN    */
82 #define PROTTYPE_T1CORNETN  24
83 #define PROTTYPE_CORNETNQ   25
84 #define PROTTYPE_T1CORNETNQ 26
85 #define PROTTYPE_T1QSIG     27
86 #define PROTTYPE_E1UNCH     28
87 #define PROTTYPE_T1UNCH     29
88 #define PROTTYPE_E1CHAN     30
89 #define PROTTYPE_T1CHAN     31
90 #define PROTTYPE_R2CAS      32
91 #define PROTTYPE_MAXVAL     32
92 /*
93  * Card type identifiers
94  */
95 #define CARD_UNKNOWN                      0
96 #define CARD_NONE                         0
97 /* DIVA cards */
98 #define CARDTYPE_DIVA_MCA                 0
99 #define CARDTYPE_DIVA_ISA                 1
100 #define CARDTYPE_DIVA_PCM                 2
101 #define CARDTYPE_DIVAPRO_ISA              3
102 #define CARDTYPE_DIVAPRO_PCM              4
103 #define CARDTYPE_DIVAPICO_ISA             5
104 #define CARDTYPE_DIVAPICO_PCM             6
105 /* DIVA 2.0 cards */
106 #define CARDTYPE_DIVAPRO20_PCI            7
107 #define CARDTYPE_DIVA20_PCI               8
108 /* S cards */
109 #define CARDTYPE_QUADRO_ISA               9
110 #define CARDTYPE_S_ISA                    10
111 #define CARDTYPE_S_MCA                    11
112 #define CARDTYPE_SX_ISA                   12
113 #define CARDTYPE_SX_MCA                   13
114 #define CARDTYPE_SXN_ISA                  14
115 #define CARDTYPE_SXN_MCA                  15
116 #define CARDTYPE_SCOM_ISA                 16
117 #define CARDTYPE_SCOM_MCA                 17
118 #define CARDTYPE_PR_ISA                   18
119 #define CARDTYPE_PR_MCA                   19
120 /* Diva Server cards (formerly called Maestra, later Amadeo) */
121 #define CARDTYPE_MAESTRA_ISA              20
122 #define CARDTYPE_MAESTRA_PCI              21
123 /* Diva Server cards to be developed (Quadro, Primary rate) */
124 #define CARDTYPE_DIVASRV_Q_8M_PCI         22
125 #define CARDTYPE_DIVASRV_P_30M_PCI        23
126 #define CARDTYPE_DIVASRV_P_2M_PCI         24
127 #define CARDTYPE_DIVASRV_P_9M_PCI         25
128 /* DIVA 2.0 cards */
129 #define CARDTYPE_DIVA20_ISA               26
130 #define CARDTYPE_DIVA20U_ISA              27
131 #define CARDTYPE_DIVA20U_PCI              28
132 #define CARDTYPE_DIVAPRO20_ISA            29
133 #define CARDTYPE_DIVAPRO20U_ISA           30
134 #define CARDTYPE_DIVAPRO20U_PCI           31
135 /* DIVA combi cards (piccola ISDN + rockwell V.34 modem) */
136 #define CARDTYPE_DIVAMOBILE_PCM           32
137 #define CARDTYPE_TDKGLOBALPRO_PCM         33
138 /* DIVA Pro PC OEM card for 'New Media Corporation' */
139 #define CARDTYPE_NMC_DIVAPRO_PCM          34
140 /* DIVA Pro 2.0 OEM cards for 'British Telecom' */
141 #define CARDTYPE_BT_EXLANE_PCI            35
142 #define CARDTYPE_BT_EXLANE_ISA            36
143 /* DIVA low cost cards, 1st name DIVA 3.0, 2nd DIVA 2.01, 3rd ??? */
144 #define CARDTYPE_DIVALOW_ISA              37
145 #define CARDTYPE_DIVALOWU_ISA             38
146 #define CARDTYPE_DIVALOW_PCI              39
147 #define CARDTYPE_DIVALOWU_PCI             40
148 /* DIVA combi cards (piccola ISDN + rockwell V.90 modem) */
149 #define CARDTYPE_DIVAMOBILE_V90_PCM       41
150 #define CARDTYPE_TDKGLOBPRO_V90_PCM       42
151 #define CARDTYPE_DIVASRV_P_23M_PCI        43
152 #define CARDTYPE_DIVALOW_USB              44
153 /* DIVA Audio (CT) family */
154 #define CARDTYPE_DIVA_CT_ST               45
155 #define CARDTYPE_DIVA_CT_U                46
156 #define CARDTYPE_DIVA_CTLITE_ST           47
157 #define CARDTYPE_DIVA_CTLITE_U            48
158 /* DIVA ISDN plus V.90 series */
159 #define CARDTYPE_DIVAISDN_V90_PCM         49
160 #define CARDTYPE_DIVAISDN_V90_PCI         50
161 #define CARDTYPE_DIVAISDN_TA              51
162 /* DIVA Server Voice cards */
163 #define CARDTYPE_DIVASRV_VOICE_Q_8M_PCI   52
164 /* DIVA Server V2 cards */
165 #define CARDTYPE_DIVASRV_Q_8M_V2_PCI      53
166 #define CARDTYPE_DIVASRV_P_30M_V2_PCI     54
167 /* DIVA Server Voice V2 cards */
168 #define CARDTYPE_DIVASRV_VOICE_Q_8M_V2_PCI 55
169 #define CARDTYPE_DIVASRV_VOICE_P_30M_V2_PCI 56
170 /* Diva LAN */
171 #define CARDTYPE_DIVAISDN_LAN             57
172 #define CARDTYPE_DIVA_202_PCI_ST          58
173 #define CARDTYPE_DIVA_202_PCI_U           59
174 #define CARDTYPE_DIVASRV_B_2M_V2_PCI      60
175 #define CARDTYPE_DIVASRV_B_2F_PCI         61
176 #define CARDTYPE_DIVALOW_USBV2            62
177 #define CARDTYPE_DIVASRV_VOICE_B_2M_V2_PCI 63
178 #define CARDTYPE_DIVA_PRO_30_PCI_ST       64
179 #define CARDTYPE_DIVA_CT_ST_V20           65
180 /* Diva Mobile V.90 PC Card and Diva ISDN PC Card */
181 #define CARDTYPE_DIVAMOBILE_V2_PCM        66
182 #define CARDTYPE_DIVA_V2_PCM              67
183 /* Re-badged Diva Pro PC Card */
184 #define CARDTYPE_DIVA_PC_CARD             68
185 /* next free card type identifier */
186 #define CARDTYPE_MAX                      69
187 /*
188  * The card families
189  */
190 #define FAMILY_DIVA   1
191 #define FAMILY_S   2
192 #define FAMILY_MAESTRA  3
193 #define FAMILY_MAX   4
194 /*
195  * The basic card types
196  */
197 #define CARD_DIVA           1  /* DSP based, old DSP */
198 #define CARD_PRO            2  /* DSP based, new DSP */
199 #define CARD_PICO           3  /* HSCX based   */
200 #define CARD_S    4  /* IDI on board based */
201 #define CARD_SX    5  /* IDI on board based */
202 #define CARD_SXN   6  /* IDI on board based */
203 #define CARD_SCOM   7  /* IDI on board based */
204 #define CARD_QUAD   8  /* IDI on board based */
205 #define CARD_PR    9  /* IDI on board based */
206 #define CARD_MAE         10  /* IDI on board based */
207 #define CARD_MAEQ        11  /* IDI on board based */
208 #define CARD_MAEP        12  /* IDI on board based */
209 #define CARD_DIVALOW  13  /* IPAC based   */
210 #define CARD_CT    14  /* SCOUT based          */
211 #define CARD_DIVATA   15  /* DIVA TA */
212 #define CARD_DIVALAN  16  /* DIVA LAN */
213 #define CARD_MAE2         17  /* IDI on board based */
214 #define CARD_MAX   18
215 /*
216  * The internal card types of the S family
217  */
218 #define CARD_I_NONE   0
219 #define CARD_I_S   0
220 #define CARD_I_SX   1
221 #define CARD_I_SCOM   2
222 #define CARD_I_QUAD   3
223 #define CARD_I_PR   4
224 /*
225  * The bus types we support
226  */
227 #define BUS_ISA             1
228 #define BUS_PCM             2
229 #define BUS_PCI             3
230 #define BUS_MCA             4
231 #define BUS_USB             5
232 #define BUS_COM    6
233 #define BUS_LAN    7
234 /*
235  * The chips we use for B-channel traffic
236  */
237 #define CHIP_NONE           0
238 #define CHIP_DSP            1
239 #define CHIP_HSCX           2
240 #define CHIP_IPAC           3
241 #define CHIP_SCOUT          4
242 #define CHIP_EXTERN         5
243 #define CHIP_IPACX          6
244 /*
245  * The structures where the card properties are aggregated by id
246  */
247 typedef struct CARD_PROPERTIES
248 {   char     *Name;  /* official marketing name     */
249 	unsigned short PnPId;  /* plug and play ID (for non PCMIA cards) */
250 	unsigned short Version; /* major and minor version no of the card */
251 	unsigned char DescType; /* card type to set in the IDI descriptor */
252 	unsigned char  Family;  /* basic family of the card     */
253 	unsigned short  Features; /* features bits to set in the IDI desc. */
254 	unsigned char Card;  /* basic card type       */
255 	unsigned char IType;  /* internal type of S cards (read from ram) */
256 	unsigned char  Bus;  /* bus type this card is designed for  */
257 	unsigned char  Chip;  /* chipset used on card      */
258 	unsigned char Adapters; /* number of adapters on card    */
259 	unsigned char Channels; /* # of channels per adapter    */
260 	unsigned short E_info;  /* # of ram entity info structs per adapter */
261 	unsigned short SizeIo;  /* size of IO window per adapter   */
262 	unsigned short SizeMem; /* size of memory window per adapter  */
263 } CARD_PROPERTIES;
264 typedef struct CARD_RESOURCE
265 { unsigned char Int[10];
266 	unsigned short IoFirst;
267 	unsigned short IoStep;
268 	unsigned short IoCnt;
269 	unsigned long MemFirst;
270 	unsigned long MemStep;
271 	unsigned short MemCnt;
272 } CARD_RESOURCE;
273 /* test if the card of type 't' is a plug & play card */
274 #define IS_PNP(t)						\
275 	(							\
276 		(						\
277 			CardProperties[t].Bus != BUS_ISA	\
278 			&&					\
279 			CardProperties[t].Bus != BUS_MCA	\
280 			)					\
281 		||						\
282 		(						\
283 			CardProperties[t].Family != FAMILY_S	\
284 			&&					\
285 			CardProperties[t].Card != CARD_DIVA	\
286 			)					\
287 		)
288 /* extract IDI Descriptor info for card type 't' (p == DescType/Features) */
289 #define IDI_PROP(t, p) (CardProperties[t].p)
290 #if CARDTYPE_H_WANT_DATA
291 #if CARDTYPE_H_WANT_IDI_DATA
292 /* include "di_defs.h" for IDI adapter type and feature flag definitions */
293 #include "di_defs.h"
294 #else /*!CARDTYPE_H_WANT_IDI_DATA*/
295 /* define IDI adapter types and feature flags here to prevent inclusion  */
296 #ifndef IDI_ADAPTER_S
297 #define IDI_ADAPTER_S           1
298 #define IDI_ADAPTER_PR          2
299 #define IDI_ADAPTER_DIVA        3
300 #define IDI_ADAPTER_MAESTRA     4
301 #endif
302 #ifndef DI_VOICE
303 #define DI_VOICE          0x0 /* obsolete define */
304 #define DI_FAX3           0x1
305 #define DI_MODEM          0x2
306 #define DI_POST           0x4
307 #define DI_V110           0x8
308 #define DI_V120           0x10
309 #define DI_POTS           0x20
310 #define DI_CODEC          0x40
311 #define DI_MANAGE         0x80
312 #define DI_V_42           0x0100
313 #define DI_EXTD_FAX       0x0200 /* Extended FAX (ECM, 2D, T.6, Polling) */
314 #define DI_AT_PARSER      0x0400 /* Build-in AT Parser in the L2 */
315 #define DI_VOICE_OVER_IP  0x0800 /* Voice over IP support */
316 #endif
317 #endif /*CARDTYPE_H_WANT_IDI_DATA*/
318 #define DI_V1x0         (DI_V110 | DI_V120)
319 #define DI_NULL         0x0000
320 #if defined(SOFT_DSP_SUPPORT)
321 #define SOFT_DSP_ADD_FEATURES  (DI_MODEM | DI_FAX3 | DI_AT_PARSER)
322 #else
323 #define SOFT_DSP_ADD_FEATURES  0
324 #endif
325 #if defined(SOFT_V110_SUPPORT)
326 #define DI_SOFT_V110  DI_V110
327 #else
328 #define DI_SOFT_V110  0
329 #endif
330 /*--- CardProperties [Index=CARDTYPE_....] ---------------------------------*/
331 CARD_PROPERTIES CardProperties[] =
332 {
333 	{ /*  0  */
334 		"Diva MCA",       0x6336,  0x0100,
335 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3,
336 		CARD_DIVA,   CARD_I_NONE, BUS_MCA, CHIP_DSP,
337 		1, 2,  0,   8,      0
338 	},
339 	{ /*  1  */
340 		"Diva ISA",       0x0000,  0x0100,
341 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3,
342 		CARD_DIVA,   CARD_I_NONE, BUS_ISA, CHIP_DSP,
343 		1, 2,  0,   8,      0
344 	},
345 	{ /*  2  */
346 		"Diva/PCM",       0x0000,  0x0100,
347 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3,
348 		CARD_DIVA,   CARD_I_NONE, BUS_PCM, CHIP_DSP,
349 		1, 2,  0,   8,      0
350 	},
351 	{ /*  3  */
352 		"Diva PRO ISA",      0x0031,  0x0100,
353 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
354 		CARD_PRO,   CARD_I_NONE, BUS_ISA, CHIP_DSP,
355 		1, 2,  0,   8,      0
356 	},
357 	{ /*  4  */
358 		"Diva PRO PC-Card",     0x0000,  0x0100,
359 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM,
360 		CARD_PRO,   CARD_I_NONE, BUS_PCM, CHIP_DSP,
361 		1, 2,   0,   8,      0
362 	},
363 	{ /*  5  */
364 		"Diva PICCOLA ISA",     0x0051,  0x0100,
365 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
366 		CARD_PICO,   CARD_I_NONE, BUS_ISA, CHIP_HSCX,
367 		1, 2,   0,   8,      0
368 	},
369 	{ /*  6  */
370 		"Diva PICCOLA PCM",     0x0000,  0x0100,
371 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
372 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_HSCX,
373 		1, 2,   0,   8,      0
374 	},
375 	{ /*  7  */
376 		"Diva PRO 2.0 S/T PCI",    0xe001,  0x0200,
377 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_POTS,
378 		CARD_PRO,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
379 		1, 2,   0,   8,      0
380 	},
381 	{ /*  8  */
382 		"Diva 2.0 S/T PCI",     0xe002,  0x0200,
383 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | DI_POTS | SOFT_DSP_ADD_FEATURES,
384 		CARD_PICO,   CARD_I_NONE, BUS_PCI, CHIP_HSCX,
385 		1, 2,   0,   8,      0
386 	},
387 	{ /*  9  */
388 		"QUADRO ISA",      0x0000,  0x0100,
389 		IDI_ADAPTER_S,  FAMILY_S,  DI_NULL,
390 		CARD_QUAD,   CARD_I_QUAD, BUS_ISA, CHIP_NONE,
391 		4, 2,   16,  0,  0x800
392 	},
393 	{ /* 10  */
394 		"S ISA",       0x0000,  0x0100,
395 		IDI_ADAPTER_S,  FAMILY_S,  DI_CODEC,
396 		CARD_S,    CARD_I_S,  BUS_ISA, CHIP_NONE,
397 		1, 1,   16,  0,  0x800
398 	},
399 	{ /* 11  */
400 		"S MCA",       0x6a93,  0x0100,
401 		IDI_ADAPTER_S,  FAMILY_S,  DI_CODEC,
402 		CARD_S,    CARD_I_S,  BUS_MCA, CHIP_NONE,
403 		1, 1,   16,  16,  0x400
404 	},
405 	{ /* 12 */
406 		"SX ISA",       0x0000,  0x0100,
407 		IDI_ADAPTER_S,  FAMILY_S,  DI_NULL,
408 		CARD_SX,   CARD_I_SX,  BUS_ISA, CHIP_NONE,
409 		1, 2,  16,  0,  0x800
410 	},
411 	{ /* 13 */
412 		"SX MCA",       0x6a93,  0x0100,
413 		IDI_ADAPTER_S,  FAMILY_S,  DI_NULL,
414 		CARD_SX,   CARD_I_SX,  BUS_MCA, CHIP_NONE,
415 		1, 2,  16,  16,  0x400
416 	},
417 	{ /* 14 */
418 		"SXN ISA",       0x0000,  0x0100,
419 		IDI_ADAPTER_S,  FAMILY_S,  DI_NULL,
420 		CARD_SXN,   CARD_I_SCOM, BUS_ISA, CHIP_NONE,
421 		1, 2,   16,  0,   0x800
422 	},
423 	{ /* 15 */
424 		"SXN MCA",       0x6a93,  0x0100,
425 		IDI_ADAPTER_S,  FAMILY_S,  DI_NULL,
426 		CARD_SXN,   CARD_I_SCOM, BUS_MCA, CHIP_NONE,
427 		1, 2,  16,  16,  0x400
428 	},
429 	{ /* 16 */
430 		"SCOM ISA",       0x0000,  0x0100,
431 		IDI_ADAPTER_S,  FAMILY_S,  DI_CODEC,
432 		CARD_SCOM,   CARD_I_SCOM, BUS_ISA, CHIP_NONE,
433 		1, 2,   16,  0,   0x800
434 	},
435 	{ /* 17 */
436 		"SCOM MCA",       0x6a93,  0x0100,
437 		IDI_ADAPTER_S,  FAMILY_S,  DI_CODEC,
438 		CARD_SCOM,   CARD_I_SCOM, BUS_MCA, CHIP_NONE,
439 		1, 2,  16,  16,  0x400
440 	},
441 	{ /* 18 */
442 		"S2M ISA",       0x0000,  0x0100,
443 		IDI_ADAPTER_PR,  FAMILY_S,  DI_NULL,
444 		CARD_PR,   CARD_I_PR,  BUS_ISA, CHIP_NONE,
445 		1, 30,  256, 0,   0x4000
446 	},
447 	{ /* 19 */
448 		"S2M MCA",       0x6abb,  0x0100,
449 		IDI_ADAPTER_PR,  FAMILY_S,  DI_NULL,
450 		CARD_PR,   CARD_I_PR,  BUS_MCA, CHIP_NONE,
451 		1, 30,  256, 16,  0x4000
452 	},
453 	{ /* 20 */
454 		"Diva Server BRI-2M ISA",   0x0041,  0x0100,
455 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
456 		CARD_MAE,   CARD_I_NONE, BUS_ISA, CHIP_DSP,
457 		1, 2,   16,  8,  0
458 	},
459 	{ /* 21 */
460 		"Diva Server BRI-2M PCI",   0xE010,  0x0100,
461 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
462 		CARD_MAE,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
463 		1, 2,   16,  8,   0
464 	},
465 	{ /* 22 */
466 		"Diva Server 4BRI-8M PCI",   0xE012,  0x0100,
467 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
468 		CARD_MAEQ,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
469 		4, 2,   16,  8,   0
470 	},
471 	{ /* 23 */
472 		"Diva Server PRI-30M PCI",   0xE014,  0x0100,
473 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
474 		CARD_MAEP,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
475 		1, 30,  256,  8,   0
476 	},
477 	{ /* 24 */
478 		"Diva Server PRI-2M PCI",   0xe014,  0x0100,
479 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
480 		CARD_MAEP,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
481 		1, 30,  256,  8,   0
482 	},
483 	{ /* 25 */
484 		"Diva Server PRI-9M PCI",   0x0000,  0x0100,
485 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
486 		CARD_MAEP,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
487 		1, 30,     256,  8,   0
488 	},
489 	{ /* 26 */
490 		"Diva 2.0 S/T ISA",     0x0071,  0x0200,
491 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | DI_POTS | SOFT_DSP_ADD_FEATURES,
492 		CARD_PICO,   CARD_I_NONE, BUS_ISA, CHIP_HSCX,
493 		1, 2,  0,   8,   0
494 	},
495 	{ /* 27 */
496 		"Diva 2.0 U ISA",     0x0091,  0x0200,
497 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | DI_POTS | SOFT_DSP_ADD_FEATURES,
498 		CARD_PICO,   CARD_I_NONE, BUS_ISA, CHIP_HSCX,
499 		1, 2,   0,   8,   0
500 	},
501 	{ /* 28 */
502 		"Diva 2.0 U PCI",     0xe004,  0x0200,
503 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | DI_POTS | SOFT_DSP_ADD_FEATURES,
504 		CARD_PICO,   CARD_I_NONE, BUS_PCI, CHIP_HSCX,
505 		1, 2,   0,   8,   0
506 	},
507 	{ /* 29 */
508 		"Diva PRO 2.0 S/T ISA",    0x0061,  0x0200,
509 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_POTS,
510 		CARD_PRO,   CARD_I_NONE, BUS_ISA, CHIP_DSP,
511 		1, 2,  0,   8,   0
512 	},
513 	{ /* 30 */
514 		"Diva PRO 2.0 U ISA",    0x0081,  0x0200,
515 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_POTS,
516 		CARD_PRO,   CARD_I_NONE, BUS_ISA, CHIP_DSP,
517 		1, 2,  0,   8,   0
518 	},
519 	{ /* 31 */
520 		"Diva PRO 2.0 U PCI",    0xe003,  0x0200,
521 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_POTS,
522 		CARD_PRO,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
523 		1, 2,   0,   8,   0
524 	},
525 	{ /* 32 */
526 		"Diva MOBILE",      0x0000,  0x0100,
527 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
528 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_HSCX,
529 		1, 2,  0,   8,   0
530 	},
531 	{ /* 33 */
532 		"TDK DFI3600",      0x0000,  0x0100,
533 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
534 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_HSCX,
535 		1, 2,  0,   8,   0
536 	},
537 	{ /* 34 (OEM version of 4 - "Diva PRO PC-Card") */
538 		"New Media ISDN",     0x0000,  0x0100,
539 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM,
540 		CARD_PRO,   CARD_I_NONE, BUS_PCM, CHIP_DSP,
541 		1, 2,   0,   8,   0
542 	},
543 	{ /* 35 (OEM version of 7 - "Diva PRO 2.0 S/T PCI") */
544 		"BT ExLane PCI",     0xe101,  0x0200,
545 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_POTS,
546 		CARD_PRO,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
547 		1, 2,   0,   8,   0
548 	},
549 	{ /* 36 (OEM version of 29 - "Diva PRO 2.0 S/T ISA") */
550 		"BT ExLane ISA",     0x1061,  0x0200,
551 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_POTS,
552 		CARD_PRO,   CARD_I_NONE, BUS_ISA, CHIP_DSP,
553 		1, 2,   0,   8,   0
554 	},
555 	{ /* 37 */
556 		"Diva 2.01 S/T ISA",    0x00A1,  0x0300,
557 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
558 		CARD_DIVALOW,  CARD_I_NONE, BUS_ISA, CHIP_IPAC,
559 		1, 2,   0,   8,      0
560 	},
561 	{ /* 38 */
562 		"Diva 2.01 U ISA",     0x00B1,  0x0300,
563 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
564 		CARD_DIVALOW,  CARD_I_NONE, BUS_ISA, CHIP_IPAC,
565 		1, 2,   0,   8,      0
566 	},
567 	{ /* 39 */
568 		"Diva 2.01 S/T PCI",    0xe005,  0x0300,
569 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
570 		CARD_DIVALOW,  CARD_I_NONE, BUS_PCI, CHIP_IPAC,
571 		1, 2,   0,   8,   0
572 	},
573 	{ /* 40        no ID yet */
574 		"Diva 2.01 U PCI",     0x0000,  0x0300,
575 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
576 		CARD_DIVALOW,  CARD_I_NONE, BUS_PCI, CHIP_IPAC,
577 		1, 2,   0,   8,   0
578 	},
579 	{ /* 41 */
580 		"Diva MOBILE V.90",     0x0000,  0x0100,
581 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
582 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_HSCX,
583 		1, 2,  0,   8,   0
584 	},
585 	{ /* 42 */
586 		"TDK DFI3600 V.90",     0x0000,  0x0100,
587 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
588 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_HSCX,
589 		1, 2,  0,   8,   0
590 	},
591 	{ /* 43 */
592 		"Diva Server PRI-23M PCI",   0xe014,  0x0100,
593 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
594 		CARD_MAEP,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
595 		1, 30,  256,  8,   0
596 	},
597 	{ /* 44 */
598 		"Diva 2.01 S/T USB",    0x1000,     0x0300,
599 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
600 		CARD_DIVALOW,  CARD_I_NONE, BUS_USB, CHIP_IPAC,
601 		1,  2,  0,  8,   0
602 	},
603 	{ /* 45 */
604 		"Diva CT S/T PCI",    0xe006,  0x0300,
605 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
606 		CARD_CT,       CARD_I_NONE, BUS_PCI, CHIP_DSP,
607 		1,  2,  0,  0,   0
608 	},
609 	{ /* 46 */
610 		"Diva CT U PCI",     0xe007,  0x0300,
611 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
612 		CARD_CT,       CARD_I_NONE, BUS_PCI, CHIP_DSP,
613 		1,  2,  0,  0,   0
614 	},
615 	{ /* 47 */
616 		"Diva CT Lite S/T PCI",   0xe008,  0x0300,
617 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
618 		CARD_CT,       CARD_I_NONE, BUS_PCI, CHIP_DSP,
619 		1,  2,  0,  0,   0
620 	},
621 	{ /* 48 */
622 		"Diva CT Lite U PCI",   0xe009,  0x0300,
623 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
624 		CARD_CT,       CARD_I_NONE, BUS_PCI, CHIP_DSP,
625 		1,  2,  0,  0,   0
626 	},
627 	{ /* 49 */
628 		"Diva ISDN+V.90 PC Card", 0x8D8C, 0x0100,
629 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
630 		CARD_DIVALOW, CARD_I_NONE, BUS_PCM, CHIP_IPAC,
631 		1, 2,  0,   8,   0
632 	},
633 	{ /* 50 */
634 		"Diva ISDN+V.90 PCI",    0xe00A,  0x0100,
635 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120  | SOFT_DSP_ADD_FEATURES,
636 		CARD_DIVALOW,  CARD_I_NONE, BUS_PCI, CHIP_IPAC,
637 		1, 2,   0,   8,   0
638 	},
639 	{ /* 51 (DivaTA)      no ID */
640 		"Diva TA",       0x0000,  0x0300,
641 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V110 | DI_FAX3 | SOFT_DSP_ADD_FEATURES,
642 		CARD_DIVATA,  CARD_I_NONE, BUS_COM, CHIP_EXTERN,
643 		1, 1,   0,   8,   0
644 	},
645 	{ /* 52 (Diva Server 4BRI-8M PCI adapter enabled for Voice) */
646 		"Diva Server Voice 4BRI-8M PCI", 0xE016,  0x0100,
647 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_VOICE_OVER_IP,
648 		CARD_MAEQ,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
649 		4, 2,   16,  8,   0
650 	},
651 	{ /* 53 (Diva Server 4BRI 2.0 adapter) */
652 		"Diva Server 4BRI-8M 2.0 PCI",  0xE013,  0x0200,
653 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
654 		CARD_MAEQ,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
655 		4, 2,   16,  8,   0
656 	},
657 	{ /* 54 (Diva Server PRI 2.0 adapter) */
658 		"Diva Server PRI 2.0 PCI",   0xE015,  0x0200,
659 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
660 		CARD_MAEP,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
661 		1, 30,  256,  8,   0
662 	},
663 	{ /* 55 (Diva Server 4BRI-8M 2.0 PCI adapter enabled for Voice) */
664 		"Diva Server Voice 4BRI-8M 2.0 PCI", 0xE017,  0x0200,
665 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_VOICE_OVER_IP,
666 		CARD_MAEQ,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
667 		4, 2,   16,  8,   0
668 	},
669 	{ /* 56 (Diva Server PRI 2.0 PCI adapter enabled for Voice) */
670 		"Diva Server Voice PRI 2.0 PCI",  0xE019,  0x0200,
671 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_VOICE_OVER_IP,
672 		CARD_MAEP,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
673 		1, 30,  256,  8,   0
674 	},
675 	{
676 		/* 57 (DivaLan )      no ID */
677 		"Diva LAN",       0x0000,  0x0300,
678 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V110 | DI_FAX3 | SOFT_DSP_ADD_FEATURES,
679 		CARD_DIVALAN,  CARD_I_NONE, BUS_LAN, CHIP_EXTERN,
680 		1, 1,   0,   8,   0
681 	},
682 	{ /* 58 */
683 		"Diva 2.02 PCI S/T",    0xE00B,  0x0300,
684 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES | DI_SOFT_V110,
685 		CARD_DIVALOW,  CARD_I_NONE, BUS_PCI, CHIP_IPACX,
686 		1, 2,   0,   8,   0
687 	},
688 	{ /* 59 */
689 		"Diva 2.02 PCI U",     0xE00C,  0x0300,
690 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
691 		CARD_DIVALOW,  CARD_I_NONE, BUS_PCI, CHIP_IPACX,
692 		1, 2,   0,   8,   0
693 	},
694 	{ /* 60 */
695 		"Diva Server BRI-2M 2.0 PCI",     0xE018,  0x0200,
696 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM,
697 		CARD_MAE2,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
698 		1, 2,   16,  8,   0
699 	},
700 	{ /* 61  (the previous name was Diva Server BRI-2F 2.0 PCI) */
701 		"Diva Server 2FX",                      0xE01A,     0x0200,
702 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_SOFT_V110,
703 		CARD_MAE2,          CARD_I_NONE,    BUS_PCI,    CHIP_IPACX,
704 		1,  2,      16,     8,   0
705 	},
706 	{ /* 62 */
707 		" Diva ISDN USB 2.0",    0x1003,     0x0300,
708 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
709 		CARD_DIVALOW,  CARD_I_NONE, BUS_USB, CHIP_IPACX,
710 		1, 2,  0,  8,   0
711 	},
712 	{ /* 63 (Diva Server BRI-2M 2.0 PCI adapter enabled for Voice) */
713 		"Diva Server Voice BRI-2M 2.0 PCI", 0xE01B,  0x0200,
714 		IDI_ADAPTER_MAESTRA, FAMILY_MAESTRA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_VOICE_OVER_IP,
715 		CARD_MAE2,   CARD_I_NONE, BUS_PCI, CHIP_DSP,
716 		1, 2,   16,  8,   0
717 	},
718 	{ /* 64 */
719 		"Diva Pro 3.0 PCI",    0xe00d,  0x0300,
720 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM,
721 		CARD_PRO,       CARD_I_NONE, BUS_PCI, CHIP_DSP,
722 		1,  2,  0,  0,   0
723 	},
724 	{ /* 65 */
725 		"Diva ISDN + CT 2.0",    0xE00E,  0x0300,
726 		IDI_ADAPTER_DIVA   , FAMILY_DIVA, DI_V1x0 | DI_FAX3 | DI_MODEM | DI_CODEC,
727 		CARD_CT,       CARD_I_NONE, BUS_PCI, CHIP_DSP,
728 		1,  2,  0,  0,   0
729 	},
730 	{ /* 66 */
731 		"Diva Mobile V.90 PC Card",  0x8331,  0x0100,
732 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
733 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_IPACX,
734 		1, 2,  0,   8,   0
735 	},
736 	{ /* 67 */
737 		"Diva ISDN PC Card",  0x8311,  0x0100,
738 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
739 		CARD_PICO,   CARD_I_NONE, BUS_PCM, CHIP_IPACX,
740 		1, 2,  0,   8,   0
741 	},
742 	{ /* 68 */
743 		"Diva ISDN PC Card",  0x0000,  0x0100,
744 		IDI_ADAPTER_DIVA, FAMILY_DIVA, DI_V120 | SOFT_DSP_ADD_FEATURES,
745 		CARD_PRO,   CARD_I_NONE, BUS_PCM, CHIP_DSP,
746 		1, 2,   0,   8,      0
747 	},
748 };
749 #if CARDTYPE_H_WANT_RESOURCE_DATA
750 /*--- CardResource [Index=CARDTYPE_....]   ---------------------------(GEI)-*/
751 CARD_RESOURCE CardResource[] = {
752 /*   Interrupts     IO-Address   Mem-Address */
753 	/* 0*/ {  3,4,9,0,0,0,0,0,0,0,   0x200,0x20,16,   0x0,0x0,0   }, // DIVA MCA
754 	/* 1*/ {  3,4,9,10,11,12,0,0,0,0,  0x200,0x20,16,   0x0,0x0,0   }, // DIVA ISA
755 	/* 2*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA PCMCIA
756 	/* 3*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,   0x0,0x0,0   }, // DIVA PRO ISA
757 	/* 4*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA PRO PCMCIA
758 	/* 5*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // DIVA PICCOLA ISA
759 	/* 6*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA PICCOLA PCMCIA
760 	/* 7*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA PRO 2.0 PCI
761 	/* 8*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 2.0 PCI
762 	/* 9*/ {  3,4,5,7,9,10,11,12,0,0,  0x0,0x0,0,   0x80000,0x2000,64 }, // QUADRO ISA
763 	/*10*/ {  3,4,9,10,11,12,0,0,0,0,  0x0,0x0,0,   0xc0000,0x2000,16 }, // S ISA
764 	/*11*/ {  3,4,9,0,0,0,0,0,0,0,  0xc00,0x10,16,  0xc0000,0x2000,16 }, // S MCA
765 	/*12*/ {  3,4,9,10,11,12,0,0,0,0,  0x0,0x0,0,   0xc0000,0x2000,16 }, // SX ISA
766 	/*13*/ {  3,4,9,0,0,0,0,0,0,0,  0xc00,0x10,16,  0xc0000,0x2000,16 }, // SX MCA
767 	/*14*/ {  3,4,5,7,9,10,11,12,0,0,  0x0,0x0,0,   0x80000,0x0800,256 }, // SXN ISA
768 	/*15*/ {  3,4,9,0,0,0,0,0,0,0,  0xc00,0x10,16,  0xc0000,0x2000,16 }, // SXN MCA
769 	/*16*/ {  3,4,5,7,9,10,11,12,0,0,  0x0,0x0,0,   0x80000,0x0800,256 }, // SCOM ISA
770 	/*17*/ {  3,4,9,0,0,0,0,0,0,0,  0xc00,0x10,16,  0xc0000,0x2000,16 }, // SCOM MCA
771 	/*18*/ {  3,4,5,7,9,10,11,12,0,0,  0x0,0x0,0,   0xc0000,0x4000,16 }, // S2M ISA
772 	/*19*/ {  3,4,9,0,0,0,0,0,0,0,  0xc00,0x10,16,  0xc0000,0x4000,16 }, // S2M MCA
773 	/*20*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // MAESTRA ISA
774 	/*21*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // MAESTRA PCI
775 	/*22*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // MAESTRA QUADRO ISA
776 	/*23*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x20,2048,  0x0,0x0,0   }, // MAESTRA QUADRO PCI
777 	/*24*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // MAESTRA PRIMARY ISA
778 	/*25*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // MAESTRA PRIMARY PCI
779 	/*26*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // DIVA 2.0 ISA
780 	/*27*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // DIVA 2.0 /U ISA
781 	/*28*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 2.0 /U PCI
782 	/*29*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,   0x0,0x0,0   }, // DIVA PRO 2.0 ISA
783 	/*30*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,   0x0,0x0,0   }, // DIVA PRO 2.0 /U ISA
784 	/*31*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA PRO 2.0 /U PCI
785 	/*32*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA MOBILE
786 	/*33*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // TDK DFI3600 (same as DIVA MOBILE [32])
787 	/*34*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // New Media ISDN (same as DIVA PRO PCMCIA [4])
788 	/*35*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // BT ExLane PCI (same as DIVA PRO 2.0 PCI [7])
789 	/*36*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,   0x0,0x0,0   }, // BT ExLane ISA (same as DIVA PRO 2.0 ISA [29])
790 	/*37*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // DIVA 2.01 S/T ISA
791 	/*38*/ {  3,5,7,9,10,11,12,14,15,0, 0x200,0x20,16,  0x0,0x0,0   }, // DIVA 2.01 U ISA
792 	/*39*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 2.01 S/T PCI
793 	/*40*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 2.01 U PCI
794 	/*41*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA MOBILE V.90
795 	/*42*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // TDK DFI3600 V.90 (same as DIVA MOBILE V.90 [39])
796 	/*43*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x20,2048,  0x0,0x0,0   }, // DIVA Server PRI-23M PCI
797 	/*44*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA 2.01 S/T USB
798 	/*45*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA CT S/T PCI
799 	/*46*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA CT U PCI
800 	/*47*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA CT Lite S/T PCI
801 	/*48*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA CT Lite U PCI
802 	/*49*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA ISDN+V.90 PC Card
803 	/*50*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA ISDN+V.90 PCI
804 	/*51*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA TA
805 	/*52*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x20,2048,  0x0,0x0,0   }, // MAESTRA VOICE QUADRO PCI
806 	/*53*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x20,2048,  0x0,0x0,0   }, // MAESTRA VOICE QUADRO PCI
807 	/*54*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // MAESTRA VOICE PRIMARY PCI
808 	/*55*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x20,2048,  0x0,0x0,0   }, // MAESTRA VOICE QUADRO PCI
809 	/*56*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // MAESTRA VOICE PRIMARY PCI
810 	/*57*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA LAN
811 	/*58*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 2.02 S/T PCI
812 	/*59*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 2.02 U PCI
813 	/*60*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // Diva Server BRI-2M 2.0 PCI
814 	/*61*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // Diva Server BRI-2F PCI
815 	/*62*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA 2.01 S/T USB
816 	/*63*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // Diva Server Voice BRI-2M 2.0 PCI
817 	/*64*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA 3.0 PCI
818 	/*65*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA CT S/T PCI V2.0
819 	/*66*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA Mobile V.90 PC Card
820 	/*67*/ {  0,0,0,0,0,0,0,0,0,0,  0x0,0x0,0,   0x0,0x0,0   }, // DIVA ISDN PC Card
821 	/*68*/ {  3,4,5,7,9,10,11,12,14,15, 0x0,0x8,8192,  0x0,0x0,0   }, // DIVA ISDN PC Card
822 };
823 #endif /*CARDTYPE_H_WANT_RESOURCE_DATA*/
824 #else /*!CARDTYPE_H_WANT_DATA*/
825 extern CARD_PROPERTIES  CardProperties[];
826 extern CARD_RESOURCE  CardResource[];
827 #endif /*CARDTYPE_H_WANT_DATA*/
828 /*
829  * all existing download files
830  */
831 #define CARD_DSP_CNT  5
832 #define CARD_PROT_CNT  9
833 #define CARD_FT_UNKNOWN     0
834 #define CARD_FT_B   1
835 #define CARD_FT_D   2
836 #define CARD_FT_S   3
837 #define CARD_FT_M   4
838 #define CARD_FT_NEW_DSP_COMBIFILE 5  /* File format of new DSP code (the DSP code powered by Telindus) */
839 #define CARD_FILE_NONE      0
840 #define CARD_B_S   1
841 #define CARD_B_P   2
842 #define CARD_D_K1   3
843 #define CARD_D_K2   4
844 #define CARD_D_H   5
845 #define CARD_D_V   6
846 #define CARD_D_M   7
847 #define CARD_D_F   8
848 #define CARD_P_S_E   9
849 #define CARD_P_S_1   10
850 #define CARD_P_S_B   11
851 #define CARD_P_S_F   12
852 #define CARD_P_S_A   13
853 #define CARD_P_S_N   14
854 #define CARD_P_S_5   15
855 #define CARD_P_S_J   16
856 #define CARD_P_SX_E   17
857 #define CARD_P_SX_1   18
858 #define CARD_P_SX_B   19
859 #define CARD_P_SX_F   20
860 #define CARD_P_SX_A   21
861 #define CARD_P_SX_N   22
862 #define CARD_P_SX_5   23
863 #define CARD_P_SX_J   24
864 #define CARD_P_SY_E   25
865 #define CARD_P_SY_1   26
866 #define CARD_P_SY_B   27
867 #define CARD_P_SY_F   28
868 #define CARD_P_SY_A   29
869 #define CARD_P_SY_N   30
870 #define CARD_P_SY_5   31
871 #define CARD_P_SY_J   32
872 #define CARD_P_SQ_E   33
873 #define CARD_P_SQ_1   34
874 #define CARD_P_SQ_B   35
875 #define CARD_P_SQ_F   36
876 #define CARD_P_SQ_A   37
877 #define CARD_P_SQ_N   38
878 #define CARD_P_SQ_5   39
879 #define CARD_P_SQ_J   40
880 #define CARD_P_P_E   41
881 #define CARD_P_P_1   42
882 #define CARD_P_P_B   43
883 #define CARD_P_P_F   44
884 #define CARD_P_P_A   45
885 #define CARD_P_P_N   46
886 #define CARD_P_P_5   47
887 #define CARD_P_P_J   48
888 #define CARD_P_M_E   49
889 #define CARD_P_M_1   50
890 #define CARD_P_M_B   51
891 #define CARD_P_M_F   52
892 #define CARD_P_M_A   53
893 #define CARD_P_M_N   54
894 #define CARD_P_M_5   55
895 #define CARD_P_M_J   56
896 #define CARD_P_S_S   57
897 #define CARD_P_SX_S   58
898 #define CARD_P_SY_S   59
899 #define CARD_P_SQ_S   60
900 #define CARD_P_P_S   61
901 #define CARD_P_M_S   62
902 #define CARD_D_NEW_DSP_COMBIFILE 63
903 typedef struct CARD_FILES_DATA
904 {
905 	char *Name;
906 	unsigned char  Type;
907 }
908 	CARD_FILES_DATA;
909 typedef struct CARD_FILES
910 {
911 	unsigned char  Boot;
912 	unsigned char  Dsp[CARD_DSP_CNT];
913 	unsigned char  DspTelindus;
914 	unsigned char  Prot[CARD_PROT_CNT];
915 }
916 	CARD_FILES;
917 #if CARDTYPE_H_WANT_DATA
918 #if CARDTYPE_H_WANT_FILE_DATA
919 CARD_FILES_DATA CardFData[] = {
920 // Filename   Filetype
921 	0,     CARD_FT_UNKNOWN,
922 	"didnload.bin",  CARD_FT_B,
923 	"diprload.bin",  CARD_FT_B,
924 	"didiva.bin",  CARD_FT_D,
925 	"didivapp.bin",  CARD_FT_D,
926 	"dihscx.bin",  CARD_FT_D,
927 	"div110.bin",  CARD_FT_D,
928 	"dimodem.bin",  CARD_FT_D,
929 	"difax.bin",  CARD_FT_D,
930 	"di_etsi.bin",  CARD_FT_S,
931 	"di_1tr6.bin",  CARD_FT_S,
932 	"di_belg.bin",  CARD_FT_S,
933 	"di_franc.bin",  CARD_FT_S,
934 	"di_atel.bin",  CARD_FT_S,
935 	"di_ni.bin",  CARD_FT_S,
936 	"di_5ess.bin",  CARD_FT_S,
937 	"di_japan.bin",  CARD_FT_S,
938 	"di_etsi.sx",  CARD_FT_S,
939 	"di_1tr6.sx",  CARD_FT_S,
940 	"di_belg.sx",  CARD_FT_S,
941 	"di_franc.sx",  CARD_FT_S,
942 	"di_atel.sx",  CARD_FT_S,
943 	"di_ni.sx",   CARD_FT_S,
944 	"di_5ess.sx",  CARD_FT_S,
945 	"di_japan.sx",  CARD_FT_S,
946 	"di_etsi.sy",  CARD_FT_S,
947 	"di_1tr6.sy",  CARD_FT_S,
948 	"di_belg.sy",  CARD_FT_S,
949 	"di_franc.sy",  CARD_FT_S,
950 	"di_atel.sy",  CARD_FT_S,
951 	"di_ni.sy",   CARD_FT_S,
952 	"di_5ess.sy",  CARD_FT_S,
953 	"di_japan.sy",  CARD_FT_S,
954 	"di_etsi.sq",  CARD_FT_S,
955 	"di_1tr6.sq",  CARD_FT_S,
956 	"di_belg.sq",  CARD_FT_S,
957 	"di_franc.sq",  CARD_FT_S,
958 	"di_atel.sq",  CARD_FT_S,
959 	"di_ni.sq",   CARD_FT_S,
960 	"di_5ess.sq",  CARD_FT_S,
961 	"di_japan.sq",  CARD_FT_S,
962 	"di_etsi.p",  CARD_FT_S,
963 	"di_1tr6.p",  CARD_FT_S,
964 	"di_belg.p",  CARD_FT_S,
965 	"di_franc.p",  CARD_FT_S,
966 	"di_atel.p",  CARD_FT_S,
967 	"di_ni.p",   CARD_FT_S,
968 	"di_5ess.p",  CARD_FT_S,
969 	"di_japan.p",  CARD_FT_S,
970 	"di_etsi.sm",  CARD_FT_M,
971 	"di_1tr6.sm",  CARD_FT_M,
972 	"di_belg.sm",  CARD_FT_M,
973 	"di_franc.sm",  CARD_FT_M,
974 	"di_atel.sm",  CARD_FT_M,
975 	"di_ni.sm",   CARD_FT_M,
976 	"di_5ess.sm",  CARD_FT_M,
977 	"di_japan.sm",  CARD_FT_M,
978 	"di_swed.bin",  CARD_FT_S,
979 	"di_swed.sx",  CARD_FT_S,
980 	"di_swed.sy",  CARD_FT_S,
981 	"di_swed.sq",  CARD_FT_S,
982 	"di_swed.p",  CARD_FT_S,
983 	"di_swed.sm",  CARD_FT_M,
984 	"didspdld.bin",     CARD_FT_NEW_DSP_COMBIFILE
985 };
986 CARD_FILES CardFiles[] =
987 {
988 	{ /* CARD_UNKNOWN */
989 		CARD_FILE_NONE,
990 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
991 		CARD_FILE_NONE,
992 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
993 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
994 		CARD_FILE_NONE
995 	},
996 	{ /* CARD_DIVA */
997 		CARD_FILE_NONE,
998 		CARD_D_K1, CARD_D_H, CARD_D_V, CARD_FILE_NONE, CARD_D_F,
999 		CARD_D_NEW_DSP_COMBIFILE,
1000 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1001 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1002 		CARD_FILE_NONE
1003 	},
1004 	{ /* CARD_PRO  */
1005 		CARD_FILE_NONE,
1006 		CARD_D_K2, CARD_D_H, CARD_D_V, CARD_D_M, CARD_D_F,
1007 		CARD_D_NEW_DSP_COMBIFILE,
1008 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1009 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1010 		CARD_FILE_NONE
1011 	},
1012 	{ /* CARD_PICO */
1013 		CARD_FILE_NONE,
1014 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1015 		CARD_FILE_NONE,
1016 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1017 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1018 		CARD_FILE_NONE
1019 	},
1020 	{ /* CARD_S    */
1021 		CARD_B_S,
1022 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1023 		CARD_FILE_NONE,
1024 		CARD_P_S_E, CARD_P_S_1, CARD_P_S_B, CARD_P_S_F,
1025 		CARD_P_S_A, CARD_P_S_N, CARD_P_S_5, CARD_P_S_J,
1026 		CARD_P_S_S
1027 	},
1028 	{ /* CARD_SX   */
1029 		CARD_B_S,
1030 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1031 		CARD_FILE_NONE,
1032 		CARD_P_SX_E, CARD_P_SX_1, CARD_P_SX_B, CARD_P_SX_F,
1033 		CARD_P_SX_A, CARD_P_SX_N, CARD_P_SX_5, CARD_P_SX_J,
1034 		CARD_P_SX_S
1035 	},
1036 	{ /* CARD_SXN  */
1037 		CARD_B_S,
1038 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1039 		CARD_FILE_NONE,
1040 		CARD_P_SY_E, CARD_P_SY_1, CARD_P_SY_B, CARD_P_SY_F,
1041 		CARD_P_SY_A, CARD_P_SY_N, CARD_P_SY_5, CARD_P_SY_J,
1042 		CARD_P_SY_S
1043 	},
1044 	{ /* CARD_SCOM */
1045 		CARD_B_S,
1046 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1047 		CARD_FILE_NONE,
1048 		CARD_P_SY_E, CARD_P_SY_1, CARD_P_SY_B, CARD_P_SY_F,
1049 		CARD_P_SY_A, CARD_P_SY_N, CARD_P_SY_5, CARD_P_SY_J,
1050 		CARD_P_SY_S
1051 	},
1052 	{ /* CARD_QUAD */
1053 		CARD_B_S,
1054 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1055 		CARD_FILE_NONE,
1056 		CARD_P_SQ_E, CARD_P_SQ_1, CARD_P_SQ_B, CARD_P_SQ_F,
1057 		CARD_P_SQ_A, CARD_P_SQ_N, CARD_P_SQ_5, CARD_P_SQ_J,
1058 		CARD_P_SQ_S
1059 	},
1060 	{ /* CARD_PR   */
1061 		CARD_B_P,
1062 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1063 		CARD_FILE_NONE,
1064 		CARD_P_P_E, CARD_P_P_1, CARD_P_P_B, CARD_P_P_F,
1065 		CARD_P_P_A, CARD_P_P_N, CARD_P_P_5, CARD_P_P_J,
1066 		CARD_P_P_S
1067 	},
1068 	{ /* CARD_MAE  */
1069 		CARD_FILE_NONE,
1070 		CARD_D_K2, CARD_D_H, CARD_D_V, CARD_D_M, CARD_D_F,
1071 		CARD_D_NEW_DSP_COMBIFILE,
1072 		CARD_P_M_E, CARD_P_M_1, CARD_P_M_B, CARD_P_M_F,
1073 		CARD_P_M_A, CARD_P_M_N, CARD_P_M_5, CARD_P_M_J,
1074 		CARD_P_M_S
1075 	},
1076 	{ /* CARD_MAEQ */  /* currently not supported */
1077 		CARD_FILE_NONE,
1078 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1079 		CARD_FILE_NONE,
1080 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1081 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1082 		CARD_FILE_NONE
1083 	},
1084 	{ /* CARD_MAEP */  /* currently not supported */
1085 		CARD_FILE_NONE,
1086 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1087 		CARD_FILE_NONE,
1088 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1089 		CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE, CARD_FILE_NONE,
1090 		CARD_FILE_NONE
1091 	}
1092 };
1093 #endif /*CARDTYPE_H_WANT_FILE_DATA*/
1094 #else /*!CARDTYPE_H_WANT_DATA*/
1095 extern CARD_FILES_DATA  CardFData[];
1096 extern CARD_FILES   CardFiles[];
1097 #endif /*CARDTYPE_H_WANT_DATA*/
1098 #endif /* _CARDTYPE_H_ */
1099