xref: /openbsd-src/sys/dev/pci/pucdata.c (revision 505ee9ea3b177e2387d907a91ca7da069f3f14d8)
1 /*	$OpenBSD: pucdata.c,v 1.111 2020/01/05 01:07:59 jsg Exp $	*/
2 /*	$NetBSD: pucdata.c,v 1.6 1999/07/03 05:55:23 cgd Exp $	*/
3 
4 /*
5  * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  * 3. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *      This product includes software developed by Christopher G. Demetriou
18  *	for the NetBSD Project.
19  * 4. The name of the author may not be used to endorse or promote products
20  *    derived from this software without specific prior written permission
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  */
33 
34 /*
35  * PCI "universal" communications card driver configuration data (used to
36  * match/attach the cards).
37  */
38 
39 #include <sys/param.h>
40 #include <sys/systm.h>
41 #include <sys/device.h>
42 
43 #include <dev/pci/pcireg.h>
44 #include <dev/pci/pcivar.h>
45 #include <dev/pci/pucvar.h>
46 #include <dev/pci/pcidevs.h>
47 
48 const struct puc_device_description puc_devs[] = {
49 
50 	{	/* 6 Series KT */
51 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_KT, 0x0000, 0x0000 },
52 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
53 	    {
54 		{ PUC_PORT_COM, 0x10, 0x0000 },
55 	    },
56 	},
57 	{	/* 7 Series KT */
58 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_7SERIES_KT, 0x0000, 0x0000 },
59 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
60 	    {
61 		{ PUC_PORT_COM, 0x10, 0x0000 },
62 	    },
63 	},
64 	{	/* 8 Series KT */
65 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_8SERIES_KT, 0x0000, 0x0000 },
66 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
67 	    {
68 		{ PUC_PORT_COM, 0x10, 0x0000 },
69 	    },
70 	},
71 	{	/* 8 Series LP KT */
72 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_8SERIES_LP_KT, 0x0000, 0x0000 },
73 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
74 	    {
75 		{ PUC_PORT_COM, 0x10, 0x0000 },
76 	    },
77 	},
78 	{	/* 9 Series KT */
79 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_KT, 0x0000, 0x0000 },
80 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
81 	    {
82 		{ PUC_PORT_COM, 0x10, 0x0000 },
83 	    },
84 	},
85 	{	/* 9 Series LP KT */
86 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_LP_KT, 0x0000, 0x0000 },
87 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
88 	    {
89 		{ PUC_PORT_COM, 0x10, 0x0000 },
90 	    },
91 	},
92 	{	/* 100 Series KT */
93 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_KT, 0x0000, 0x0000 },
94 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
95 	    {
96 		{ PUC_PORT_COM, 0x10, 0x0000 },
97 	    },
98 	},
99 	{	/* 100 Series LP KT */
100 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_LP_KT, 0x0000, 0x0000 },
101 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
102 	    {
103 		{ PUC_PORT_COM, 0x10, 0x0000 },
104 	    },
105 	},
106 	{	/* 200 Series KT */
107 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_200SERIES_KT, 0x0000, 0x0000 },
108 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
109 	    {
110 		{ PUC_PORT_COM, 0x10, 0x0000 },
111 	    },
112 	},
113 	{	/* 300 Series KT */
114 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_KT, 0x0000, 0x0000 },
115 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
116 	    {
117 		{ PUC_PORT_COM, 0x10, 0x0000 },
118 	    },
119 	},
120 	{	/* 300 Series U KT */
121 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_U_KT, 0x0000, 0x0000 },
122 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
123 	    {
124 		{ PUC_PORT_COM, 0x10, 0x0000 },
125 	    },
126 	},
127 	{	/* 82946GZ KT */
128 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82946GZ_KT, 0x0000, 0x0000 },
129 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
130 	    {
131 		{ PUC_PORT_COM, 0x10, 0x0000 },
132 	    },
133 	},
134 	{	/* 82Q965 KT */
135 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q965_KT, 0x0000, 0x0000 },
136 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
137 	    {
138 		{ PUC_PORT_COM, 0x10, 0x0000 },
139 	    },
140 	},
141 	{	/* 82G965 KT */
142 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G965_KT, 0x0000, 0x0000 },
143 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
144 	    {
145 		{ PUC_PORT_COM, 0x10, 0x0000 },
146 	    },
147 	},
148 	{	/* 82Q35 KT */
149 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q35_KT, 0x0000, 0x0000 },
150 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
151 	    {
152 		{ PUC_PORT_COM, 0x10, 0x0000 },
153 	    },
154 	},
155 	{	/* 82G33 KT */
156 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G33_KT, 0x0000, 0x0000 },
157 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
158 	    {
159 		{ PUC_PORT_COM, 0x10, 0x0000 },
160 	    },
161 	},
162 	{	/* 82Q33 KT */
163 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q33_KT, 0x0000, 0x0000 },
164 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
165 	    {
166 		{ PUC_PORT_COM, 0x10, 0x0000 },
167 	    },
168 	},
169 	{	/* 82X38 KT */
170 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82X38_KT, 0x0000, 0x0000 },
171 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
172 	    {
173 		{ PUC_PORT_COM, 0x10, 0x0000 },
174 	    },
175 	},
176 	{	/* GM965 KT */
177 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GM965_KT, 0x0000, 0x0000 },
178 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
179 	    {
180 		{ PUC_PORT_COM, 0x10, 0x0000 },
181 	    },
182 	},
183 	{	/* GME965 KT */
184 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GME965_KT, 0x0000, 0x0000 },
185 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
186 	    {
187 		{ PUC_PORT_COM, 0x10, 0x0000 },
188 	    },
189 	},
190 	{	/* GM45 KT */
191 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GM45_KT, 0x0000, 0x0000 },
192 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
193 	    {
194 		{ PUC_PORT_COM, 0x10, 0x0000 },
195 	    },
196 	},
197 	{	/* Q45 KT */
198 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q45_KT, 0x0000, 0x0000 },
199 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
200 	    {
201 		{ PUC_PORT_COM, 0x10, 0x0000 },
202 	    },
203 	},
204 	{	/* 3400 KT */
205 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3400_KT, 0x0000, 0x0000 },
206 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
207 	    {
208 		{ PUC_PORT_COM, 0x10, 0x0000 },
209 	    },
210 	},
211 	{   /* Intel EG20T */
212 	    {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_1, 0x0000, 0x0000 },
213 	    {	0xffff,	0xffff,				      0x0000, 0x0000 },
214 	    {
215 		{ PUC_PORT_COM, 0x10, 0x0000 },
216 	    },
217 	},
218 	{   /* Intel EG20T */
219 	    {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_2, 0x0000, 0x0000 },
220 	    {	0xffff,	0xffff,				      0x0000, 0x0000 },
221 	    {
222 		{ PUC_PORT_COM, 0x10, 0x0000 },
223 	    },
224 	},
225 	{   /* Intel EG20T */
226 	    {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_3, 0x0000, 0x0000 },
227 	    {	0xffff,	0xffff,				      0x0000, 0x0000 },
228 	    {
229 		{ PUC_PORT_COM, 0x10, 0x0000 },
230 	    },
231 	},
232 	{   /* Intel EG20T */
233 	    {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_4, 0x0000, 0x0000 },
234 	    {	0xffff,	0xffff,				      0x0000, 0x0000 },
235 	    {
236 		{ PUC_PORT_COM, 0x10, 0x0000 },
237 	    },
238 	},
239 	{	/* Atom S1200 UART */
240 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ATOM_S1200_UART, 0x0000, 0x0000 },
241 	    {	0xffff, 0xffff,					0x0000, 0x0000 },
242 	    {
243 		{ PUC_PORT_COM, 0x10, 0x0000 },
244 	    },
245 	},
246 	/*
247 	 * XXX no entry because I have no data:
248 	 * XXX Dolphin Peripherals 4006 (single parallel)
249 	 */
250 
251 	/*
252 	 * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
253 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
254 	 * into the subsystem fields, and claims that it's a
255 	 * network/misc (0x02/0x80) device.
256 	 */
257 	{   /* "Dolphin Peripherals 4014" */
258 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_9050,	0xd84d,	0x6810	},
259 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
260 	    {
261 		{ PUC_PORT_LPT, 0x20, 0x0000 },
262 		{ PUC_PORT_LPT, 0x24, 0x0000 },
263 	    },
264 	},
265 
266 	/*
267 	 * XXX no entry because I have no data:
268 	 * XXX Dolphin Peripherals 4025 (single serial)
269 	 */
270 
271 	/*
272 	 * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
273 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
274 	 * into the subsystem fields, and claims that it's a
275 	 * network/misc (0x02/0x80) device.
276 	 */
277 	{   /* "Dolphin Peripherals 4035" */
278 	    {	PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,	0xd84d,	0x6808	},
279 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
280 	    {
281 		{ PUC_PORT_COM, 0x18, 0x0000 },
282 		{ PUC_PORT_COM, 0x1c, 0x0000 },
283 	    },
284 	},
285 
286 	/*
287 	 * XXX no entry because I have no data:
288 	 * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
289 	 */
290 
291 	/*
292 	 * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
293 	 */
294 
295 	/* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
296 	{   /* "Decision Computer Inc PCCOM 2 Port RS232/422/485", */
297 	    {	PCI_VENDOR_DCI,	PCI_PRODUCT_DCI_APCI2,		0, 0	},
298 	    {	0xffff,	0xffff,					0, 0	},
299 	    {
300 		{ PUC_PORT_COM, 0x1c, 0x0000 },
301 		{ PUC_PORT_COM, 0x1c, 0x0008 },
302 	    },
303 	},
304 
305 	/* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
306 	{   /* "Decision Computer Inc PCCOM 4 Port RS232/422/485", */
307 	    {	PCI_VENDOR_DCI,	PCI_PRODUCT_DCI_APCI4,		0, 0	},
308 	    {	0xffff,	0xffff,					0, 0	},
309 	    {
310 		{ PUC_PORT_COM, 0x1c, 0x0000 },
311 		{ PUC_PORT_COM, 0x1c, 0x0008 },
312 		{ PUC_PORT_COM, 0x1c, 0x0010 },
313 		{ PUC_PORT_COM, 0x1c, 0x0018 },
314 	    },
315 	},
316 
317 	/* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
318 	{   /* "Decision Computer Inc PCCOM 8 Port RS232/422/485", */
319 	    {	PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8,		0, 0	},
320 	    {	0xffff,	0xffff,					0, 0	},
321 	    {
322 		{ PUC_PORT_COM, 0x1c, 0x0000 },
323 		{ PUC_PORT_COM, 0x1c, 0x0008 },
324 		{ PUC_PORT_COM, 0x1c, 0x0010 },
325 		{ PUC_PORT_COM, 0x1c, 0x0018 },
326 		{ PUC_PORT_COM, 0x1c, 0x0020 },
327 		{ PUC_PORT_COM, 0x1c, 0x0028 },
328 		{ PUC_PORT_COM, 0x1c, 0x0030 },
329 		{ PUC_PORT_COM, 0x1c, 0x0038 },
330 	    },
331 	},
332 	/* IBM SurePOS 300 Series (481033H) serial ports */
333 	{   /* "IBM SurePOS 300 Series (481033H) serial ports", */
334 	    {	PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC,	0, 0	},
335 	    {	0xffff, 0xffff,					0, 0	},
336 	    {
337 		{ PUC_PORT_COM, 0x10, 0x0000 }, /* Port C */
338 		{ PUC_PORT_COM, 0x18, 0x0000 }, /* Port D */
339 		{ PUC_PORT_COM, 0x14, 0x0000 }, /* Port E */
340 		{ PUC_PORT_COM, 0x1c, 0x0000 }, /* Port F */
341 	    },
342 	},
343 
344 	/*
345 	 * SIIG Boards.
346 	 *
347 	 * SIIG provides documentation for their boards at:
348 	 * <URL:http://www.siig.com/driver.htm>
349 	 *
350 	 * Please excuse the weird ordering, it's the order they
351 	 * use in their documentation.
352 	 */
353 
354 	/*
355 	 * SIIG "10x" family boards.
356 	 */
357 
358 	/* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
359 	{   /* "SIIG Cyber Serial PCI 16C550 (10x family)", */
360 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000,		0, 0	},
361 	    {	0xffff,	0xffff,					0, 0	},
362 	    {
363 		{ PUC_PORT_COM, 0x18, 0x0000 },
364 	    },
365 	},
366 
367 	/* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
368 	{   /* "SIIG Cyber Serial PCI 16C650 (10x family)", */
369 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001,		0, 0	},
370 	    {	0xffff,	0xffff,					0, 0	},
371 	    {
372 		{ PUC_PORT_COM, 0x18, 0x0000 },
373 	    },
374 	},
375 
376 	/* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
377 	{   /* "SIIG Cyber Serial PCI 16C850 (10x family)", */
378 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002,		0, 0	},
379 	    {	0xffff,	0xffff,					0, 0	},
380 	    {
381 		{ PUC_PORT_COM, 0x18, 0x0000 },
382 	    },
383 	},
384 
385 	/* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
386 	{   /* "SIIG Cyber I/O PCI 16C550 (10x family)", */
387 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010,		0, 0	},
388 	    {	0xffff,	0xffff,					0, 0	},
389 	    {
390 		{ PUC_PORT_COM, 0x18, 0x0000 },
391 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
392 	    },
393 	},
394 
395 	/* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
396 	{   /* "SIIG Cyber I/O PCI 16C650 (10x family)", */
397 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011,		0, 0	},
398 	    {	0xffff,	0xffff,					0, 0	},
399 	    {
400 		{ PUC_PORT_COM, 0x18, 0x0000 },
401 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
402 	    },
403 	},
404 
405 	/* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
406 	{   /* "SIIG Cyber I/O PCI 16C850 (10x family)", */
407 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012,		0, 0	},
408 	    {	0xffff,	0xffff,					0, 0	},
409 	    {
410 		{ PUC_PORT_COM, 0x18, 0x0000 },
411 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
412 	    },
413 	},
414 
415 	/* SIIG Cyber Parallel PCI (10x family): 1P */
416 	{   /* "SIIG Cyber Parallel PCI (10x family)", */
417 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020,		0, 0	},
418 	    {	0xffff,	0xffff,					0, 0	},
419 	    {
420 		{ PUC_PORT_LPT, 0x18, 0x0000 },
421 	    },
422 	},
423 
424 	/* SIIG Cyber Parallel Dual PCI (10x family): 2P */
425 	{   /* "SIIG Cyber Parallel Dual PCI (10x family)", */
426 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021,		0, 0	},
427 	    {	0xffff,	0xffff,					0, 0	},
428 	    {
429 		{ PUC_PORT_LPT, 0x18, 0x0000 },
430 		{ PUC_PORT_LPT, 0x20, 0x0000 },
431 	    },
432 	},
433 
434 	/* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
435 	{   /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */
436 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030,		0, 0	},
437 	    {	0xffff,	0xffff,					0, 0	},
438 	    {
439 		{ PUC_PORT_COM, 0x18, 0x0000 },
440 		{ PUC_PORT_COM, 0x1c, 0x0000 },
441 	    },
442 	},
443 
444 	/* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
445 	{   /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */
446 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031,		0, 0	},
447 	    {	0xffff,	0xffff,					0, 0	},
448 	    {
449 		{ PUC_PORT_COM, 0x18, 0x0000 },
450 		{ PUC_PORT_COM, 0x1c, 0x0000 },
451 	    },
452 	},
453 
454 	/* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
455 	{   /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */
456 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032,		0, 0	},
457 	    {	0xffff,	0xffff,					0, 0	},
458 	    {
459 		{ PUC_PORT_COM, 0x18, 0x0000 },
460 		{ PUC_PORT_COM, 0x1c, 0x0000 },
461 	    },
462 	},
463 
464 	/* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
465 	{   /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */
466 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034,		0, 0	},
467 	    {	0xffff,	0xffff,					0, 0	},
468 	    {
469 		{ PUC_PORT_COM, 0x18, 0x0000 },
470 		{ PUC_PORT_COM, 0x1c, 0x0000 },
471 		{ PUC_PORT_LPT, 0x20, 0x0000 },
472 	    },
473 	},
474 
475 	/* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
476 	{   /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */
477 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035,		0, 0	},
478 	    {	0xffff,	0xffff,					0, 0	},
479 	    {
480 		{ PUC_PORT_COM, 0x18, 0x0000 },
481 		{ PUC_PORT_COM, 0x1c, 0x0000 },
482 		{ PUC_PORT_LPT, 0x20, 0x0000 },
483 	    },
484 	},
485 
486 	/* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
487 	{   /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */
488 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036,		0, 0	},
489 	    {	0xffff,	0xffff,					0, 0	},
490 	    {
491 		{ PUC_PORT_COM, 0x18, 0x0000 },
492 		{ PUC_PORT_COM, 0x1c, 0x0000 },
493 		{ PUC_PORT_LPT, 0x20, 0x0000 },
494 	    },
495 	},
496 
497 	/* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
498 	{   /* "SIIG Cyber 4S PCI 16C550 (10x family)", */
499 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050,		0, 0	},
500 	    {	0xffff,	0xffff,					0, 0	},
501 	    {
502 		{ PUC_PORT_COM, 0x18, 0x0000 },
503 		{ PUC_PORT_COM, 0x1c, 0x0000 },
504 		{ PUC_PORT_COM, 0x20, 0x0000 },
505 		{ PUC_PORT_COM, 0x24, 0x0000 },
506 	    },
507 	},
508 
509 	/* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
510 	{   /* "SIIG Cyber 4S PCI 16C650 (10x family)", */
511 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051,		0, 0	},
512 	    {	0xffff,	0xffff,					0, 0	},
513 	    {
514 		{ PUC_PORT_COM, 0x18, 0x0000 },
515 		{ PUC_PORT_COM, 0x1c, 0x0000 },
516 		{ PUC_PORT_COM, 0x20, 0x0000 },
517 		{ PUC_PORT_COM, 0x24, 0x0000 },
518 	    },
519 	},
520 
521 	/* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
522 	{   /* "SIIG Cyber 4S PCI 16C850 (10x family)", */
523 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052,		0, 0	},
524 	    {	0xffff,	0xffff,					0, 0	},
525 	    {
526 		{ PUC_PORT_COM, 0x18, 0x0000 },
527 		{ PUC_PORT_COM, 0x1c, 0x0000 },
528 		{ PUC_PORT_COM, 0x20, 0x0000 },
529 		{ PUC_PORT_COM, 0x24, 0x0000 },
530 	    },
531 	},
532 
533 	/*
534 	 * SIIG "20x" family boards.
535 	 */
536 
537 	/* SIIG Cyber Parallel PCI (20x family): 1P */
538 	{   /* "SIIG Cyber Parallel PCI (20x family)", */
539 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020,		0, 0	},
540 	    {	0xffff,	0xffff,					0, 0	},
541 	    {
542 		{ PUC_PORT_LPT, 0x10, 0x0000 },
543 	    },
544 	},
545 
546 	/* SIIG Cyber Parallel Dual PCI (20x family): 2P */
547 	{   /* "SIIG Cyber Parallel Dual PCI (20x family)", */
548 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021,		0, 0	},
549 	    {	0xffff,	0xffff,					0, 0	},
550 	    {
551 		{ PUC_PORT_LPT, 0x10, 0x0000 },
552 		{ PUC_PORT_LPT, 0x18, 0x0000 },
553 	    },
554 	},
555 
556 	/* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
557 	{   /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */
558 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040,		0, 0	},
559 	    {	0xffff,	0xffff,					0, 0	},
560 	    {
561 		{ PUC_PORT_COM, 0x10, 0x0000 },
562 		{ PUC_PORT_LPT, 0x14, 0x0000 },
563 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
564 	    },
565 	},
566 
567 	/* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
568 	{   /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */
569 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041,		0, 0	},
570 	    {	0xffff,	0xffff,					0, 0	},
571 	    {
572 		{ PUC_PORT_COM, 0x10, 0x0000 },
573 		{ PUC_PORT_LPT, 0x14, 0x0000 },
574 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
575 	    },
576 	},
577 
578 	/* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
579 	{   /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */
580 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042,		0, 0	},
581 	    {	0xffff,	0xffff,					0, 0	},
582 	    {
583 		{ PUC_PORT_COM, 0x10, 0x0000 },
584 		{ PUC_PORT_LPT, 0x14, 0x0000 },
585 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
586 	    },
587 	},
588 
589 	/* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
590 	{   /* "SIIG Cyber Serial PCI 16C550 (20x family)", */
591 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000,		0, 0	},
592 	    {	0xffff,	0xffff,					0, 0	},
593 	    {
594 		{ PUC_PORT_COM, 0x10, 0x0000 },
595 	    },
596 	},
597 
598 	/* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
599 	{   /* "SIIG Cyber Serial PCI 16C650 (20x family)", */
600 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001,		0, 0	},
601 	    {	0xffff,	0xffff,					0, 0	},
602 	    {
603 		{ PUC_PORT_COM, 0x10, 0x0000 },
604 	    },
605 	},
606 
607 	/* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
608 	{   /* "SIIG Cyber Serial PCI 16C850 (20x family)", */
609 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002,		0, 0	},
610 	    {	0xffff,	0xffff,					0, 0	},
611 	    {
612 		{ PUC_PORT_COM, 0x10, 0x0000 },
613 	    },
614 	},
615 
616 	/* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
617 	{   /* "SIIG Cyber I/O PCI 16C550 (20x family)", */
618 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010,		0, 0	},
619 	    {	0xffff,	0xffff,					0, 0	},
620 	    {
621 		{ PUC_PORT_COM, 0x10, 0x0000 },
622 		{ PUC_PORT_LPT, 0x14, 0x0000 },
623 	    },
624 	},
625 
626 	/* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
627 	{   /* "SIIG Cyber I/O PCI 16C650 (20x family)", */
628 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011,		0, 0	},
629 	    {	0xffff,	0xffff,					0, 0	},
630 	    {
631 		{ PUC_PORT_COM, 0x10, 0x0000 },
632 		{ PUC_PORT_LPT, 0x14, 0x0000 },
633 	    },
634 	},
635 
636 	/* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
637 	{   /* "SIIG Cyber I/O PCI 16C850 (20x family)", */
638 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012,		0, 0	},
639 	    {	0xffff,	0xffff,					0, 0	},
640 	    {
641 		{ PUC_PORT_COM, 0x10, 0x0000 },
642 		{ PUC_PORT_LPT, 0x14, 0x0000 },
643 	    },
644 	},
645 
646 	/* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
647 	{   /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */
648 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030,		0, 0	},
649 	    {	0xffff,	0xffff,					0, 0	},
650 	    {
651 		{ PUC_PORT_COM, 0x10, 0x0000 },
652 		{ PUC_PORT_COM, 0x14, 0x0000 },
653 	    },
654 	},
655 
656 	/* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
657 	{   /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */
658 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031,		0, 0	},
659 	    {	0xffff,	0xffff,					0, 0	},
660 	    {
661 		{ PUC_PORT_COM, 0x10, 0x0000 },
662 		{ PUC_PORT_COM, 0x14, 0x0000 },
663 	    },
664 	},
665 
666 	/* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
667 	{   /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */
668 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032,		0, 0	},
669 	    {	0xffff,	0xffff,					0, 0	},
670 	    {
671 		{ PUC_PORT_COM, 0x10, 0x0000 },
672 		{ PUC_PORT_COM, 0x14, 0x0000 },
673 	    },
674 	},
675 
676 	/* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
677 	{   /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */
678 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060,		0, 0	},
679 	    {	0xffff,	0xffff,					0, 0	},
680 	    {
681 		{ PUC_PORT_COM, 0x10, 0x0000 },
682 		{ PUC_PORT_COM, 0x14, 0x0000 },
683 		{ PUC_PORT_LPT, 0x18, 0x0000 },
684 	    },
685 	},
686 
687 	/* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
688 	{   /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */
689 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061,		0, 0	},
690 	    {	0xffff,	0xffff,					0, 0	},
691 	    {
692 		{ PUC_PORT_COM, 0x10, 0x0000 },
693 		{ PUC_PORT_COM, 0x14, 0x0000 },
694 		{ PUC_PORT_LPT, 0x18, 0x0000 },
695 	    },
696 	},
697 
698 	/* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
699 	{   /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */
700 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062,		0, 0	},
701 	    {	0xffff,	0xffff,					0, 0	},
702 	    {
703 		{ PUC_PORT_COM, 0x10, 0x0000 },
704 		{ PUC_PORT_COM, 0x14, 0x0000 },
705 		{ PUC_PORT_LPT, 0x18, 0x0000 },
706 	    },
707 	},
708 
709 	/* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
710 	{   /* "SIIG Cyber 4S PCI 16C550 (20x family)", */
711 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050,		0, 0	},
712 	    {	0xffff,	0xffff,					0, 0	},
713 	    {
714 		{ PUC_PORT_COM, 0x10, 0x0000 },
715 		{ PUC_PORT_COM, 0x14, 0x0000 },
716 		{ PUC_PORT_COM, 0x18, 0x0000 },
717 		{ PUC_PORT_COM, 0x1c, 0x0000 },
718 	    },
719 	},
720 
721 	/* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
722 	{   /* "SIIG Cyber 4S PCI 16C650 (20x family)", */
723 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051,		0, 0	},
724 	    {	0xffff,	0xffff,					0, 0	},
725 	    {
726 		{ PUC_PORT_COM, 0x10, 0x0000 },
727 		{ PUC_PORT_COM, 0x14, 0x0000 },
728 		{ PUC_PORT_COM, 0x18, 0x0000 },
729 		{ PUC_PORT_COM, 0x1c, 0x0000 },
730 	    },
731 	},
732 
733 	/* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
734 	{   /* "SIIG Cyber 4S PCI 16C850 (20x family)", */
735 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052,		0, 0	},
736 	    {	0xffff,	0xffff,					0, 0	},
737 	    {
738 		{ PUC_PORT_COM, 0x10, 0x0000 },
739 		{ PUC_PORT_COM, 0x14, 0x0000 },
740 		{ PUC_PORT_COM, 0x18, 0x0000 },
741 		{ PUC_PORT_COM, 0x1c, 0x0000 },
742 	    },
743 	},
744 
745 	/* SIIG Cyber 8S PCI 16C850 (20x family): 8S */
746 	{   /* "SIIG Cyber 8S PCI 16C850 (20x family)", */
747 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081,		0, 0	},
748 	    {	0xffff, 0xffff,					0, 0	},
749 	    {
750 		{ PUC_PORT_COM, 0x10, 0x0000 },
751 		{ PUC_PORT_COM, 0x14, 0x0000 },
752 		{ PUC_PORT_COM, 0x18, 0x0000 },
753 		{ PUC_PORT_COM, 0x1c, 0x0000 },
754 		{ PUC_PORT_COM, 0x20, 0x0000 },
755 		{ PUC_PORT_COM, 0x20, 0x0008 },
756 		{ PUC_PORT_COM, 0x20, 0x0010 },
757 		{ PUC_PORT_COM, 0x20, 0x0018 },
758 	    },
759 	},
760 
761 	/* SIIG Cyber 8S PCI 16C850 (20x family): 8S */
762 	{   /* "SIIG Cyber 8S PCI 16C850 (20x family)", */
763 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
764 		PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082	},
765 	    {	0xffff, 0xffff,	0xffff, 0xffff	},
766 	    {
767 		{ PUC_PORT_COM_MUL10, 0x10, 0x0000 },
768 		{ PUC_PORT_COM_MUL10, 0x10, 0x0008 },
769 		{ PUC_PORT_COM_MUL10, 0x10, 0x0010 },
770 		{ PUC_PORT_COM_MUL10, 0x10, 0x0018 },
771 	    },
772 	},
773 
774 	/* OX16PCI954, first part of Serial Technologies Expander PCI-232-108 */
775 	{   /* "OX16PCI954" */
776 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
777 		PCI_VENDOR_OXFORD2, 0	},
778 	    {	0xffff, 0xffff,	0xffff, 0xffff	},
779 	    {
780 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
781 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
782 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
783 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
784 	    },
785 	},
786 
787 	/* Exsys EX-41092 (sold as SIIG JJ-E10011-S3) */
788 	{      /* "Exsys EX-41092", */
789 		{ PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41092,0x0000,0x0000},
790 		{ 0xffff, 0xffff,                                       0x0000,0x0000},
791 		{
792 			{ PUC_PORT_COM_MUL10, 0x10, 0x0000 },
793 		},
794 	},
795 
796 	/* Exsys EX-41098, second part of Serial Technologies Expander PCI-232-108 */
797 	{   /* "Exsys EX-41098", */
798 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
799 		PCI_VENDOR_OXFORD2, 0	},
800 	    {	0xffff, 0xffff, 0xffff, 0xffff },
801 	    {
802 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
803 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
804 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
805 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
806 	    },
807 	},
808 
809 	/* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */
810 	{   /* "Exsys EX-41098", */
811 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
812 		PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082	},
813 	    {	0xffff, 0xffff, 0xffff, 0xffff },
814 	    {
815 		{ PUC_PORT_COM_MUL10, 0x10, 0x0000 },
816 		{ PUC_PORT_COM_MUL10, 0x10, 0x0008 },
817 		{ PUC_PORT_COM_MUL10, 0x10, 0x0010 },
818 		{ PUC_PORT_COM_MUL10, 0x10, 0x0018 },
819 	    },
820 	},
821 
822 	/*
823 	 * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer
824 	 */
825 	{ /* "VScom PCI-400S", */
826 	    { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 },
827 	    { 0xffff, 0xffff, 0xffff, 0xffff },
828 	    {
829 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
830 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
831 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
832 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
833 	    },
834 	},
835 
836 	/*
837 	 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html.
838 	 * Some PLX chip.  Note: This board has a software selectable(?)
839 	 * clock multiplier which this driver doesn't support, so you'll
840 	 * have to use an appropriately scaled baud rate when talking to
841 	 * the card.
842 	 */
843 	{   /* "VScom PCI-800", */
844 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_1076,	0x10b5,	0x1076	},
845 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
846 	    {
847 		{ PUC_PORT_COM, 0x18, 0x0000 },
848 		{ PUC_PORT_COM, 0x18, 0x0008 },
849 		{ PUC_PORT_COM, 0x18, 0x0010 },
850 		{ PUC_PORT_COM, 0x18, 0x0018 },
851 		{ PUC_PORT_COM, 0x18, 0x0020 },
852 		{ PUC_PORT_COM, 0x18, 0x0028 },
853 		{ PUC_PORT_COM, 0x18, 0x0030 },
854 		{ PUC_PORT_COM, 0x18, 0x0038 },
855 	    },
856 	},
857 
858 	/*
859 	* VScom PCI 011H, 1 lpt.
860 	*/
861 	{   /* "VScom PCI-011H", */
862 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H,	0, 0 },
863 	    {	0xffff, 0xffff,						0, 0 },
864 	    {
865 		{ PUC_PORT_LPT, 0x10, 0x0000 },
866 	    },
867 	},
868 
869 	/*
870 	 * VScom PCI x10H, 1 lpt.
871 	 * is the lpt part of VScom 110H, 210H, 410H
872 	 */
873 	{   /* "VScom PCI-x10H", */
874 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIX10H,	0, 0 },
875 	    {	0xffff, 0xffff,						0, 0 },
876 	    {
877 		{ PUC_PORT_LPT, 0x10, 0x0000 },
878 	    },
879 	},
880 
881 	/*
882 	 * VScom PCI 100H, little sister of 800H, 1 com.
883 	 * also com part of VScom 110H
884 	 * The one I have defaults to a fequency of 14.7456 MHz which is
885 	 * jumper J1 set to 2-3.
886 	 */
887 	{   /* "VScom PCI-100H", */
888 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H,	0, 0 },
889 	    {	0xffff, 0xffff,						0, 0 },
890 	    {
891 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
892 	    },
893 	},
894 
895 	/*
896 	 * VScom PCI 200H, little sister of 800H, 2 com.
897 	 * also com part of VScom 210H
898 	 * The one I have defaults to a fequency of 14.7456 MHz which is
899 	 * jumper J1 set to 2-3.
900 	 */
901 
902 	{   /* "VScom PCI-200H", */
903 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H,	0, 0 },
904 	    {	0xffff, 0xffff,						0, 0 },
905 	    {
906 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
907 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
908 	    },
909 	},
910 
911 	/*
912 	 * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips
913 	 * that offers 4 com port on PCI device 0 (both 400H and 800H)
914 	 * and 4 on PCI device 1 (800H only). PCI device 0 has
915 	 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal
916 	 * instead of the standart 1.8432MHz.
917 	 * There's a version with a jumper for selecting the crystal frequency,
918 	 * defaults to 8x as used here. The jumperless version uses 8x, too.
919 	 */
920 	{   /* "VScom PCI-400H/800H", */
921 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0,	0, 0 },
922 	    {	0xffff, 0xffff,						0, 0 },
923 	    {
924 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
925 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
926 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
927 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
928 	    },
929 	},
930 	{   /* "VScom PCI-400H/800H", */
931 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1,	0, 0 },
932 	    {	0xffff, 0xffff,						0, 0 },
933 	    {
934 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
935 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
936 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
937 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
938 	    },
939 	},
940 
941 	/*
942 	 * VScom PCI 200HV2, is 200H Version 2.
943 	 * Sells as 200H
944 	 */
945 	{   /* "VScom PCI-200HV2", */
946 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2,	0, 0 },
947 	    {	0xffff, 0xffff,						0, 0 },
948 	    {
949 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
950 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
951 	    },
952 	},
953 
954 	/*
955 	 * VScom PCI 010L
956 	 * one lpt
957 	 * untested
958 	 */
959 	{   /* "VScom PCI-010L", */
960 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L,    0, 0 },
961 	    {	0xffff, 0xffff,						0, 0 },
962 	    {
963 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
964 	    },
965 	},
966 
967 	/*
968 	 * VScom PCI 100L
969 	 * one com
970 	 * The one I have defaults to a fequency of 14.7456 MHz which is
971 	 * jumper J1 set to 2-3.
972 	 */
973 	{   /* "VScom PCI-100L", */
974 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L,	0, 0 },
975 	    {	0xffff, 0xffff,						0, 0 },
976 	    {
977 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
978 	    },
979 	},
980 
981 	/*
982 	 * VScom PCI 110L
983 	 * one com, one lpt
984 	 * untested
985 	 */
986 	{   /* "VScom PCI-110L", */
987 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L,	0, 0 },
988 	    {	0xffff, 0xffff,						0, 0 },
989 	    {
990 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
991 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
992 	    },
993 	},
994 
995 	/*
996 	 * VScom PCI-200L has 2 x 16550 UARTS.
997 	 * The board has a jumper which allows you to select a clock speed
998 	 * of either 14.7456MHz or 1.8432MHz. By default it runs at
999 	 * the fast speed.
1000 	 */
1001 	{   /* "VScom PCI-200L with 2 x 16550 UARTS" */
1002 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L,	0, 0 },
1003 	    {	0xffff, 0xffff,						0, 0 },
1004 	    {
1005 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1006 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1007 	    },
1008 	},
1009 
1010 	/*
1011 	 * VScom PCI-210L
1012 	 * Has a jumper for frequency selection, defaults to 8x as used here
1013 	 * two com, one lpt
1014 	 */
1015 	{   /* "VScom PCI-210L" */
1016 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L,	0, 0 },
1017 	    {	0xffff, 0xffff,						0, 0 },
1018 	    {
1019 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1020 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1021 		{ PUC_PORT_LPT, 0x1c, 0x0000 },
1022 	    },
1023 	},
1024 
1025 	/*
1026 	 * VScom PCI 400L
1027 	 * Has a jumper for frequency selection, defaults to 8x as used here
1028 	 * This is equal to J1 in pos 2-3
1029 	 * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex)
1030 	 */
1031 	{   /* "VScom PCI-400L", */
1032 	    {	PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L,	0, 0 },
1033 	    {	0xffff, 0xffff,						0, 0 },
1034 	    {
1035 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1036 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1037 		{ PUC_PORT_COM_MUL8, 0x20, 0x0000 },
1038 		{ PUC_PORT_COM_MUL8, 0x20, 0x0008 },
1039 	    },
1040 	},
1041 
1042 	/*
1043 	 * VScom PCI 800L
1044 	 * Has a jumper for frequency selection, defaults to 8x as used here
1045 	 */
1046 	{   /* "VScom PCI-800L", */
1047 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L,	0, 0 },
1048 	    {	0xffff, 0xffff,						0, 0 },
1049 	    {
1050 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1051 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1052 		{ PUC_PORT_COM_MUL8, 0x20, 0x0000 },
1053 		{ PUC_PORT_COM_MUL8, 0x20, 0x0008 },
1054 		{ PUC_PORT_COM_MUL8, 0x20, 0x0010 },
1055 		{ PUC_PORT_COM_MUL8, 0x20, 0x0018 },
1056 		{ PUC_PORT_COM_MUL8, 0x20, 0x0020 },
1057 		{ PUC_PORT_COM_MUL8, 0x20, 0x0028 },
1058 	    },
1059 	},
1060 
1061 	/*
1062 	 * Exsys EX-41098
1063 	 */
1064 	{   /* "Exsys EX-41098", */
1065 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,	0, 0 },
1066 	    {	0xffff, 0xffff,						0, 0 },
1067 	    {
1068 		{ PUC_PORT_COM, 0x10, 0x0000 },
1069 		{ PUC_PORT_COM, 0x10, 0x0008 },
1070 		{ PUC_PORT_COM, 0x10, 0x0010 },
1071 		{ PUC_PORT_COM, 0x10, 0x0018 },
1072 	    },
1073 	},
1074 
1075 	/*
1076 	 * Boards with an Oxford Semiconductor chip.
1077 	 *
1078 	 * Oxford Semiconductor provides documentation for their chip at:
1079 	 * <URL:http://www.plxtech.com/products/uart/>
1080 	 *
1081 	 * As sold by Kouwell <URL:http://www.kouwell.com/>.
1082 	 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
1083 	 */
1084 
1085 	/* Exsys EX-1372 (uses Oxford OX16PCI952 and a 8x clock) */
1086 	{   /* "Oxford Semiconductor OX16PCI952 UARTs", */
1087 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952,
1088 		PCI_VENDOR_OXFORD2, 0x0001 },
1089 	    {   0xffff, 0xffff,	0xffff, 0xffff },
1090 	    {
1091 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1092 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1093 	    },
1094 	},
1095 
1096 	/* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
1097 	{   /* "Oxford Semiconductor OX16PCI952 UARTs", */
1098 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952,	0, 0 },
1099 	    {   0xffff, 0xffff,						0, 0 },
1100 	    {
1101 		{ PUC_PORT_COM, 0x10, 0x0000 },
1102 		{ PUC_PORT_COM, 0x14, 0x0000 },
1103 	    },
1104 	},
1105 
1106 	/* Oxford Semiconductor OX16PCI952 PCI Parallel port */
1107 	{   /* "Oxford Semiconductor OX16PCI952 Parallel port", */
1108 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P,	0, 0 },
1109 	    {   0xffff, 0xffff,						0, 0 },
1110 	    {
1111 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1112 	    },
1113 	},
1114 
1115 	/* Oxford Semiconductor OXPCIE952 PCIE Parallel port */
1116 	{   /* "Oxford Semiconductor OXPCIE952 PCIE Parallel port", */
1117 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXPCIE952,	0, 0 },
1118 	    {   0xffff, 0xffff,						0, 0 },
1119 	    {
1120 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1121 	    },
1122 	},
1123 
1124 	/* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */
1125 	{   /* "Oxford Semiconductor OX16PCI954 UARTs", */
1126 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
1127 		PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 },
1128 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1129 	    {
1130 		{ PUC_PORT_COM_MUL10, 0x10, 0x0000 },
1131 		{ PUC_PORT_COM_MUL10, 0x10, 0x0008 },
1132 		{ PUC_PORT_COM_MUL10, 0x10, 0x0010 },
1133 		{ PUC_PORT_COM_MUL10, 0x10, 0x0018 },
1134 	    },
1135 	},
1136 
1137 	/* I-O DATA RSA-PCI2 (uses Oxford 16PCI954 and a 8x clock) */
1138 	{   /* "Oxford Semiconductor OX16PCI954 UARTs", */
1139 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
1140 		PCI_VENDOR_IODATA, 0xc070 },
1141 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1142 	    {
1143 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1144 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1145 	    },
1146 	},
1147 
1148 	/* Oxford Semiconductor OX16PCI954 PCI UARTs */
1149 	{   /* "Oxford Semiconductor OX16PCI954 UARTs", */
1150 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,	0, 0 },
1151 	    {   0xffff, 0xffff,						0, 0 },
1152 	    {
1153 		{ PUC_PORT_COM, 0x10, 0x0000 },
1154 		{ PUC_PORT_COM, 0x10, 0x0008 },
1155 		{ PUC_PORT_COM, 0x10, 0x0010 },
1156 		{ PUC_PORT_COM, 0x10, 0x0018 },
1157 	    },
1158 	},
1159 
1160 	/* Commell MP-954GPS, GPS and 2 COM */
1161 	{   /* "Oxford Semiconductor OX16mPCI954 UARTs", */
1162 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXMPCI954,	0, 0 },
1163 	    {   0xffff, 0xffff,						0, 0 },
1164 	    {
1165 		{ PUC_PORT_COM_MUL4, 0x10, 0x0000 },
1166 		{ PUC_PORT_COM_MUL4, 0x10, 0x0008 },
1167 		{ PUC_PORT_COM_MUL4, 0x10, 0x0010 },
1168 	    },
1169 	},
1170 
1171 	/* Oxford Semiconductor OX16PCI954K PCI UARTs */
1172 	{   /* "Oxford Semiconductor OX16PCI954K UARTs", */
1173 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K,	0, 0 },
1174 	    {   0xffff, 0xffff,						0, 0 },
1175 	    {
1176 		{ PUC_PORT_COM, 0x10, 0x0000 },
1177 		{ PUC_PORT_COM, 0x14, 0x0000 },
1178 		{ PUC_PORT_COM, 0x18, 0x0000 },
1179 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1180 	    },
1181 	},
1182 
1183 	/* Oxford Semiconductor OX16PCI954 PCI Parallel port */
1184 	{   /* "Oxford Semiconductor OX16PCI954 Parallel port", */
1185 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P,	0, 0 },
1186 	    {   0xffff, 0xffff,						0, 0 },
1187 	    {
1188 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1189 	    },
1190 	},
1191 
1192 	/* Oxford Semiconductor PCIE `950 UARTs - 128 byte FIFOs */
1193 	{   /* "Oxford Semiconductor PCIE UARTs", */
1194 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXPCIE952S,	0, 0 },
1195 	    {   0xffff, 0xffff,						0, 0 },
1196 	    {
1197 		{ PUC_PORT_COM, 0x10, 0x0000 },
1198 	    },
1199 	},
1200 
1201 	/*
1202 	 * Brainboxes BB16PCI958.
1203 	 * Apparently based on an Oxford Semiconductor OX16PCI958 chip.
1204 	 */
1205 	{    /* "Brainboxes BB16PCI958 UARTs", */
1206 	    {	PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IS200_BB16PCI958,
1207 		    							0, 0 },
1208 	    {	0xffff, 0xffff,						0, 0 },
1209 	    {
1210 		{ PUC_PORT_COM, 0x18, 0x0000 },
1211 		{ PUC_PORT_COM, 0x18, 0x0008 },
1212 	    },
1213 	},
1214 
1215 	/*
1216 	 * NEC PK-UG-X001 K56flex PCI Modem card.
1217 	 * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using.
1218 	 */
1219 	{   /* "NEC PK-UG-X001 K56flex PCI Modem", */
1220 	    {	PCI_VENDOR_NEC,	PCI_PRODUCT_NEC_MARTH,	0x1033,	0x8014	},
1221 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
1222 	    {
1223 		{ PUC_PORT_COM, 0x10, 0x0000 },
1224 	    },
1225 	},
1226 
1227 	/* NEC PK-UG-X008 */
1228 	{   /* "NEC PK-UG-X008", */
1229 	    {	PCI_VENDOR_NEC,	PCI_PRODUCT_NEC_PKUG,	0x1033,	0x8012	},
1230 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
1231 	    {
1232 		{ PUC_PORT_COM, 0x10, 0x0000 },
1233 	    },
1234 	},
1235 
1236 	/* Lava Computers 2SP-PCI (0x8000-0x8003) */
1237 	{   /* "Lava Computers 2SP-PCI parallel port", */
1238 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P,	0, 0	},
1239 	    {	0xffff,	0xfffc,					0, 0	},
1240 	    {
1241 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1242 	    },
1243 	},
1244 
1245 	/* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
1246 	{   /* "Lava Computers dual serial port", */
1247 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S,	0, 0	},
1248 	    {	0xffff,	0xfffc,					0, 0	},
1249 	    {
1250 		{ PUC_PORT_COM, 0x10, 0x0000 },
1251 		{ PUC_PORT_COM, 0x14, 0x0000 },
1252 	    },
1253 	},
1254 
1255 	/*
1256 	 * Lava Computers Quattro-PCI serial ports.
1257 	 * A second version of the Quattro-PCI with different PCI ids.
1258 	 */
1259 	{   /* "Lava Computers Quattro-PCI 4-port serial", */
1260 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2,	0, 0	},
1261 	    {	0xffff,	0xfffe,					0, 0	},
1262 	    {
1263 		{ PUC_PORT_COM, 0x10, 0x0000 },
1264 		{ PUC_PORT_COM, 0x14, 0x0000 },
1265 	    },
1266 	},
1267 
1268 	/*
1269 	 * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI
1270 	 * serial ports.
1271 	 */
1272 	{   /* "Lava Computers high-speed port", */
1273 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0,	0, 0	},
1274 	    {	0xffff,	0xfffc,					0, 0	},
1275 	    {
1276 		{ PUC_PORT_COM_MUL4, 0x10, 0x0000 },
1277 		{ PUC_PORT_COM_MUL4, 0x14, 0x0000 },
1278 	    },
1279 	},
1280 
1281 	/*
1282 	 * Lava Computers LavaPort-single serial port.
1283 	 */
1284 	{   /* "Lava Computers high-speed port", */
1285 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2,	0, 0	},
1286 	    {	0xffff,	0xfffc,					0, 0	},
1287 	    {
1288 		{ PUC_PORT_COM_MUL4, 0x10, 0x0000 },
1289 	    },
1290 	},
1291 
1292 	/* Lava Computers LavaPort-650 */
1293 	{   /* "Lava Computers high-speed port", */
1294 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650,		0, 0	},
1295 	    {	0xffff,	0xfffc,					0, 0	},
1296 	    {
1297 		{ PUC_PORT_COM_MUL4, 0x10, 0x0000 },
1298 	    },
1299 	},
1300 
1301 	/* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */
1302 	{   /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */
1303 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0,	0, 0	},
1304 	    {	0xffff,	0xfffc,					0, 0	},
1305 	    {
1306 		{ PUC_PORT_COM, 0x10, 0x0000 },
1307 	    },
1308 	},
1309 
1310 	/* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */
1311 	{   /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */
1312 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1,	0, 0	},
1313 	    {	0xffff,	0xfffc,					0, 0	},
1314 	    {
1315 		{ PUC_PORT_COM, 0x10, 0x0000 },
1316 	    },
1317 	},
1318 
1319 	/* Lava Computers Octopus-550 serial ports */
1320 	{   /* "Lava Computers Octopus-550 8-port serial", */
1321 	    {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0,	0, 0	},
1322 	    {   0xffff, 0xfffc,					0, 0	},
1323 	    {
1324 		{ PUC_PORT_COM, 0x10, 0x0000 },
1325 		{ PUC_PORT_COM, 0x14, 0x0000 },
1326 		{ PUC_PORT_COM, 0x18, 0x0000 },
1327 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1328 	    },
1329 	},
1330 
1331 	/* Lava Computers Octopus-550 serial ports */
1332 	{   /* "Lava Computers Octopus-550 8-port serial", */
1333 	    {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_1,	0, 0	},
1334 	    {   0xffff, 0xfffc,					0, 0	},
1335 	    {
1336 		{ PUC_PORT_COM, 0x10, 0x0000 },
1337 		{ PUC_PORT_COM, 0x14, 0x0000 },
1338 		{ PUC_PORT_COM, 0x18, 0x0000 },
1339 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1340 	    },
1341 	},
1342 
1343 	/* US Robotics (3Com) PCI Modems */
1344 	{   /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */
1345 	    {	PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610,	0, 0	},
1346 	    {	0xffff,	0xffff,					0, 0	},
1347 	    {
1348 		{ PUC_PORT_COM, 0x10, 0x0000 },
1349 	    },
1350 	},
1351 
1352 	/* IBM 33L4618: AT&T/Lucent Venus Modem */
1353 	{   /* "IBM 33L4618: AT&T/Lucent Venus Modem", */
1354 	    /* "Actiontec 56K PCI Master" */
1355 	    {	PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM,	0, 0 },
1356 	    {	0xffff,	0xffff,						0, 0 },
1357 	    {
1358 		{ PUC_PORT_COM, 0x18, 0x0008 },
1359 	    },
1360 	},
1361 
1362 	/* Topic/SmartLink 5634PCV SurfRider */
1363 	{   /* "Topic/SmartLink 5634PCV SurfRider" */
1364 	    {	PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV,	0, 0	},
1365 	    {	0xffff,	0xffff,					0, 0	},
1366 	    {
1367 		{ PUC_PORT_COM, 0x10, 0x0000 },
1368 	    },
1369 	},
1370 
1371 	/* SD-LAB PCI I/O Card 4S */
1372 	{   /* "Syba Tech Ltd. PCI-4S" */
1373 	    {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S,		0, 0	},
1374 	    {	0xffff,	0xffff,					0, 0	},
1375 	    {
1376 		{ PUC_PORT_COM, 0x10, 0x03e8 },
1377 		{ PUC_PORT_COM, 0x10, 0x02e8 },
1378 		{ PUC_PORT_COM, 0x10, 0x03f8 },
1379 		{ PUC_PORT_COM, 0x10, 0x02f8 },
1380 	    },
1381 	},
1382 
1383 	/* SD-LAB PCI I/O Card 4S2P */
1384 	{   /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */
1385 	    {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P,		0, 0	},
1386 	    {	0xffff,	0xffff,					0, 0	},
1387 	    {
1388 		{ PUC_PORT_COM, 0x10, 0x02e8 },
1389 		{ PUC_PORT_COM, 0x10, 0x02f8 },
1390 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1391 		{ PUC_PORT_COM, 0x10, 0x03e8 },
1392 		{ PUC_PORT_COM, 0x10, 0x03f8 },
1393 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1394 	    },
1395 	},
1396 
1397 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1398 	{   /* "Moxa Technologies, Industio CP-114" */
1399 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114,	0, 0	},
1400 	    {	0xffff,	0xffff,					0, 0	},
1401 	    {
1402 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1403 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1404 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1405 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1406 	    },
1407 	},
1408 
1409 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1410 	{   /* "Moxa Technologies, SmartIO C104H/PCI" */
1411 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H,	0, 0	},
1412 	    {	0xffff,	0xffff,					0, 0	},
1413 	    {
1414 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1415 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1416 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1417 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1418 	    },
1419 	},
1420 
1421 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1422 	{   /* "Moxa Technologies, SmartIO CP104UL/PCI" */
1423 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104UL,	0, 0	},
1424 	    {	0xffff,	0xffff,					0, 0	},
1425 	    {
1426 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1427 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1428 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1429 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1430 	    },
1431 	},
1432 
1433 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1434 	{   /* "Moxa Technologies, SmartIO CP104JU/PCI" */
1435 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104JU,	0, 0	},
1436 	    {	0xffff,	0xffff,					0, 0	},
1437 	    {
1438 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1439 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1440 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1441 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1442 	    },
1443 	},
1444 
1445 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1446 	{   /* "Moxa Technologies, SmartIO CP104EL/PCI" */
1447 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104EL,	0, 0	},
1448 	    {	0xffff,	0xffff,					0, 0	},
1449 	    {
1450 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1451 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1452 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1453 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1454 	    },
1455 	},
1456 
1457 	/* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
1458 	{   /* "Moxa Technologies, Industio C168H" */
1459 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H,	0, 0	},
1460 	    {	0xffff,	0xffff,					0, 0	},
1461 	    {
1462 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1463 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1464 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1465 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1466 		{ PUC_PORT_COM_MUL8, 0x18, 0x0020 },
1467 		{ PUC_PORT_COM_MUL8, 0x18, 0x0028 },
1468 		{ PUC_PORT_COM_MUL8, 0x18, 0x0030 },
1469 		{ PUC_PORT_COM_MUL8, 0x18, 0x0038 },
1470 	    },
1471 	},
1472 
1473 	/* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
1474 	{   /* "Moxa Technologies, CP-168U" */
1475 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP168U,	0, 0	},
1476 	    {	0xffff, 0xffff,					0, 0	},
1477 	    {
1478 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1479 		{ PUC_PORT_COM_MUL8, 0x18, 0x0008 },
1480 		{ PUC_PORT_COM_MUL8, 0x18, 0x0010 },
1481 		{ PUC_PORT_COM_MUL8, 0x18, 0x0018 },
1482 		{ PUC_PORT_COM_MUL8, 0x18, 0x0020 },
1483 		{ PUC_PORT_COM_MUL8, 0x18, 0x0028 },
1484 		{ PUC_PORT_COM_MUL8, 0x18, 0x0030 },
1485 		{ PUC_PORT_COM_MUL8, 0x18, 0x0038 },
1486 	    },
1487 	},
1488 
1489 	/* NetMos 1P PCI: 1P */
1490 	{   /* "NetMos NM9805 1284 Printer Port" */
1491 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9805,	0, 0	},
1492 	    {	0xffff,	0xffff,					0, 0	},
1493 	    {
1494 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1495 	    },
1496 	},
1497 
1498 	/* NetMos 1S PCI 16C650 : 1S */
1499 	{   /* "NetMos NM9835 UART" */
1500 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835,	0x1000, 0x0001	},
1501 	    {	0xffff,	0xffff,					0xffff, 0xffff	},
1502 	    {
1503 		{ PUC_PORT_COM, 0x10, 0x0000 },
1504 	    },
1505 	},
1506 
1507 	/* NetMos 2S1P PCI 16C650 : 2S, 1P */
1508 	{   /* "NetMos NM9835 Dual UART and 1284 Printer port" */
1509 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835,	0, 0	},
1510 	    {	0xffff,	0xffff,					0, 0	},
1511 	    {
1512 		{ PUC_PORT_COM, 0x10, 0x0000 },
1513 		{ PUC_PORT_COM, 0x14, 0x0000 },
1514 		{ PUC_PORT_LPT, 0x18, 0x0000 },
1515 	    },
1516 	},
1517 
1518 	/* NetMos 4S PCI 16C650 : 4S, 0P */
1519 	{   /* "NetMos NM9845 Quad UART" */
1520 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 },
1521 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1522 	    {
1523 		{ PUC_PORT_COM, 0x10, 0x0000 },
1524 		{ PUC_PORT_COM, 0x14, 0x0000 },
1525 		{ PUC_PORT_COM, 0x18, 0x0000 },
1526 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1527 	    },
1528 	},
1529 
1530 	/* NetMos 4S1P PCI 16C650 : 4S, 1P */
1531 	{   /* "NetMos NM9845 Quad UART and 1284 Printer port" */
1532 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 },
1533 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1534 	    {
1535 		{ PUC_PORT_COM, 0x10, 0x0000 },
1536 		{ PUC_PORT_COM, 0x14, 0x0000 },
1537 		{ PUC_PORT_COM, 0x18, 0x0000 },
1538 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1539 		{ PUC_PORT_LPT, 0x20, 0x0000 },
1540 	    },
1541 	},
1542 
1543 	/* NetMos 6S PCI 16C650 : 6S, 0P */
1544 	{   /* "NetMos NM9845 6 UART" */
1545 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 },
1546 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1547 	    {
1548 		{ PUC_PORT_COM, 0x10, 0x0000 },
1549 		{ PUC_PORT_COM, 0x14, 0x0000 },
1550 		{ PUC_PORT_COM, 0x18, 0x0000 },
1551 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1552 		{ PUC_PORT_COM, 0x20, 0x0000 },
1553 		{ PUC_PORT_COM, 0x24, 0x0000 },
1554 	    },
1555 	},
1556 
1557 	/* NetMos 2S PCI 16C650 : 2S */
1558 	{   /* "NetMos NM9845 Dual UART" */
1559 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845,	0, 0	},
1560 	    {	0xffff,	0xffff,					0, 0	},
1561 	    {
1562 		{ PUC_PORT_COM, 0x10, 0x0000 },
1563 		{ PUC_PORT_COM, 0x14, 0x0000 },
1564 	    },
1565 	},
1566 
1567 	/* NetMos 6S PCI 16C650 : 6S
1568 	 * Shows up as three PCI devices, two with a single serial
1569 	 * port and one with four serial ports (on a special ISA
1570 	 * extender chip).
1571 	 */
1572 	{   /* "NetMos NM9865 6 UART: 1 UART" */
1573 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x1000 },
1574 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1575 	    {
1576 		{ PUC_PORT_COM, 0x10, 0x0000 },
1577 	    },
1578 	},
1579 	{   /* "NetMos NM9865 6 UART: 4 UART ISA" */
1580 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3004 },
1581 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1582 	    {
1583 		{ PUC_PORT_COM, 0x10, 0x0000 },
1584 		{ PUC_PORT_COM, 0x14, 0x0000 },
1585 		{ PUC_PORT_COM, 0x18, 0x0000 },
1586 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1587 	    },
1588 	},
1589 
1590 	/* NetMos PCIe Peripheral Controller :UART part */
1591 	{   /* "NetMos NM9901 UART" */
1592 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x1000 },
1593 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1594 	    {
1595 		{ PUC_PORT_COM, 0x10, 0x0000 },
1596 	    },
1597 	},
1598 
1599 	/* NetMos PCIe Peripheral Controller :parallel part */
1600 	{   /* "NetMos NM9901 UART" */
1601 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x2000 },
1602 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1603 	    {
1604 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1605 	    },
1606 	},
1607 
1608 	{   /* NetMos NM9922: 2S */
1609 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9922, 0xa000, 0x1000 },
1610 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1611 	    {
1612 		{ PUC_PORT_COM, 0x10, 0x0000 },
1613 	    },
1614 	},
1615 
1616 	/*
1617 	 * Perle Speed8 LE.
1618 	 * Based on an Oxford Semiconductor OX16PCI954 chip, using the
1619 	 * 8-bit pass-through Local Bus function to hook up 4
1620 	 * additional UARTs.
1621 	 */
1622 	{   /* OX16PCI954 internal UARTs */
1623 	    {   PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_SPEED8_LE,
1624 		PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954   },
1625 	    {   0xffff, 0xffff, 0xffff, 0xffff   },
1626 	    {
1627 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1628 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1629 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
1630 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
1631 	     },
1632 	},
1633 	{   /* OX16PCI954 8-bit pass-through Local Bus */
1634 	    {   PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_SPEED8_LE,
1635 		PCI_VENDOR_OXFORD2, 0x9511   },
1636 	    {   0xffff, 0xffff, 0xffff, 0xffff   },
1637 	    {
1638 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1639 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1640 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
1641 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
1642 	    },
1643 	},
1644 
1645 	{ /* Sunix 4018A : 2-port parallel */
1646 	    {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A,	0, 0	},
1647 	    {	0xffff,	0xffff,					0, 0	},
1648 	    {
1649 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1650 		{ PUC_PORT_LPT, 0x18, 0x0000 },
1651 	    },
1652 	},
1653 
1654 	/*
1655 	 * SUNIX 40XX series of serial/parallel combo cards.
1656 	 * Tested with 4055A and 4065A.
1657 	 */
1658 	{   /* SUNIX 400X 1P */
1659 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 },
1660 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1661 	    {
1662 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1663 	    },
1664 	},
1665 
1666 	{   /* SUNIX 401X 2P */
1667 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 },
1668 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1669 	    {
1670 		{ PUC_PORT_LPT, 0x10, 0x0000 },
1671 		{ PUC_PORT_LPT, 0x18, 0x0000 },
1672 	    },
1673 	},
1674 
1675 	{   /* SUNIX 402X 1S */
1676 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 },
1677 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1678 	    {
1679 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1680 	    },
1681 	},
1682 
1683 	{   /* SUNIX 403X 2S */
1684 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 },
1685 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1686 	    {
1687 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1688 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1689 	    },
1690 	},
1691 
1692 	{   /* SUNIX 4036 2S */
1693 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x0002 },
1694 	    {	0xffff,	0xffff,	0xffff,	0xffff },
1695 	    {
1696 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1697 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1698 	    },
1699 	},
1700 
1701 	{   /* SUNIX 405X 4S */
1702 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 },
1703 	    {	0xffff,	0xffff,	0xffff,	0xe0f0 },
1704 	    {
1705 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1706 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1707 		{ PUC_PORT_COM, 0x14, 0x0000 },
1708 		{ PUC_PORT_COM, 0x14, 0x0008 },
1709 	    },
1710 	},
1711 
1712 	{   /* SUNIX 406X 8S */
1713 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x5066 },
1714 	    {	0xffff,	0xffff,	0xffff,	0xffff },
1715 	    {
1716 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1717 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1718 		{ PUC_PORT_COM, 0x14, 0x0000 },
1719 		{ PUC_PORT_COM, 0x14, 0x0008 },
1720 		{ PUC_PORT_COM, 0x18, 0x0000 },
1721 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1722 		{ PUC_PORT_COM, 0x20, 0x0000 },
1723 		{ PUC_PORT_COM, 0x24, 0x0000 },
1724 	    },
1725 	},
1726 
1727 	{   /* SUNIX 406X 8S */
1728 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 },
1729 	    {	0xffff,	0xffff,	0xffff,	0xe0f0 },
1730 	    {
1731 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1732 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1733 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1734 		{ PUC_PORT_COM_MUL8, 0x14, 0x0008 },
1735 		{ PUC_PORT_COM_MUL8, 0x18, 0x0000 },
1736 		{ PUC_PORT_COM_MUL8, 0x1c, 0x0000 },
1737 		{ PUC_PORT_COM_MUL8, 0x20, 0x0000 },
1738 		{ PUC_PORT_COM_MUL8, 0x24, 0x0000 },
1739 	    },
1740 	},
1741 
1742 	{   /* SUNIX 407X 2S/1P */
1743 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 },
1744 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1745 	    {
1746 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1747 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1748 		{ PUC_PORT_LPT, 0x18, 0x0000 },
1749 	    },
1750 	},
1751 
1752 	{   /* SUNIX 408X 2S/2P */
1753 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 },
1754 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1755 	    {
1756 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1757 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1758 		{ PUC_PORT_LPT, 0x18, 0x0000 },
1759 		{ PUC_PORT_LPT, 0x20, 0x0000 },
1760 	    },
1761 	},
1762 
1763 	{   /* SUNIX 409X 4S/2P */
1764 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 },
1765 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1766 	    {
1767 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1768 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1769 		{ PUC_PORT_COM, 0x14, 0x0000 },
1770 		{ PUC_PORT_COM, 0x14, 0x0008 },
1771 		{ PUC_PORT_LPT, 0x18, 0x0000 },
1772 		{ PUC_PORT_LPT, 0x20, 0x0000 },
1773 	    },
1774 	},
1775 
1776 	/*
1777 	 * SUNIX 50XX series of serial/parallel combo cards.
1778 	 * Tested with 5066A.
1779 	 */
1780 	{   /* SUNIX 5008 1P */
1781 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0100 },
1782 	    {   0xffff, 0xffff, 0xffff, 0xeff0 },
1783 	    {
1784 		{ PUC_PORT_LPT, 0x14, 0x0000 },
1785 	    },
1786 	},
1787 
1788 	{   /* SUNIX 5016 16S */
1789 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0010 },
1790 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1791 	    {
1792 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1793 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1794 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
1795 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
1796 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1797 		{ PUC_PORT_COM_MUL8, 0x14, 0x0008 },
1798 		{ PUC_PORT_COM_MUL8, 0x14, 0x0010 },
1799 		{ PUC_PORT_COM_MUL8, 0x14, 0x0018 },
1800 		{ PUC_PORT_COM_MUL8, 0x14, 0x0020 },
1801 		{ PUC_PORT_COM_MUL8, 0x14, 0x0028 },
1802 		{ PUC_PORT_COM_MUL8, 0x14, 0x0030 },
1803 		{ PUC_PORT_COM_MUL8, 0x14, 0x0038 },
1804 		{ PUC_PORT_COM_MUL8, 0x14, 0x0040 },
1805 		{ PUC_PORT_COM_MUL8, 0x14, 0x0048 },
1806 		{ PUC_PORT_COM_MUL8, 0x14, 0x0050 },
1807 		{ PUC_PORT_COM_MUL8, 0x14, 0x0058 },
1808 	    },
1809 	},
1810 
1811 	{   /* SUNIX 5027 1S */
1812 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0001 },
1813 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1814 	    {
1815 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1816 	    },
1817 	},
1818 
1819 	{   /* SUNIX 5037 2S */
1820 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0002 },
1821 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1822 	    {
1823 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1824 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1825 	    },
1826 	},
1827 
1828 	{   /* SUNIX 5056 4S */
1829 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0004 },
1830 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1831 	    {
1832 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1833 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1834 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
1835 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
1836 	    },
1837 	},
1838 
1839 	{   /* SUNIX 5066 8S */
1840 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0008 },
1841 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1842 	    {
1843 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1844 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1845 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
1846 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
1847 		{ PUC_PORT_COM_MUL8, 0x14, 0x0000 },
1848 		{ PUC_PORT_COM_MUL8, 0x14, 0x0008 },
1849 		{ PUC_PORT_COM_MUL8, 0x14, 0x0010 },
1850 		{ PUC_PORT_COM_MUL8, 0x14, 0x0018 },
1851 	    },
1852 	},
1853 
1854 	{   /* SUNIX 5069 1S / 1P */
1855 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0101 },
1856 	    {   0xffff, 0xffff, 0xffff, 0xeff0 },
1857 	    {
1858 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1859 		{ PUC_PORT_LPT, 0x14, 0x0000 },
1860 	    },
1861 	},
1862 
1863 	{   /* SUNIX 5079 2S / 1P */
1864 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0102 },
1865 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1866 	    {
1867 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1868 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1869 		{ PUC_PORT_LPT, 0x14, 0x0000 },
1870 	    },
1871 	},
1872 
1873 	{   /* SUNIX 5099 4S / 1P */
1874 	    {   PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0104 },
1875 	    {   0xffff, 0xffff, 0xffff, 0xffff },
1876 	    {
1877 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1878 		{ PUC_PORT_COM_MUL8, 0x10, 0x0008 },
1879 		{ PUC_PORT_COM_MUL8, 0x10, 0x0010 },
1880 		{ PUC_PORT_COM_MUL8, 0x10, 0x0018 },
1881 		{ PUC_PORT_LPT, 0x14, 0x0000 },
1882 	    },
1883 	},
1884 
1885 	/*
1886 	 * Boca Research Turbo Serial 654 (4 serial port) card.
1887 	 * Appears to be the same as Chase Research PLC PCI-FAST4 card,
1888 	 * same as Perle PCI-FAST4 Multi-Port serial card
1889 	 */
1890 	{   /* "Boca Turbo Serial 654 - IOP654" */
1891 	    {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,	0x12e0, 0x0031  },
1892 	    {   0xffff, 0xffff,				0xffff, 0xffff  },
1893 	    {
1894 		{ PUC_PORT_COM_MUL4, 0x18, 0x0000 },
1895 		{ PUC_PORT_COM_MUL4, 0x18, 0x0008 },
1896 		{ PUC_PORT_COM_MUL4, 0x18, 0x0010 },
1897 		{ PUC_PORT_COM_MUL4, 0x18, 0x0018 },
1898 	    },
1899 	},
1900 
1901 	/*
1902 	 * Boca Research Turbo Serial 658 (8 serial port) card.
1903 	 * Appears to be the same as Chase Research PLC PCI-FAST8 card
1904 	 * same as Perle PCI-FAST8 Multi-Port serial card
1905 	 */
1906 	{   /* "Boca Turbo Serial 658 - IOP658" */
1907 	    {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,	0x12e0, 0x0021  },
1908 	    {   0xffff, 0xffff,				0xffff, 0xffff  },
1909 	    {
1910 		{ PUC_PORT_COM_MUL4, 0x18, 0x0000 },
1911 		{ PUC_PORT_COM_MUL4, 0x18, 0x0008 },
1912 		{ PUC_PORT_COM_MUL4, 0x18, 0x0010 },
1913 		{ PUC_PORT_COM_MUL4, 0x18, 0x0018 },
1914 		{ PUC_PORT_COM_MUL4, 0x18, 0x0020 },
1915 		{ PUC_PORT_COM_MUL4, 0x18, 0x0028 },
1916 		{ PUC_PORT_COM_MUL4, 0x18, 0x0030 },
1917 		{ PUC_PORT_COM_MUL4, 0x18, 0x0038 },
1918 	    },
1919 	},
1920 
1921 	/* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */
1922 	{    /* "Cronyx Omega-PCI" */
1923 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_CRONYX_OMEGA,	0, 0 },
1924 	    {	0xffff,	0xffff,					0, 0 },
1925 	    {
1926 		{ PUC_PORT_COM, 0x18, 0x0000 },
1927 		{ PUC_PORT_COM, 0x18, 0x0008 },
1928 		{ PUC_PORT_COM, 0x18, 0x0010 },
1929 		{ PUC_PORT_COM, 0x18, 0x0018 },
1930 		{ PUC_PORT_COM, 0x18, 0x0020 },
1931 		{ PUC_PORT_COM, 0x18, 0x0028 },
1932 		{ PUC_PORT_COM, 0x18, 0x0030 },
1933 		{ PUC_PORT_COM, 0x18, 0x0038 },
1934 	    },
1935 	},
1936 
1937 	/* PLX 9016 8 port serial card. (i.e. Syba) */
1938 	{    /* "PLX 9016 - Syba" */
1939 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_9016,	0, 0 },
1940 	    {	0xffff,	0xffff,					0, 0 },
1941 	    {
1942 		{ PUC_PORT_COM_MUL4, 0x10, 0x0000 },
1943 		{ PUC_PORT_COM_MUL4, 0x10, 0x0008 },
1944 		{ PUC_PORT_COM_MUL4, 0x10, 0x0010 },
1945 		{ PUC_PORT_COM_MUL4, 0x10, 0x0018 },
1946 		{ PUC_PORT_COM_MUL4, 0x10, 0x0020 },
1947 		{ PUC_PORT_COM_MUL4, 0x10, 0x0028 },
1948 		{ PUC_PORT_COM_MUL4, 0x10, 0x0030 },
1949 		{ PUC_PORT_COM_MUL4, 0x10, 0x0038 },
1950 	    },
1951 	},
1952 
1953 	/* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
1954 	{   /* "Avlab Low Profile PCI 4 Serial" */
1955 	    {	PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2,	0, 0  },
1956 	    {	0xffff,	0xffff,					0, 0  },
1957 	    {
1958 		{ PUC_PORT_COM, 0x10, 0x0000 },
1959 		{ PUC_PORT_COM, 0x14, 0x0000 },
1960 		{ PUC_PORT_COM, 0x18, 0x0000 },
1961 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1962 	    },
1963 	},
1964 
1965 	/* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
1966 	{   /* "Avlab Low Profile PCI 4 Serial" */
1967 	    {	PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S,	0, 0  },
1968 	    {	0xffff,	0xffff,					0, 0  },
1969 	    {
1970 		{ PUC_PORT_COM, 0x10, 0x0000 },
1971 		{ PUC_PORT_COM, 0x14, 0x0000 },
1972 		{ PUC_PORT_COM, 0x18, 0x0000 },
1973 		{ PUC_PORT_COM, 0x1c, 0x0000 },
1974 	    },
1975 	},
1976 
1977 	/* Avlab Technology, Inc. PCI 2 Serial: 2S */
1978 	{   /* "Avlab PCI 2 Serial" */
1979 	    {	PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S,	0, 0  },
1980 	    {	0xffff,	0xffff,					0, 0  },
1981 	    {
1982 		{ PUC_PORT_COM, 0x10, 0x0000 },
1983 		{ PUC_PORT_COM, 0x14, 0x0000 },
1984 	    },
1985 	},
1986 
1987 	/* Digi International Digi Neo 4 Serial */
1988 	{
1989 	    {	PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4,		0, 0  },
1990 	    {	0xffff, 0xffff,					0, 0  },
1991 	    {
1992 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
1993 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
1994 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
1995 		{ PUC_PORT_COM_MUL8, 0x10, 0x0600 },
1996 	    },
1997 	},
1998 
1999 	/* Digi International Digi Neo 8 Serial */
2000 	{
2001 	    {	PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8,		0, 0  },
2002 	    {	0xffff, 0xffff,					0, 0  },
2003 	    {
2004 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2005 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
2006 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
2007 		{ PUC_PORT_COM_MUL8, 0x10, 0x0600 },
2008 		{ PUC_PORT_COM_MUL8, 0x10, 0x0800 },
2009 		{ PUC_PORT_COM_MUL8, 0x10, 0x0a00 },
2010 		{ PUC_PORT_COM_MUL8, 0x10, 0x0c00 },
2011 		{ PUC_PORT_COM_MUL8, 0x10, 0x0e00 },
2012 	    },
2013 	},
2014 
2015 	/* Digi International Digi Neo 8 PCIe Serial */
2016 	{
2017 	    {	PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8_PCIE,	0, 0  },
2018 	    {	0xffff, 0xffff,					0, 0  },
2019 	    {
2020 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2021 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
2022 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
2023 		{ PUC_PORT_COM_MUL8, 0x10, 0x0600 },
2024 		{ PUC_PORT_COM_MUL8, 0x10, 0x0800 },
2025 		{ PUC_PORT_COM_MUL8, 0x10, 0x0a00 },
2026 		{ PUC_PORT_COM_MUL8, 0x10, 0x0c00 },
2027 		{ PUC_PORT_COM_MUL8, 0x10, 0x0e00 },
2028 	    },
2029 	},
2030 
2031 	/*
2032 	 * Multi-Tech ISI5634PCI/4 4-port modem board.
2033 	 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its
2034 	 * config EEPROM.
2035 	 */
2036 	{
2037 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 },
2038 	    {	0xffff,	0xffff,				    0xffff, 0xffff },
2039 	    {
2040 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2041 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
2042 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
2043 		{ PUC_PORT_COM_MUL8, 0x10, 0x0600 },
2044 	    },
2045 	},
2046 
2047 	{   /* EXAR XR17C152 Dual UART */
2048 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152,	0, 0 },
2049 	    {   0xffff, 0xffff,					0, 0 },
2050 	    {
2051 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2052 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
2053 	    },
2054 	},
2055 
2056 	{   /* Exar XR17C154 Quad UART */
2057 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154,	0, 0 },
2058 	    {   0xffff, 0xffff,					0, 0 },
2059 	    {
2060 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2061 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
2062 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
2063 		{ PUC_PORT_COM_MUL8, 0x10, 0x0600 },
2064 	    },
2065 	},
2066 
2067 	{   /* Exar XR17C158 Eight Channel UART */
2068 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158,	0, 0 },
2069 	    {   0xffff, 0xffff,					0, 0 },
2070 	    {
2071 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2072 		{ PUC_PORT_COM_MUL8, 0x10, 0x0200 },
2073 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
2074 		{ PUC_PORT_COM_MUL8, 0x10, 0x0600 },
2075 		{ PUC_PORT_COM_MUL8, 0x10, 0x0800 },
2076 		{ PUC_PORT_COM_MUL8, 0x10, 0x0a00 },
2077 		{ PUC_PORT_COM_MUL8, 0x10, 0x0c00 },
2078 		{ PUC_PORT_COM_MUL8, 0x10, 0x0e00 },
2079 	    },
2080 	},
2081 
2082 	{   /* Exar XR17V354 Quad UART */
2083 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V354,	0, 0 },
2084 	    {   0xffff, 0xffff,					0, 0 },
2085 	    {
2086 		{ PUC_PORT_COM_MUL8, 0x10, 0x0000 },
2087 		{ PUC_PORT_COM_MUL8, 0x10, 0x0400 },
2088 		{ PUC_PORT_COM_MUL8, 0x10, 0x0800 },
2089 		{ PUC_PORT_COM_MUL8, 0x10, 0x0C00 },
2090 	    },
2091 	},
2092 
2093 	{   /* Dell DRAC 3 Virtual UART */
2094 	    {   PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_3_VUART,	0, 0 },
2095 	    {   0xffff, 0xffff,					0, 0 },
2096 	    {
2097 		{ PUC_PORT_COM_MUL128, 0x14, 0x0000 },
2098 	    },
2099 	},
2100 	{   /* Dell DRAC 4 Virtual UART */
2101 	    {   PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_4_VUART,	0, 0 },
2102 	    {   0xffff, 0xffff,					0, 0 },
2103 	    {
2104 		{ PUC_PORT_COM_MUL128, 0x14, 0x0000 },
2105 	    },
2106 	},
2107 
2108 	/*
2109 	 * Cardbus devices which can potentially show up because of
2110 	 * Expresscard adapters
2111 	 * XXX Keep this list synchronized with cardbus/com_cardbus.c
2112 	*/
2113 
2114 	{   /* "", */
2115 	    {	PCI_VENDOR_3COM, PCI_PRODUCT_3COM_GLOBALMODEM56,0, 0	},
2116 	    {	0xffff,	0xffff,					0, 0	},
2117 	    {
2118 		{ PUC_PORT_COM, 0x10, 0x0000 },
2119 	    },
2120 	},
2121 	{   /* "", */
2122 	    {	PCI_VENDOR_3COM, PCI_PRODUCT_3COM_MODEM56,	0, 0	},
2123 	    {	0xffff,	0xffff,					0, 0	},
2124 	    {
2125 		{ PUC_PORT_COM, 0x10, 0x0000 },
2126 	    },
2127 	},
2128 	{   /* "", */
2129 	    {	PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL,0, 0	},
2130 	    {	0xffff,	0xffff,					0, 0	},
2131 	    {
2132 		{ PUC_PORT_COM, 0x10, 0x0000 },
2133 	    },
2134 	},
2135 	{   /* "", */
2136 	    {	PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_2,0, 0	},
2137 	    {	0xffff,	0xffff,					0, 0	},
2138 	    {
2139 		{ PUC_PORT_COM, 0x10, 0x0000 },
2140 	    },
2141 	},
2142 	{   /* "", */
2143 	    {	PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_GC,0, 0	},
2144 	    {	0xffff,	0xffff,					0, 0	},
2145 	    {
2146 		{ PUC_PORT_COM, 0x10, 0x0000 },
2147 	    },
2148 	},
2149 	{   /* "", */
2150 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MODEM56,	0, 0	},
2151 	    {	0xffff,	0xffff,					0, 0	},
2152 	    {
2153 		{ PUC_PORT_COM, 0x10, 0x0000 },
2154 	    },
2155 	},
2156 	{   /* "", */
2157 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXCB950,0, 0	},
2158 	    {	0xffff,	0xffff,					0, 0	},
2159 	    {
2160 		{ PUC_PORT_COM, 0x10, 0x0000 },
2161 	    },
2162 	},
2163 	{   /* "Xircom Cardbus 56K Modem", */
2164 	    {	PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM_56K,0, 0	},
2165 	    {	0xffff,	0xffff,					0, 0	},
2166 	    {
2167 		{ PUC_PORT_COM, 0x10, 0x0000 },
2168 	    },
2169 	},
2170 	{   /* "Xircom CBEM56G Modem", */
2171 	    {	PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_CBEM56G,	0, 0	},
2172 	    {	0xffff,	0xffff,					0, 0	},
2173 	    {
2174 		{ PUC_PORT_COM, 0x10, 0x0000 },
2175 	    },
2176 	},
2177 	{   /* "Xircom 56k Modem", */
2178 	    {	PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM56,	0, 0	},
2179 	    {	0xffff,	0xffff,					0, 0	},
2180 	    {
2181 		{ PUC_PORT_COM, 0x10, 0x0000 },
2182 	    },
2183 	},
2184 	{   /* "WinChipHead CH351 (2S)", */
2185 	    {	PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH351,	0, 0	},
2186 	    {	0xffff,	0xffff,					0, 0	},
2187 	    {
2188 		{ PUC_PORT_COM, 0x10, 0x0000 },
2189 		{ PUC_PORT_COM, 0x14, 0x0000 },
2190 	    },
2191 	},
2192 	{   /* "WinChipHead CH352", */
2193 	    {	PCI_VENDOR_WCH, PCI_PRODUCT_WCH_CH352,		0, 0	},
2194 	    {	0xffff,	0xffff,					0, 0	},
2195 	    {
2196 		{ PUC_PORT_COM, 0x10, 0x0000 },
2197 		{ PUC_PORT_COM, 0x14, 0x0000 },
2198 	    },
2199 	},
2200 	{   /* "WinChipHead CH382 (2S)", */
2201 	    {	PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_1,	0, 0	},
2202 	    {	0xffff,	0xffff,					0, 0	},
2203 	    {
2204 		{ PUC_PORT_COM, 0x10, 0x00c0 },
2205 		{ PUC_PORT_COM, 0x10, 0x00c8 },
2206 	    },
2207 	},
2208 	{   /* "WinChipHead CH382 (2S1P)", */
2209 	    {	PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_2,	0, 0	},
2210 	    {	0xffff,	0xffff,					0, 0	},
2211 	    {
2212 		{ PUC_PORT_COM, 0x10, 0x00c0 },
2213 		{ PUC_PORT_COM, 0x10, 0x00c8 },
2214 	    },
2215 	},
2216 	{   /* "TXIC TX382B (2S)", */
2217 	    {	PCI_VENDOR_TXIC, PCI_PRODUCT_TXIC_TX382B,	0, 0	},
2218 	    {	0xffff, 0xffff,					0, 0	},
2219 	    {
2220 		{ PUC_PORT_COM, 0x10, 0x0000 },
2221 		{ PUC_PORT_COM, 0x14, 0x0000 },
2222 	    }
2223 	},
2224 	{   /* "ASIX AX99100", */
2225 	    {	PCI_VENDOR_ASIX, PCI_PRODUCT_ASIX_AX99100,	0, 0	},
2226 	    {	0xffff, 0xffff,					0, 0	},
2227 	    {
2228 		{ PUC_PORT_COM, 0x10, 0x0000 },
2229 	    }
2230 	},
2231 	{   /* "NetMos NM9820 UART" */
2232 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9820,	0, 0	},
2233 	    {	0xffff,	0xffff,					0, 0	},
2234 	    {
2235 		{ PUC_PORT_COM, 0x10, 0x0000 },
2236 	    },
2237 	},
2238 	{   /* "MosChip MCS9865 Quad Serial Port" */
2239 	    {   PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x4 },
2240 	    {   0xffff, 0xffff, 0xffff, 0xffff },
2241 	    {
2242 		{ PUC_PORT_COM, 0x10, 0x0000 },
2243 		{ PUC_PORT_COM, 0x14, 0x0000 },
2244 		{ PUC_PORT_COM, 0x18, 0x0000 },
2245 		{ PUC_PORT_COM, 0x1c, 0x0000 },
2246 	    },
2247 	},
2248 	{   /* "MosChip MCS9865 Dual Serial Port" */
2249 	    {   PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x2 },
2250 	    {   0xffff, 0xffff, 0xffff, 0xffff },
2251 	    {
2252 		{ PUC_PORT_COM, 0x10, 0x0000 },
2253 		{ PUC_PORT_COM, 0x14, 0x0000 },
2254 	    },
2255 	},
2256 	{   /* "MosChip MCS9865 Single Serial Port" */
2257 	    {   PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x1 },
2258 	    {   0xffff, 0xffff, 0xffff, 0xffff },
2259 	    {
2260 		{ PUC_PORT_COM, 0x10, 0x0000 },
2261 	    },
2262 	},
2263 	{   /* "Redhat QEMU PCI Serial" */
2264 	    {   PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL, 0x0000, 0x0000 },
2265 	    {   0xffff, 0xffff, 0x0000, 0x0000 },
2266 	    {
2267 		{ PUC_PORT_COM, 0x10, 0x0000 },
2268 	    },
2269 	},
2270 	{   /* "Redhat QEMU PCI Serial 2x" */
2271 	    {   PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL2, 0x0000, 0x0000 },
2272 	    {   0xffff, 0xffff, 0x0000, 0x0000 },
2273 	    {
2274 		{ PUC_PORT_COM, 0x10, 0x0000 },
2275 		{ PUC_PORT_COM, 0x10, 0x0008 },
2276 	    },
2277 	},
2278 	{   /* "Redhat QEMU PCI Serial 4x" */
2279 	    {   PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL4, 0x0000, 0x0000 },
2280 	    {   0xffff, 0xffff, 0x0000, 0x0000 },
2281 	    {
2282 		{ PUC_PORT_COM, 0x10, 0x0000 },
2283 		{ PUC_PORT_COM, 0x10, 0x0008 },
2284 		{ PUC_PORT_COM, 0x10, 0x0010 },
2285 		{ PUC_PORT_COM, 0x10, 0x0018 },
2286 	    },
2287 	},
2288 };
2289 int puc_ndevs = nitems(puc_devs);
2290