pucdata.c revision 1.67 1 /* $NetBSD: pucdata.c,v 1.67 2010/07/11 00:11:05 mrg 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 /*
34 * PCI "universal" communications card driver configuration data (used to
35 * match/attach the cards).
36 */
37
38 #include <sys/cdefs.h>
39 __KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.67 2010/07/11 00:11:05 mrg Exp $");
40
41 #include <sys/param.h>
42 #include <sys/systm.h>
43 #include <sys/device.h>
44
45 #include <dev/pci/pcidevs.h>
46 #include <dev/pci/pcireg.h>
47 #include <dev/pci/pcivar.h>
48 #include <dev/pci/pucvar.h>
49 #include <dev/ic/comreg.h>
50
51 const struct puc_device_description puc_devices[] = {
52 /*
53 * Advantech multi serial cards
54 */
55 { "Advantech PCI-1610 UARTs",
56 { PCI_VENDOR_ADVANTECH, PCI_PRODUCT_ADVANTECH_PCI1600,
57 PCI_PRODUCT_ADVANTECH_PCI1610, 0x0 },
58 { 0xffff, 0xffff, 0xffff, 0x0 },
59 {
60 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
61 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
62 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
63 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
64 },
65 },
66
67 { "Advantech PCI-1612 UARTs",
68 { PCI_VENDOR_ADVANTECH, PCI_PRODUCT_ADVANTECH_PCI1600,
69 PCI_PRODUCT_ADVANTECH_PCI1612, 0x0 },
70 { 0xffff, 0xffff, 0xffff, 0x0 },
71 {
72 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
73 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
74 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
75 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
76 },
77 },
78
79 /* The use of subvendor ID is bit strange... */
80 { "Advantech PCI-1620 (1-4) UARTs",
81 { PCI_VENDOR_ADVANTECH, PCI_PRODUCT_ADVANTECH_PCI1600,
82 PCI_PRODUCT_ADVANTECH_PCI1620, 0x0 },
83 { 0xffff, 0xffff, 0xffff, 0x0 },
84 {
85 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
86 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
87 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
88 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
89 },
90 },
91
92 /* The use of subvendor ID is bit strange... */
93 { "Advantech PCI-1620 (5-8) UARTs",
94 { PCI_VENDOR_ADVANTECH, PCI_PRODUCT_ADVANTECH_PCI1620_1,
95 PCI_PRODUCT_ADVANTECH_PCI1620, 0x0 },
96 { 0xffff, 0xffff, 0xffff, 0x0 },
97 {
98 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 2 },
99 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 2 },
100 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 2 },
101 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 2 },
102 },
103 },
104
105 /*
106 * Addi-Data APCI-7800 8-port serial card.
107 * Uses an AMCC chip as PCI bridge.
108 */
109 { "Addi-Data APCI-7800",
110 { PCI_VENDOR_AMCIRCUITS, 0x818e, 0, 0 },
111 { 0xffff, 0xffff, 0, 0 },
112 {
113 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
114 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ },
115 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
116 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
117 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
118 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
119 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
120 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
121 },
122 },
123
124 /* Avlab Technology, Inc. PCI 2 Serial: 2S */
125 { "Avlab PCI 2 Serial",
126 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S, 0, 0 },
127 { 0xffff, 0xffff, 0, 0 },
128 {
129 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
130 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
131 },
132 },
133
134 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
135 { "Avlab Low Profile PCI 4 Serial",
136 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 },
137 { 0xffff, 0xffff, 0, 0 },
138 {
139 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
140 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
141 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
142 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
143 },
144 },
145
146 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
147 { "Avlab Low Profile PCI 4 Serial",
148 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2, 0, 0 },
149 { 0xffff, 0xffff, 0, 0 },
150 {
151 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
152 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
153 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
154 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
155 },
156 },
157
158 /*
159 * B&B Electronics MIPort Serial cards.
160 */
161 { "BBELEC ISOLATED_2_PORT",
162 { PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_2_PORT, 0, 0 },
163 { 0xffff, 0xffff, 0, 0 },
164 {
165 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
166 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
167 },
168 },
169 { "BBELEC ISOLATED_4_PORT",
170 { PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_4_PORT, 0, 0 },
171 { 0xffff, 0xffff, 0, 0 },
172 {
173 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
174 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
175 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
176 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
177 },
178 },
179 { "BBELEC ISOLATED_8_PORT",
180 { PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_8_PORT, 0, 0 },
181 { 0xffff, 0xffff, 0, 0 },
182 {
183 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
184 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
185 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
186 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
187 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
188 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
189 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
190 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
191 },
192 },
193
194 /*
195 * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
196 */
197 /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
198 { "Decision Computer Inc PCCOM 2 Port RS232/422/485",
199 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2, 0x0, 0x0 },
200 { 0xffff, 0xffff, 0x0, 0x0 },
201 {
202 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
203 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ},
204 },
205 },
206
207 /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
208 { "Decision Computer Inc PCCOM 4 Port RS232/422/485",
209 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4, 0x0, 0x0 },
210 { 0xffff, 0xffff, 0x0, 0x0 },
211 {
212 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
213 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ},
214 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ},
215 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ},
216 },
217 },
218
219 /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
220 { "Decision Computer Inc PCCOM 8 Port RS232/422/485",
221 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8, 0x0, 0x0 },
222 { 0xffff, 0xffff, 0x0, 0x0 },
223 {
224 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
225 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ},
226 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ},
227 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ},
228 { PUC_PORT_TYPE_COM, 0x1c, 0x20, COM_FREQ},
229 { PUC_PORT_TYPE_COM, 0x1c, 0x28, COM_FREQ},
230 { PUC_PORT_TYPE_COM, 0x1c, 0x30, COM_FREQ},
231 { PUC_PORT_TYPE_COM, 0x1c, 0x38, COM_FREQ},
232 },
233 },
234
235 /* Digi International Digi Neo 4 Serial */
236 { "Digi International Digi Neo 4 Serial",
237 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 },
238 { 0xffff, 0xffff, 0, 0 },
239 {
240 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
241 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
242 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
243 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
244 },
245 },
246
247 /* Digi International Digi Neo 8 Serial */
248 { "Digi International Digi Neo 8 Serial",
249 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8, 0, 0 },
250 { 0xffff, 0xffff, 0, 0 },
251 {
252 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
253 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
254 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
255 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
256 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
257 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
258 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
259 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
260 },
261 },
262
263 { "EXAR XR17D152",
264 { PCI_VENDOR_EXAR, 0x0152, 0, 0 },
265 { 0xffff, 0xffff, 0, 0 },
266 {
267 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
268 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
269 },
270 },
271 { "EXAR XR17D154",
272 { PCI_VENDOR_EXAR, 0x0154, 0, 0 },
273 { 0xffff, 0xffff, 0, 0 },
274 {
275 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
276 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
277 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
278 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
279 },
280 },
281
282 /*
283 * Multi-Tech ISI5634PCI/4 4-port modem board.
284 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its
285 * config EEPROM.
286 */
287 { "Multi-Tech ISI5634PCI/4",
288 { PCI_VENDOR_EXAR, 0x0158, 0x2205, 0x2003 },
289 { 0xffff, 0xffff, 0xffff, 0xffff },
290 {
291 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
292 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
293 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
294 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
295 },
296 },
297
298 { "EXAR XR17D158",
299 { PCI_VENDOR_EXAR, 0x0158, 0, 0 },
300 { 0xffff, 0xffff, 0, 0 },
301 {
302 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
303 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
304 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
305 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
306 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
307 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
308 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
309 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
310 },
311 },
312
313 /* IBM SurePOS 300 Series (481033H) serial ports */
314 { "IBM SurePOS 300 Series (481033H)",
315 { PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC, 0, 0 },
316 { 0xffff, 0xffff, 0, 0 },
317 {
318 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, /* Port C */
319 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, /* Port D */
320 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, /* Port E */
321 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, /* Port F */
322 },
323 },
324
325 /* I-O DATA RSA-PCI: 2S */
326 { "I-O DATA RSA-PCI 2-port serial",
327 { PCI_VENDOR_IODATA, 0x0007, 0, 0 },
328 { 0xffff, 0xffff, 0, 0 },
329 {
330 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
331 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
332 },
333 },
334
335 /* Lava Computers 2SP-PCI */
336 { "Lava Computers 2SP-PCI parallel port",
337 { PCI_VENDOR_LAVA, 0x8000, 0, 0 },
338 { 0xffff, 0xffff, 0, 0 },
339 {
340 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
341 },
342 },
343
344 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
345 { "Lava Computers dual serial port",
346 { PCI_VENDOR_LAVA, 0x0100, 0, 0 },
347 { 0xffff, 0xfffc, 0, 0 },
348 {
349 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
350 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
351 },
352 },
353
354 /* Lava Computers DSerial PCI serial ports */
355 { "Lava Computers serial port",
356 { PCI_VENDOR_LAVA, 0x0110, 0, 0 },
357 { 0xffff, 0xfffc, 0, 0 },
358 {
359 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
360 },
361 },
362
363 /* Lava Computers Quattro-PCI serial ports */
364 { "Lava Quattro-PCI 4-port serial",
365 { PCI_VENDOR_LAVA, 0x0120, 0, 0 },
366 { 0xffff, 0xfffc, 0, 0 },
367 {
368 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
369 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
370 },
371 },
372
373 /* Lava Computers Octopus-550 serial ports */
374 { "Lava Computers Octopus-550 8-port serial",
375 { PCI_VENDOR_LAVA, 0x0180, 0, 0 },
376 { 0xffff, 0xfffc, 0, 0 },
377 {
378 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
379 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
380 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
381 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
382 },
383 },
384
385 /* Actiontec 56K PCI Master */
386 { "Actiontec 56K PCI Master",
387 { PCI_VENDOR_LUCENT, 0x0480, 0x0, 0x0 },
388 { 0xffff, 0xffff, 0x0, 0x0 },
389 {
390 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
391 },
392 },
393
394 /*
395 * This is the Middle Digital, Inc. PCI-Weasel, which
396 * uses a PCI interface implemented in FPGA.
397 */
398 { "Middle Digital, Inc. Weasel serial port",
399 { PCI_VENDOR_MIDDLE_DIGITAL, 0x9051, 0, 0 },
400 { 0xffff, 0xffff, 0, 0 },
401 {
402 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
403 },
404 },
405
406 /* Moxa Technologies Co., Ltd. PCI I/O Card 2S RS232 */
407 { "Moxa Technologies, SmartIO CP-102/PCI",
408 { PCI_VENDOR_MOXA, 0x1022, 0, 0 },
409 { 0xffff, 0xffff, 0, 0 },
410 {
411 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
412 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
413 },
414 },
415
416 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
417 { "Moxa Technologies, SmartIO C104H/PCI",
418 { PCI_VENDOR_MOXA, 0x1040, 0, 0 },
419 { 0xffff, 0xffff, 0, 0 },
420 {
421 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
422 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
423 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
424 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
425 },
426 },
427
428 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
429 { "Moxa Technologies, SmartIO CP-104/PCI",
430 { PCI_VENDOR_MOXA, 0x1041, 0, 0 },
431 { 0xffff, 0xffff, 0, 0 },
432 {
433 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
434 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
435 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
436 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
437 },
438 },
439
440 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
441 { "Moxa Technologies, SmartIO CP-104-V2/PCI",
442 { PCI_VENDOR_MOXA, 0x1042, 0, 0 },
443 { 0xffff, 0xffff, 0, 0 },
444 {
445 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
446 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
447 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
448 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
449 },
450 },
451
452 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
453 { "Moxa Technologies, SmartIO CP-104-EL/PCIe",
454 { PCI_VENDOR_MOXA, 0x1043, 0, 0 },
455 { 0xffff, 0xffff, 0, 0 },
456 {
457 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
458 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
459 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
460 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
461 },
462 },
463
464 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
465 { "Moxa Technologies, SmartIO CP-114/PCI",
466 { PCI_VENDOR_MOXA, 0x1141, 0, 0 },
467 { 0xffff, 0xffff, 0, 0 },
468 {
469 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
470 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
471 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
472 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
473 },
474 },
475
476 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
477 { "Moxa Technologies, SmartIO C168H/PCI",
478 { PCI_VENDOR_MOXA, 0x1680, 0, 0 },
479 { 0xffff, 0xffff, 0, 0 },
480 {
481 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
482 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
483 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
484 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
485 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
486 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
487 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
488 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
489 },
490 },
491
492 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
493 { "Moxa Technologies, SmartIO C168U/PCI",
494 { PCI_VENDOR_MOXA, 0x1681, 0, 0 },
495 { 0xffff, 0xffff, 0, 0 },
496 {
497 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
498 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
499 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
500 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
501 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
502 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
503 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
504 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
505 },
506 },
507
508 /* Moxa Technologies Co., Ltd. PCI-Express I/O Card 8S RS232 */
509 { "Moxa Technologies, SmartIO C168EL/PCIe",
510 { PCI_VENDOR_MOXA, 0x1682, 0, 0 },
511 { 0xffff, 0xffff, 0, 0 },
512 {
513 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
514 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
515 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
516 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
517 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
518 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
519 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
520 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
521 },
522 },
523 /* Moxa Technologies Co., Ltd. PCI-Express I/O Card 8S RS232 */
524 { "Moxa Technologies, SmartIO CP-168EL-A/PCIe",
525 { PCI_VENDOR_MOXA, 0x1683, 0, 0 },
526 { 0xffff, 0xffff, 0, 0 },
527 {
528 { PUC_PORT_TYPE_COM, 0x14, 0x000, COM_FREQ * 8 },
529 { PUC_PORT_TYPE_COM, 0x14, 0x200, COM_FREQ * 8 },
530 { PUC_PORT_TYPE_COM, 0x14, 0x400, COM_FREQ * 8 },
531 { PUC_PORT_TYPE_COM, 0x14, 0x600, COM_FREQ * 8 },
532 { PUC_PORT_TYPE_COM, 0x14, 0x800, COM_FREQ * 8 },
533 { PUC_PORT_TYPE_COM, 0x14, 0xa00, COM_FREQ * 8 },
534 { PUC_PORT_TYPE_COM, 0x14, 0xc00, COM_FREQ * 8 },
535 { PUC_PORT_TYPE_COM, 0x14, 0xe00, COM_FREQ * 8 },
536 },
537 },
538
539 /* NEC PK-UG-X001 K56flex PCI Modem card.
540 NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
541 { "NEC PK-UG-X001 K56flex PCI Modem",
542 { PCI_VENDOR_NEC, 0x0074, PCI_VENDOR_NEC, 0x8014 },
543 { 0xffff, 0xffff, 0xffff, 0xffff },
544 {
545 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
546 },
547 },
548
549 /* NEC PK-UG-X008 */
550 { "NEC PK-UG-X008",
551 { PCI_VENDOR_NEC, 0x007d, PCI_VENDOR_NEC, 0x8012 },
552 { 0xffff, 0xffff, 0xffff, 0xffff },
553 {
554 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
555 },
556 },
557
558 /* NetMos 1P PCI : 1P */
559 { "NetMos NM9805 1284 Printer port",
560 { PCI_VENDOR_NETMOS, 0x9805, 0, 0 },
561 { 0xffff, 0xffff, 0, 0 },
562 {
563 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
564 },
565 },
566
567 /* NetMos 2P PCI : 2P */
568 { "NetMos NM9815 Dual 1284 Printer port",
569 { PCI_VENDOR_NETMOS, 0x9815, 0, 0 },
570 { 0xffff, 0xffff, 0, 0 },
571 {
572 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
573 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
574 },
575 },
576
577 /* NetMos 1S PCI NM9835 : 1S */
578 { "NetMos NM9835 UART",
579 { PCI_VENDOR_NETMOS, 0x9835, 0x1000, 0x0001 },
580 { 0xffff, 0xffff, 0xffff, 0xffff },
581 {
582 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
583 },
584 },
585
586 /* NetMos 2S PCI NM9835 : 2S */
587 { "NetMos NM9835 Dual UART",
588 { PCI_VENDOR_NETMOS, 0x9835, 0x1000, 0x0002 },
589 { 0xffff, 0xffff, 0xffff, 0xffff },
590 {
591 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
592 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
593 },
594 },
595
596 /* NetMos 2S1P PCI 16C650 : 2S, 1P */
597 { "NetMos NM9835 Dual UART and 1284 Printer port",
598 { PCI_VENDOR_NETMOS, 0x9835, 0, 0 },
599 { 0xffff, 0xffff, 0, 0 },
600 {
601 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
602 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
603 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
604 },
605 },
606
607 /* NetMos 4S0P PCI NM9845 : 4S, 0P */
608 { "NetMos NM9845 Quad UART",
609 { PCI_VENDOR_NETMOS, 0x9845, 0x1000, 0x0004 },
610 { 0xffff, 0xffff, 0xffff, 0xffff },
611 {
612 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
613 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
614 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
615 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
616 },
617 },
618
619 /* NetMos 4S1P PCI NM9845 : 4S, 1P */
620 { "NetMos NM9845 Quad UART and 1284 Printer port",
621 { PCI_VENDOR_NETMOS, 0x9845, 0x1000, 0x0014 },
622 { 0xffff, 0xffff, 0xffff, 0xffff },
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 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
629 },
630 },
631
632 /* NetMos 6S PCI 16C650 : 6S, 0P */
633 { "NetMos NM9845 6 UART",
634 { PCI_VENDOR_NETMOS, 0x9845, 0x1000, 0x0006 },
635 { 0xffff, 0xffff, 0xffff, 0xffff },
636 {
637 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
638 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
639 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
640 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
641 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
642 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
643 },
644 },
645
646 /* NetMos 4S1P PCI NM9845 : 4S, 1P */
647 { "NetMos NM9845 Quad UART and 1284 Printer port (unknown type)",
648 { PCI_VENDOR_NETMOS, 0x9845, 0, 0 },
649 { 0xffff, 0xffff, 0, 0 },
650 {
651 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
652 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
653 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
654 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
655 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
656 },
657 },
658
659 /* NetMos 4S1P PCI NM9855 : 4S, 1P */
660 { "NetMos NM9855 Quad UART and 1284 Printer port (unknown type)",
661 { PCI_VENDOR_NETMOS, 0x9855, 0x1000, 0x0014 },
662 { 0xffff, 0xffff, 0xffff, 0xffff },
663 {
664 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
665 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
666 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
667 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
668 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
669 },
670 },
671
672 /* NetMos 6S PCI NM9865 : 1S */
673 { "NetMos NM9865 1 UART",
674 { PCI_VENDOR_NETMOS, 0x9865, 0xa000, 0x1000 },
675 { 0xffff, 0xffff, 0xffff, 0xffff },
676 {
677 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
678 },
679 },
680
681 /* NetMos 6S PCI NM9865 : 4S */
682 { "NetMos NM9865 4 UART",
683 { PCI_VENDOR_NETMOS, 0x9865, 0xa000, 0x3004 },
684 { 0xffff, 0xffff, 0xffff, 0xffff },
685 {
686 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
687 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
688 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
689 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
690 },
691 },
692
693 /* NetMos PCIe Peripheral Controller :UART part */
694 { "NetMos NM9901 UART",
695 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x1000 },
696 { 0xffff, 0xffff, 0xffff, 0xffff },
697 {
698 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
699 },
700 },
701
702 /* NetMos PCIe NM9901 : 1P */
703 { "NetMos NM9901 LPT",
704 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x2000 },
705 { 0xffff, 0xffff, 0xffff, 0xffff },
706 {
707 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
708 },
709 },
710
711 /*
712 * Boards with an Oxford Semiconductor chip.
713 *
714 * Oxford Semiconductor provides documentation for their chip at:
715 * <URL:http://www.plxtech.com/products/uart>
716 *
717 * As sold by Kouwell <URL:http://www.kouwell.com/>.
718 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
719 */
720
721 /* Oxford Semiconductor OXmPCI952 PCI UARTs */
722 { "Oxford Semiconductor OXmPCI952 UARTs",
723 { PCI_VENDOR_OXFORDSEMI, 0x950a, 0, 0 },
724 { 0xffff, 0xffff, 0, 0 },
725 {
726 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
727 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
728 },
729 },
730
731 /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
732 { "Oxford Semiconductor OX16PCI952 UARTs",
733 { PCI_VENDOR_OXFORDSEMI, 0x9521, 0, 0 },
734 { 0xffff, 0xffff, 0, 0 },
735 {
736 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
737 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
738 },
739 },
740
741 /* Oxford Semiconductor OX16PCI952 PCI Parallel port */
742 { "Oxford Semiconductor OX16PCI952 Parallel port",
743 { PCI_VENDOR_OXFORDSEMI, 0x9523, 0, 0 },
744 { 0xffff, 0xffff, 0, 0 },
745 {
746 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
747 },
748 },
749
750 /* I-O DATA RSA-PCI2 four/eight(1-4) UARTs based on OX16PCI954 */
751 { "I-O DATA RSA-PCI2/P4 or P8 (1-4) UARTs",
752 { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_IODATA, 0xd007 },
753 { 0xffff, 0xffff, 0xffff, 0xffff },
754 {
755 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
756 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
757 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
758 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
759 },
760 },
761
762 /* OEM of Oxford Semiconductor PCI UARTs? */
763 { "SIIG Cyber 4 PCI 16550",
764 { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_SIIG, 0x2050 },
765 { 0xffff, 0xffff, 0xffff, 0xffff },
766 {
767 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
768 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
769 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
770 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
771 },
772 },
773
774 /* OEM of Oxford Semiconductor PCI UARTs? */
775 { "SIIG Cyber 4S PCI 16C650 (20x family)",
776 { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_SIIG, 0x2051 },
777 { 0xffff, 0xffff, 0xffff, 0xffff },
778 {
779 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
780 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
781 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
782 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
783 },
784 },
785
786 /* OEM of Oxford Semiconductor PCI UARTs? */
787 { "Avlab LP PCI 4S Quartet",
788 { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_AVLAB, 0x2150 },
789 { 0xffff, 0xffff, 0xffff, 0xffff },
790 {
791 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
792 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
793 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
794 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
795 },
796 },
797
798 /* Oxford Semiconductor OX16PCI954 PCI UARTs */
799 { "Oxford Semiconductor OX16PCI954 UARTs",
800 { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_OXFORDSEMI, 0 },
801 { 0xffff, 0xffff, 0xffff, 0 },
802 {
803 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
804 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
805 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8},
806 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8},
807 },
808 },
809
810 /* Oxford Semiconductor OX16PCI954 PCI UARTs (default for 0x9501) */
811 { "Oxford Semiconductor OX16PCI954 UARTs",
812 { PCI_VENDOR_OXFORDSEMI, 0x9501, 0, 0 },
813 { 0xffff, 0xffff, 0, 0 },
814 {
815 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
816 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ},
817 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ},
818 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ},
819 },
820 },
821
822 /* I-O DATA RSA-PCI2 eight(5-8) UARTs base on OX16PCI954 */
823 { "I-O DATA RSA-PCI2/P8 (5-8) UARTs",
824 { PCI_VENDOR_OXFORDSEMI, 0x9511, PCI_VENDOR_IODATA, 0xd007 },
825 { 0xffff, 0xffff, 0xffff, 0xffff },
826 {
827 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
828 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
829 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
830 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
831 },
832 },
833
834 /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */
835 { "Exsys EX-41098",
836 { PCI_VENDOR_OXFORDSEMI, 0x9511, PCI_VENDOR_SIIG, 0x2082 },
837 { 0xffff, 0xffff, 0xffff, 0xffff },
838 {
839 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10},
840 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10},
841 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10},
842 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10},
843 },
844 },
845
846 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
847 { "Oxford Semiconductor OX16PCI954 Parallel port",
848 { PCI_VENDOR_OXFORDSEMI, 0x9513, 0, 0 },
849 { 0xffff, 0xffff, 0, 0 },
850 {
851 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
852 },
853 },
854
855 /* Oxford Semiconductor OX16PCI958 UARTs */
856 { "Oxford Semiconductor OX16PCI958 UARTs",
857 { PCI_VENDOR_OXFORDSEMI, 0x9538, 0, 0 },
858 { 0xffff, 0xffff, 0, 0 },
859 {
860 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 10},
861 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 10},
862 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 10},
863 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 10},
864 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 10},
865 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 10},
866 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 10},
867 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 10},
868 },
869 },
870
871 /*
872 * XXX no entry because I have no data:
873 * XXX Dolphin Peripherals 4006 (single parallel)
874 */
875
876 /*
877 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with
878 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
879 * into the subsystem fields, and claims that it's a
880 * network/misc (0x02/0x80) device.
881 */
882 { "Dolphin Peripherals 4014",
883 { PCI_VENDOR_PLX, 0x9050, 0xd84d, 0x6810 },
884 { 0xffff, 0xffff, 0xffff, 0xffff },
885 {
886 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
887 { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
888 },
889 },
890
891 /*
892 * XXX Dolphin Peripherals 4025 (single serial)
893 * (clashes with Dolphin Peripherals 4036 (2s variant)
894 */
895
896 /*
897 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with
898 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
899 * into the subsystem fields, and claims that it's a
900 * network/misc (0x02/0x80) device.
901 */
902 { "Dolphin Peripherals 4035",
903 { PCI_VENDOR_PLX, 0x9050, 0xd84d, 0x6808 },
904 { 0xffff, 0xffff, 0xffff, 0xffff },
905 {
906 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
907 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
908 },
909 },
910
911 /* VScom PCI-200: 2S */
912 { "VScom PCI-200",
913 { PCI_VENDOR_PLX, 0x1103, PCI_VENDOR_PLX, 0x1103 },
914 { 0xffff, 0xffff, 0xffff, 0xffff },
915 {
916 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
917 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
918 },
919 },
920
921 /* VScom PCI-400: 4S */
922 { "VScom PCI-400",
923 { PCI_VENDOR_PLX, 0x1077, PCI_VENDOR_PLX, 0x1077 },
924 { 0xffff, 0xffff, 0xffff, 0xffff },
925 {
926 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
927 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
928 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
929 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
930 },
931 },
932
933 /* VScom PCI-800: 8S */
934 { "VScom PCI-800",
935 { PCI_VENDOR_PLX, 0x1076, PCI_VENDOR_PLX, 0x1076 },
936 { 0xffff, 0xffff, 0xffff, 0xffff },
937 {
938 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
939 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
940 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
941 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
942 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
943 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
944 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
945 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
946 },
947 },
948
949 /*
950 * Perle PCI-RAS 4 Modem ports
951 */
952 { "Perle Systems PCI-RAS 4 modem ports",
953 { PCI_VENDOR_PLX, 0x9030, 0x155f, 0xf001 },
954 { 0xffff, 0xffff, 0xffff, 0xffff },
955 {
956 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
957 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
958 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
959 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
960 },
961 },
962
963 /*
964 * Perle PCI-RASV92 4 Modem ports
965 */
966 { "Perle Systems PCI-RASV92 4 modem ports",
967 { PCI_VENDOR_PLX, 0x9050, 0x155f, 0xf001 },
968 { 0xffff, 0xffff, 0xffff, 0xffff },
969 {
970 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
971 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
972 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
973 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
974 },
975 },
976
977 /*
978 * Perle PCI-RAS 8 Modem ports
979 */
980 { "Perle Systems PCI-RAS 8 modem ports",
981 { PCI_VENDOR_PLX, 0x9030, 0x155f, 0xf010 },
982 { 0xffff, 0xffff, 0xffff, 0xffff },
983 {
984 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
985 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
986 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
987 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
988 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
989 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
990 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
991 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
992 },
993 },
994
995 /*
996 * Perle PCI-RASV92 8 Modem ports
997 */
998 { "Perle Systems PCI-RASV92 8 modem ports",
999 { PCI_VENDOR_PLX, 0x9050, 0x155f, 0xf010 },
1000 { 0xffff, 0xffff, 0xffff, 0xffff },
1001 {
1002 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1003 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1004 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1005 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1006 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
1007 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
1008 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
1009 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
1010 },
1011 },
1012
1013 /*
1014 * Boca Research Turbo Serial 654 (4 serial port) card.
1015 * Appears to be the same as Chase Research PLC PCI-FAST4
1016 * and Perle PCI-FAST4 Multi-Port serial cards.
1017 */
1018 { "Boca Research Turbo Serial 654",
1019 { PCI_VENDOR_PLX, 0x9050, 0x12e0, 0x0031 },
1020 { 0xffff, 0xffff, 0xffff, 0xffff },
1021 {
1022 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1023 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1024 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1025 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1026 },
1027 },
1028
1029 /*
1030 * Boca Research Turbo Serial 658 (8 serial port) card.
1031 * Appears to be the same as Chase Research PLC PCI-FAST8
1032 * and Perle PCI-FAST8 Multi-Port serial cards.
1033 */
1034 { "Boca Research Turbo Serial 658",
1035 { PCI_VENDOR_PLX, 0x9050, 0x12e0, 0x0021 },
1036 { 0xffff, 0xffff, 0xffff, 0xffff },
1037 {
1038 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1039 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1040 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1041 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1042 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
1043 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
1044 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
1045 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
1046 },
1047 },
1048
1049 /*
1050 * SIIG Boards.
1051 *
1052 * SIIG provides documentation for their boards at:
1053 * <URL:http://www.siig.com/driver.htm>
1054 *
1055 * Please excuse the weird ordering, it's the order they
1056 * use in their documentation.
1057 */
1058
1059 /*
1060 * SIIG "10x" family boards.
1061 */
1062
1063 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
1064 { "SIIG Cyber Serial PCI 16C550 (10x family)",
1065 { PCI_VENDOR_SIIG, 0x1000, 0, 0 },
1066 { 0xffff, 0xffff, 0, 0 },
1067 {
1068 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1069 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
1070 },
1071 },
1072
1073 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
1074 { "SIIG Cyber Serial PCI 16C650 (10x family)",
1075 { PCI_VENDOR_SIIG, 0x1001, 0, 0 },
1076 { 0xffff, 0xffff, 0, 0 },
1077 {
1078 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1079 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
1080 },
1081 },
1082
1083 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
1084 { "SIIG Cyber Serial PCI 16C850 (10x family)",
1085 { PCI_VENDOR_SIIG, 0x1002, 0, 0 },
1086 { 0xffff, 0xffff, 0, 0 },
1087 {
1088 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1089 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
1090 },
1091 },
1092
1093 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
1094 { "SIIG Cyber I/O PCI 16C550 (10x family)",
1095 { PCI_VENDOR_SIIG, 0x1010, 0, 0 },
1096 { 0xffff, 0xffff, 0, 0 },
1097 {
1098 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1099 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
1100 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1101 },
1102 },
1103
1104 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
1105 { "SIIG Cyber I/O PCI 16C650 (10x family)",
1106 { PCI_VENDOR_SIIG, 0x1011, 0, 0 },
1107 { 0xffff, 0xffff, 0, 0 },
1108 {
1109 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1110 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
1111 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1112 },
1113 },
1114
1115 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
1116 { "SIIG Cyber I/O PCI 16C850 (10x family)",
1117 { PCI_VENDOR_SIIG, 0x1012, 0, 0 },
1118 { 0xffff, 0xffff, 0, 0 },
1119 {
1120 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1121 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
1122 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1123 },
1124 },
1125
1126 /* SIIG Cyber Parallel PCI (10x family): 1P */
1127 { "SIIG Cyber Parallel PCI (10x family)",
1128 { PCI_VENDOR_SIIG, 0x1020, 0, 0 },
1129 { 0xffff, 0xffff, 0, 0 },
1130 {
1131 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1132 },
1133 },
1134
1135 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
1136 { "SIIG Cyber Parallel Dual PCI (10x family)",
1137 { PCI_VENDOR_SIIG, 0x1021, 0, 0 },
1138 { 0xffff, 0xffff, 0, 0 },
1139 {
1140 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1141 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1142 },
1143 },
1144
1145 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
1146 { "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
1147 { PCI_VENDOR_SIIG, 0x1030, 0, 0 },
1148 { 0xffff, 0xffff, 0, 0 },
1149 {
1150 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1151 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
1152 { PUC_PORT_TYPE_COM, 0x1c, 0x00,
1153 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
1154 },
1155 },
1156
1157 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
1158 { "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
1159 { PCI_VENDOR_SIIG, 0x1031, 0, 0 },
1160 { 0xffff, 0xffff, 0, 0 },
1161 {
1162 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1163 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
1164 { PUC_PORT_TYPE_COM, 0x1c, 0x00,
1165 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
1166 },
1167 },
1168
1169 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
1170 { "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
1171 { PCI_VENDOR_SIIG, 0x1032, 0, 0 },
1172 { 0xffff, 0xffff, 0, 0 },
1173 {
1174 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1175 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
1176 { PUC_PORT_TYPE_COM, 0x1c, 0x00,
1177 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
1178 },
1179 },
1180
1181 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
1182 { "SIIG Cyber 2S1P PCI 16C550 (10x family)",
1183 { PCI_VENDOR_SIIG, 0x1034, 0, 0 },
1184 { 0xffff, 0xffff, 0, 0 },
1185 {
1186 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1187 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
1188 { PUC_PORT_TYPE_COM, 0x1c, 0x00,
1189 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
1190 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1191 },
1192 },
1193
1194 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
1195 { "SIIG Cyber 2S1P PCI 16C650 (10x family)",
1196 { PCI_VENDOR_SIIG, 0x1035, 0, 0 },
1197 { 0xffff, 0xffff, 0, 0 },
1198 {
1199 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1200 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
1201 { PUC_PORT_TYPE_COM, 0x1c, 0x00,
1202 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
1203 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1204 },
1205 },
1206
1207 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
1208 { "SIIG Cyber 2S1P PCI 16C850 (10x family)",
1209 { PCI_VENDOR_SIIG, 0x1036, 0, 0 },
1210 { 0xffff, 0xffff, 0, 0 },
1211 {
1212 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1213 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
1214 { PUC_PORT_TYPE_COM, 0x1c, 0x00,
1215 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
1216 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1217 },
1218 },
1219
1220 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
1221 { "SIIG Cyber 4S PCI 16C550 (10x family)",
1222 { PCI_VENDOR_SIIG, 0x1050, 0, 0 },
1223 { 0xffff, 0xffff, 0, 0 },
1224 {
1225 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1226 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
1227 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1228 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1229 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
1230 },
1231 },
1232
1233 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
1234 { "SIIG Cyber 4S PCI 16C650 (10x family)",
1235 { PCI_VENDOR_SIIG, 0x1051, 0, 0 },
1236 { 0xffff, 0xffff, 0, 0 },
1237 {
1238 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1239 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
1240 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1241 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1242 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
1243 },
1244 },
1245
1246 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
1247 { "SIIG Cyber 4S PCI 16C850 (10x family)",
1248 { PCI_VENDOR_SIIG, 0x1052, 0, 0 },
1249 { 0xffff, 0xffff, 0, 0 },
1250 {
1251 { PUC_PORT_TYPE_COM, 0x18, 0x00,
1252 (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
1253 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1254 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1255 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
1256 },
1257 },
1258
1259 /*
1260 * SIIG "20x" family boards.
1261 */
1262
1263 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
1264 { "SIIG Cyber Serial PCI 16C550 (20x family)",
1265 { PCI_VENDOR_SIIG, 0x2000, 0, 0 },
1266 { 0xffff, 0xffff, 0, 0 },
1267 {
1268 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1269 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1270 },
1271 },
1272
1273 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
1274 { "SIIG Cyber Serial PCI 16C650 (20x family)",
1275 { PCI_VENDOR_SIIG, 0x2001, 0, 0 },
1276 { 0xffff, 0xffff, 0, 0 },
1277 {
1278 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1279 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1280 },
1281 },
1282
1283 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
1284 { "SIIG Cyber Serial PCI 16C850 (20x family)",
1285 { PCI_VENDOR_SIIG, 0x2002, 0, 0 },
1286 { 0xffff, 0xffff, 0, 0 },
1287 {
1288 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1289 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1290 },
1291 },
1292
1293 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
1294 { "SIIG Cyber I/O PCI 16C550 (20x family)",
1295 { PCI_VENDOR_SIIG, 0x2010, 0, 0 },
1296 { 0xffff, 0xffff, 0, 0 },
1297 {
1298 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1299 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1300 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
1301 },
1302 },
1303
1304 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
1305 { "SIIG Cyber I/O PCI 16C650 (20x family)",
1306 { PCI_VENDOR_SIIG, 0x2011, 0, 0 },
1307 { 0xffff, 0xffff, 0, 0 },
1308 {
1309 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1310 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1311 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
1312 },
1313 },
1314
1315 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
1316 { "SIIG Cyber I/O PCI 16C850 (20x family)",
1317 { PCI_VENDOR_SIIG, 0x2012, 0, 0 },
1318 { 0xffff, 0xffff, 0, 0 },
1319 {
1320 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1321 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1322 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
1323 },
1324 },
1325
1326 /* SIIG Cyber Parallel PCI (20x family): 1P */
1327 { "SIIG Cyber Parallel PCI (20x family)",
1328 { PCI_VENDOR_SIIG, 0x2020, 0, 0 },
1329 { 0xffff, 0xffff, 0, 0 },
1330 {
1331 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1332 },
1333 },
1334
1335 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
1336 { "SIIG Cyber Parallel Dual PCI (20x family)",
1337 { PCI_VENDOR_SIIG, 0x2021, 0, 0 },
1338 { 0xffff, 0xffff, 0, 0 },
1339 {
1340 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1341 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1342 },
1343 },
1344
1345 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
1346 { "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
1347 { PCI_VENDOR_SIIG, 0x2030, 0, 0 },
1348 { 0xffff, 0xffff, 0, 0 },
1349 {
1350 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1351 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1352 { PUC_PORT_TYPE_COM, 0x14, 0x00,
1353 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
1354 },
1355 },
1356
1357 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
1358 { "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
1359 { PCI_VENDOR_SIIG, 0x2031, 0, 0 },
1360 { 0xffff, 0xffff, 0, 0 },
1361 {
1362 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1363 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1364 { PUC_PORT_TYPE_COM, 0x14, 0x00,
1365 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
1366 },
1367 },
1368
1369 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
1370 { "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
1371 { PCI_VENDOR_SIIG, 0x2032, 0, 0 },
1372 { 0xffff, 0xffff, 0, 0 },
1373 {
1374 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1375 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1376 { PUC_PORT_TYPE_COM, 0x14, 0x00,
1377 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
1378 },
1379 },
1380
1381 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
1382 { "SIIG Cyber 2P1S PCI 16C550 (20x family)",
1383 { PCI_VENDOR_SIIG, 0x2040, 0, 0 },
1384 { 0xffff, 0xffff, 0, 0 },
1385 {
1386 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1387 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1388 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
1389 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1390 },
1391 },
1392
1393 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
1394 { "SIIG Cyber 2P1S PCI 16C650 (20x family)",
1395 { PCI_VENDOR_SIIG, 0x2041, 0, 0 },
1396 { 0xffff, 0xffff, 0, 0 },
1397 {
1398 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1399 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1400 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
1401 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1402 },
1403 },
1404
1405 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
1406 { "SIIG Cyber 2P1S PCI 16C850 (20x family)",
1407 { PCI_VENDOR_SIIG, 0x2042, 0, 0 },
1408 { 0xffff, 0xffff, 0, 0 },
1409 {
1410 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1411 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1412 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
1413 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1414 },
1415 },
1416
1417 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
1418 { "SIIG Cyber 4S PCI 16C550 (20x family)",
1419 { PCI_VENDOR_SIIG, 0x2050, 0, 0 },
1420 { 0xffff, 0xffff, 0, 0 },
1421 {
1422 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1423 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1424 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1425 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1426 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1427 },
1428 },
1429
1430 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
1431 { "SIIG Cyber 4S PCI 16C650 (20x family)",
1432 { PCI_VENDOR_SIIG, 0x2051, 0, 0 },
1433 { 0xffff, 0xffff, 0, 0 },
1434 {
1435 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1436 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1437 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1438 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1439 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1440 },
1441 },
1442
1443 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
1444 { "SIIG Cyber 4S PCI 16C850 (20x family)",
1445 { PCI_VENDOR_SIIG, 0x2052, 0, 0 },
1446 { 0xffff, 0xffff, 0, 0 },
1447 {
1448 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1449 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1450 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1451 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1452 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1453 },
1454 },
1455
1456 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
1457 { "SIIG Cyber 2S1P PCI 16C550 (20x family)",
1458 { PCI_VENDOR_SIIG, 0x2060, 0, 0 },
1459 { 0xffff, 0xffff, 0, 0 },
1460 {
1461 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1462 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1463 { PUC_PORT_TYPE_COM, 0x14, 0x00,
1464 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
1465 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1466 },
1467 },
1468
1469 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
1470 { "SIIG Cyber 2S1P PCI 16C650 (20x family)",
1471 { PCI_VENDOR_SIIG, 0x2061, 0, 0 },
1472 { 0xffff, 0xffff, 0, 0 },
1473 {
1474 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1475 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1476 { PUC_PORT_TYPE_COM, 0x14, 0x00,
1477 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
1478 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1479 },
1480 },
1481
1482 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
1483 { "SIIG Cyber 2S1P PCI 16C850 (20x family)",
1484 { PCI_VENDOR_SIIG, 0x2062, 0, 0 },
1485 { 0xffff, 0xffff, 0, 0 },
1486 {
1487 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1488 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1489 { PUC_PORT_TYPE_COM, 0x14, 0x00,
1490 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
1491 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1492 },
1493 },
1494
1495 /* SIIG PS8000 PCI 8S 16C550 (20x family): 8S - 16 Byte FIFOs */
1496 { "SIIG PS8000 PCI 8S 16C550 (20x family)",
1497 { PCI_VENDOR_SIIG, 0x2080, 0, 0 },
1498 { 0xffff, 0xffff, 0, 0 },
1499 {
1500 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1501 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1502 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1503 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1504 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1505 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1506 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
1507 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
1508 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
1509 },
1510 },
1511
1512 /* SIIG PS8000 PCI 8S 16C650 (20x family): 8S - 32 Byte FIFOs */
1513 { "SIIG PS8000 PCI 8S 16C650 (20x family)",
1514 { PCI_VENDOR_SIIG, 0x2081, 0, 0 },
1515 { 0xffff, 0xffff, 0, 0 },
1516 {
1517 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1518 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1519 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1520 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1521 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1522 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1523 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
1524 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
1525 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
1526 },
1527 },
1528
1529 /* SIIG PS8000 PCI 8S 16C850 (20x family): 8S - 128 Byte FIFOs */
1530 { "SIIG PS8000 PCI 8S 16C850 (20x family)",
1531 { PCI_VENDOR_SIIG, 0x2082, 0, 0 },
1532 { 0xffff, 0xffff, 0, 0 },
1533 {
1534 { PUC_PORT_TYPE_COM, 0x10, 0x00,
1535 (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
1536 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1537 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1538 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1539 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1540 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
1541 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
1542 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
1543 },
1544 },
1545
1546 /*
1547 * SUNIX 40XX series of serial/parallel combo cards.
1548 * Tested with 4055A and 4065A.
1549 */
1550 { "SUNIX 400X 1P",
1551 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4000 },
1552 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1553 {
1554 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1555 },
1556 },
1557
1558 { "SUNIX 401X 2P",
1559 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4010 },
1560 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1561 {
1562 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1563 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1564 },
1565 },
1566
1567 { "SUNIX 402X 1S",
1568 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4020 },
1569 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1570 {
1571 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1572 },
1573 },
1574
1575 { "SUNIX 403X 2S",
1576 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4030 },
1577 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1578 {
1579 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1580 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1581 },
1582 },
1583
1584 { "SUNIX 4036 2S",
1585 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x0002 },
1586 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1587 {
1588 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1589 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1590 },
1591 },
1592
1593 { "SUNIX 405X 4S",
1594 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4050 },
1595 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1596 {
1597 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1598 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1599 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
1600 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
1601 },
1602 },
1603
1604 { "SUNIX 406X 8S",
1605 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4060 },
1606 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1607 {
1608 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1609 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1610 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
1611 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
1612 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ},
1613 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
1614 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ},
1615 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ},
1616 },
1617 },
1618
1619 { "SUNIX 407X 2S/1P",
1620 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4070 },
1621 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1622 {
1623 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1624 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1625 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1626 },
1627 },
1628
1629 { "SUNIX 408X 2S/2P",
1630 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4080 },
1631 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1632 {
1633 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1634 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1635 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1636 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1637 },
1638 },
1639
1640 { "SUNIX 409X 4S/2P",
1641 { PCI_VENDOR_SUNIX, 0x7168, PCI_VENDOR_SUNIX, 0x4090 },
1642 { 0xffff, 0xffff, 0xffff, 0xeff0 },
1643 {
1644 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1645 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1646 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
1647 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
1648 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1649 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1650 },
1651 },
1652
1653 /*
1654 * Dolphin Peripherals 4036 (dual serial port) card.
1655 * (Dolpin 4025 has the same ID but only one port)
1656 */
1657 { "Dolphin Peripherals 4036",
1658 { PCI_VENDOR_SUNIX, 0x7168, 0x0, 0x0 },
1659 { 0xffff, 0xffff, 0x0, 0x0 },
1660 {
1661 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1662 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1663 },
1664 },
1665
1666 /*
1667 * XXX no entry because I have no data:
1668 * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
1669 */
1670
1671 /* SD-LAB PCI I/O Card 4S */
1672 { "Syba Tech Ltd. PCI-4S",
1673 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S, 0, 0 },
1674 { 0xffff, 0xffff, 0, 0 },
1675 {
1676 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
1677 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
1678 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
1679 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
1680 },
1681 },
1682
1683 /* SD-LAB PCI I/O Card 4S2P */
1684 { "Syba Tech Ltd. PCI-4S2P-550-ECP",
1685 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P, 0, 0 },
1686 { 0xffff, 0xffff, 0, 0 },
1687 {
1688 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
1689 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
1690 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
1691 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
1692 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
1693 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
1694 },
1695 },
1696
1697 /*
1698 * VScom PCI 010L
1699 * one lpt
1700 * untested
1701 */
1702 { "VScom PCI-010L",
1703 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI010L, 0, 0 },
1704 { 0xffff, 0xffff, 0, 0 },
1705 {
1706 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1707 },
1708 },
1709
1710 /*
1711 * VScom PCI 100L
1712 * one com
1713 * The one I have defaults to a fequency of 14.7456 MHz which is
1714 * jumper J1 set to 2-3.
1715 */
1716 { "VScom PCI-100L",
1717 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI100L, 0, 0 },
1718 { 0xffff, 0xffff, 0, 0 },
1719 {
1720 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1721 },
1722 },
1723
1724 /*
1725 * VScom PCI 110L
1726 * one com, one lpt
1727 * untested
1728 */
1729 { "VScom PCI-110L",
1730 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI110L, 0, 0 },
1731 { 0xffff, 0xffff, 0, 0 },
1732 {
1733 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1734 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1735 },
1736 },
1737
1738 /*
1739 * VScom PCI-200L has 2 x 16550 UARTS.
1740 * The board has a jumper which allows you to select a clock speed
1741 * of either 14.7456MHz or 1.8432MHz. By default it runs at
1742 * the fast speed.
1743 */
1744 { "VScom PCI-200L with 2 x 16550 UARTS",
1745 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200L, 0, 0 },
1746 { 0xffff, 0xffff, 0, 0 },
1747 {
1748 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1749 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1750 },
1751 },
1752
1753 /*
1754 * VScom PCI-210L
1755 * Has a jumper for frequency selection, defaults to 8x as used here
1756 * two com, one lpt
1757 */
1758 { "VScom PCI-210L",
1759 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI210L, 0, 0 },
1760 { 0xffff, 0xffff, 0, 0 },
1761 {
1762 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1763 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1764 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
1765 },
1766 },
1767
1768 /* PCI-400L: VendorID is reported to be 0x10d2 instead of 0x14d2. */
1769 { "VScom PCI-400L",
1770 { PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L, 0, 0 },
1771 { 0xffff, 0xffff, 0, 0 },
1772 {
1773 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1774 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1775 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1776 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
1777 },
1778 },
1779
1780 { "VScom PCI-800L",
1781 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800L, 0, 0 },
1782 { 0xffff, 0xffff, 0, 0 },
1783 {
1784 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1785 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1786 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1787 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
1788 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
1789 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
1790 { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 },
1791 { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 },
1792 },
1793 },
1794
1795 { "VScom PCI-011H",
1796 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI011H, 0, 0 },
1797 { 0xffff, 0xffff, 0, 0 },
1798 {
1799 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1800 },
1801 },
1802
1803 /*
1804 * VScom PCI x10H, 1 lpt.
1805 * is the lpt part of VScom 110H, 210H, 410H
1806 */
1807 { "VScom PCI-x10H",
1808 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCIx10H, 0, 0 },
1809 { 0xffff, 0xffff, 0, 0 },
1810 {
1811 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1812 },
1813 },
1814
1815 /*
1816 * VScom PCI 100H, little sister of 800H, 1 com.
1817 * also com part of VScom 110H
1818 * The one I have defaults to a fequency of 14.7456 MHz which is
1819 * jumper J1 set to 2-3.
1820 */
1821 { "VScom PCI-100H",
1822 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI100H, 0, 0 },
1823 { 0xffff, 0xffff, 0, 0 },
1824 {
1825 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1826 },
1827 },
1828
1829 /*
1830 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
1831 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
1832 * device ID 3 and PCI device 1 device ID 4.
1833 */
1834 { "VScom PCI-800H",
1835 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800H, 0, 0 },
1836 { 0xffff, 0xffff, 0, 0 },
1837 {
1838 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1839 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1840 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
1841 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
1842 },
1843 },
1844 { "VScom PCI-800H",
1845 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800H_1, 0, 0 },
1846 { 0xffff, 0xffff, 0, 0 },
1847 {
1848 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1849 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1850 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
1851 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
1852 },
1853 },
1854 { "VScom PCI-200H",
1855 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200H, 0, 0 },
1856 { 0xffff, 0xffff, 0, 0 },
1857 {
1858 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1859 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1860 },
1861 },
1862
1863 { "VScom PCI-010HV2",
1864 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI010HV2, 0, 0 },
1865 { 0xffff, 0xffff, 0, 0 },
1866 {
1867 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1868 },
1869 },
1870 { "VScom PCI-200HV2",
1871 { PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200HV2, 0, 0 },
1872 { 0xffff, 0xffff, 0, 0 },
1873 {
1874 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1875 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1876 },
1877 },
1878
1879 /* US Robotics (3Com) PCI Modems */
1880 { "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
1881 { PCI_VENDOR_USR, 0x1008, 0, 0 },
1882 { 0xffff, 0xffff, 0, 0 },
1883 {
1884 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1885 },
1886 },
1887
1888 { .name = NULL },
1889 };
1890