xref: /openbsd-src/sys/dev/pci/pucdata.c (revision 43003dfe3ad45d1698bed8a37f2b0f5b14f20d4f)
1 /*	$OpenBSD: pucdata.c,v 1.65 2009/08/11 20:03:56 deraadt 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 #include <dev/ic/comreg.h>
48 
49 const struct puc_device_description puc_devices[] = {
50 	/*
51 	 * XXX no entry because I have no data:
52 	 * XXX Dolphin Peripherals 4006 (single parallel)
53 	 */
54 
55 	/*
56 	 * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
57 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
58 	 * into the subsystem fields, and claims that it's a
59 	 * network/misc (0x02/0x80) device.
60 	 */
61 	{   /* "Dolphin Peripherals 4014" */
62 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_9050,	0xd84d,	0x6810	},
63 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
64 	    {
65 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00 },
66 		{ PUC_PORT_TYPE_LPT, 0x24, 0x00 },
67 	    },
68 	},
69 
70 	/*
71 	 * XXX no entry because I have no data:
72 	 * XXX Dolphin Peripherals 4025 (single serial)
73 	 */
74 
75 	/*
76 	 * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
77 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
78 	 * into the subsystem fields, and claims that it's a
79 	 * network/misc (0x02/0x80) device.
80 	 */
81 	{   /* "Dolphin Peripherals 4035" */
82 	    {	PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,	0xd84d,	0x6808	},
83 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
84 	    {
85 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
86 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
87 	    },
88 	},
89 
90 	/*
91 	 * XXX no entry because I have no data:
92 	 * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
93 	 */
94 
95 	/*
96 	 * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
97 	 */
98 
99 	/* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
100 	{   /* "Decision Computer Inc PCCOM 2 Port RS232/422/485", */
101 	    {	PCI_VENDOR_DCI,	PCI_PRODUCT_DCI_APCI2,		0, 0	},
102 	    {	0xffff,	0xffff,					0, 0	},
103 	    {
104 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
105 		{ PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
106 	    },
107 	},
108 
109 	/* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
110 	{   /* "Decision Computer Inc PCCOM 4 Port RS232/422/485", */
111 	    {	PCI_VENDOR_DCI,	PCI_PRODUCT_DCI_APCI4,		0, 0	},
112 	    {	0xffff,	0xffff,					0, 0	},
113 	    {
114 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
115 		{ PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
116 		{ PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
117 		{ PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
118 	    },
119 	},
120 
121 	/* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
122 	{   /* "Decision Computer Inc PCCOM 8 Port RS232/422/485", */
123 	    {	PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8,		0, 0	},
124 	    {	0xffff,	0xffff,					0, 0	},
125 	    {
126 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
127 		{ PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
128 		{ PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
129 		{ PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
130 		{ PUC_PORT_TYPE_COM, 0x1c, 0x20, COM_FREQ },
131 		{ PUC_PORT_TYPE_COM, 0x1c, 0x28, COM_FREQ },
132 		{ PUC_PORT_TYPE_COM, 0x1c, 0x30, COM_FREQ },
133 		{ PUC_PORT_TYPE_COM, 0x1c, 0x38, COM_FREQ },
134 	    },
135 	},
136 	/* IBM SurePOS 300 Series (481033H) serial ports */
137 	{   /* "IBM SurePOS 300 Series (481033H) serial ports", */
138 	    {	PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC,	0, 0	},
139 	    {	0xffff, 0xffff,					0, 0	},
140 	    {
141 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, /* Port C */
142 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, /* Port D */
143 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, /* Port E */
144 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, /* Port F */
145 	    },
146 	},
147 
148 	/*
149 	 * SIIG Boards.
150 	 *
151 	 * SIIG provides documentation for their boards at:
152 	 * <URL:http://www.siig.com/driver.htm>
153 	 *
154 	 * Please excuse the weird ordering, it's the order they
155 	 * use in their documentation.
156 	 */
157 
158 	/*
159 	 * SIIG "10x" family boards.
160 	 */
161 
162 	/* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
163 	{   /* "SIIG Cyber Serial PCI 16C550 (10x family)", */
164 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000,		0, 0	},
165 	    {	0xffff,	0xffff,					0, 0	},
166 	    {
167 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
168 	    },
169 	},
170 
171 	/* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
172 	{   /* "SIIG Cyber Serial PCI 16C650 (10x family)", */
173 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001,		0, 0	},
174 	    {	0xffff,	0xffff,					0, 0	},
175 	    {
176 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
177 	    },
178 	},
179 
180 	/* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
181 	{   /* "SIIG Cyber Serial PCI 16C850 (10x family)", */
182 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002,		0, 0	},
183 	    {	0xffff,	0xffff,					0, 0	},
184 	    {
185 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
186 	    },
187 	},
188 
189 	/* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
190 	{   /* "SIIG Cyber I/O PCI 16C550 (10x family)", */
191 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010,		0, 0	},
192 	    {	0xffff,	0xffff,					0, 0	},
193 	    {
194 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
195 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
196 	    },
197 	},
198 
199 	/* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
200 	{   /* "SIIG Cyber I/O PCI 16C650 (10x family)", */
201 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011,		0, 0	},
202 	    {	0xffff,	0xffff,					0, 0	},
203 	    {
204 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
205 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
206 	    },
207 	},
208 
209 	/* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
210 	{   /* "SIIG Cyber I/O PCI 16C850 (10x family)", */
211 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012,		0, 0	},
212 	    {	0xffff,	0xffff,					0, 0	},
213 	    {
214 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
215 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
216 	    },
217 	},
218 
219 	/* SIIG Cyber Parallel PCI (10x family): 1P */
220 	{   /* "SIIG Cyber Parallel PCI (10x family)", */
221 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020,		0, 0	},
222 	    {	0xffff,	0xffff,					0, 0	},
223 	    {
224 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
225 	    },
226 	},
227 
228 	/* SIIG Cyber Parallel Dual PCI (10x family): 2P */
229 	{   /* "SIIG Cyber Parallel Dual PCI (10x family)", */
230 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021,		0, 0	},
231 	    {	0xffff,	0xffff,					0, 0	},
232 	    {
233 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
234 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00 },
235 	    },
236 	},
237 
238 	/* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
239 	{   /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */
240 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030,		0, 0	},
241 	    {	0xffff,	0xffff,					0, 0	},
242 	    {
243 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
244 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
245 	    },
246 	},
247 
248 	/* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
249 	{   /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */
250 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031,		0, 0	},
251 	    {	0xffff,	0xffff,					0, 0	},
252 	    {
253 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
254 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
255 	    },
256 	},
257 
258 	/* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
259 	{   /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */
260 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032,		0, 0	},
261 	    {	0xffff,	0xffff,					0, 0	},
262 	    {
263 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
264 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
265 	    },
266 	},
267 
268 	/* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
269 	{   /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */
270 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034,		0, 0	},
271 	    {	0xffff,	0xffff,					0, 0	},
272 	    {
273 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
274 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
275 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00 },
276 	    },
277 	},
278 
279 	/* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
280 	{   /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */
281 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035,		0, 0	},
282 	    {	0xffff,	0xffff,					0, 0	},
283 	    {
284 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
285 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
286 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00 },
287 	    },
288 	},
289 
290 	/* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
291 	{   /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */
292 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036,		0, 0	},
293 	    {	0xffff,	0xffff,					0, 0	},
294 	    {
295 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
296 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
297 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00 },
298 	    },
299 	},
300 
301 	/* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
302 	{   /* "SIIG Cyber 4S PCI 16C550 (10x family)", */
303 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050,		0, 0	},
304 	    {	0xffff,	0xffff,					0, 0	},
305 	    {
306 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
307 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
308 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
309 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
310 	    },
311 	},
312 
313 	/* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
314 	{   /* "SIIG Cyber 4S PCI 16C650 (10x family)", */
315 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051,		0, 0	},
316 	    {	0xffff,	0xffff,					0, 0	},
317 	    {
318 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
319 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
320 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
321 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
322 	    },
323 	},
324 
325 	/* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
326 	{   /* "SIIG Cyber 4S PCI 16C850 (10x family)", */
327 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052,		0, 0	},
328 	    {	0xffff,	0xffff,					0, 0	},
329 	    {
330 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
331 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
332 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
333 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
334 	    },
335 	},
336 
337 	/*
338 	 * SIIG "20x" family boards.
339 	 */
340 
341 	/* SIIG Cyber Parallel PCI (20x family): 1P */
342 	{   /* "SIIG Cyber Parallel PCI (20x family)", */
343 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020,		0, 0	},
344 	    {	0xffff,	0xffff,					0, 0	},
345 	    {
346 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00 },
347 	    },
348 	},
349 
350 	/* SIIG Cyber Parallel Dual PCI (20x family): 2P */
351 	{   /* "SIIG Cyber Parallel Dual PCI (20x family)", */
352 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021,		0, 0	},
353 	    {	0xffff,	0xffff,					0, 0	},
354 	    {
355 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00 },
356 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
357 	    },
358 	},
359 
360 	/* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
361 	{   /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */
362 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040,		0, 0	},
363 	    {	0xffff,	0xffff,					0, 0	},
364 	    {
365 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
366 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00 },
367 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
368 	    },
369 	},
370 
371 	/* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
372 	{   /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */
373 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041,		0, 0	},
374 	    {	0xffff,	0xffff,					0, 0	},
375 	    {
376 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
377 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00 },
378 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
379 	    },
380 	},
381 
382 	/* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
383 	{   /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */
384 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042,		0, 0	},
385 	    {	0xffff,	0xffff,					0, 0	},
386 	    {
387 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
388 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00 },
389 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
390 	    },
391 	},
392 
393 	/* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
394 	{   /* "SIIG Cyber Serial PCI 16C550 (20x family)", */
395 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000,		0, 0	},
396 	    {	0xffff,	0xffff,					0, 0	},
397 	    {
398 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
399 	    },
400 	},
401 
402 	/* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
403 	{   /* "SIIG Cyber Serial PCI 16C650 (20x family)", */
404 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001,		0, 0	},
405 	    {	0xffff,	0xffff,					0, 0	},
406 	    {
407 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
408 	    },
409 	},
410 
411 	/* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
412 	{   /* "SIIG Cyber Serial PCI 16C850 (20x family)", */
413 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002,		0, 0	},
414 	    {	0xffff,	0xffff,					0, 0	},
415 	    {
416 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
417 	    },
418 	},
419 
420 	/* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
421 	{   /* "SIIG Cyber I/O PCI 16C550 (20x family)", */
422 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010,		0, 0	},
423 	    {	0xffff,	0xffff,					0, 0	},
424 	    {
425 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
426 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00 },
427 	    },
428 	},
429 
430 	/* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
431 	{   /* "SIIG Cyber I/O PCI 16C650 (20x family)", */
432 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011,		0, 0	},
433 	    {	0xffff,	0xffff,					0, 0	},
434 	    {
435 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
436 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00 },
437 	    },
438 	},
439 
440 	/* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
441 	{   /* "SIIG Cyber I/O PCI 16C850 (20x family)", */
442 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012,		0, 0	},
443 	    {	0xffff,	0xffff,					0, 0	},
444 	    {
445 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
446 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00 },
447 	    },
448 	},
449 
450 	/* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
451 	{   /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */
452 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030,		0, 0	},
453 	    {	0xffff,	0xffff,					0, 0	},
454 	    {
455 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
456 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
457 	    },
458 	},
459 
460 	/* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
461 	{   /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */
462 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031,		0, 0	},
463 	    {	0xffff,	0xffff,					0, 0	},
464 	    {
465 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
466 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
467 	    },
468 	},
469 
470 	/* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
471 	{   /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */
472 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032,		0, 0	},
473 	    {	0xffff,	0xffff,					0, 0	},
474 	    {
475 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
476 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
477 	    },
478 	},
479 
480 	/* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
481 	{   /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */
482 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060,		0, 0	},
483 	    {	0xffff,	0xffff,					0, 0	},
484 	    {
485 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
486 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
487 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
488 	    },
489 	},
490 
491 	/* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
492 	{   /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */
493 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061,		0, 0	},
494 	    {	0xffff,	0xffff,					0, 0	},
495 	    {
496 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
497 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
498 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
499 	    },
500 	},
501 
502 	/* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
503 	{   /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */
504 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062,		0, 0	},
505 	    {	0xffff,	0xffff,					0, 0	},
506 	    {
507 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
508 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
509 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
510 	    },
511 	},
512 
513 	/* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
514 	{   /* "SIIG Cyber 4S PCI 16C550 (20x family)", */
515 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050,		0, 0	},
516 	    {	0xffff,	0xffff,					0, 0	},
517 	    {
518 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
519 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
520 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
521 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
522 	    },
523 	},
524 
525 	/* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
526 	{   /* "SIIG Cyber 4S PCI 16C650 (20x family)", */
527 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051,		0, 0	},
528 	    {	0xffff,	0xffff,					0, 0	},
529 	    {
530 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
531 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
532 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
533 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
534 	    },
535 	},
536 
537 	/* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
538 	{   /* "SIIG Cyber 4S PCI 16C850 (20x family)", */
539 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052,		0, 0	},
540 	    {	0xffff,	0xffff,					0, 0	},
541 	    {
542 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
543 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
544 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
545 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
546 	    },
547 	},
548 
549 	/* SIIG Cyber 8S PCI 16C850 (20x family): 8S */
550 	{   /* "SIIG Cyber 8S PCI 16C850 (20x family)", */
551 	    {	PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081,		0, 0	},
552 	    {	0xffff, 0xffff,					0, 0	},
553 	    {
554 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
555 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
556 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
557 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
558 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
559 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
560 		{ PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ },
561 		{ PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ },
562 	    },
563 	},
564 
565 	/* SIIG Cyber 8S PCI 16C850 (20x family): 8S */
566 	{   /* "SIIG Cyber 8S PCI 16C850 (20x family)", */
567 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
568 		PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082	},
569 	    {	0xffff, 0xffff,	0xffff, 0xffff	},
570 	    {
571 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
572 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
573 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
574 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
575 	    },
576 	},
577 
578 	/* OX16PCI954, first part of Serial Technologies Expander PCI-232-108 */
579 	{   /* "OX16PCI954" */
580 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
581 		PCI_VENDOR_OXFORD2, 0	},
582 	    {	0xffff, 0xffff,	0xffff, 0xffff	},
583 	    {
584 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
585 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
586 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
587 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
588 	    },
589 	},
590 
591 	/* Exsys EX-41098, second part of Serial Technologies Expander PCI-232-108 */
592 	{   /* "Exsys EX-41098", */
593 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
594 		PCI_VENDOR_OXFORD2, 0	},
595 	    {	0xffff, 0xffff, 0xffff, 0xffff },
596 	    {
597 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
598 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
599 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
600 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
601 	    },
602 	},
603 
604 	/* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */
605 	{   /* "Exsys EX-41098", */
606 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,
607 		PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082	},
608 	    {	0xffff, 0xffff, 0xffff, 0xffff },
609 	    {
610 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
611 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
612 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
613 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
614 	    },
615 	},
616 
617 	/*
618 	 * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer
619 	 */
620 	{ /* "VScom PCI-400S", */
621 	    { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 },
622 	    { 0xffff, 0xffff, 0xffff, 0xffff },
623 	    {
624 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
625 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
626 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
627 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
628 	    },
629 	},
630 
631 	/*
632 	 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html.
633 	 * Some PLX chip.  Note: This board has a software selectable(?)
634 	 * clock multiplier which this driver doesn't support, so you'll
635 	 * have to use an appropriately scaled baud rate when talking to
636 	 * the card.
637 	 */
638 	{   /* "VScom PCI-800", */
639 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_1076,	0x10b5,	0x1076	},
640 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
641 	    {
642 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
643 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
644 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
645 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
646 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
647 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
648 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
649 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
650 	    },
651 	},
652 
653 	/*
654 	* VScom PCI 011H, 1 lpt.
655 	*/
656 	{   /* "VScom PCI-011H", */
657 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H,	0, 0 },
658 	    {	0xffff, 0xffff,						0, 0 },
659 	    {
660 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00 },
661 	    },
662 	},
663 
664 	/*
665 	 * VScom PCI x10H, 1 lpt.
666 	 * is the lpt part of VScom 110H, 210H, 410H
667 	 */
668 	{   /* "VScom PCI-x10H", */
669 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIx10H,	0, 0 },
670 	    {	0xffff, 0xffff,						0, 0 },
671 	    {
672 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00 },
673 	    },
674 	},
675 
676 	/*
677 	 * VScom PCI 100H, little sister of 800H, 1 com.
678 	 * also com part of VScom 110H
679 	 * The one I have defaults to a fequency of 14.7456 MHz which is
680 	 * jumper J1 set to 2-3.
681 	 */
682 	{   /* "VScom PCI-100H", */
683 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H,	0, 0 },
684 	    {	0xffff, 0xffff,						0, 0 },
685 	    {
686 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
687 	    },
688 	},
689 
690 	/*
691 	 * VScom PCI 200H, little sister of 800H, 2 com.
692 	 * also com part of VScom 210H
693 	 * The one I have defaults to a fequency of 14.7456 MHz which is
694 	 * jumper J1 set to 2-3.
695 	 */
696 
697 	{   /* "VScom PCI-200H", */
698 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H,	0, 0 },
699 	    {	0xffff, 0xffff,						0, 0 },
700 	    {
701 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
702 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
703 	    },
704 	},
705 
706 	/*
707 	 * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips
708 	 * that offers 4 com port on PCI device 0 (both 400H and 800H)
709 	 * and 4 on PCI device 1 (800H only). PCI device 0 has
710 	 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal
711 	 * instead of the standart 1.8432MHz.
712 	 * There's a version with a jumper for selecting the crystal frequency,
713 	 * defaults to 8x as used here. The jumperless version uses 8x, too.
714 	 */
715 	{   /* "VScom PCI-400H/800H", */
716 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0,	0, 0 },
717 	    {	0xffff, 0xffff,						0, 0 },
718 	    {
719 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
720 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
721 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
722 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
723 	    },
724 	},
725 	{   /* "VScom PCI-400H/800H", */
726 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1,	0, 0 },
727 	    {	0xffff, 0xffff,						0, 0 },
728 	    {
729 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
730 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
731 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
732 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
733 	    },
734 	},
735 
736 	/*
737 	 * VScom PCI 200HV2, is 200H Version 2.
738 	 * Sells as 200H
739 	 */
740 	{   /* "VScom PCI-200HV2", */
741 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2,	0, 0 },
742 	    {	0xffff, 0xffff,						0, 0 },
743 	    {
744 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
745 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
746 	    },
747 	},
748 
749 	/*
750 	 * VScom PCI 010L
751 	 * one lpt
752 	 * untested
753 	 */
754 	{   /* "VScom PCI-010L", */
755 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L,    0, 0 },
756 	    {	0xffff, 0xffff,						0, 0 },
757 	    {
758 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
759 	    },
760 	},
761 
762 	/*
763 	 * VScom PCI 100L
764 	 * one com
765 	 * The one I have defaults to a fequency of 14.7456 MHz which is
766 	 * jumper J1 set to 2-3.
767 	 */
768 	{   /* "VScom PCI-100L", */
769 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L,	0, 0 },
770 	    {	0xffff, 0xffff,						0, 0 },
771 	    {
772 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
773 	    },
774 	},
775 
776 	/*
777 	 * VScom PCI 110L
778 	 * one com, one lpt
779 	 * untested
780 	 */
781 	{   /* "VScom PCI-110L", */
782 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L,	0, 0 },
783 	    {	0xffff, 0xffff,						0, 0 },
784 	    {
785 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
786 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
787 	    },
788 	},
789 
790 	/*
791 	 * VScom PCI-200L has 2 x 16550 UARTS.
792 	 * The board has a jumper which allows you to select a clock speed
793 	 * of either 14.7456MHz or 1.8432MHz. By default it runs at
794 	 * the fast speed.
795 	 */
796 	{   /* "VScom PCI-200L with 2 x 16550 UARTS" */
797 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L,	0, 0 },
798 	    {	0xffff, 0xffff,						0, 0 },
799 	    {
800 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
801 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
802 	    },
803 	},
804 
805 	/*
806 	 * VScom PCI-210L
807 	 * Has a jumper for frequency selection, defaults to 8x as used here
808 	 * two com, one lpt
809 	 */
810 	{   /* "VScom PCI-210L" */
811 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L,	0, 0 },
812 	    {	0xffff, 0xffff,						0, 0 },
813 	    {
814 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
815 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
816 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
817 	    },
818 	},
819 
820 	/*
821 	 * VScom PCI 400L
822 	 * Has a jumper for frequency selection, defaults to 8x as used here
823 	 * This is equal to J1 in pos 2-3
824 	 * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex)
825 	 */
826 	{   /* "VScom PCI-400L", */
827 	    {	PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L,	0, 0 },
828 	    {	0xffff, 0xffff,						0, 0 },
829 	    {
830 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
831 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
832 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
833 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
834 	    },
835 	},
836 
837 	/*
838 	 * VScom PCI 800L
839 	 * Has a jumper for frequency selection, defaults to 8x as used here
840 	 */
841 	{   /* "VScom PCI-800L", */
842 	    {	PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L,	0, 0 },
843 	    {	0xffff, 0xffff,						0, 0 },
844 	    {
845 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
846 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
847 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
848 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
849 		{ PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
850 		{ PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
851 		{ PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 },
852 		{ PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 },
853 	    },
854 	},
855 
856 	/*
857 	 * Exsys EX-41098
858 	 */
859 	{   /* "Exsys EX-41098", */
860 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,	0, 0 },
861 	    {	0xffff, 0xffff,						0, 0 },
862 	    {
863 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
864 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
865 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
866 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
867 	    },
868 	},
869 
870 	/*
871 	 * Boards with an Oxford Semiconductor chip.
872 	 *
873 	 * Oxford Semiconductor provides documentation for their chip at:
874 	 * <URL:http://www.oxsemi.com/products/uarts/index.html>
875 	 *
876 	 * As sold by Kouwell <URL:http://www.kouwell.com/>.
877 	 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
878 	 */
879 
880 	/* Exsys EX-1372 (uses Oxford OX16PCI952 and a 8x clock) */
881 	{   /* "Oxford Semiconductor OX16PCI952 UARTs", */
882 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952,
883 		PCI_VENDOR_OXFORD2, 0x0001 },
884 	    {   0xffff, 0xffff,	0xffff, 0xffff },
885 	    {
886 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
887 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
888 	    },
889 	},
890 
891 	/* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
892 	{   /* "Oxford Semiconductor OX16PCI952 UARTs", */
893 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952,	0, 0 },
894 	    {   0xffff, 0xffff,						0, 0 },
895 	    {
896 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
897 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
898 	    },
899 	},
900 
901 	/* Oxford Semiconductor OX16PCI952 PCI Parallel port */
902 	{   /* "Oxford Semiconductor OX16PCI952 Parallel port", */
903 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P,	0, 0 },
904 	    {   0xffff, 0xffff,						0, 0 },
905 	    {
906 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
907 	    },
908 	},
909 
910 	/* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */
911 	{   /* "Oxford Semiconductor OX16PCI954 UARTs", */
912 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
913 		PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 },
914 	    {   0xffff, 0xffff, 0xffff, 0xffff },
915 	    {
916 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
917 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
918 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
919 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
920 	    },
921 	},
922 
923 	/* Oxford Semiconductor OX16PCI954 PCI UARTs */
924 	{   /* "Oxford Semiconductor OX16PCI954 UARTs", */
925 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,	0, 0 },
926 	    {   0xffff, 0xffff,						0, 0 },
927 	    {
928 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
929 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
930 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
931 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
932 	    },
933 	},
934 
935 	/* Commell MP-954GPS, GPS and 2 COM */
936 	{   /* "Oxford Semiconductor OX16mPCI954 UARTs", */
937 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXMPCI954,	0, 0 },
938 	    {   0xffff, 0xffff,						0, 0 },
939 	    {
940 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
941 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
942 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
943 	    },
944 	},
945 
946 	/* Oxford Semiconductor OX16PCI954K PCI UARTs */
947 	{   /* "Oxford Semiconductor OX16PCI954K UARTs", */
948 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K,	0, 0 },
949 	    {   0xffff, 0xffff,						0, 0 },
950 	    {
951 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
952 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
953 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
954 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
955 	    },
956 	},
957 
958 	/* Oxford Semiconductor OX16PCI954 PCI Parallel port */
959 	{   /* "Oxford Semiconductor OX16PCI954 Parallel port", */
960 	    {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P,	0, 0 },
961 	    {   0xffff, 0xffff,						0, 0 },
962 	    {
963 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
964 	    },
965 	},
966 
967 	/*
968 	 * NEC PK-UG-X001 K56flex PCI Modem card.
969 	 * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using.
970 	 */
971 	{   /* "NEC PK-UG-X001 K56flex PCI Modem", */
972 	    {	PCI_VENDOR_NEC,	PCI_PRODUCT_NEC_MARTH,	0x1033,	0x8014	},
973 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
974 	    {
975 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
976 	    },
977 	},
978 
979 	/* NEC PK-UG-X008 */
980 	{   /* "NEC PK-UG-X008", */
981 	    {	PCI_VENDOR_NEC,	PCI_PRODUCT_NEC_PKUG,	0x1033,	0x8012	},
982 	    {	0xffff,	0xffff,				0xffff,	0xffff	},
983 	    {
984 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
985 	    },
986 	},
987 
988 	/* Lava Computers 2SP-PCI (0x8000-0x8003) */
989 	{   /* "Lava Computers 2SP-PCI parallel port", */
990 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P,	0, 0	},
991 	    {	0xffff,	0xfffc,					0, 0	},
992 	    {
993 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00 },
994 	    },
995 	},
996 
997 	/* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
998 	{   /* "Lava Computers dual serial port", */
999 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S,	0, 0	},
1000 	    {	0xffff,	0xfffc,					0, 0	},
1001 	    {
1002 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1003 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1004 	    },
1005 	},
1006 
1007 	/*
1008 	 * Lava Computers Quattro-PCI serial ports.
1009 	 * A second version of the Quattro-PCI with different PCI ids.
1010 	 */
1011 	{   /* "Lava Computers Quattro-PCI 4-port serial", */
1012 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2,	0, 0	},
1013 	    {	0xffff,	0xfffe,					0, 0	},
1014 	    {
1015 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1016 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1017 	    },
1018 	},
1019 
1020 	/*
1021 	 * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI
1022 	 * serial ports.
1023 	 */
1024 	{   /* "Lava Computers high-speed port", */
1025 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0,	0, 0	},
1026 	    {	0xffff,	0xfffc,					0, 0	},
1027 	    {
1028 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
1029 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 4 },
1030 	    },
1031 	},
1032 
1033 	/*
1034 	 * Lava Computers LavaPort-single serial port.
1035 	 */
1036 	{   /* "Lava Computers high-speed port", */
1037 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2,	0, 0	},
1038 	    {	0xffff,	0xfffc,					0, 0	},
1039 	    {
1040 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
1041 	    },
1042 	},
1043 
1044 	/* Lava Computers LavaPort-650 */
1045 	{   /* "Lava Computers high-speed port", */
1046 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650,		0, 0	},
1047 	    {	0xffff,	0xfffc,					0, 0	},
1048 	    {
1049 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
1050 	    },
1051 	},
1052 
1053 	/* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */
1054 	{   /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */
1055 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0,	0, 0	},
1056 	    {	0xffff,	0xfffc,					0, 0	},
1057 	    {
1058 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1059 	    },
1060 	},
1061 
1062 	/* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */
1063 	{   /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */
1064 	    {	PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1,	0, 0	},
1065 	    {	0xffff,	0xfffc,					0, 0	},
1066 	    {
1067 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1068 	    },
1069 	},
1070 
1071 	/* Lava Computers Octopus-550 serial ports */
1072 	{   /* "Lava Computers Octopus-550 8-port serial", */
1073 	    {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0,	0, 0	},
1074 	    {   0xffff, 0xfffc,					0, 0	},
1075 	    {
1076 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1077 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1078 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1079 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1080 	    },
1081 	},
1082 
1083 	/* Lava Computers Octopus-550 serial ports */
1084 	{   /* "Lava Computers Octopus-550 8-port serial", */
1085 	    {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_1,	0, 0	},
1086 	    {   0xffff, 0xfffc,					0, 0	},
1087 	    {
1088 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1089 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1090 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1091 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1092 	    },
1093 	},
1094 
1095 	/* US Robotics (3Com) PCI Modems */
1096 	{   /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */
1097 	    {	PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610,	0, 0	},
1098 	    {	0xffff,	0xffff,					0, 0	},
1099 	    {
1100 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1101 	    },
1102 	},
1103 
1104 	/* IBM 33L4618: AT&T/Lucent Venus Modem */
1105 	{   /* "IBM 33L4618: AT&T/Lucent Venus Modem", */
1106 	    /* "Actiontec 56K PCI Master" */
1107 	    {	PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM,	0, 0 },
1108 	    {	0xffff,	0xffff,						0, 0 },
1109 	    {
1110 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
1111 	    },
1112 	},
1113 
1114 	/* Topic/SmartLink 5634PCV SurfRider */
1115 	{   /* "Topic/SmartLink 5634PCV SurfRider" */
1116 	    {	PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV,	0, 0	},
1117 	    {	0xffff,	0xffff,					0, 0	},
1118 	    {
1119 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1120 	    },
1121 	},
1122 
1123 	/* SD-LAB PCI I/O Card 4S */
1124 	{   /* "Syba Tech Ltd. PCI-4S" */
1125 	    {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S,		0, 0	},
1126 	    {	0xffff,	0xffff,					0, 0	},
1127 	    {
1128 		{ PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
1129 		{ PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
1130 		{ PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
1131 		{ PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
1132 	    },
1133 	},
1134 
1135 	/* SD-LAB PCI I/O Card 4S2P */
1136 	{   /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */
1137 	    {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P,		0, 0	},
1138 	    {	0xffff,	0xffff,					0, 0	},
1139 	    {
1140 		{ PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
1141 		{ PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
1142 		{ PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
1143 		{ PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
1144 		{ PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
1145 		{ PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
1146 	    },
1147 	},
1148 
1149 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1150 	{   /* "Moxa Technologies, Industio CP-114" */
1151 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114,	0, 0	},
1152 	    {	0xffff,	0xffff,					0, 0	},
1153 	    {
1154 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1155 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1156 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1157 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1158 	    },
1159 	},
1160 
1161 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1162 	{   /* "Moxa Technologies, SmartIO C104H/PCI" */
1163 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H,	0, 0	},
1164 	    {	0xffff,	0xffff,					0, 0	},
1165 	    {
1166 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1167 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1168 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1169 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1170 	    },
1171 	},
1172 
1173 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1174 	{   /* "Moxa Technologies, SmartIO CP104UL/PCI" */
1175 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104UL,	0, 0	},
1176 	    {	0xffff,	0xffff,					0, 0	},
1177 	    {
1178 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1179 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1180 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1181 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1182 	    },
1183 	},
1184 
1185 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1186 	{   /* "Moxa Technologies, SmartIO CP104JU/PCI" */
1187 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104JU,	0, 0	},
1188 	    {	0xffff,	0xffff,					0, 0	},
1189 	    {
1190 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1191 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1192 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1193 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1194 	    },
1195 	},
1196 
1197 	/* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
1198 	{   /* "Moxa Technologies, Industio C168H" */
1199 	    {	PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H,	0, 0	},
1200 	    {	0xffff,	0xffff,					0, 0	},
1201 	    {
1202 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1203 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1204 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1205 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1206 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
1207 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
1208 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
1209 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
1210 	    },
1211 	},
1212 
1213 	/* NetMos 1P PCI: 1P */
1214 	{   /* "NetMos NM9805 1284 Printer Port" */
1215 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9805,	0, 0	},
1216 	    {	0xffff,	0xffff,					0, 0	},
1217 	    {
1218 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1219 	    },
1220 	},
1221 
1222 	/* NetMos 1S PCI 16C650 : 1S */
1223 	{   /* "NetMos NM9835 UART" */
1224 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835,	0x1000, 0x0001	},
1225 	    {	0xffff,	0xffff,					0xffff, 0xffff	},
1226 	    {
1227 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1228 	    },
1229 	},
1230 
1231 	/* NetMos 2S1P PCI 16C650 : 2S, 1P */
1232 	{   /* "NetMos NM9835 Dual UART and 1284 Printer port" */
1233 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835,	0, 0	},
1234 	    {	0xffff,	0xffff,					0, 0	},
1235 	    {
1236 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1237 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1238 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1239 	    },
1240 	},
1241 
1242 	/* NetMos 4S PCI 16C650 : 4S, 0P */
1243 	{   /* "NetMos NM9845 Quad UART" */
1244 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 },
1245 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1246 	    {
1247 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1248 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1249 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1250 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1251 	    },
1252 	},
1253 
1254 	/* NetMos 4S1P PCI 16C650 : 4S, 1P */
1255 	{   /* "NetMos NM9845 Quad UART and 1284 Printer port" */
1256 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 },
1257 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1258 	    {
1259 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1260 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1261 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1262 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1263 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1264 	    },
1265 	},
1266 
1267 	/* NetMos 6S PCI 16C650 : 6S, 0P */
1268 	{   /* "NetMos NM9845 6 UART" */
1269 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 },
1270 	    {	0xffff,	0xffff,				      0xffff, 0xffff },
1271 	    {
1272 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1273 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1274 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1275 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1276 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
1277 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
1278 	    },
1279 	},
1280 
1281 	/* NetMos 2S PCI 16C650 : 2S */
1282 	{   /* "NetMos NM9845 Dual UART" */
1283 	    {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845,	0, 0	},
1284 	    {	0xffff,	0xffff,					0, 0	},
1285 	    {
1286 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1287 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1288 	    },
1289 	},
1290 
1291 	{ /* Sunix 4018A : 2-port parallel */
1292 	    {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A,	0, 0	},
1293 	    {	0xffff,	0xffff,					0, 0	},
1294 	    {
1295 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00 },
1296 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00 },
1297 	    },
1298 	},
1299 
1300 	/*
1301 	 * SUNIX 40XX series of serial/parallel combo cards.
1302 	 * Tested with 4055A and 4065A.
1303 	 */
1304 	{   /* SUNIX 400X 1P */
1305 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 },
1306 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1307 	    {
1308 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1309 	    },
1310 	},
1311 
1312 	{   /* SUNIX 401X 2P */
1313 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 },
1314 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1315 	    {
1316 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1317 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1318 	    },
1319 	},
1320 
1321 	{   /* SUNIX 402X 1S */
1322 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 },
1323 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1324 	    {
1325 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1326 	    },
1327 	},
1328 
1329 	{   /* SUNIX 403X 2S */
1330 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 },
1331 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1332 	    {
1333 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1334 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1335 	    },
1336 	},
1337 
1338 	{   /* SUNIX 4036 2S */
1339 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x0002 },
1340 	    {	0xffff,	0xffff,	0xffff,	0xffff },
1341 	    {
1342 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1343 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1344 	    },
1345 	},
1346 
1347 
1348 	{   /* SUNIX 405X 4S */
1349 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 },
1350 	    {	0xffff,	0xffff,	0xffff,	0xe0f0 },
1351 	    {
1352 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1353 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1354 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1355 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ },
1356 	    },
1357 	},
1358 
1359 	{   /* SUNIX 406X 8S */
1360 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 },
1361 	    {	0xffff,	0xffff,	0xffff,	0xe0f0 },
1362 	    {
1363 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1364 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1365 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
1366 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ * 8 },
1367 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1368 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
1369 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
1370 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
1371 	    },
1372 	},
1373 
1374 	{   /* SUNIX 407X 2S/1P */
1375 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 },
1376 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1377 	    {
1378 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1379 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1380 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1381 	    },
1382 	},
1383 
1384 	{   /* SUNIX 408X 2S/2P */
1385 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 },
1386 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1387 	    {
1388 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1389 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1390 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1391 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1392 	    },
1393 	},
1394 
1395 	{   /* SUNIX 409X 4S/2P */
1396 	    {	PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 },
1397 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
1398 	    {
1399 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
1400 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
1401 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1402 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ },
1403 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1404 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1405 	    },
1406 	},
1407 
1408 	/*
1409 	 * Boca Research Turbo Serial 654 (4 serial port) card.
1410 	 * Appears to be the same as Chase Research PLC PCI-FAST4 card,
1411 	 * same as Perle PCI-FAST4 Multi-Port serial card
1412 	 */
1413 	{   /* "Boca Turbo Serial 654 - IOP654" */
1414 	    {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,	0x12e0, 0x0031  },
1415 	    {   0xffff, 0xffff,				0xffff, 0xffff  },
1416 	    {
1417 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1418 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1419 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1420 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1421 	    },
1422 	},
1423 
1424 	/*
1425 	 * Boca Research Turbo Serial 658 (8 serial port) card.
1426 	 * Appears to be the same as Chase Research PLC PCI-FAST8 card
1427 	 * same as Perle PCI-FAST8 Multi-Port serial card
1428 	 */
1429 	{   /* "Boca Turbo Serial 658 - IOP658" */
1430 	    {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,	0x12e0, 0x0021  },
1431 	    {   0xffff, 0xffff,				0xffff, 0xffff  },
1432 	    {
1433 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1434 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1435 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1436 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1437 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
1438 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
1439 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
1440 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
1441 	    },
1442 	},
1443 
1444 	/* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */
1445 	{    /* "Cronyx Omega-PCI" */
1446 	    {	PCI_VENDOR_PLX,	PCI_PRODUCT_PLX_CRONYX_OMEGA,	0, 0 },
1447 	    {	0xffff,	0xffff,					0, 0 },
1448 	    {
1449 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1450 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
1451 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
1452 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
1453 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
1454 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
1455 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
1456 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
1457 	    },
1458 	},
1459 
1460 	/* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
1461 	{   /* "Avlab Low Profile PCI 4 Serial" */
1462 	    {	PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2,	0, 0  },
1463 	    {	0xffff,	0xffff,					0, 0  },
1464 	    {
1465 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1466 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1467 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1468 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1469 	    },
1470 	},
1471 
1472 	/* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
1473 	{   /* "Avlab Low Profile PCI 4 Serial" */
1474 	    {	PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S,	0, 0  },
1475 	    {	0xffff,	0xffff,					0, 0  },
1476 	    {
1477 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1478 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1479 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1480 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1481 	    },
1482 	},
1483 
1484 	/* Avlab Technology, Inc. PCI 2 Serial: 2S */
1485 	{   /* "Avlab PCI 2 Serial" */
1486 	    {	PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S,	0, 0  },
1487 	    {	0xffff,	0xffff,					0, 0  },
1488 	    {
1489 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1490 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1491 	    },
1492 	},
1493 
1494 	/* Digi International Digi Neo 4 Serial */
1495 	{
1496 	    {	PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4,		0, 0  },
1497 	    {	0xffff, 0xffff,					0, 0  },
1498 	    {
1499 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1500 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1501 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1502 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1503 	    },
1504 	},
1505 
1506 	/* Digi International Digi Neo 8 Serial */
1507 	{
1508 	    {	PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8,		0, 0  },
1509 	    {	0xffff, 0xffff,					0, 0  },
1510 	    {
1511 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1512 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1513 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1514 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1515 		{ PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
1516 		{ PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
1517 		{ PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
1518 		{ PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
1519 	    },
1520 	},
1521 
1522 	/*
1523 	 * Multi-Tech ISI5634PCI/4 4-port modem board.
1524 	 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its
1525 	 * config EEPROM.
1526 	 */
1527 	{
1528 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 },
1529 	    {	0xffff,	0xffff,				    0xffff, 0xffff },
1530 	    {
1531 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1532 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1533 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1534 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1535 	    },
1536 	},
1537 
1538 	{   /* EXAR XR17C152 Dual UART */
1539 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152,	0, 0 },
1540 	    {   0xffff, 0xffff,					0, 0 },
1541 	    {
1542 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1543 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1544 	    },
1545 	},
1546 
1547 	{   /* Exar XR17C154 Quad UART */
1548 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154,	0, 0 },
1549 	    {   0xffff, 0xffff,					0, 0 },
1550 	    {
1551 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1552 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1553 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1554 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1555 	    },
1556 	},
1557 
1558 	{   /* Exar XR17C158 Eight Channel UART */
1559 	    {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158,	0, 0 },
1560 	    {   0xffff, 0xffff,					0, 0 },
1561 	    {
1562 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1563 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1564 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1565 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1566 		{ PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
1567 		{ PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
1568 		{ PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
1569 		{ PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
1570 	    },
1571 	},
1572 
1573 	{   /* Dell DRAC 3 Virtual UART */
1574 	    {   PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_3_VUART,	0, 0 },
1575 	    {   0xffff, 0xffff,					0, 0 },
1576 	    {
1577 		{ PUC_PORT_TYPE_COM, 0x14, 0x0000, COM_FREQ * 128 },
1578 	    },
1579 	},
1580 	{   /* Dell DRAC 4 Virtual UART */
1581 	    {   PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_4_VUART,	0, 0 },
1582 	    {   0xffff, 0xffff,					0, 0 },
1583 	    {
1584 		{ PUC_PORT_TYPE_COM, 0x14, 0x0000, COM_FREQ * 128 },
1585 	    },
1586 	},
1587 
1588 	/*
1589 	 * Cardbus devices which can potentially show up because of
1590 	 * Expresscard adapters
1591 	 * XXX Keep this list syncronized with cardbus/com_cardbus.c
1592 	*/
1593 
1594 	{   /* "", */
1595 	    {	PCI_VENDOR_3COM, PCI_PRODUCT_3COM_GLOBALMODEM56,0, 0	},
1596 	    {	0xffff,	0xffff,					0, 0	},
1597 	    {
1598 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1599 	    },
1600 	},
1601 	{   /* "", */
1602 	    {	PCI_VENDOR_3COM, PCI_PRODUCT_3COM_MODEM56,	0, 0	},
1603 	    {	0xffff,	0xffff,					0, 0	},
1604 	    {
1605 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1606 	    },
1607 	},
1608 	{   /* "", */
1609 	    {	PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL,0, 0	},
1610 	    {	0xffff,	0xffff,					0, 0	},
1611 	    {
1612 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1613 	    },
1614 	},
1615 	{   /* "", */
1616 	    {	PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_2,0, 0	},
1617 	    {	0xffff,	0xffff,					0, 0	},
1618 	    {
1619 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1620 	    },
1621 	},
1622 	{   /* "", */
1623 	    {	PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_GC,0, 0	},
1624 	    {	0xffff,	0xffff,					0, 0	},
1625 	    {
1626 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1627 	    },
1628 	},
1629 	{   /* "", */
1630 	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MODEM56,	0, 0	},
1631 	    {	0xffff,	0xffff,					0, 0	},
1632 	    {
1633 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1634 	    },
1635 	},
1636 	{   /* "", */
1637 	    {	PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXCB950,0, 0	},
1638 	    {	0xffff,	0xffff,					0, 0	},
1639 	    {
1640 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1641 	    },
1642 	},
1643 	{   /* "Xircom Cardbus 56K Modem", */
1644 	    {	PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM_56K,0, 0	},
1645 	    {	0xffff,	0xffff,					0, 0	},
1646 	    {
1647 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1648 	    },
1649 	},
1650 	{   /* "Xircom CBEM56G Modem", */
1651 	    {	PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_CBEM56G,	0, 0	},
1652 	    {	0xffff,	0xffff,					0, 0	},
1653 	    {
1654 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1655 	    },
1656 	},
1657 	{   /* "Xircom 56k Modem", */
1658 	    {	PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM56,	0, 0	},
1659 	    {	0xffff,	0xffff,					0, 0	},
1660 	    {
1661 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1662 	    },
1663 	},
1664 
1665 	{   /* NULL, */
1666 
1667 	    {	0,	0,		0, 0	},
1668 	    {	0,	0,		0, 0	},
1669 	    {
1670 		{ 0, 0, 0 },
1671 	    },
1672 	}
1673 };
1674