1 /* $NetBSD: pucdata.c,v 1.25 2001/12/16 22:23:01 thorpej Exp $ */
4 * Copyright (c) 1998, 1999 Christopher G. Demetriou. All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
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
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.
33 #include <sys/cdefs.h>
34 __FBSDID("$FreeBSD$");
37 * PCI "universal" communications card driver configuration data (used to
38 * match/attach the cards).
41 #include <sys/param.h>
43 #if __FreeBSD_version < 500000
44 #include <pci/pcireg.h>
45 #include <pci/pcivar.h>
46 #include <isa/sioreg.h>
48 #include <dev/pci/pcireg.h>
49 #include <dev/pci/pcivar.h>
50 #include <dev/sio/sioreg.h>
52 #include <dev/puc/pucvar.h>
54 #define COM_FREQ DEFAULT_RCLK
56 const struct puc_device_description puc_devices[] = {
58 * XXX no entry because I have no data:
59 * XXX Dolphin Peripherals 4006 (single parallel)
63 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with
64 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
65 * into the subsystem fields, and claims that it's a
66 * network/misc (0x02/0x80) device.
68 { "Dolphin Peripherals 4014",
69 { 0x10b5, 0x9050, 0xd84d, 0x6810 },
70 { 0xffff, 0xffff, 0xffff, 0xffff },
72 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
73 { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
78 * XXX Dolphin Peripherals 4025 (single serial)
79 * (clashes with Dolphin Peripherals 4036 (2s variant)
83 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with
84 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
85 * into the subsystem fields, and claims that it's a
86 * network/misc (0x02/0x80) device.
88 { "Dolphin Peripherals 4035",
89 { 0x10b5, 0x9050, 0xd84d, 0x6808 },
90 { 0xffff, 0xffff, 0xffff, 0xffff },
92 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
93 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
98 * Dolphin Peripherals 4036 (dual serial port) card.
99 * (Dolpin 4025 has the same ID but only one port)
101 { "Dolphin Peripherals 4036",
102 { 0x1409, 0x7168, 0x0, 0x0 },
103 { 0xffff, 0xffff, 0x0, 0x0 },
105 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
106 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
111 * XXX no entry because I have no data:
112 * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
119 * SIIG provides documentation for their boards at:
120 * <URL:http://www.siig.com/driver.htm>
122 * Please excuse the weird ordering, it's the order they
123 * use in their documentation.
127 * SIIG "10x" family boards.
130 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
131 { "SIIG Cyber Serial PCI 16C550 (10x family)",
132 { 0x131f, 0x1000, 0, 0 },
133 { 0xffff, 0xffff, 0, 0 },
135 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
139 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
140 { "SIIG Cyber Serial PCI 16C650 (10x family)",
141 { 0x131f, 0x1001, 0, 0 },
142 { 0xffff, 0xffff, 0, 0 },
144 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
148 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
149 { "SIIG Cyber Serial PCI 16C850 (10x family)",
150 { 0x131f, 0x1002, 0, 0 },
151 { 0xffff, 0xffff, 0, 0 },
153 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
157 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
158 { "SIIG Cyber I/O PCI 16C550 (10x family)",
159 { 0x131f, 0x1010, 0, 0 },
160 { 0xffff, 0xffff, 0, 0 },
162 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
163 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
167 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
168 { "SIIG Cyber I/O PCI 16C650 (10x family)",
169 { 0x131f, 0x1011, 0, 0 },
170 { 0xffff, 0xffff, 0, 0 },
172 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
173 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
177 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
178 { "SIIG Cyber I/O PCI 16C850 (10x family)",
179 { 0x131f, 0x1012, 0, 0 },
180 { 0xffff, 0xffff, 0, 0 },
182 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
183 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
187 /* SIIG Cyber Parallel PCI (10x family): 1P */
188 { "SIIG Cyber Parallel PCI (10x family)",
189 { 0x131f, 0x1020, 0, 0 },
190 { 0xffff, 0xffff, 0, 0 },
192 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
196 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
197 { "SIIG Cyber Parallel Dual PCI (10x family)",
198 { 0x131f, 0x1021, 0, 0 },
199 { 0xffff, 0xffff, 0, 0 },
201 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
202 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
206 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
207 { "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
208 { 0x131f, 0x1030, 0, 0 },
209 { 0xffff, 0xffff, 0, 0 },
211 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
212 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
216 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
217 { "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
218 { 0x131f, 0x1031, 0, 0 },
219 { 0xffff, 0xffff, 0, 0 },
221 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
222 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
226 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
227 { "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
228 { 0x131f, 0x1032, 0, 0 },
229 { 0xffff, 0xffff, 0, 0 },
231 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
232 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
236 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
237 { "SIIG Cyber 2S1P PCI 16C550 (10x family)",
238 { 0x131f, 0x1034, 0, 0 }, /* XXX really? */
239 { 0xffff, 0xffff, 0, 0 },
241 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
242 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
243 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
247 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
248 { "SIIG Cyber 2S1P PCI 16C650 (10x family)",
249 { 0x131f, 0x1035, 0, 0 }, /* XXX really? */
250 { 0xffff, 0xffff, 0, 0 },
252 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
253 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
254 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
258 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
259 { "SIIG Cyber 2S1P PCI 16C850 (10x family)",
260 { 0x131f, 0x1036, 0, 0 }, /* XXX really? */
261 { 0xffff, 0xffff, 0, 0 },
263 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
264 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
265 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
269 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
270 { "SIIG Cyber 4S PCI 16C550 (10x family)",
271 { 0x131f, 0x1050, 0, 0 },
272 { 0xffff, 0xffff, 0, 0 },
274 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
275 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
276 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
277 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
281 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
282 { "SIIG Cyber 4S PCI 16C650 (10x family)",
283 { 0x131f, 0x1051, 0, 0 },
284 { 0xffff, 0xffff, 0, 0 },
286 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
287 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
288 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
289 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
293 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
294 { "SIIG Cyber 4S PCI 16C850 (10x family)",
295 { 0x131f, 0x1052, 0, 0 },
296 { 0xffff, 0xffff, 0, 0 },
298 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
299 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
300 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
301 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
306 * SIIG "20x" family boards.
309 /* SIIG Cyber Parallel PCI (20x family): 1P */
310 { "SIIG Cyber Parallel PCI (20x family)",
311 { 0x131f, 0x2020, 0, 0 },
312 { 0xffff, 0xffff, 0, 0 },
314 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
318 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
319 { "SIIG Cyber Parallel Dual PCI (20x family)",
320 { 0x131f, 0x2021, 0, 0 },
321 { 0xffff, 0xffff, 0, 0 },
323 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
324 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
328 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
329 { "SIIG Cyber 2P1S PCI 16C550 (20x family)",
330 { 0x131f, 0x2040, 0, 0 },
331 { 0xffff, 0xffff, 0, 0 },
333 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
334 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
335 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
339 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
340 { "SIIG Cyber 2P1S PCI 16C650 (20x family)",
341 { 0x131f, 0x2041, 0, 0 },
342 { 0xffff, 0xffff, 0, 0 },
344 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
345 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
346 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
350 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
351 { "SIIG Cyber 2P1S PCI 16C850 (20x family)",
352 { 0x131f, 0x2042, 0, 0 },
353 { 0xffff, 0xffff, 0, 0 },
355 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
356 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
357 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
361 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
362 { "SIIG Cyber Serial PCI 16C550 (20x family)",
363 { 0x131f, 0x2000, 0, 0 },
364 { 0xffff, 0xffff, 0, 0 },
366 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
370 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
371 { "SIIG Cyber Serial PCI 16C650 (20x family)",
372 { 0x131f, 0x2001, 0, 0 },
373 { 0xffff, 0xffff, 0, 0 },
375 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
379 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
380 { "SIIG Cyber Serial PCI 16C850 (20x family)",
381 { 0x131f, 0x2002, 0, 0 },
382 { 0xffff, 0xffff, 0, 0 },
384 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
388 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
389 { "SIIG Cyber I/O PCI 16C550 (20x family)",
390 { 0x131f, 0x2010, 0, 0 },
391 { 0xffff, 0xffff, 0, 0 },
393 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
394 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
398 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
399 { "SIIG Cyber I/O PCI 16C650 (20x family)",
400 { 0x131f, 0x2011, 0, 0 },
401 { 0xffff, 0xffff, 0, 0 },
403 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
404 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
408 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
409 { "SIIG Cyber I/O PCI 16C850 (20x family)",
410 { 0x131f, 0x2012, 0, 0 },
411 { 0xffff, 0xffff, 0, 0 },
413 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
414 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
418 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
419 { "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
420 { 0x131f, 0x2030, 0, 0 },
421 { 0xffff, 0xffff, 0, 0 },
423 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
424 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
428 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
429 { "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
430 { 0x131f, 0x2031, 0, 0 },
431 { 0xffff, 0xffff, 0, 0 },
433 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
434 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
438 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
439 { "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
440 { 0x131f, 0x2032, 0, 0 },
441 { 0xffff, 0xffff, 0, 0 },
443 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
444 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
448 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
449 { "SIIG Cyber 2S1P PCI 16C550 (20x family)",
450 { 0x131f, 0x2060, 0, 0 },
451 { 0xffff, 0xffff, 0, 0 },
453 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
454 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
455 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
459 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
460 { "SIIG Cyber 2S1P PCI 16C650 (20x family)",
461 { 0x131f, 0x2061, 0, 0 },
462 { 0xffff, 0xffff, 0, 0 },
464 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
465 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
466 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
470 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
471 { "SIIG Cyber 2S1P PCI 16C850 (20x family)",
472 { 0x131f, 0x2062, 0, 0 },
473 { 0xffff, 0xffff, 0, 0 },
475 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
476 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
477 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
481 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
482 { "SIIG Cyber 4S PCI 16C550 (20x family)",
483 { 0x131f, 0x2050, 0, 0 },
484 { 0xffff, 0xffff, 0, 0 },
486 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
487 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
488 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
489 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
493 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
494 { "SIIG Cyber 4S PCI 16C650 (20x family)",
495 { 0x131f, 0x2051, 0, 0 },
496 { 0xffff, 0xffff, 0, 0 },
498 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
499 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
500 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
501 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
505 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
506 { "SIIG Cyber 4S PCI 16C850 (20x family)",
507 { 0x131f, 0x2052, 0, 0 },
508 { 0xffff, 0xffff, 0, 0 },
510 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
511 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
512 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
513 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
517 /* VScom PCI-400: 4S */
519 { 0x10b5, 0x1077, 0x10b5, 0x1077 },
520 { 0xffff, 0xffff, 0xffff, 0xffff },
522 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
523 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
524 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
525 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
529 /* VScom PCI-800: 8S */
531 { 0x10b5, 0x1076, 0x10b5, 0x1076 },
532 { 0xffff, 0xffff, 0xffff, 0xffff },
534 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
535 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
536 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
537 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
538 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
539 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
540 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
541 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
545 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
546 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
547 * device ID 3 and PCI device 1 device ID 4.
550 { 0x14d2, 0xa003, 0, 0 },
551 { 0xffff, 0xffff, 0, 0 },
553 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
554 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
555 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
556 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
560 { 0x14d2, 0xa004, 0, 0 },
561 { 0xffff, 0xffff, 0, 0 },
563 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
564 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
565 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
566 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
570 { 0x14d2, 0xa005, 0, 0 },
571 { 0xffff, 0xffff, 0, 0 },
573 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
574 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
578 /* NEC PK-UG-X001 K56flex PCI Modem card.
579 NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
580 { "NEC PK-UG-X001 K56flex PCI Modem",
581 { 0x1033, 0x0074, 0x1033, 0x8014 },
582 { 0xffff, 0xffff, 0xffff, 0xffff },
584 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
590 { 0x1033, 0x007d, 0x1033, 0x8012 },
591 { 0xffff, 0xffff, 0xffff, 0xffff },
593 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
597 /* Lava Computers 2SP-PCI */
598 { "Lava Computers 2SP-PCI parallel port",
599 { 0x1407, 0x8000, 0, 0 },
600 { 0xffff, 0xffff, 0, 0 },
602 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
606 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
607 { "Lava Computers dual serial port",
608 { 0x1407, 0x0100, 0, 0 },
609 { 0xffff, 0xfffc, 0, 0 },
611 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
612 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
616 /* Lava Computers DSerial PCI serial ports */
617 { "Lava Computers serial port",
618 { 0x1407, 0x0110, 0, 0 },
619 { 0xffff, 0xfffc, 0, 0 },
621 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
625 /* Lava Computers Octopus-550 serial ports */
626 { "Lava Computers Octopus-550 8-port serial",
627 { 0x1407, 0x0180, 0, 0 },
628 { 0xffff, 0xfffc, 0, 0 },
630 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
631 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
632 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
633 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
637 /* US Robotics (3Com) PCI Modems */
638 { "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
639 { 0x12b9, 0x1008, 0, 0 },
640 { 0xffff, 0xffff, 0, 0 },
642 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
646 /* Actiontec 56K PCI Master */
647 { "Actiontec 56K PCI Master",
648 { 0x11c1, 0x0480, 0x0, 0x0 },
649 { 0xffff, 0xffff, 0x0, 0x0 },
651 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
656 * Boards with an Oxford Semiconductor chip.
658 * Oxford Semiconductor provides documentation for their chip at:
659 * <URL:http://www.oxsemi.com/products/uarts/index.html>
661 * As sold by Kouwell <URL:http://www.kouwell.com/>.
662 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
665 /* Oxford Semiconductor OX16PCI954 PCI UARTs */
666 { "Qxford Semiconductor OX16PCI954 UARTs",
667 { 0x1415, 0x9501, 0, 0 },
668 { 0xffff, 0xffff, 0, 0 },
670 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
671 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
672 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
673 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
677 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
678 { "Qxford Semiconductor OX16PCI954 Parallel port",
679 { 0x1415, 0x9513, 0, 0 },
680 { 0xffff, 0xffff, 0, 0 },
682 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
686 /* NetMos 2S1P PCI 16C650 : 2S, 1P */
687 { "NetMos NM9835 Dual UART and 1284 Printer port",
688 { 0x9710, 0x9835, 0, 0 },
689 { 0xffff, 0xffff, 0, 0 },
691 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
692 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
693 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
698 * This is the Middle Digital, Inc. PCI-Weasel, which
699 * uses a PCI interface implemented in FPGA.
701 { "Middle Digital, Inc. Weasel serial port",
702 { 0xdeaf, 0x9051, 0, 0 },
703 { 0xffff, 0xffff, 0, 0 },
705 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
709 /* SD-LAB PCI I/O Card 4S2P */
710 { "Syba Tech Ltd. PCI-4S2P-550-ECP",
711 { 0x1592, 0x0781, 0, 0 },
712 { 0xffff, 0xffff, 0, 0 },
714 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
715 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
716 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
717 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
718 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
719 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
723 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
724 { "Moxa Technologies, Industio CP-114",
725 { 0x1393, 0x1141, 0, 0 },
726 { 0xffff, 0xffff, 0, 0, },
728 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
729 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
730 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
731 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
735 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
736 { "Moxa Technologies, C168H/PCI",
737 { 0x1393, 0x1680, 0, 0 },
738 { 0xffff, 0xffff, 0, 0, },
740 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
741 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
742 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
743 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
744 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
745 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
746 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
747 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
751 { "Avlab Technology, PCI IO 2S",
752 { 0x14db, 0x2130, 0, 0 },
753 { 0xffff, 0xffff, 0, 0 },
755 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
756 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },