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