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