]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/puc/pucdata.c
This commit was generated by cvs2svn to compensate for changes in r92111,
[FreeBSD/FreeBSD.git] / sys / dev / puc / pucdata.c
1 /*      $NetBSD: pucdata.c,v 1.25 2001/12/16 22:23:01 thorpej Exp $     */
2
3 /*
4  * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. All advertising materials mentioning features or use of this software
15  *    must display the following acknowledgement:
16  *      This product includes software developed by Christopher G. Demetriou
17  *      for the NetBSD Project.
18  * 4. The name of the author may not be used to endorse or promote products
19  *    derived from this software without specific prior written permission
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 #include <sys/cdefs.h>
34 __FBSDID("$FreeBSD$");
35
36 /*
37  * PCI "universal" communications card driver configuration data (used to
38  * match/attach the cards).
39  */
40
41 #include <sys/param.h>
42
43 #include <dev/pci/pcireg.h>
44 #include <dev/pci/pcivar.h>
45 #include <dev/sio/sioreg.h>
46 #include <dev/puc/pucvar.h>
47
48 #define COM_FREQ        DEFAULT_RCLK
49
50 const struct puc_device_description puc_devices[] = {
51         /*
52          * XXX no entry because I have no data:
53          * XXX Dolphin Peripherals 4006 (single parallel)
54          */
55
56         /*
57          * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
58          * a seemingly-lame EEPROM setup that puts the Dolphin IDs
59          * into the subsystem fields, and claims that it's a
60          * network/misc (0x02/0x80) device.
61          */
62         {   "Dolphin Peripherals 4014",
63             {   0x10b5, 0x9050, 0xd84d, 0x6810  },
64             {   0xffff, 0xffff, 0xffff, 0xffff  },
65             {
66                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
67                 { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
68             },
69         },
70
71         /*
72          * XXX Dolphin Peripherals 4025 (single serial)
73          * (clashes with Dolphin Peripherals  4036 (2s variant)
74          */
75
76         /*
77          * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
78          * a seemingly-lame EEPROM setup that puts the Dolphin IDs
79          * into the subsystem fields, and claims that it's a
80          * network/misc (0x02/0x80) device.
81          */
82         {   "Dolphin Peripherals 4035",
83             {   0x10b5, 0x9050, 0xd84d, 0x6808  },
84             {   0xffff, 0xffff, 0xffff, 0xffff  },
85             {
86                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
87                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
88             },
89         },
90
91         /*
92          * Dolphin Peripherals 4036 (dual serial port) card.
93          * (Dolpin 4025 has the same ID but only one port)
94          */
95         {   "Dolphin Peripherals 4036",
96             {   0x1409, 0x7168, 0x0,    0x0     },
97             {   0xffff, 0xffff, 0x0,    0x0     },
98             {
99                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
100                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
101             },
102         },
103
104         /*
105          * XXX no entry because I have no data:
106          * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
107          */
108
109
110         /*
111          * SIIG Boards.
112          *
113          * SIIG provides documentation for their boards at:
114          * <URL:http://www.siig.com/driver.htm>
115          *
116          * Please excuse the weird ordering, it's the order they
117          * use in their documentation.
118          */
119
120         /*
121          * SIIG "10x" family boards.
122          */
123
124         /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
125         {   "SIIG Cyber Serial PCI 16C550 (10x family)",
126             {   0x131f, 0x1000, 0,      0       },
127             {   0xffff, 0xffff, 0,      0       },
128             {
129                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
130             },
131         },
132
133         /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
134         {   "SIIG Cyber Serial PCI 16C650 (10x family)",
135             {   0x131f, 0x1001, 0,      0       },
136             {   0xffff, 0xffff, 0,      0       },
137             {
138                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
139             },
140         },
141
142         /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
143         {   "SIIG Cyber Serial PCI 16C850 (10x family)",
144             {   0x131f, 0x1002, 0,      0       },
145             {   0xffff, 0xffff, 0,      0       },
146             {
147                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
148             },
149         },
150
151         /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
152         {   "SIIG Cyber I/O PCI 16C550 (10x family)",
153             {   0x131f, 0x1010, 0,      0       },
154             {   0xffff, 0xffff, 0,      0       },
155             {
156                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
157                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
158             },
159         },
160
161         /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
162         {   "SIIG Cyber I/O PCI 16C650 (10x family)",
163             {   0x131f, 0x1011, 0,      0       },
164             {   0xffff, 0xffff, 0,      0       },
165             {
166                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
167                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
168             },
169         },
170
171         /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
172         {   "SIIG Cyber I/O PCI 16C850 (10x family)",
173             {   0x131f, 0x1012, 0,      0       },
174             {   0xffff, 0xffff, 0,      0       },
175             {
176                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
177                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
178             },
179         },
180
181         /* SIIG Cyber Parallel PCI (10x family): 1P */
182         {   "SIIG Cyber Parallel PCI (10x family)",
183             {   0x131f, 0x1020, 0,      0       },
184             {   0xffff, 0xffff, 0,      0       },
185             {
186                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
187             },
188         },
189
190         /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
191         {   "SIIG Cyber Parallel Dual PCI (10x family)",
192             {   0x131f, 0x1021, 0,      0       },
193             {   0xffff, 0xffff, 0,      0       },
194             {
195                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
196                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
197             },
198         },
199
200         /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
201         {   "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
202             {   0x131f, 0x1030, 0,      0       },
203             {   0xffff, 0xffff, 0,      0       },
204             {
205                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
206                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
207             },
208         },
209
210         /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
211         {   "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
212             {   0x131f, 0x1031, 0,      0       },
213             {   0xffff, 0xffff, 0,      0       },
214             {
215                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
216                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
217             },
218         },
219
220         /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
221         {   "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
222             {   0x131f, 0x1032, 0,      0       },
223             {   0xffff, 0xffff, 0,      0       },
224             {
225                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
226                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
227             },
228         },
229
230         /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
231         {   "SIIG Cyber 2S1P PCI 16C550 (10x family)",
232             {   0x131f, 0x1034, 0,      0       },      /* XXX really? */
233             {   0xffff, 0xffff, 0,      0       },
234             {
235                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
236                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
237                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
238             },
239         },
240
241         /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
242         {   "SIIG Cyber 2S1P PCI 16C650 (10x family)",
243             {   0x131f, 0x1035, 0,      0       },      /* XXX really? */
244             {   0xffff, 0xffff, 0,      0       },
245             {
246                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
247                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
248                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
249             },
250         },
251
252         /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
253         {   "SIIG Cyber 2S1P PCI 16C850 (10x family)",
254             {   0x131f, 0x1036, 0,      0       },      /* XXX really? */
255             {   0xffff, 0xffff, 0,      0       },
256             {
257                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
258                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
259                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
260             },
261         },
262
263         /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
264         {   "SIIG Cyber 4S PCI 16C550 (10x family)",
265             {   0x131f, 0x1050, 0,      0       },
266             {   0xffff, 0xffff, 0,      0       },
267             {
268                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
269                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
270                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
271                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
272             },
273         },
274
275         /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
276         {   "SIIG Cyber 4S PCI 16C650 (10x family)",
277             {   0x131f, 0x1051, 0,      0       },
278             {   0xffff, 0xffff, 0,      0       },
279             {
280                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
281                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
282                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
283                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
284             },
285         },
286
287         /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
288         {   "SIIG Cyber 4S PCI 16C850 (10x family)",
289             {   0x131f, 0x1052, 0,      0       },
290             {   0xffff, 0xffff, 0,      0       },
291             {
292                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
293                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
294                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
295                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
296             },
297         },
298
299         /*
300          * SIIG "20x" family boards.
301          */
302
303         /* SIIG Cyber Parallel PCI (20x family): 1P */
304         {   "SIIG Cyber Parallel PCI (20x family)",
305             {   0x131f, 0x2020, 0,      0       },
306             {   0xffff, 0xffff, 0,      0       },
307             {
308                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
309             },
310         },
311
312         /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
313         {   "SIIG Cyber Parallel Dual PCI (20x family)",
314             {   0x131f, 0x2021, 0,      0       },
315             {   0xffff, 0xffff, 0,      0       },
316             {
317                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
318                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
319             },
320         },
321
322         /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
323         {   "SIIG Cyber 2P1S PCI 16C550 (20x family)",
324             {   0x131f, 0x2040, 0,      0       },
325             {   0xffff, 0xffff, 0,      0       },
326             {
327                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
328                 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
329                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
330             },
331         },
332
333         /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
334         {   "SIIG Cyber 2P1S PCI 16C650 (20x family)",
335             {   0x131f, 0x2041, 0,      0       },
336             {   0xffff, 0xffff, 0,      0       },
337             {
338                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
339                 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
340                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
341             },
342         },
343
344         /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
345         {   "SIIG Cyber 2P1S PCI 16C850 (20x family)",
346             {   0x131f, 0x2042, 0,      0       },
347             {   0xffff, 0xffff, 0,      0       },
348             {
349                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
350                 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
351                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
352             },
353         },
354
355         /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
356         {   "SIIG Cyber Serial PCI 16C550 (20x family)",
357             {   0x131f, 0x2000, 0,      0       },
358             {   0xffff, 0xffff, 0,      0       },
359             {
360                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
361             },
362         },
363
364         /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
365         {   "SIIG Cyber Serial PCI 16C650 (20x family)",
366             {   0x131f, 0x2001, 0,      0       },
367             {   0xffff, 0xffff, 0,      0       },
368             {
369                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
370             },
371         },
372
373         /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
374         {   "SIIG Cyber Serial PCI 16C850 (20x family)",
375             {   0x131f, 0x2002, 0,      0       },
376             {   0xffff, 0xffff, 0,      0       },
377             {
378                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
379             },
380         },
381
382         /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
383         {   "SIIG Cyber I/O PCI 16C550 (20x family)",
384             {   0x131f, 0x2010, 0,      0       },
385             {   0xffff, 0xffff, 0,      0       },
386             {
387                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
388                 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
389             },
390         },
391
392         /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
393         {   "SIIG Cyber I/O PCI 16C650 (20x family)",
394             {   0x131f, 0x2011, 0,      0       },
395             {   0xffff, 0xffff, 0,      0       },
396             {
397                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
398                 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
399             },
400         },
401
402         /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
403         {   "SIIG Cyber I/O PCI 16C850 (20x family)",
404             {   0x131f, 0x2012, 0,      0       },
405             {   0xffff, 0xffff, 0,      0       },
406             {
407                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
408                 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
409             },
410         },
411
412         /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
413         {   "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
414             {   0x131f, 0x2030, 0,      0       },
415             {   0xffff, 0xffff, 0,      0       },
416             {
417                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
418                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
419             },
420         },
421
422         /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
423         {   "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
424             {   0x131f, 0x2031, 0,      0       },
425             {   0xffff, 0xffff, 0,      0       },
426             {
427                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
428                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
429             },
430         },
431
432         /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
433         {   "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
434             {   0x131f, 0x2032, 0,      0       },
435             {   0xffff, 0xffff, 0,      0       },
436             {
437                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
438                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
439             },
440         },
441
442         /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
443         {   "SIIG Cyber 2S1P PCI 16C550 (20x family)",
444             {   0x131f, 0x2060, 0,      0       },
445             {   0xffff, 0xffff, 0,      0       },
446             {
447                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
448                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
449                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
450             },
451         },
452
453         /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
454         {   "SIIG Cyber 2S1P PCI 16C650 (20x family)",
455             {   0x131f, 0x2061, 0,      0       },
456             {   0xffff, 0xffff, 0,      0       },
457             {
458                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
459                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
460                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
461             },
462         },
463
464         /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
465         {   "SIIG Cyber 2S1P PCI 16C850 (20x family)",
466             {   0x131f, 0x2062, 0,      0       },
467             {   0xffff, 0xffff, 0,      0       },
468             {
469                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
470                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
471                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
472             },
473         },
474
475         /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
476         {   "SIIG Cyber 4S PCI 16C550 (20x family)",
477             {   0x131f, 0x2050, 0,      0       },
478             {   0xffff, 0xffff, 0,      0       },
479             {
480                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
481                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
482                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
483                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
484             },
485         },
486
487         /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
488         {   "SIIG Cyber 4S PCI 16C650 (20x family)",
489             {   0x131f, 0x2051, 0,      0       },
490             {   0xffff, 0xffff, 0,      0       },
491             {
492                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
493                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
494                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
495                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
496             },
497         },
498
499         /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
500         {   "SIIG Cyber 4S PCI 16C850 (20x family)",
501             {   0x131f, 0x2052, 0,      0       },
502             {   0xffff, 0xffff, 0,      0       },
503             {
504                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
505                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
506                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
507                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
508             },
509         },
510
511         /* VScom PCI-400: 4S */
512         {   "VScom PCI-400",
513             {   0x10b5, 0x1077, 0x10b5, 0x1077  },
514             {   0xffff, 0xffff, 0xffff, 0xffff  },
515             {
516                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
517                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
518                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
519                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
520             },
521         },
522
523         /* VScom PCI-800: 8S */
524         {   "VScom PCI-800",
525             {   0x10b5, 0x1076, 0x10b5, 0x1076  },
526             {   0xffff, 0xffff, 0xffff, 0xffff  },
527             {
528                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
529                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
530                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
531                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
532                 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
533                 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
534                 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
535                 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
536             },
537         },
538         /*
539          * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
540          * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
541          * device ID 3 and PCI device 1 device ID 4.
542          */
543         {   "Titan PCI-800H",
544             {   0x14d2, 0xa003, 0,      0       },
545             {   0xffff, 0xffff, 0,      0       },
546             {
547                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
548                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
549                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
550                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
551             },
552         },
553         {   "Titan PCI-800H",
554             {   0x14d2, 0xa004, 0,      0       },
555             {   0xffff, 0xffff, 0,      0       },
556             {
557                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
558                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
559                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
560                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
561             },
562         },
563         {   "Titan PCI-200H",
564             {   0x14d2, 0xa005, 0,      0       },
565             {   0xffff, 0xffff, 0,      0       },
566             {
567                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
568                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
569             },
570         },
571
572         /* NEC PK-UG-X001 K56flex PCI Modem card.
573            NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
574         {   "NEC PK-UG-X001 K56flex PCI Modem",
575             {   0x1033, 0x0074, 0x1033, 0x8014  },
576             {   0xffff, 0xffff, 0xffff, 0xffff  },
577             {
578                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
579             },
580         },
581
582         /* NEC PK-UG-X008 */
583         {   "NEC PK-UG-X008",
584             {   0x1033, 0x007d, 0x1033, 0x8012  },
585             {   0xffff, 0xffff, 0xffff, 0xffff  },
586             {
587                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
588             },
589         },
590
591         /* Lava Computers 2SP-PCI */
592         {   "Lava Computers 2SP-PCI parallel port",
593             {   0x1407, 0x8000, 0,      0       },
594             {   0xffff, 0xffff, 0,      0       },
595             {
596                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
597             },
598         },
599
600         /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
601         {   "Lava Computers dual serial port",
602             {   0x1407, 0x0100, 0,      0       },
603             {   0xffff, 0xfffc, 0,      0       },
604             {
605                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
606                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
607             },
608         },
609
610         /* Lava Computers DSerial PCI serial ports */
611         {   "Lava Computers serial port",
612             {   0x1407, 0x0110, 0,      0       },
613             {   0xffff, 0xfffc, 0,      0       },
614             {
615                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
616             },
617         },
618
619         /* Lava Computers Octopus-550 serial ports */
620         {   "Lava Computers Octopus-550 8-port serial",
621             {   0x1407, 0x0180, 0,      0       },
622             {   0xffff, 0xfffc, 0,      0       },
623             {
624                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
625                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
626                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
627                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
628             },
629         },
630
631         /* US Robotics (3Com) PCI Modems */
632         {   "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
633             {   0x12b9, 0x1008, 0,      0       },
634             {   0xffff, 0xffff, 0,      0       },
635             {
636                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
637             },
638         },
639
640         /* Actiontec  56K PCI Master */
641         {   "Actiontec 56K PCI Master",
642             {   0x11c1, 0x0480, 0x0,    0x0     },
643             {   0xffff, 0xffff, 0x0,    0x0     },
644             {
645                 { PUC_PORT_TYPE_COM,    0x14,   0x00, COM_FREQ },
646             },
647         },
648
649         /*
650          * Boards with an Oxford Semiconductor chip.
651          *
652          * Oxford Semiconductor provides documentation for their chip at:
653          * <URL:http://www.oxsemi.com/products/uarts/index.html>
654          *
655          * As sold by Kouwell <URL:http://www.kouwell.com/>.
656          * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
657          */
658
659         /* Oxford Semiconductor OX16PCI954 PCI UARTs */
660         {   "Qxford Semiconductor OX16PCI954 UARTs",
661             {   0x1415, 0x9501, 0,      0       },
662             {   0xffff, 0xffff, 0,      0       },
663             {
664                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
665                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
666                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
667                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
668             },
669         },
670
671         /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
672         {   "Qxford Semiconductor OX16PCI954 Parallel port",
673             {   0x1415, 0x9513, 0,      0       },
674             {   0xffff, 0xffff, 0,      0       },
675             {
676                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
677             },
678         },
679
680         /* NetMos 2S1P PCI 16C650 : 2S, 1P */
681         {   "NetMos NM9835 Dual UART and 1284 Printer port",
682             {   0x9710, 0x9835, 0,      0       },
683             {   0xffff, 0xffff, 0,      0       },
684             {
685                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
686                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
687                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
688             },
689         },
690
691         /*
692          * This is the Middle Digital, Inc. PCI-Weasel, which
693          * uses a PCI interface implemented in FPGA.
694          */
695         {   "Middle Digital, Inc. Weasel serial port",
696             {   0xdeaf, 0x9051, 0,      0       },
697             {   0xffff, 0xffff, 0,      0       },
698             {
699                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
700             },
701         },
702
703         /* SD-LAB PCI I/O Card 4S2P */
704         {   "Syba Tech Ltd. PCI-4S2P-550-ECP",
705             {   0x1592, 0x0781, 0,      0       },
706             {   0xffff, 0xffff, 0,      0       },
707             {
708                 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
709                 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
710                 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
711                 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
712                 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
713                 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
714             },
715         },
716
717         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
718         {   "Moxa Technologies, Industio CP-114",
719             {   0x1393, 0x1141, 0,      0       },
720             {   0xffff, 0xffff, 0,      0,      },
721             {
722                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
723                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
724                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
725                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
726             },
727         },
728
729         /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
730         {   "Moxa Technologies, C168H/PCI",
731             {   0x1393, 0x1680, 0,      0       },
732             {   0xffff, 0xffff, 0,      0,      },
733             {
734                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
735                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
736                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
737                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
738                 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
739                 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
740                 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
741                 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
742             },
743         },
744
745         {   "Avlab Technology, PCI IO 2S",
746             {   0x14db, 0x2130, 0,      0       },
747             {   0xffff, 0xffff, 0,      0       },
748             {
749                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
750                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
751             },
752         },
753
754         { 0 }
755 };