1 /*        $NetBSD: pucdata.c,v 1.119 2025/05/03 14:04:05 rin Exp $    */
2 
3 /*
4  * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. All advertising materials mentioning features or use of this software
15  *    must display the following acknowledgement:
16  *      This product includes software developed by Christopher G. Demetriou
17  *        for the NetBSD Project.
18  * 4. The name of the author may not be used to endorse or promote products
19  *    derived from this software without specific prior written permission
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 /*
34  * PCI "universal" communications card driver configuration data (used to
35  * match/attach the cards).
36  */
37 
38 #include <sys/cdefs.h>
39 __KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.119 2025/05/03 14:04:05 rin Exp $");
40 
41 #include <sys/param.h>
42 #include <sys/systm.h>
43 #include <sys/device.h>
44 
45 #include <dev/pci/pcidevs.h>
46 #include <dev/pci/pcireg.h>
47 #include <dev/pci/pcivar.h>
48 #include <dev/pci/pucvar.h>
49 #include <dev/ic/comreg.h>
50 
51 const struct puc_device_description puc_devices[] = {
52           /*
53            * Advantech multi serial cards
54            */
55           /* Advantech PCI-1604UP 2 UARTs based on OX16PCI952 */
56           {   "Advantech PCI-1604UP UARTs",
57               {     PCI_VENDOR_ADVANTECH,         PCI_PRODUCT_ADVANTECH_PCI1604, 0, 0 },
58               {     0xffff,   0xffff,   0x0,      0x0 },
59               {
60                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
61                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
62               },
63           },
64 
65           {   "Advantech PCI-1610 UARTs",
66               {     PCI_VENDOR_ADVANTECH,         PCI_PRODUCT_ADVANTECH_PCI1600,
67                     PCI_PRODUCT_ADVANTECH_PCI1610,          0x0 },
68               {     0xffff,   0xffff,   0xffff,   0x0 },
69               {
70                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
71                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
72                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
73                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
74               },
75           },
76 
77           {   "Advantech PCI-1612 UARTs",
78               {     PCI_VENDOR_ADVANTECH,         PCI_PRODUCT_ADVANTECH_PCI1600,
79                     PCI_PRODUCT_ADVANTECH_PCI1612,          0x0 },
80               {     0xffff,   0xffff,   0xffff,   0x0 },
81               {
82                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
83                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
84                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
85                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
86               },
87           },
88 
89           /* The use of subvendor ID is bit strange... */
90           {   "Advantech PCI-1620 (1-4) UARTs",
91               {     PCI_VENDOR_ADVANTECH,         PCI_PRODUCT_ADVANTECH_PCI1600,
92                     PCI_PRODUCT_ADVANTECH_PCI1620,          0x0 },
93               {     0xffff,   0xffff,   0xffff,   0x0 },
94               {
95                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
96                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
97                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
98                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
99               },
100           },
101 
102           /* The use of subvendor ID is bit strange... */
103           {   "Advantech PCI-1620 (5-8) UARTs",
104               {     PCI_VENDOR_ADVANTECH,         PCI_PRODUCT_ADVANTECH_PCI1620_1,
105                     PCI_PRODUCT_ADVANTECH_PCI1620,          0x0 },
106               {     0xffff,   0xffff,   0xffff,   0x0 },
107               {
108                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 2 },
109                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 2 },
110                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 2 },
111                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 2 },
112               },
113           },
114 
115           /*
116            * Addi-Data APCI-7800 8-port serial card.
117            * Uses an AMCC chip as PCI bridge.
118            */
119           {   "Addi-Data APCI-7800",
120               {   PCI_VENDOR_AMCIRCUITS, PCI_PRODUCT_AMCIRCUITS_ADDI7800, 0, 0  },
121               {   0xffff, 0xffff, 0, 0  },
122               {
123                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
124                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ },
125                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
126                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ },
127                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
128                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ },
129                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
130                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
131               },
132           },
133 
134           /*
135            * Amazon.com EC2 virtual 16650-compatible PCI serial device.
136            */
137           {   "Amazon.com EC2 Serial",
138               {     PCI_VENDOR_AMAZON, PCI_PRODUCT_AMAZON_UART,       0, 0  },
139               {     0xffff, 0xffff,                                             0, 0  },
140               {
141                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
142               }
143           },
144 
145           /* ASIX PCIe AX99100 : 4S */
146           {   "ASIX AX99100 UART",
147               {     PCI_VENDOR_ASIX, PCI_PRODUCT_ASIX_AX99100,        0xa000, 0x1000 },
148               {     0xffff, 0xffff,                                             0xffff, 0xffff },
149               {
150                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
151               },
152           },
153 
154           /* Avlab Technology, Inc. PCI 2 Serial: 2S */
155           {   "Avlab PCI 2 Serial",
156               {     PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S,        0, 0  },
157               {     0xffff,   0xffff,                                           0, 0  },
158               {
159                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
160                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
161               },
162           },
163 
164           /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
165           {   "Avlab Low Profile PCI 4 Serial",
166               {     PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S,      0, 0 },
167               {     0xffff,   0xffff,   0,        0         },
168               {
169                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
170                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
171                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
172                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
173               },
174           },
175 
176           /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
177           {   "Avlab Low Profile PCI 4 Serial",
178               {     PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2,    0, 0  },
179               {     0xffff,   0xffff,                                           0, 0  },
180               {
181                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
182                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
183                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
184                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
185               },
186           },
187 
188           /*
189            * B&B Electronics MIPort Serial cards.
190            */
191           {   "BBELEC ISOLATED_2_PORT",
192               {     PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_2_PORT, 0, 0 },
193               {     0xffff, 0xffff, 0,  0         },
194               {
195                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
196                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
197               },
198           },
199           {   "BBELEC ISOLATED_4_PORT",
200               {     PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_4_PORT, 0, 0 },
201               {     0xffff, 0xffff, 0,  0         },
202               {
203                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
204                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
205                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
206                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
207               },
208           },
209           {   "BBELEC ISOLATED_8_PORT",
210               {     PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_8_PORT, 0, 0 },
211               {     0xffff, 0xffff, 0,  0         },
212               {
213                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
214                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
215                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
216                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
217                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
218                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
219                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
220                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
221               },
222           },
223 
224           /*
225            * Brainboxes Ltd
226            */
227           { "Brainboxes IS-100",
228               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IS100, 0, 0 },
229               { 0xffff, 0xffff, 0, 0 },
230               {
231                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
232               },
233           },
234           { "Brainboxes IS-200",
235               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IS200, 0, 0 },
236               { 0xffff, 0xffff, 0, 0 },
237               {
238                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
239                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
240               },
241           },
242           { "Brainboxes IS-300",
243               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IS300, 0, 0 },
244               { 0xffff, 0xffff, 0, 0 },
245               {
246                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
247               },
248           },
249           { "Brainboxes IS-400",
250               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IS400, 0, 0 },
251               { 0xffff, 0xffff, 0, 0 },
252               {
253                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
254                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
255                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
256                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
257               },
258           },
259           { "Brainboxes IX-100",
260               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IX100, 0, 0 },
261               { 0xffff, 0xffff, 0, 0 },
262               {
263                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
264               },
265           },
266           { "Brainboxes IX-200",
267               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IX200, 0, 0 },
268               { 0xffff, 0xffff, 0, 0 },
269               {
270                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
271                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
272               },
273           },
274           { "Brainboxes IX-400",
275               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IX400, 0, 0 },
276               { 0xffff, 0xffff, 0, 0 },
277               {
278                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
279                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
280                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
281                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
282               },
283           },
284           { "Brainboxes UC-101",
285               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC101, 0, 0 },
286               { 0xffff, 0xffff, 0, 0 },
287               {
288                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
289                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
290               },
291           },
292           { "Brainboxes UC-203",
293               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC203, 0, 0 },
294               { 0xffff, 0xffff, 0, 0 },
295               {
296                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
297                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
298               },
299           },
300           { "Brainboxes UC-203",
301               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC203R3, 0, 0 },
302               { 0xffff, 0xffff, 0, 0 },
303               {
304                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
305                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
306               },
307           },
308           { "Brainboxes UC-246",
309               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC246, 0, 0 },
310               { 0xffff, 0xffff, 0, 0 },
311               {
312                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
313               },
314           },
315           { "Brainboxes UC-246",
316               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC246R3, 0, 0 },
317               { 0xffff, 0xffff, 0, 0 },
318               {
319                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
320               },
321           },
322           { "Brainboxes UC-253",
323               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC253, 0, 0 },
324               { 0xffff, 0xffff, 0, 0 },
325               {
326                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
327                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
328               },
329           },
330           { "Brainboxes UC-257",
331               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC257, 0, 0 },
332               { 0xffff, 0xffff, 0, 0 },
333               {
334                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
335                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
336               },
337           },
338           { "Brainboxes UC-257",
339               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC257R3, 0, 0 },
340               { 0xffff, 0xffff, 0, 0 },
341               {
342                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
343                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
344               },
345           },
346           { "Brainboxes UC-257",
347               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC257R4, 0, 0 },
348               { 0xffff, 0xffff, 0, 0 },
349               {
350                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
351                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
352               },
353           },
354           { "Brainboxes UC-260",
355               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC260, 0, 0 },
356               { 0xffff, 0xffff, 0, 0 },
357               {
358                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
359                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
360                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
361                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
362               },
363           },
364           { "Brainboxes UC-268",
365               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC268, 0, 0 },
366               { 0xffff, 0xffff, 0, 0 },
367               {
368                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
369                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
370                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
371                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
372               },
373           },
374           { "Brainboxes UC-279",
375               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC279, 0, 0 },
376               { 0xffff, 0xffff, 0, 0 },
377               {
378                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
379                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
380                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
381                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
382                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0020, COM_FREQ },
383                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0028, COM_FREQ },
384                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0030, COM_FREQ },
385                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0038, COM_FREQ },
386               },
387           },
388           { "Brainboxes UC-302",
389               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC302, 0, 0 },
390               { 0xffff, 0xffff, 0, 0 },
391               {
392                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
393                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
394               },
395           },
396           { "Brainboxes UC-302",
397               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC302R3, 0, 0 },
398               { 0xffff, 0xffff, 0, 0 },
399               {
400                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
401                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
402               },
403           },
404           { "Brainboxes UC-302",
405               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC302R4, 0, 0 },
406               { 0xffff, 0xffff, 0, 0 },
407               {
408                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
409                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
410               },
411           },
412           { "Brainboxes UC-310",
413               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC310, 0, 0 },
414               { 0xffff, 0xffff, 0, 0 },
415               {
416                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
417                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
418               },
419           },
420           { "Brainboxes UC-313",
421               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC313, 0, 0 },
422               { 0xffff, 0xffff, 0, 0 },
423               {
424                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
425                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
426               },
427           },
428           { "Brainboxes UC-313",
429               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC313R3, 0, 0 },
430               { 0xffff, 0xffff, 0, 0 },
431               {
432                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
433                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
434               },
435           },
436           { "Brainboxes UC-313",
437               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC313R4, 0, 0 },
438               { 0xffff, 0xffff, 0, 0 },
439               {
440                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
441                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
442               },
443           },
444           { "Brainboxes UC-324",
445               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC324, 0, 0 },
446               { 0xffff, 0xffff, 0, 0 },
447               {
448                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
449               },
450           },
451           { "Brainboxes UC-346",
452               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC346, 0, 0 },
453               { 0xffff, 0xffff, 0, 0 },
454               {
455                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
456                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
457                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
458                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
459               },
460           },
461           { "Brainboxes UC-346",
462               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC346R3, 0, 0 },
463               { 0xffff, 0xffff, 0, 0 },
464               {
465                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
466                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
467                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
468                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
469               },
470           },
471           { "Brainboxes UC-357",
472               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC357, 0, 0 },
473               { 0xffff, 0xffff, 0, 0 },
474               {
475                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
476                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
477               },
478           },
479           { "Brainboxes UC-357",
480               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC357R3, 0, 0 },
481               { 0xffff, 0xffff, 0, 0 },
482               {
483                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
484                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
485               },
486           },
487           { "Brainboxes UC-357",
488               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC357R4, 0, 0 },
489               { 0xffff, 0xffff, 0, 0 },
490               {
491                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
492                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
493               },
494           },
495           { "Brainboxes UC-368",
496               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC368, 0, 0 },
497               { 0xffff, 0xffff, 0, 0 },
498               {
499                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
500                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
501                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
502                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
503               },
504           },
505           { "Brainboxes UC-414",
506               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC414, 0, 0 },
507               { 0xffff, 0xffff, 0, 0 },
508               {
509                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
510                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
511                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
512                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
513               },
514           },
515           { "Brainboxes UC-420",
516               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC420, 0, 0 },
517               { 0xffff, 0xffff, 0, 0 },
518               {
519                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
520                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
521                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
522                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
523               },
524           },
525           { "Brainboxes UC-431",
526               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC431, 0, 0 },
527               { 0xffff, 0xffff, 0, 0 },
528               {
529                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
530                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
531                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
532               },
533           },
534           { "Brainboxes UC-475",
535               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC475, 0, 0 },
536               { 0xffff, 0xffff, 0, 0 },
537               {
538                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
539                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
540               },
541           },
542           { "Brainboxes UC-475",
543               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC475R3, 0, 0 },
544               { 0xffff, 0xffff, 0, 0 },
545               {
546                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
547                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
548               },
549           },
550           { "Brainboxes UC-607",
551               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC607, 0, 0 },
552               { 0xffff, 0xffff, 0, 0 },
553               {
554                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
555                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
556               },
557           },
558           { "Brainboxes UC-607",
559               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC607R3, 0, 0 },
560               { 0xffff, 0xffff, 0, 0 },
561               {
562                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
563                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
564               },
565           },
566           { "Brainboxes UC-607",
567               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC607R4, 0, 0 },
568               { 0xffff, 0xffff, 0, 0 },
569               {
570                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
571                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
572               },
573           },
574           { "Brainboxes UC-836",
575               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UC836, 0, 0 },
576               { 0xffff, 0xffff, 0, 0 },
577               {
578                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
579                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
580                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
581                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
582               },
583           },
584           { "Brainboxes UP-189",
585               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP189, 0, 0 },
586               { 0xffff, 0xffff, 0, 0 },
587               {
588                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
589                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
590               },
591           },
592           { "Brainboxes UP-189",
593               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP189R3, 0, 0 },
594               { 0xffff, 0xffff, 0, 0 },
595               {
596                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
597                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
598               },
599           },
600           { "Brainboxes UP-189",
601               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP189R4, 0, 0 },
602               { 0xffff, 0xffff, 0, 0 },
603               {
604                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
605                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
606               },
607           },
608           { "Brainboxes UP-200",
609               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP200, 0, 0 },
610               { 0xffff, 0xffff, 0, 0 },
611               {
612                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
613                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
614               },
615           },
616           { "Brainboxes UP-200",
617               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP200R3, 0, 0 },
618               { 0xffff, 0xffff, 0, 0 },
619               {
620                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
621                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
622               },
623           },
624           { "Brainboxes UP-200",
625               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP200R4, 0, 0 },
626               { 0xffff, 0xffff, 0, 0 },
627               {
628                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
629                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
630               },
631           },
632           { "Brainboxes UP-869",
633               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP869, 0, 0 },
634               { 0xffff, 0xffff, 0, 0 },
635               {
636                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
637                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
638               },
639           },
640           { "Brainboxes UP-869",
641               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP869R3, 0, 0 },
642               { 0xffff, 0xffff, 0, 0 },
643               {
644                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
645                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
646               },
647           },
648           { "Brainboxes UP-869",
649               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP869R4, 0, 0 },
650               { 0xffff, 0xffff, 0, 0 },
651               {
652                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
653                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
654               },
655           },
656           { "Brainboxes UP-880",
657               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP880, 0, 0 },
658               { 0xffff, 0xffff, 0, 0 },
659               {
660                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
661                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
662               },
663           },
664           { "Brainboxes UP-880",
665               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP880R3, 0, 0 },
666               { 0xffff, 0xffff, 0, 0 },
667               {
668                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
669                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
670               },
671           },
672           { "Brainboxes UP-880",
673               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_UP880R4, 0, 0 },
674               { 0xffff, 0xffff, 0, 0 },
675               {
676                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
677                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
678               },
679           },
680           { "Brainboxes PX-101",
681               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX101, 0, 0 },
682               { 0xffff, 0xffff, 0, 0 },
683               {
684                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
685               },
686           },
687           { "Brainboxes PX-101",
688               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX101R3, 0, 0 },
689               { 0xffff, 0xffff, 0, 0 },
690               {
691                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
692                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
693               },
694           },
695           { "Brainboxes PX-246",
696               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX246, 0, 0 },
697               { 0xffff, 0xffff, 0, 0 },
698               {
699                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
700               },
701           },
702           { "Brainboxes PX-246",
703               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX246R3, 0, 0 },
704               { 0xffff, 0xffff, 0, 0 },
705               {
706                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
707               },
708           },
709           { "Brainboxes PX-257",
710               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX257, 0, 0 },
711               { 0xffff, 0xffff, 0, 0 },
712               {
713                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
714               },
715           },
716           { "Brainboxes PX-257",
717               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX257R3, 0, 0 },
718               { 0xffff, 0xffff, 0, 0 },
719               {
720                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
721                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
722               },
723           },
724           { "Brainboxes PX-260",
725               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX260, 0, 0 },
726               { 0xffff, 0xffff, 0, 0 },
727               {
728                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
729                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
730                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
731                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
732               },
733           },
734           { "Brainboxes PX-279",
735               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX279, 0, 0 },
736               { 0xffff, 0xffff, 0, 0 },
737               {
738                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0000, COM_FREQ },
739                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0008, COM_FREQ },
740                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0010, COM_FREQ },
741                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0018, COM_FREQ },
742                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0020, COM_FREQ },
743                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0028, COM_FREQ },
744                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0030, COM_FREQ },
745                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x0038, COM_FREQ },
746               },
747           },
748           { "Brainboxes PX-310",
749               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX310, 0, 0 },
750               { 0xffff, 0xffff, 0, 0 },
751               {
752                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
753                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
754               },
755           },
756           { "Brainboxes PX-313",
757               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX313, 0, 0 },
758               { 0xffff, 0xffff, 0, 0 },
759               {
760                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
761                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
762               },
763           },
764           { "Brainboxes PX-320",
765               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX320, 0, 0 },
766               { 0xffff, 0xffff, 0, 0 },
767               {
768                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
769               },
770           },
771           { "Brainboxes PX-346",
772               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX346, 0, 0 },
773               { 0xffff, 0xffff, 0, 0 },
774               {
775                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
776                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
777                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
778                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
779               },
780           },
781           { "Brainboxes PX-368",
782               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX368, 0, 0 },
783               { 0xffff, 0xffff, 0, 0 },
784               {
785                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
786                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
787                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
788                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
789               },
790           },
791           { "Brainboxes PX-420",
792               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX420, 0, 0 },
793               { 0xffff, 0xffff, 0, 0 },
794               {
795                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
796               },
797           },
798           { "Brainboxes PX-420",
799               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX420R3, 0, 0 },
800               { 0xffff, 0xffff, 0, 0 },
801               {
802                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
803                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
804                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
805                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
806               },
807           },
808           { "Brainboxes PX-431",
809               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX431, 0, 0 },
810               { 0xffff, 0xffff, 0, 0 },
811               {
812                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
813               },
814           },
815           { "Brainboxes PX-431",
816               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX431R3, 0, 0 },
817               { 0xffff, 0xffff, 0, 0 },
818               {
819                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
820                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
821                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
822               },
823           },
824           { "Brainboxes PX-475",
825               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX475, 0, 0 },
826               { 0xffff, 0xffff, 0, 0 },
827               {
828                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
829               },
830           },
831           { "Brainboxes PX-803",
832               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX803, 0, 0 },
833               { 0xffff, 0xffff, 0, 0 },
834               {
835                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
836                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
837               },
838           },
839           { "Brainboxes PX-820",
840               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX820, 0, 0 },
841               { 0xffff, 0xffff, 0, 0 },
842               {
843                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
844               },
845           },
846           { "Brainboxes PX-820",
847               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX820R3, 0, 0 },
848               { 0xffff, 0xffff, 0, 0 },
849               {
850                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
851                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
852                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
853                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
854               },
855           },
856           { "Brainboxes PX-831",
857               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX831, 0, 0 },
858               { 0xffff, 0xffff, 0, 0 },
859               {
860                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
861               },
862           },
863           { "Brainboxes PX-831",
864               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX831R3, 0, 0 },
865               { 0xffff, 0xffff, 0, 0 },
866               {
867                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
868                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
869                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
870               },
871           },
872           { "Brainboxes PX-846",
873               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX846, 0, 0 },
874               { 0xffff, 0xffff, 0, 0 },
875               {
876                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
877               },
878           },
879           { "Brainboxes PX-846",
880               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX846R3, 0, 0 },
881               { 0xffff, 0xffff, 0, 0 },
882               {
883                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
884               },
885           },
886           { "Brainboxes PX-857",
887               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX857, 0, 0 },
888               { 0xffff, 0xffff, 0, 0 },
889               {
890                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ },
891               },
892           },
893           { "Brainboxes PX-857",
894               { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_PX857R3, 0, 0 },
895               { 0xffff, 0xffff, 0, 0 },
896               {
897                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
898                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
899               },
900           },
901 
902           /*
903            * Comtrol
904            */
905           {   "Comtrol RocketPort 550/8 RJ11 part A",
906               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT550811A,
907                     0, 0 },
908               {     0xffff,   0xffff,   0,        0 },
909               {
910                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
911                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
912                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
913                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
914               },
915           },
916           {   "Comtrol RocketPort 550/8 RJ11 part B",
917               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT550811B,
918                     0, 0 },
919               {     0xffff,   0xffff,   0,        0 },
920               {
921                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
922                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
923                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
924                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
925               },
926           },
927           {   "Comtrol RocketPort 550/8 Octa part A",
928               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508OA,
929                     0, 0 },
930               {     0xffff,   0xffff,   0,        0 },
931               {
932                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
933                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
934                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
935                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
936               },
937           },
938           {   "Comtrol RocketPort 550/8 Octa part B",
939               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508OB,
940                     0, 0 },
941               {     0xffff,   0xffff,   0,        0 },
942               {
943                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
944                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
945                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
946                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
947               },
948           },
949           {   "Comtrol RocketPort 550/4 RJ45",
950               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5504, 0, 0 },
951               {     0xffff,   0xffff,   0,        0 },
952               {
953                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
954                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
955                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
956                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
957               },
958           },
959           {   "Comtrol RocketPort 550/Quad",
960               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT550Q, 0, 0 },
961               {     0xffff,   0xffff,   0,        0 },
962               {
963                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
964                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
965                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
966                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
967               },
968           },
969           {   "Comtrol RocketPort 550/16 part A",
970               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT55016A,
971                     0, 0 },
972               {     0xffff,   0xffff,   0,        0 },
973               {
974                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
975                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
976                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
977                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
978               },
979           },
980           {   "Comtrol RocketPort 550/16 part B",
981               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT55016B,
982                     0, 0 },
983               {     0xffff,   0xffff,   0,        0 },
984               {
985                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
986                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
987                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
988                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
989                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ * 4},
990                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ * 4},
991                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ * 4},
992                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ * 4},
993                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x40, COM_FREQ * 4},
994                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x48, COM_FREQ * 4},
995                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x50, COM_FREQ * 4},
996                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x58, COM_FREQ * 4},
997               },
998           },
999           {   "Comtrol RocketPort 550/8 part A",
1000               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508A,
1001                     0, 0 },
1002               {     0xffff,   0xffff,   0,        0 },
1003               {
1004                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
1005                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
1006                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
1007                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
1008               },
1009           },
1010           {   "Comtrol RocketPort 550/8 part B",
1011               {     PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508B,
1012                     0, 0 },
1013               {     0xffff,   0xffff,   0,        0 },
1014               {
1015                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
1016                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
1017                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
1018                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
1019               },
1020           },
1021 
1022           /*
1023            * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
1024            */
1025           /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
1026           {   "Decision Computer Inc PCCOM 2 Port RS232/422/485",
1027               {     PCI_VENDOR_DCI,     PCI_PRODUCT_DCI_APCI2,        0x0,      0x0       },
1028               {     0xffff,   0xffff,   0x0,      0x0       },
1029               {
1030                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
1031                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ},
1032               },
1033           },
1034 
1035           /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
1036           {   "Decision Computer Inc PCCOM 4 Port RS232/422/485",
1037               {     PCI_VENDOR_DCI,     PCI_PRODUCT_DCI_APCI4,        0x0,      0x0       },
1038               {     0xffff,   0xffff,   0x0,      0x0       },
1039               {
1040                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
1041                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ},
1042                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x10, COM_FREQ},
1043                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x18, COM_FREQ},
1044               },
1045           },
1046 
1047           /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
1048           {   "Decision Computer Inc PCCOM 8 Port RS232/422/485",
1049               {     PCI_VENDOR_DCI,     PCI_PRODUCT_DCI_APCI8,        0x0,      0x0       },
1050               {     0xffff,   0xffff,   0x0,      0x0       },
1051               {
1052                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
1053                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ},
1054                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x10, COM_FREQ},
1055                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x18, COM_FREQ},
1056                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x20, COM_FREQ},
1057                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x28, COM_FREQ},
1058                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x30, COM_FREQ},
1059                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x38, COM_FREQ},
1060               },
1061           },
1062 
1063           /* Digi International Digi Neo 4 Serial */
1064           {   "Digi International Digi Neo 4 Serial",
1065               {     PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4,           0, 0  },
1066               {     0xffff, 0xffff,                                             0, 0  },
1067               {
1068                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1069                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1070                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
1071                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
1072               },
1073           },
1074 
1075           /* Digi International Digi Neo 8 Serial */
1076           {   "Digi International Digi Neo 8 Serial",
1077               {     PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8,           0, 0  },
1078               {     0xffff, 0xffff,                                             0, 0  },
1079               {
1080                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1081                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1082                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
1083                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
1084                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
1085                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
1086                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
1087                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
1088               },
1089           },
1090 
1091           /* Digi International Digi Neo 8 Serial (PCIe) */
1092           {   "Digi International Digi Neo 8 Serial (PCIe)",
1093               {     PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8_PCIE,      0, 0  },
1094               {     0xffff, 0xffff,                                             0, 0  },
1095               {
1096                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1097                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1098                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
1099                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
1100                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
1101                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
1102                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
1103                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
1104               },
1105           },
1106 
1107           {   "EXAR XR17D152",
1108               {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D152, 0,      0       },
1109               {   0xffff, 0xffff, 0,      0       },
1110               {
1111                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1112                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1113               },
1114           },
1115           {   "EXAR XR17D154",
1116               {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D154, 0,      0       },
1117               {   0xffff, 0xffff, 0,      0       },
1118               {
1119                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1120                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1121                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
1122                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
1123               },
1124           },
1125           {   "EXAR XR17D154",
1126               {     PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V354, 0,      0       },
1127               {   0xffff, 0xffff, 0,      0       },
1128               {
1129                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, 125000000 },
1130                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, 125000000 },
1131                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, 125000000 },
1132                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, 125000000 },
1133               },
1134           },
1135           {   "EXAR XR17D358",
1136               {     PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V358, 0,      0       },
1137               {   0xffff, 0xffff, 0,      0       },
1138               {
1139                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, 125000000 },
1140                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, 125000000 },
1141                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, 125000000 },
1142                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, 125000000 },
1143                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, 125000000 },
1144                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, 125000000 },
1145                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1800, 125000000 },
1146                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1c00, 125000000 },
1147               },
1148           },
1149 
1150           /*
1151            * Multi-Tech ISI5634PCI/4 4-port modem board.
1152            * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its
1153            * config EEPROM.
1154            */
1155           {   "Multi-Tech ISI5634PCI/4",
1156               {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D158, 0x2205,      0x2003       },
1157               {   0xffff, 0xffff, 0xffff,      0xffff       },
1158               {
1159                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1160                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1161                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
1162                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
1163               },
1164           },
1165 
1166           {   "EXAR XR17D158",
1167               {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D158, 0,      0       },
1168               {   0xffff, 0xffff, 0,      0       },
1169               {
1170                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
1171                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
1172                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
1173                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
1174                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
1175                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
1176                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
1177                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
1178               },
1179           },
1180 
1181           /* IBM SurePOS 300 Series (481033H) serial ports */
1182           {   "IBM SurePOS 300 Series (481033H)",
1183               {   PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC, 0, 0 },
1184               {   0xffff, 0xffff,                           0, 0 },
1185               {
1186                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ }, /* Port C */
1187                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ }, /* Port D */
1188                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ }, /* Port E */
1189                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ }, /* Port F */
1190               },
1191           },
1192 
1193           /* I-O DATA RSA-PCI: 2S */
1194           {   "I-O DATA RSA-PCI 2-port serial",
1195               {     PCI_VENDOR_IODATA, PCI_PRODUCT_IODATA_RSAPCI, 0, 0 },
1196               {     0xffff, 0xffff, 0, 0 },
1197               {
1198                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1199                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1200               },
1201           },
1202 
1203           /* Lava Computers 2SP-PCI */
1204           {   "Lava Computers 2SP-PCI parallel port",
1205               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 },
1206               {     0xffff,   0xffff,   0,        0         },
1207               {
1208                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1209               },
1210           },
1211 
1212           /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
1213           {   "Lava Computers dual serial port",
1214               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 },
1215               {     0xffff,   0xfffc,   0,        0         },
1216               {
1217                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1218                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1219               },
1220           },
1221 
1222           /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
1223           {   "Lava Computers Quattro A",
1224               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_QUATTRO_AB, 0, 0 },
1225               {     0xffff,   0xfffc,   0,        0         },
1226               {
1227                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1228                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1229               },
1230           },
1231 
1232           /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
1233           {   "Lava Computers Quattro B",
1234               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_QUATTRO_CD, 0, 0 },
1235               {     0xffff,   0xfffc,   0,        0         },
1236               {
1237                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1238                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1239               },
1240           },
1241 
1242           /* Lava Computers DSerial PCI serial ports */
1243           {   "Lava Computers serial port",
1244               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 },
1245               {     0xffff,   0xfffc,   0,        0         },
1246               {
1247                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1248               },
1249           },
1250 
1251           /* Lava Computers Quattro-PCI serial ports */
1252           {   "Lava Quattro-PCI A 4-port serial",
1253               {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 },
1254               {   0xffff, 0xfffc, 0,    0         },
1255               {
1256                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1257                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1258               },
1259           },
1260 
1261           /* Lava Computers Quattro-PCI serial ports */
1262           {   "Lava Quattro-PCI B 4-port serial",
1263               {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_CD2, 0, 0 },
1264               {   0xffff, 0xfffc, 0,    0         },
1265               {
1266                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1267                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1268               },
1269           },
1270 
1271           /* Lava Computers Octopus-550 serial ports */
1272           {   "Lava Computers Octopus-550 8-port serial",
1273               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 },
1274               {     0xffff,   0xfffc,   0,        0         },
1275               {
1276                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1277                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1278                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1279                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1280               },
1281           },
1282 
1283           /* Lava Computers Octopus-550 serial ports */
1284           {   "Lava Computers Octopus-550 B 8-port serial",
1285               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_OCTOPUS550_1, 0, 0 },
1286               {     0xffff,   0xfffc,   0,        0         },
1287               {
1288                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1289                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1290                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1291                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1292               },
1293           },
1294 
1295           /* Lava Computers single port serial PCI card */
1296           {   "Lava Computers SSERIAL-PCI",
1297               {     PCI_VENDOR_LAVA,    PCI_PRODUCT_LAVA_SSERIAL, 0, 0 },
1298               {     0xffff,   0xffff,   0,        0         },
1299               {
1300                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1301               },
1302           },
1303 
1304           /* Actiontec  56K PCI Master */
1305           {   "Actiontec 56K PCI Master",
1306               {     PCI_VENDOR_LUCENT,  PCI_PRODUCT_LUCENT_VENUSMODEM,
1307                     0x0, 0x0 },
1308               {     0xffff,   0xffff,   0x0,      0x0       },
1309               {
1310                     { PUC_PORT_TYPE_COM, PCI_BAR1,          0x00, COM_FREQ },
1311               },
1312           },
1313 
1314           /*
1315            * This is the Middle Digital, Inc. PCI-Weasel, which
1316            * uses a PCI interface implemented in FPGA.
1317            */
1318           {   "Middle Digital, Inc. Weasel serial port",
1319               {     PCI_VENDOR_MIDDLE_DIGITAL,
1320                     PCI_PRODUCT_MIDDLE_DIGITAL_WEASEL_SERIAL, 0, 0 },
1321               {     0xffff,   0xffff,   0,        0         },
1322               {
1323                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1324               },
1325           },
1326 
1327           /* Moxa Technologies Co., Ltd. PCI I/O Card 2S RS232 */
1328           {   "Moxa Technologies, SmartIO CP-102/PCI",
1329               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_CP102U, 0, 0 },
1330               {     0xffff,   0xffff,   0,        0         },
1331               {
1332                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1333                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1334               },
1335           },
1336 
1337           /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1338           {   "Moxa Technologies, SmartIO C104H/PCI",
1339               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_C104H, 0, 0 },
1340               {     0xffff,   0xffff,   0,        0         },
1341               {
1342                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1343                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1344                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1345                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1346               },
1347           },
1348 
1349           /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1350           {   "Moxa Technologies, SmartIO CP-104/PCI",
1351               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_CP104, 0, 0 },
1352               {     0xffff,   0xffff,   0,        0         },
1353               {
1354                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1355                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1356                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1357                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1358               },
1359           },
1360 
1361           /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1362           {   "Moxa Technologies, SmartIO CP-104-V2/PCI",
1363               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_CP104V2, 0, 0 },
1364               {     0xffff,   0xffff,   0,        0         },
1365               {
1366                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1367                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1368                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1369                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1370               },
1371           },
1372 
1373           /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1374           {   "Moxa Technologies, SmartIO CP-104-EL/PCIe",
1375               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_CP104EL, 0, 0 },
1376               {     0xffff,   0xffff,   0,        0         },
1377               {
1378                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1379                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1380                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1381                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1382               },
1383           },
1384 
1385           /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1386           {   "Moxa Technologies, SmartIO CP-114/PCI",
1387               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_CP114, 0, 0 },
1388               {     0xffff,   0xffff,   0,        0         },
1389               {
1390                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1391                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1392                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1393                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1394               },
1395           },
1396 
1397           /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
1398           {   "Moxa Technologies, SmartIO C168H/PCI",
1399               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_C168H, 0, 0 },
1400               {     0xffff,   0xffff,   0,        0         },
1401               {
1402                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1403                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1404                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1405                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1406                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
1407                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
1408                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
1409                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
1410               },
1411           },
1412 
1413           /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
1414           {   "Moxa Technologies, SmartIO C168U/PCI",
1415               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_C168U, 0, 0 },
1416               {     0xffff,   0xffff,   0,        0         },
1417               {
1418                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1419                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1420                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1421                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1422                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
1423                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
1424                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
1425                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
1426               },
1427           },
1428 
1429           /* Moxa Technologies Co., Ltd. PCI-Express I/O Card 8S RS232 */
1430           {   "Moxa Technologies, SmartIO C168EL/PCIe",
1431               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_C168EL, 0, 0 },
1432               {     0xffff,   0xffff,   0,        0         },
1433               {
1434                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
1435                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
1436                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
1437                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
1438                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
1439                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
1440                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
1441                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
1442               },
1443           },
1444           /* Moxa Technologies Co., Ltd. PCI-Express I/O Card 8S RS232 */
1445           {   "Moxa Technologies, SmartIO CP-168EL-A/PCIe",
1446               {     PCI_VENDOR_MOXA,    PCI_PRODUCT_MOXA_C168ELA, 0, 0 },
1447               {     0xffff,   0xffff,   0,        0         },
1448               {
1449                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x000, COM_FREQ * 8 },
1450                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x200, COM_FREQ * 8 },
1451                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x400, COM_FREQ * 8 },
1452                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x600, COM_FREQ * 8 },
1453                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x800, COM_FREQ * 8 },
1454                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0xa00, COM_FREQ * 8 },
1455                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0xc00, COM_FREQ * 8 },
1456                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0xe00, COM_FREQ * 8 },
1457               },
1458           },
1459 
1460           /* NEC PK-UG-X001 K56flex PCI Modem card.
1461              NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
1462           {   "NEC PK-UG-X001 K56flex PCI Modem",
1463               {     PCI_VENDOR_NEC,     PCI_PRODUCT_NEC_PKUGX001, PCI_VENDOR_NEC,
1464                     0x8014 },
1465               {     0xffff,   0xffff,   0xffff,   0xffff    },
1466               {
1467                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1468               },
1469           },
1470 
1471           /* NEC PK-UG-X008 */
1472           {   "NEC PK-UG-X008",
1473               {     PCI_VENDOR_NEC,     PCI_PRODUCT_NEC_PKUGX008, PCI_VENDOR_NEC,
1474                     0x8012 },
1475               {     0xffff,   0xffff,   0xffff,   0xffff    },
1476               {
1477                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ},
1478               },
1479           },
1480 
1481           /* NetMos 1P PCI : 1P */
1482           {   "NetMos NM9805 1284 Printer port",
1483               {     PCI_VENDOR_NETMOS,  PCI_PRODUCT_NETMOS_NM9805, 0, 0         },
1484               {     0xffff,   0xffff,   0,        0         },
1485               {
1486                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1487               },
1488           },
1489 
1490           /* NetMos 2P PCI : 2P */
1491           {   "NetMos NM9815 Dual 1284 Printer port",
1492               {     PCI_VENDOR_NETMOS,  PCI_PRODUCT_NETMOS_NM9815, 0, 0         },
1493               {     0xffff,   0xffff,   0,        0         },
1494               {
1495                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1496                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
1497               },
1498           },
1499 
1500           /* NetMos 1S PCI NM9835 : 1S */
1501           {   "NetMos NM9835 UART",
1502               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0x1000, 0x0001 },
1503               {     0xffff, 0xffff, 0xffff, 0xffff          },
1504               {
1505                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1506               },
1507           },
1508 
1509           /* NetMos 2S PCI NM9835 : 2S */
1510           {   "NetMos NM9835 Dual UART",
1511               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0x1000, 0x0002 },
1512               {     0xffff, 0xffff, 0xffff, 0xffff          },
1513               {
1514                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1515                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1516               },
1517           },
1518 
1519           /* NetMos 2S1P PCI 16C650 : 2S, 1P */
1520           {   "NetMos NM9835 Dual UART and 1284 Printer port",
1521               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0, 0 },
1522               {     0xffff,   0xffff,   0,        0         },
1523               {
1524                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1525                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1526                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
1527               },
1528           },
1529 
1530           /* NetMos 4S0P PCI NM9845 : 4S, 0P */
1531           {   "NetMos NM9845 Quad UART",
1532              {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 },
1533              {   0xffff, 0xffff, 0xffff, 0xffff  },
1534              {
1535                  { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1536                  { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1537                  { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1538                  { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1539              },
1540           },
1541 
1542           /* NetMos 4S1P PCI NM9845 : 4S, 1P */
1543           {   "NetMos NM9845 Quad UART and 1284 Printer port",
1544               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 },
1545               {   0xffff, 0xffff, 0xffff, 0xffff  },
1546               {
1547                  { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1548                  { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1549                  { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1550                  { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1551                  { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
1552               },
1553           },
1554 
1555           /* NetMos 6S PCI 16C650 : 6S, 0P */
1556           {   "NetMos NM9845 6 UART",
1557               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 },
1558               {   0xffff, 0xffff, 0xffff, 0xffff  },
1559               {
1560                  { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1561                  { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1562                  { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1563                  { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1564                  { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
1565                  { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ },
1566               },
1567           },
1568 
1569           /* NetMos 4S1P PCI NM9845 : 4S, 1P */
1570           {   "NetMos NM9845 Quad UART and 1284 Printer port (unknown type)",
1571               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0, 0 },
1572               {     0xffff,   0xffff,   0,        0         },
1573               {
1574                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1575                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1576                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1577                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1578                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
1579               },
1580           },
1581 
1582           /* NetMos 4S1P PCI NM9855 : 4S, 1P */
1583           {   "NetMos NM9855 Quad UART and 1284 Printer port (unknown type)",
1584               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9855, 0x1000, 0x0014 },
1585               {     0xffff,   0xffff,   0xffff,   0xffff    },
1586               {
1587                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1588                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1589                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1590                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
1591                     { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ },
1592               },
1593           },
1594 
1595           /* NetMos 6S PCI NM9865 : 1S */
1596           {   "NetMos NM9865 1 UART",
1597               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x1000 },
1598               {     0xffff,   0xffff,   0xffff,   0xffff    },
1599               {
1600                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1601               },
1602           },
1603 
1604           /* NetMos PCI NM9865 : 1P */
1605           {   "NetMos NM9865 Single LPT",
1606               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x2000 },
1607               {     0xffff,   0xffff,   0xffff,   0xffff    },
1608               {
1609                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1610               },
1611           },
1612 
1613           /* NetMos 2S PCI NM9865 : 2S */
1614           {   "NetMos NM9865 2 UART",
1615               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3002 },
1616               {     0xffff,   0xffff,   0xffff,   0xffff    },
1617               {
1618                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1619                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1620               },
1621           },
1622 
1623           /* NetMos 3S PCI NM9865 : 3S */
1624           {   "NetMos NM9865 3 UART",
1625               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3003 },
1626               {     0xffff,   0xffff,   0xffff,   0xffff    },
1627               {
1628                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1629                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1630                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1631               },
1632           },
1633 
1634           /* NetMos 4S PCI NM9865 : 4S */
1635           {   "NetMos NM9865 4 UART",
1636               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3004 },
1637               {     0xffff,   0xffff,   0xffff,   0xffff    },
1638               {
1639                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1640                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1641                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
1642                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1643               },
1644           },
1645 
1646           /* NetMos PCI NM9865 : 1S 1P */
1647           {   "NetMos NM9865 Single UART and Single LPT",
1648               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3011 },
1649               {     0xffff,   0xffff,   0xffff,   0xffff    },
1650               {
1651                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1652                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
1653               },
1654           },
1655 
1656           /* NetMos PCI NM9865 : 2S 1P */
1657           {   "NetMos NM9865 Dual UART and Single LPT",
1658               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3012 },
1659               {     0xffff,   0xffff,   0xffff,   0xffff    },
1660               {
1661                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1662                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1663                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
1664               },
1665           },
1666 
1667           /* NetMos PCI NM9865 : 2P */
1668           {   "NetMos NM9865 Dual LPT",
1669               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3020 },
1670               {     0xffff,   0xffff,   0xffff,   0xffff    },
1671               {
1672                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1673                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
1674               },
1675           },
1676 
1677           /*
1678            * Two 1-port and one 2-port found on a 4-port
1679            * card sold as Sunsway/ST Lab I-430.
1680            */
1681           {   "NetMos NM9865 1S",
1682               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x1000 },
1683               {     0xffff, 0xffff, 0xffff, 0xffff },
1684               {
1685                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1686               },
1687           },
1688           {   "NetMos NM9865 2S",
1689               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3002 },
1690               {     0xffff, 0xffff, 0xffff, 0xffff },
1691               {
1692                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1693                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1694               },
1695           },
1696 
1697           /* NetMos PCIe NM9900 : 4S */
1698           {   "NetMos NM9900 UART",
1699               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9900, 0xa000, 0x1000 },
1700               {     0xffff,   0xffff,                                       0xffff, 0xffff },
1701               {
1702                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1703               },
1704           },
1705 
1706           /* NetMos PCIe NM9900 : 8S */
1707           {   "NetMos NM9900 UART 8S",
1708               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9900, 0xa000, 0x3002 },
1709               {     0xffff,   0xffff,                                       0xffff, 0xffff },
1710               {
1711                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1712                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
1713               },
1714           },
1715 
1716           /* NetMos PCIe Peripheral Controller :UART part */
1717           {   "NetMos NM9901 UART",
1718               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x1000 },
1719               {     0xffff,   0xffff,                                       0xffff, 0xffff },
1720               {
1721                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1722               },
1723           },
1724 
1725           /* NetMos PCIe NM9901 : 1P */
1726           {   "NetMos NM9901 LPT",
1727               {     PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x2000 },
1728               {     0xffff,   0xffff,   0xffff,   0xffff    },
1729               {
1730                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1731               },
1732           },
1733 
1734           /* NetMos PCIe NM9904 (PCI multi function): 4S */
1735           {   "NetMos NM9904 UART",
1736               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9904, 0, 0 },
1737               {     0xffff,   0xffff,                                       0, 0 },
1738               {
1739                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1740               },
1741           },
1742 
1743           /* NetMos PCIe NM9912 */
1744           { "NetMos NM9912 Dual PCI-E UART and 1284 Printer Port",
1745               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9912, 0, 0x1000 },
1746               {   0xffff, 0xffff, 0, 0xffff },
1747               {
1748                     { PUC_PORT_TYPE_COM, 0x10, 0x0000, 0 },
1749               },
1750           },
1751 
1752           { "NetMos NM9912 Dual PCI-E UART and 1284 Printer Port",
1753               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9912, 0, 0x2000 },
1754               {   0xffff, 0xffff, 0, 0xffff },
1755               {
1756                     { PUC_PORT_TYPE_LPT, 0x10, 0x0000, 0 },
1757               },
1758           },
1759 
1760           /* NetMos PCIe NM9922 (PCI multi function): 2S */
1761           {   "NetMos NM9922 UART",
1762               {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9922, 0, 0 },
1763               {     0xffff,   0xffff,                                       0, 0 },
1764               {
1765                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1766               },
1767           },
1768 
1769           /*
1770            * Boards with an Oxford Semiconductor chip.
1771            *
1772            * Oxford Semiconductor provides documentation for their chip at:
1773            * <URL:http://www.plxtech.com/products/uart>
1774            *
1775            * As sold by Kouwell <URL:http://www.kouwell.com/>.
1776            * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
1777            */
1778 
1779           /* Oxford Semiconductor OXPCIe952 PCIe 1P */
1780           {   "Oxford Semiconductor OXPCIe952 LPT",
1781               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952P,
1782                     0, 0},
1783               {     0xffff,   0xffff,   0,        0         },
1784               {
1785                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1786               },
1787           },
1788 
1789           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1790           {   "Oxford Semiconductor OXPCIe952 UART",
1791               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_0,
1792                     0, 0 },
1793               {     0xffff,   0xffff,   0,        0         },
1794               {
1795                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1796               },
1797           },
1798 
1799           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1800           {   "Oxford Semiconductor OXPCIe952 UART",
1801               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_1,
1802                     0, 0 },
1803               {     0xffff,   0xffff,   0,        0         },
1804               {
1805                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1806               },
1807           },
1808 
1809           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1810           {   "Oxford Semiconductor OXPCIe952 UARTs",
1811               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_2S,
1812                     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_2S },
1813               {     0xffff,   0xffff,   0xffff,   0xffff    },
1814               {
1815                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1816               },
1817           },
1818 
1819           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1820           {   "Oxford Semiconductor OXPCIe952 UART",
1821               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_2,
1822                     0, 0 },
1823               {     0xffff,   0xffff,   0,        0         },
1824               {
1825                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1826               },
1827           },
1828 
1829           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1830           {   "Oxford Semiconductor OXPCIe952 UART",
1831               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_3,
1832                     0, 0 },
1833               {     0xffff,   0xffff,   0,        0         },
1834               {
1835                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1836               },
1837           },
1838 
1839           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1840           {   "Oxford Semiconductor OXPCIe952 UART",
1841               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_4,
1842                     0, 0 },
1843               {     0xffff,   0xffff,   0,        0         },
1844               {
1845                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1846               },
1847           },
1848 
1849           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1850           {   "Oxford Semiconductor OXPCIe952 UART",
1851               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_5,
1852                     0, 0 },
1853               {     0xffff,   0xffff,   0,        0         },
1854               {
1855                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1856               },
1857           },
1858 
1859           /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
1860           {   "Oxford Semiconductor OXPCIe952 UART",
1861               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_6,
1862                     0, 0 },
1863               {     0xffff,   0xffff,   0,        0         },
1864               {
1865                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1866               },
1867           },
1868 
1869           /* Oxford Semiconductor OXmPCI952 PCI UARTs */
1870           {   "Oxford Semiconductor OXmPCI952 UARTs",
1871               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41092,
1872                     0, 0 },
1873               {     0xffff,   0xffff,   0,        0         },
1874               {
1875                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
1876                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
1877               },
1878           },
1879 
1880           /* Oxford Semiconductor OXuPCI952 950 PCI UARTs */
1881           {   "Oxford Semiconductor OXuPCI952 UARTs",
1882               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OXUPCI952,
1883                     0, 0 },
1884               {     0xffff, 0xffff, 0,  0         },
1885               {
1886                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
1887                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
1888               },
1889           },
1890 
1891           /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
1892           {   "Oxford Semiconductor OX16PCI952 UARTs",
1893               {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OX16PCI952,
1894                     0, 0 },
1895               {   0xffff, 0xffff, 0,    0         },
1896               {
1897                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
1898                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
1899               },
1900           },
1901 
1902           /* Oxford Semiconductor OX16PCI952 PCI Parallel port */
1903           {   "Oxford Semiconductor OX16PCI952 Parallel port",
1904               {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OX16PCI952P,
1905                     0, 0 },
1906               {   0xffff, 0xffff, 0,    0         },
1907               {
1908                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
1909               },
1910           },
1911 
1912           /* InnoSys Keyspan SX Pro OX16PCI954 based 4 UARTs */
1913           {   "InnoSys Keyspan SX Pro Serial Card",
1914               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1915                     PCI_VENDOR_INNOSYS, 0x5850 },
1916               {     0xffff,   0xffff,   0xffff,   0xffff    },
1917               {
1918                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
1919                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
1920                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
1921                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
1922               },
1923           },
1924 
1925           /* I-O DATA RSA-PCI2 two UARTs based on OX16PCI954 */
1926           {   "I-O DATA RSA-PCI2 UARTs",
1927               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1928                     PCI_VENDOR_IODATA, 0xc070 },
1929               {     0xffff,   0xffff,   0xffff,   0xffff    },
1930               {
1931                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
1932                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
1933               },
1934           },
1935 
1936           /* I-O DATA RSA-PCI2 four/eight(1-4) UARTs based on OX16PCI954 */
1937           {   "I-O DATA RSA-PCI2/P4 or P8 (1-4) UARTs",
1938               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1939                     PCI_VENDOR_IODATA, 0xd007 },
1940               {     0xffff,   0xffff,   0xffff,   0xffff    },
1941               {
1942                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
1943                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
1944                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
1945                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
1946               },
1947           },
1948 
1949           /* OEM of Oxford Semiconductor PCI UARTs? */
1950           {   "SIIG Cyber 4 PCI 16550",
1951               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1952                     PCI_VENDOR_SIIG, 0x2050       },
1953               {     0xffff,   0xffff,   0xffff,   0xffff    },
1954               {
1955                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
1956                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
1957                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10 },
1958                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10 },
1959               },
1960           },
1961 
1962           /* OEM of Oxford Semiconductor PCI UARTs? */
1963           {   "SIIG Cyber 4S PCI 16C650 (20x family)",
1964               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1965                     PCI_VENDOR_SIIG, 0x2051       },
1966               {     0xffff,   0xffff,   0xffff,   0xffff    },
1967               {
1968                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
1969                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
1970                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10 },
1971                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10 },
1972               },
1973           },
1974 
1975           /* OEM of Oxford Semiconductor PCI UARTs? */
1976           {   "Avlab LP PCI 4S Quartet",
1977               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1978                     PCI_VENDOR_AVLAB, 0x2150 },
1979               {     0xffff,   0xffff,   0xffff,   0xffff    },
1980               {
1981                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
1982                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
1983                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10 },
1984                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10 },
1985               },
1986           },
1987 
1988           /* Oxford Semiconductor OX16PCI954 PCI UARTs */
1989           {   "Oxford Semiconductor OX16PCI954 UARTs",
1990               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
1991                     PCI_VENDOR_OXFORDSEMI,        0 },
1992               {     0xffff,   0xffff,   0xffff,   0         },
1993               {
1994                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
1995                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
1996                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
1997                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
1998               },
1999           },
2000 
2001           /* Oxford Semiconductor OX16PCI954 PCI UARTs (default for 0x9501) */
2002           {   "Oxford Semiconductor OX16PCI954 UARTs",
2003               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
2004                     0, 0 },
2005               {     0xffff,   0xffff,   0,        0         },
2006               {
2007                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ},
2008                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ},
2009                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ},
2010                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ},
2011               },
2012           },
2013 
2014           /* Oxford Semiconductor Exsys EX-41098 PCI UARTs */
2015           {   "Oxford Semiconductor Exsys EX-41098 UARTs",
2016               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41098,
2017                     PCI_VENDOR_OXFORDSEMI,        0 },
2018               {     0xffff,   0xffff,   0xffff,   0         },
2019               {
2020                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2021                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2022                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
2023                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
2024               },
2025           },
2026 
2027           /* I-O DATA RSA-PCI2 eight(5-8) UARTs base on OX16PCI954 */
2028           {   "I-O DATA RSA-PCI2/P8 (5-8) UARTs",
2029               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41098,
2030                     PCI_VENDOR_IODATA, 0xd007 },
2031               {     0xffff,   0xffff,   0xffff,   0xffff    },
2032               {
2033                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
2034                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
2035                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
2036                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
2037               },
2038           },
2039 
2040           /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */
2041           {   "Exsys EX-41098",
2042               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41098,
2043                     PCI_VENDOR_SIIG, 0x2082       },
2044               {     0xffff,   0xffff,   0xffff,   0xffff    },
2045               {
2046                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10},
2047                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10},
2048                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10},
2049                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10},
2050               },
2051           },
2052 
2053           /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
2054           {   "Oxford Semiconductor OX16PCI954 Parallel port",
2055               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI954P,
2056                     0, 0 },
2057               {     0xffff,   0xffff,   0,        0         },
2058               {
2059                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
2060               },
2061           },
2062 
2063           /* EXSYS EX-41098-2 UARTs */
2064           {   "EXSYS EX-41098-2 UARTs",
2065               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI958,
2066                     PCI_VENDOR_OXFORDSEMI, 0x0671 },
2067               {     0xffff,   0xffff,   0xffff,   0xffff    },
2068               {
2069                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ},
2070                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ},
2071                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ},
2072                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ},
2073                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ},
2074                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ},
2075                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ},
2076                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ},
2077               },
2078           },
2079 
2080           /* Oxford Semiconductor OX16PCI958 UARTs (wildcard) */
2081           {   "Oxford Semiconductor OX16PCI958 UARTs",
2082               {     PCI_VENDOR_OXFORDSEMI,        PCI_PRODUCT_OXFORDSEMI_OX16PCI958,
2083                     0, 0 },
2084               {     0xffff,   0xffff,   0,        0         },
2085               {
2086                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 10},
2087                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 10},
2088                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 10},
2089                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 10},
2090                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 10},
2091                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 10},
2092                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 10},
2093                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 10},
2094               },
2095           },
2096 
2097           /* Oxford Semiconductor OXPCIe952 PCIe 1 native S */
2098           {   "Oxford Semiconductor OXPCIe952 UART",
2099               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952SN1,
2100                     0, 0 },
2101               {     0xffff,   0xffff,   0,        0         },
2102               {
2103                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
2104               },
2105           },
2106 
2107           /* Oxford Semiconductor OXPCIe952 PCIe 2 native S */
2108           {   "Oxford Semiconductor OXPCIe952 UART",
2109               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952SN2,
2110                     0, 0 },
2111               {     0xffff,   0xffff,   0,        0         },
2112               {
2113                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
2114                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
2115               },
2116           },
2117 
2118           /* Oxford Semiconductor OXPCIe952 PCIe 2 native S */
2119           {   "Oxford Semiconductor OXPCIe952 UART",
2120               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952SN2_2,
2121                     0, 0 },
2122               {     0xffff,   0xffff,   0,        0         },
2123               {
2124                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
2125                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
2126               },
2127           },
2128 
2129           /* Oxford Semiconductor OXPCIe954 PCIe 4 native S */
2130           {   "Oxford Semiconductor OXPCIe954 UART",
2131               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE954,
2132                     0, 0 },
2133               {     0xffff,   0xffff,   0,        0         },
2134               {
2135                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
2136                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
2137                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
2138                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
2139               },
2140           },
2141 
2142           /* Oxford Semiconductor OXPCIe954 PCIe 4 native S */
2143           {   "Oxford Semiconductor OXPCIe954 UART",
2144               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE954SN4,
2145                     0, 0 },
2146               {     0xffff,   0xffff,   0,        0         },
2147               {
2148                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
2149                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
2150                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
2151                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
2152               },
2153           },
2154 
2155           /* Oxford Semiconductor OXPCIe958 PCIe 8 native S */
2156           {   "Oxford Semiconductor OXPCIe958 UART",
2157               {     PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE958SN8,
2158                     0, 0 },
2159               {     0xffff,   0xffff,   0,        0         },
2160               {
2161                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
2162                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
2163                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
2164                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
2165                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1800, COM_FREQ * 0x22 },
2166                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1a00, COM_FREQ * 0x22 },
2167                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1c00, COM_FREQ * 0x22 },
2168                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1e00, COM_FREQ * 0x22 },
2169               },
2170           },
2171 
2172           {   "SUNIX 5008 1P",
2173               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2174                     0x1fd4,   0x0100 },
2175               {     0xffff,   0xffff,   0xffff,   0xeff0 },
2176               {
2177                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2178               },
2179           },
2180 
2181           {   "SUNIX 5016 8S",
2182               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2183                     0x1fd4,   0x0010 },
2184               {     0xffff,   0xffff,   0xffff,   0xffff },
2185               {
2186                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2187                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2188                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
2189                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
2190                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8},
2191                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ * 8},
2192                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x10, COM_FREQ * 8},
2193                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x18, COM_FREQ * 8},
2194                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x20, COM_FREQ * 8},
2195                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x28, COM_FREQ * 8},
2196                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x30, COM_FREQ * 8},
2197                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x38, COM_FREQ * 8},
2198                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x40, COM_FREQ * 8},
2199                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x48, COM_FREQ * 8},
2200                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x50, COM_FREQ * 8},
2201                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x58, COM_FREQ * 8},
2202               },
2203           },
2204 
2205           {   "SUNIX 5027 1S",
2206               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2207                     0x1fd4,   0x0001 },
2208               {     0xffff,   0xffff,   0xffff,   0xffff },
2209               {
2210                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2211               },
2212           },
2213 
2214           {   "SUNIX 5037 2S",
2215               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2216                     0x1fd4,   0x0002 },
2217               {     0xffff,   0xffff,   0xffff,   0xffff },
2218               {
2219                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2220                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2221               },
2222           },
2223 
2224           {   "SUNIX 5056 4S",
2225               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2226                     0x1fd4,   0x0004 },
2227               {     0xffff,   0xffff,   0xffff,   0xffff },
2228               {
2229                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2230                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2231                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
2232                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
2233               },
2234           },
2235 
2236           {   "SUNIX 5066 8S",
2237               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2238                     0x1fd4,   0x0008 },
2239               {     0xffff,   0xffff,   0xffff,   0xffff },
2240               {
2241                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2242                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2243                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
2244                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
2245                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8},
2246                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ * 8},
2247                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x10, COM_FREQ * 8},
2248                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x18, COM_FREQ * 8},
2249               },
2250           },
2251 
2252           {   "SUNIX 5069 1S / 1P",
2253               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2254                     0x1fd4,   0x0101 },
2255               {     0xffff,   0xffff,   0xffff,   0xeff0 },
2256               {
2257                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2258                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2259               },
2260           },
2261 
2262           {   "SUNIX 5079 2S / 1P",
2263               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2264                     0x1fd4,   0x0102 },
2265               {     0xffff,   0xffff,   0xffff,   0xffff },
2266               {
2267                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2268                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2269                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2270               },
2271           },
2272 
2273           {   "SUNIX 5099 4S / 1P",
2274               {     PCI_VENDOR_SUNIX2,  PCI_PRODUCT_SUNIX2_SER5XXXX,
2275                     0x1fd4,   0x0104 },
2276               {     0xffff,   0xffff,   0xffff,   0xffff },
2277               {
2278                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
2279                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
2280                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
2281                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
2282                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2283               },
2284           },
2285 
2286           /*
2287            * XXX no entry because I have no data:
2288            * XXX Dolphin Peripherals 4006 (single parallel)
2289            */
2290 
2291           /*
2292            * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
2293            * a seemingly-lame EEPROM setup that puts the Dolphin IDs
2294            * into the subsystem fields, and claims that it's a
2295            * network/misc (0x02/0x80) device.
2296            */
2297           {   "Dolphin Peripherals 4014",
2298               {     PCI_VENDOR_PLX,     PCI_PRODUCT_PLX_9050,         0xd84d,   0x6810    },
2299               {     0xffff,   0xffff,   0xffff,   0xffff    },
2300               {
2301                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
2302                     { PUC_PORT_TYPE_LPT, PCI_BAR5, 0x00, 0x00 },
2303               },
2304           },
2305 
2306           /*
2307            * XXX Dolphin Peripherals 4025 (single serial)
2308            * (clashes with Dolphin Peripherals  4036 (2s variant)
2309            */
2310 
2311           /*
2312            * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
2313            * a seemingly-lame EEPROM setup that puts the Dolphin IDs
2314            * into the subsystem fields, and claims that it's a
2315            * network/misc (0x02/0x80) device.
2316            */
2317           {   "Dolphin Peripherals 4035",
2318               {     PCI_VENDOR_PLX,     PCI_PRODUCT_PLX_9050,         0xd84d,   0x6808    },
2319               {     0xffff,   0xffff,   0xffff,   0xffff    },
2320               {
2321                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2322                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2323               },
2324           },
2325 
2326           /*
2327            * Nanjing QinHeng Electronics
2328            * Products based on CH353 chip which can be
2329            * configured to provide various combinations
2330            * including 2 serial ports and a parallel port
2331            * or 4 serial ports (using a CH432 parallel to
2332            * 2 serial port converter. Product codes from
2333            * documentation (and physical 2 port serial card)
2334            */
2335           {   "Nanjing QinHeng Electronics CH352",
2336               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_2S,
2337                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_2S },
2338               {     0xffff, 0xffff, 0xffff, 0xffff          },
2339               {
2340                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2341                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2342               },
2343           },
2344 
2345           {   "Nanjing QinHeng Electronics CH352",
2346               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_1S1P,
2347                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_1S1P },
2348               {     0xffff, 0xffff, 0xffff, 0xffff          },
2349               {
2350                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2351                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2352               },
2353           },
2354 
2355           {   "Nanjing QinHeng Electronics CH353",
2356               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_4S,
2357                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_4S },
2358               {     0xffff, 0xffff, 0xffff, 0xffff          },
2359               {
2360                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2361                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2362                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2363                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2364               },
2365           },
2366 
2367           {   "Nanjing QinHeng Electronics CH353",
2368               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1P,
2369                     PCI_VENDOR_QINHENG, 0x3253 },
2370               {     0xffff, 0xffff, 0xffff, 0xffff          },
2371               {
2372                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2373                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2374                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
2375               },
2376           },
2377 
2378           {   "Nanjing QinHeng Electronics CH353 (fixed address)",
2379               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1PAR,
2380                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1PAR },
2381               {     0xffff, 0xffff, 0xffff, 0xffff          },
2382               {
2383                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2384                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2385                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
2386               },
2387           },
2388 
2389           {   "Nanjing QinHeng Electronics CH355",
2390               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH355_4S,
2391                     PCI_VENDOR_QINHENG, 0x3473 },
2392               {     0xffff, 0xffff, 0xffff, 0xffff          },
2393               {
2394                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2395                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2396                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2397                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2398               },
2399           },
2400 
2401           {   "Nanjing QinHeng Electronics CH356",
2402               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_4S1P,
2403                     PCI_VENDOR_QINHENG, 0x3473 },
2404               {     0xffff, 0xffff, 0xffff, 0xffff          },
2405               {
2406                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2407                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2408                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2409                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2410                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
2411               },
2412           },
2413 
2414           {   "Nanjing QinHeng Electronics CH356",
2415               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_6S,
2416                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_6S },
2417               {     0xffff, 0xffff, 0xffff, 0xffff          },
2418               {
2419                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2420                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2421                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2422                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2423                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
2424                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
2425               },
2426           },
2427 
2428           {   "Nanjing QinHeng Electronics CH356",
2429               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_8S,
2430                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_8S },
2431               {     0xffff, 0xffff, 0xffff, 0xffff          },
2432               {
2433                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2434                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2435                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2436                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2437                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
2438                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
2439                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ },
2440                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ },
2441               },
2442           },
2443 
2444           {   "Nanjing QinHeng Electronics CH357",
2445               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH357_4S,
2446                     PCI_VENDOR_QINHENG, 0x5053 },
2447               {     0xffff, 0xffff, 0xffff, 0xffff          },
2448               {
2449                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2450                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2451                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2452                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2453               },
2454           },
2455 
2456           {   "Nanjing QinHeng Electronics CH358",
2457               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_4S1P,
2458                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_4S1P },
2459               {     0xffff, 0xffff, 0xffff, 0xffff          },
2460               {
2461                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2462                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2463                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2464                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2465                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
2466               },
2467           },
2468 
2469           {   "Nanjing QinHeng Electronics CH358",
2470               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_8S,
2471                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_8S },
2472               {     0xffff, 0xffff, 0xffff, 0xffff          },
2473               {
2474                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2475                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2476                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2477                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2478                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
2479                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ },
2480                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ },
2481                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ },
2482               },
2483           },
2484 
2485           {   "Nanjing QinHeng Electronics CH359",
2486               {     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH359_16S,
2487                     PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH359_16S },
2488               {     0xffff, 0xffff, 0xffff, 0xffff          },
2489               {
2490                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2491                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
2492                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
2493                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
2494                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
2495                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ },
2496                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ },
2497                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ },
2498                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
2499                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ },
2500                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x20, COM_FREQ },
2501                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x30, COM_FREQ },
2502                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
2503                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ },
2504                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x28, COM_FREQ },
2505                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x38, COM_FREQ },
2506               },
2507           },
2508 
2509           {   "Nanjing QinHeng Electronics CH382",
2510               {     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S,
2511                     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S },
2512               {     0xffff, 0xffff, 0xffff, 0xffff          },
2513               {
2514                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
2515                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
2516               },
2517           },
2518 
2519           {   "Nanjing QinHeng Electronics CH382",
2520               {     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S1P,
2521                     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S1P },
2522               {     0xffff, 0xffff, 0xffff, 0xffff          },
2523               {
2524                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
2525                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
2526                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2527               },
2528           },
2529 
2530           {   "Nanjing QinHeng Electronics CH384",
2531               {     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S,
2532                     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S },
2533               {     0xffff, 0xffff, 0xffff, 0xffff          },
2534               {
2535                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
2536                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
2537                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd0, COM_FREQ },
2538                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd8, COM_FREQ },
2539               },
2540           },
2541 
2542           {   "Nanjing QinHeng Electronics CH384",
2543               {     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S1P,
2544                     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S1P },
2545               {     0xffff, 0xffff, 0xffff, 0xffff          },
2546               {
2547                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
2548                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
2549                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd0, COM_FREQ },
2550                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd8, COM_FREQ },
2551                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
2552               },
2553           },
2554 
2555           {   "Nanjing QinHeng Electronics CH384",
2556               {     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_8S,
2557                     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_8S },
2558               {     0xffff, 0xffff, 0xffff, 0xffff          },
2559               {
2560                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2561                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ },
2562                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ },
2563                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ },
2564                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
2565                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ },
2566                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ },
2567                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ },
2568               },
2569           },
2570 
2571           {   "Nanjing QinHeng Electronics CH384",
2572               {     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_28S,
2573                     PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_28S },
2574               {     0xffff, 0xffff, 0xffff, 0xffff          },
2575               {
2576                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
2577                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
2578                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd0, COM_FREQ },
2579                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd8, COM_FREQ },
2580                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2581                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ },
2582                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ },
2583                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ },
2584                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
2585                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ },
2586                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ },
2587                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ },
2588                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x40, COM_FREQ },
2589                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x50, COM_FREQ },
2590                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x60, COM_FREQ },
2591                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x70, COM_FREQ },
2592                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x48, COM_FREQ },
2593                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x58, COM_FREQ },
2594                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x68, COM_FREQ },
2595                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x78, COM_FREQ },
2596                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x80, COM_FREQ },
2597                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x90, COM_FREQ },
2598                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xa0, COM_FREQ },
2599                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xb0, COM_FREQ },
2600                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x88, COM_FREQ },
2601                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x98, COM_FREQ },
2602                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xa8, COM_FREQ },
2603                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0xb8, COM_FREQ },
2604               },
2605           },
2606 
2607           /* Intel 82946GZ/GL KT */
2608           {   "Intel 82946GZ/GL KT",
2609               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82946GZ_KT, 0, 0 },
2610               {     0xffff,   0xffff,   0,        0         },
2611               {
2612                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2613               },
2614           },
2615 
2616           /* Intel P965/G965 KT */
2617           {   "Intel P965/G965 KT",
2618               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82P965_KT, 0, 0 },
2619               {     0xffff,   0xffff,   0,        0         },
2620               {
2621                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2622               },
2623           },
2624 
2625           /* Intel PM965/GM965 KT */
2626           {   "Intel PM965/GM965 KT",
2627               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82965PM_KT, 0, 0 },
2628               {     0xffff,   0xffff,   0,        0         },
2629               {
2630                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2631               },
2632           },
2633 
2634           /* Intel GME965/GLE965 KT */
2635           {   "Intel GME965/GLE965 KT",
2636               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82965GME_KT, 0, 0 },
2637               {     0xffff,   0xffff,   0,        0         },
2638               {
2639                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2640               },
2641           },
2642 
2643           /* Intel Q963/Q965 KT */
2644           {   "Intel Q963/Q965 KT",
2645               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q965_KT, 0, 0 },
2646               {     0xffff,   0xffff,   0,        0         },
2647               {
2648                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2649               },
2650           },
2651 
2652           /* Intel G33/G31/P35/P31 KT */
2653           {   "Intel G33/G31/P35/P31 KT",
2654               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G33_KT, 0, 0 },
2655               {     0xffff,   0xffff,   0,        0         },
2656               {
2657                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2658               },
2659           },
2660 
2661           /* Intel Q35 KT */
2662           {   "Intel Q35 KT",
2663               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q35_KT, 0, 0 },
2664               {     0xffff,   0xffff,   0,        0         },
2665               {
2666                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2667               },
2668           },
2669 
2670           /* Intel Q33 KT */
2671           {   "Intel Q33 KT",
2672               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q33_KT, 0, 0 },
2673               {     0xffff,   0xffff,   0,        0         },
2674               {
2675                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2676               },
2677           },
2678 
2679           /* Intel X38 KT */
2680           {   "Intel X38 KT",
2681               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82X38_KT, 0, 0 },
2682               {     0xffff,   0xffff,   0,        0         },
2683               {
2684                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2685               },
2686           },
2687 
2688           /* Intel 3200 KT */
2689           {   "Intel 3200 KT",
2690               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3200_KT, 0, 0 },
2691               {     0xffff,   0xffff,   0,        0         },
2692               {
2693                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2694               },
2695           },
2696 
2697           /* Intel GM45 KT */
2698           {   "Intel GM45 KT",
2699               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GM45_KT, 0, 0 },
2700               {     0xffff,   0xffff,   0,        0         },
2701               {
2702                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2703               },
2704           },
2705 
2706           /* Intel Q45 KT */
2707           {   "Intel Q45 KT",
2708               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q45_KT, 0, 0 },
2709               {     0xffff,   0xffff,   0,        0         },
2710               {
2711                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2712               },
2713           },
2714 
2715           /* Intel Q45 KT (again) */
2716           {   "Intel Q45 KT",
2717               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q45_KT_1, 0, 0 },
2718               {     0xffff,   0xffff,   0,        0         },
2719               {
2720                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2721               },
2722           },
2723           /* Intel 5 Series and Intel 3400 Series KT */
2724           {   "Intel 5 Series KT",
2725               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3400_KT, 0, 0 },
2726               {     0xffff,   0xffff,   0,        0         },
2727               {
2728                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2729               },
2730           },
2731 
2732           /* Intel 6 Series KT */
2733           {   "Intel 6 Series KT",
2734               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_KT, 0, 0 },
2735               {     0xffff,   0xffff,   0,        0         },
2736               {
2737                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2738               },
2739           },
2740 
2741           /* Intel 7 Series KT */
2742           {   "Intel 7 Series KT",
2743               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_7SERIES_KT, 0, 0 },
2744               {     0xffff,   0xffff,   0,        0         },
2745               {
2746                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2747               },
2748           },
2749 
2750           /* Intel 8 Series KT */
2751           {   "Intel 8 Series KT",
2752               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_8SERIES_KT, 0, 0 },
2753               {     0xffff,   0xffff,   0,        0         },
2754               {
2755                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2756               },
2757           },
2758 
2759           /* Intel 9 Series KT */
2760           {   "Intel 9 Series KT",
2761               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_KT, 0, 0 },
2762               {     0xffff,   0xffff,   0,        0         },
2763               {
2764                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2765               },
2766           },
2767 
2768           /* Intel 100 Series KT */
2769           {   "Intel 100 Series KT",
2770               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_KT, 0, 0 },
2771               {     0xffff,   0xffff,   0,        0         },
2772               {
2773                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2774               },
2775           },
2776           {   "Intel 100 Series LP KT",
2777               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_LP_KT, 0, 0 },
2778               {     0xffff,   0xffff,   0,        0         },
2779               {
2780                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2781               },
2782           },
2783 
2784           /* Intel 200 Series KT */
2785           {   "Intel 200 Series KT",
2786               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_2HS_KT, 0, 0 },
2787               {     0xffff,   0xffff,   0,        0         },
2788               {
2789                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2790               },
2791           },
2792 
2793           /* Intel 300 Series KT */
2794           {   "Intel 300 Series KT",
2795               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3HS_KT, 0, 0 },
2796               {     0xffff,   0xffff,   0,        0         },
2797               {
2798                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2799               },
2800           },
2801 
2802           /* Intel Comet Lake KT */
2803           {   "Intel Comet Lake KT",
2804               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_CMTLK_KT, 0, 0 },
2805               {     0xffff,   0xffff,   0,        0         },
2806               {
2807                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2808               },
2809           },
2810 
2811           /* Intel 400 Series (H) KT */
2812           {   "Intel 400 Series (H) KT",
2813               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_4HS_H_KT, 0, 0 },
2814               {     0xffff,   0xffff,   0,        0         },
2815               {
2816                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2817               },
2818           },
2819 
2820           /* Intel 400 Series (V) KT */
2821           {   "Intel 400 Series (V) KT",
2822               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_4HS_V_KT, 0, 0 },
2823               {     0xffff,   0xffff,   0,        0         },
2824               {
2825                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2826               },
2827           },
2828 
2829           /* Intel 495 Series KT */
2830           {   "Intel 495 Series KT",
2831               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_495_YU_KT, 0, 0 },
2832               {     0xffff,   0xffff,   0,        0         },
2833               {
2834                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2835               },
2836           },
2837 
2838           /* Intel 500 Series (H) KT */
2839           {   "Intel 500 Series (H) KT",
2840               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_5HS_H_KT, 0, 0 },
2841               {     0xffff,   0xffff,   0,        0         },
2842               {
2843                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2844               },
2845           },
2846 
2847           /* Intel C600/X79 Series KT */
2848           {   "Intel C600/X79 Series KT",
2849               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_C600_KT, 0, 0 },
2850               {     0xffff,   0xffff,   0,        0         },
2851               {
2852                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2853               },
2854           },
2855 
2856           /* Intel Core 4G (mobile) KT */
2857           {   "Intel Core 4G (mobile) KT",
2858               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_CORE4G_M_KT, 0, 0 },
2859               {     0xffff,   0xffff,   0,        0         },
2860               {
2861                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2862               },
2863           },
2864 
2865           /* Intel Core 5G (mobile) KT */
2866           {   "Intel Core 5G (mobile) KT",
2867               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_CORE5G_M_KT, 0, 0 },
2868               {     0xffff,   0xffff,   0,        0         },
2869               {
2870                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2871               },
2872           },
2873 
2874           /* Intel EG20T UART */
2875           {   "Intel EG20T UART #0",
2876               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_0, 0, 0 },
2877               {     0xffff,   0xffff,   0,        0         },
2878               {
2879                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2880               },
2881           },
2882 
2883           /* Intel EG20T UART */
2884           {   "Intel EG20T UART #1",
2885               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_1, 0, 0 },
2886               {     0xffff,   0xffff,   0,        0         },
2887               {
2888                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2889               },
2890           },
2891 
2892           /* Intel EG20T UART */
2893           {   "Intel EG20T UART #2",
2894               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_2, 0, 0 },
2895               {     0xffff,   0xffff,   0,        0         },
2896               {
2897                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2898               },
2899           },
2900 
2901           /* Intel EG20T UART */
2902           {   "Intel EG20T UART #3",
2903               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_3, 0, 0 },
2904               {     0xffff,   0xffff,   0,        0         },
2905               {
2906                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2907               },
2908           },
2909 
2910           /* Intel Quark X1000 UART */
2911           {   "Intel Quark X1000 UART",
2912               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X1000_HS_UART, 0, 0 },
2913               {     0xffff,   0xffff,   0,        0         },
2914               {
2915                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, 44236800 },
2916               },
2917           },
2918 
2919           /* Intel S1200 UART */
2920           {   "Intel S1200 UART",
2921               {     PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_S1200_UART, 0, 0 },
2922               {     0xffff,   0xffff,   0,        0         },
2923               {
2924                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
2925               },
2926           },
2927 
2928           /* VScom PCI-200: 2S */
2929           {   "VScom PCI-200",
2930               {     PCI_VENDOR_PLX,     PCI_PRODUCT_PLX_PCI_200,
2931                     PCI_VENDOR_PLX,     0x1103 },
2932               {     0xffff,   0xffff,   0xffff,   0xffff    },
2933               {
2934                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
2935                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
2936               },
2937           },
2938 
2939           /* VScom PCI-400: 4S */
2940           {   "VScom PCI-400",
2941               {     PCI_VENDOR_PLX,     PCI_PRODUCT_PLX_PCI_400,
2942                     PCI_VENDOR_PLX,     0x1077    },
2943               {     0xffff,   0xffff,   0xffff,   0xffff    },
2944               {
2945                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
2946                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
2947                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
2948                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
2949               },
2950           },
2951 
2952           /* VScom PCI-800: 8S */
2953           {   "VScom PCI-800",
2954               {     PCI_VENDOR_PLX,     PCI_PRODUCT_PLX_PCI_800,
2955                     PCI_VENDOR_PLX,     0x1076    },
2956               {     0xffff,   0xffff,   0xffff,   0xffff    },
2957               {
2958                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
2959                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
2960                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
2961                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
2962                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
2963                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
2964                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
2965                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
2966               },
2967           },
2968 
2969           /*
2970            * Perle PCI-RAS 4 Modem ports
2971            */
2972           {   "Perle Systems PCI-RAS 4 modem ports",
2973               {     PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9030, 0x155f, 0xf001        },
2974               {     0xffff, 0xffff, 0xffff, 0xffff          },
2975               {
2976                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
2977                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
2978                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
2979                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
2980               },
2981           },
2982 
2983           /*
2984            * Perle PCI-RASV92 4 Modem ports
2985            */
2986           {   "Perle Systems PCI-RASV92 4 modem ports",
2987               {     PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x155f, 0xf001        },
2988               {     0xffff, 0xffff, 0xffff, 0xffff          },
2989               {
2990                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
2991                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
2992                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
2993                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
2994               },
2995           },
2996 
2997           /*
2998            * Perle PCI-RAS 8 Modem ports
2999            */
3000           {   "Perle Systems PCI-RAS 8 modem ports",
3001               {     PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9030, 0x155f, 0xf010        },
3002               {     0xffff, 0xffff, 0xffff, 0xffff          },
3003               {
3004                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
3005                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
3006                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
3007                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
3008                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 4 },
3009                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 4 },
3010                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 4 },
3011                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 4 },
3012               },
3013           },
3014 
3015           /*
3016            * Perle PCI-RASV92 8 Modem ports
3017            */
3018           {   "Perle Systems PCI-RASV92 8 modem ports",
3019               {     PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x155f, 0xf010        },
3020               {     0xffff, 0xffff, 0xffff, 0xffff          },
3021               {
3022                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
3023                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
3024                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
3025                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
3026                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 4 },
3027                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 4 },
3028                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 4 },
3029                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 4 },
3030               },
3031           },
3032 
3033           /*
3034            * Boca Research Turbo Serial 654 (4 serial port) card.
3035            * Appears to be the same as Chase Research PLC PCI-FAST4
3036            * and Perle PCI-FAST4 Multi-Port serial cards.
3037            */
3038           {   "Boca Research Turbo Serial 654",
3039               {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031  },
3040               {   0xffff, 0xffff, 0xffff, 0xffff  },
3041               {
3042                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
3043                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
3044                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
3045                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
3046               },
3047           },
3048 
3049           /*
3050            * Boca Research Turbo Serial 658 (8 serial port) card.
3051            * Appears to be the same as Chase Research PLC PCI-FAST8
3052            * and Perle PCI-FAST8 Multi-Port serial cards.
3053            */
3054           {   "Boca Research Turbo Serial 658",
3055               {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021  },
3056               {   0xffff, 0xffff, 0xffff, 0xffff  },
3057               {
3058                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
3059                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
3060                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
3061                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
3062                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 4 },
3063                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 4 },
3064                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 4 },
3065                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 4 },
3066               },
3067           },
3068 
3069           /*
3070            * SIIG Boards.
3071            *
3072            * SIIG provides documentation for their boards at:
3073            * <URL:http://www.siig.com/driver.htm>
3074            *
3075            * Please excuse the weird ordering, it's the order they
3076            * use in their documentation.
3077            */
3078 
3079           /*
3080            * SIIG "10x" family boards.
3081            */
3082 
3083           /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
3084           {   "SIIG Cyber Serial PCI 16C550 (10x family)",
3085               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_S550, 0, 0 },
3086               {     0xffff,   0xffff,   0,        0         },
3087               {
3088                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3089                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
3090               },
3091           },
3092 
3093           /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
3094           {   "SIIG Cyber Serial PCI 16C650 (10x family)",
3095               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_S650, 0, 0 },
3096               {     0xffff,   0xffff,   0,        0         },
3097               {
3098                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3099                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
3100               },
3101           },
3102 
3103           /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
3104           {   "SIIG Cyber Serial PCI 16C850 (10x family)",
3105               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_S850, 0, 0 },
3106               {     0xffff,   0xffff,   0,        0         },
3107               {
3108                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3109                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
3110               },
3111           },
3112 
3113           /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
3114           {   "SIIG Cyber I/O PCI 16C550 (10x family)",
3115               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_IO550, 0, 0 },
3116               {     0xffff,   0xffff,   0,        0         },
3117               {
3118                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3119                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
3120                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3121               },
3122           },
3123 
3124           /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
3125           {   "SIIG Cyber I/O PCI 16C650 (10x family)",
3126               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_IO650, 0, 0 },
3127               {     0xffff,   0xffff,   0,        0         },
3128               {
3129                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3130                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
3131                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3132               },
3133           },
3134 
3135           /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
3136           {   "SIIG Cyber I/O PCI 16C850 (10x family)",
3137               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_IO850, 0, 0 },
3138               {     0xffff,   0xffff,   0,        0         },
3139               {
3140                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3141                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
3142                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3143               },
3144           },
3145 
3146           /* SIIG Cyber Parallel PCI (10x family): 1P */
3147           {   "SIIG Cyber Parallel PCI (10x family)",
3148               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_P, 0, 0 },
3149               {     0xffff,   0xffff,   0,        0         },
3150               {
3151                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3152               },
3153           },
3154 
3155           /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
3156           {   "SIIG Cyber Parallel Dual PCI (10x family)",
3157               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2P, 0, 0 },
3158               {     0xffff,   0xffff,   0,        0         },
3159               {
3160                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3161                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
3162               },
3163           },
3164 
3165           /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
3166           {   "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
3167               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2S550, 0, 0 },
3168               {     0xffff,   0xffff,   0,        0         },
3169               {
3170                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3171                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
3172                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
3173                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
3174               },
3175           },
3176 
3177           /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
3178           {   "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
3179               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2S650, 0, 0 },
3180               {     0xffff,   0xffff,   0,        0         },
3181               {
3182                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3183                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
3184                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
3185                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
3186               },
3187           },
3188 
3189           /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
3190           {   "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
3191               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2S850, 0, 0 },
3192               {     0xffff,   0xffff,   0,        0         },
3193               {
3194                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3195                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
3196                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
3197                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
3198               },
3199           },
3200 
3201           /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
3202           {   "SIIG Cyber 2S1P PCI 16C550 (10x family)",
3203               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2S1P550,
3204                     0, 0 },
3205               {     0xffff,   0xffff,   0,        0         },
3206               {
3207                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3208                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
3209                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
3210                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
3211                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
3212               },
3213           },
3214 
3215           /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
3216           {   "SIIG Cyber 2S1P PCI 16C650 (10x family)",
3217               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2S1P650,
3218                     0, 0 },
3219               {     0xffff,   0xffff,   0,        0         },
3220               {
3221                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3222                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
3223                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
3224                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
3225                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
3226               },
3227           },
3228 
3229           /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
3230           {   "SIIG Cyber 2S1P PCI 16C850 (10x family)",
3231               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_2S1P850,
3232                     0, 0 },
3233               {     0xffff,   0xffff,   0,        0         },
3234               {
3235                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3236                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
3237                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
3238                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
3239                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
3240               },
3241           },
3242 
3243           /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
3244           {   "SIIG Cyber 4S PCI 16C550 (10x family)",
3245               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_4S550, 0, 0 },
3246               {     0xffff,   0xffff,   0,        0         },
3247               {
3248                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3249                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
3250                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3251                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3252                     { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ * 8 },
3253               },
3254           },
3255 
3256           /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
3257           {   "SIIG Cyber 4S PCI 16C650 (10x family)",
3258               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_4S650, 0, 0 },
3259               {     0xffff,   0xffff,   0,        0         },
3260               {
3261                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3262                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
3263                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3264                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3265                     { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ * 8 },
3266               },
3267           },
3268 
3269           /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
3270           {   "SIIG Cyber 4S PCI 16C850 (10x family)",
3271               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER10_4S850, 0, 0 },
3272               {     0xffff,   0xffff,   0,        0         },
3273               {
3274                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
3275                         (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
3276                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3277                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3278                     { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ * 8 },
3279               },
3280           },
3281 
3282           /*
3283            * SIIG "20x" family boards.
3284            */
3285 
3286           /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
3287           {   "SIIG Cyber Serial PCI 16C550 (20x family)",
3288               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_S550, 0, 0 },
3289               {     0xffff,   0xffff,   0,        0         },
3290               {
3291                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3292                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3293               },
3294           },
3295 
3296           /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
3297           {   "SIIG Cyber Serial PCI 16C650 (20x family)",
3298               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_S650, 0, 0 },
3299               {     0xffff,   0xffff,   0,        0         },
3300               {
3301                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3302                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3303               },
3304           },
3305 
3306           /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
3307           {   "SIIG Cyber Serial PCI 16C850 (20x family)",
3308               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_S850, 0, 0 },
3309               {     0xffff,   0xffff,   0,        0         },
3310               {
3311                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3312                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3313               },
3314           },
3315 
3316           /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
3317           {   "SIIG Cyber I/O PCI 16C550 (20x family)",
3318               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_IO550, 0, 0 },
3319               {     0xffff,   0xffff,   0,        0         },
3320               {
3321                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3322                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3323                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
3324               },
3325           },
3326 
3327           /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
3328           {   "SIIG Cyber I/O PCI 16C650 (20x family)",
3329               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_IO650, 0, 0 },
3330               {     0xffff,   0xffff,   0,        0         },
3331               {
3332                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3333                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3334                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
3335               },
3336           },
3337 
3338           /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
3339           {   "SIIG Cyber I/O PCI 16C850 (20x family)",
3340               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_IO850, 0, 0 },
3341               {     0xffff,   0xffff,   0,        0         },
3342               {
3343                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3344                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3345                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
3346               },
3347           },
3348 
3349           /* SIIG Cyber Parallel PCI (20x family): 1P */
3350           {   "SIIG Cyber Parallel PCI (20x family)",
3351               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_P, 0, 0 },
3352               {     0xffff,   0xffff,   0,        0         },
3353               {
3354                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3355               },
3356           },
3357 
3358           /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
3359           {   "SIIG Cyber Parallel Dual PCI (20x family)",
3360               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2P, 0, 0 },
3361               {     0xffff,   0xffff,   0,        0         },
3362               {
3363                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3364                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3365               },
3366           },
3367 
3368           /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
3369           {   "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
3370               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2S550, 0, 0 },
3371               {     0xffff,   0xffff,   0,        0         },
3372               {
3373                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3374                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3375                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
3376                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
3377               },
3378           },
3379 
3380           /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
3381           {   "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
3382               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2S650, 0, 0 },
3383               {     0xffff,   0xffff,   0,        0         },
3384               {
3385                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3386                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3387                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
3388                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
3389               },
3390           },
3391 
3392           /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
3393           {   "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
3394               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2S850, 0, 0 },
3395               {     0xffff,   0xffff,   0,        0         },
3396               {
3397                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3398                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3399                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
3400                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
3401               },
3402           },
3403 
3404           /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
3405           {   "SIIG Cyber 2P1S PCI 16C550 (20x family)",
3406               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2P1S550,
3407                     0, 0 },
3408               {     0xffff,   0xffff,   0,        0         },
3409               {
3410                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3411                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3412                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
3413                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3414               },
3415           },
3416 
3417           /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
3418           {   "SIIG Cyber 2P1S PCI 16C650 (20x family)",
3419               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2P1S650,
3420                     0, 0 },
3421               {     0xffff,   0xffff,   0,        0         },
3422               {
3423                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3424                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3425                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
3426                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3427               },
3428           },
3429 
3430           /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
3431           {   "SIIG Cyber 2P1S PCI 16C850 (20x family)",
3432               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2P1S850,
3433                     0, 0 },
3434               {     0xffff,   0xffff,   0,        0         },
3435               {
3436                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3437                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3438                     { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
3439                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3440               },
3441           },
3442 
3443           /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
3444           {   "SIIG Cyber 4S PCI 16C550 (20x family)",
3445               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_4S550, 0, 0 },
3446               {     0xffff,   0xffff,   0,        0         },
3447               {
3448                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3449                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3450                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3451                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3452                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3453               },
3454           },
3455 
3456           /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
3457           {   "SIIG Cyber 4S PCI 16C650 (20x family)",
3458               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_4S650, 0, 0 },
3459               {     0xffff,   0xffff,   0,        0         },
3460               {
3461                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3462                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3463                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3464                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3465                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3466               },
3467           },
3468 
3469           /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
3470           {   "SIIG Cyber 4S PCI 16C850 (20x family)",
3471               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_4S850, 0, 0 },
3472               {     0xffff,   0xffff,   0,        0         },
3473               {
3474                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3475                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3476                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3477                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3478                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3479               },
3480           },
3481 
3482           /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
3483           {   "SIIG Cyber 2S1P PCI 16C550 (20x family)",
3484               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2S1P550,
3485                     0, 0 },
3486               {     0xffff,   0xffff,   0,        0         },
3487               {
3488                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3489                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3490                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
3491                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
3492                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3493               },
3494           },
3495 
3496           /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
3497           {   "SIIG Cyber 2S1P PCI 16C650 (20x family)",
3498               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2S1P650,
3499                     0, 0 },
3500               {     0xffff,   0xffff,   0,        0         },
3501               {
3502                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3503                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3504                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
3505                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
3506                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3507               },
3508           },
3509 
3510           /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
3511           {   "SIIG Cyber 2S1P PCI 16C850 (20x family)",
3512               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_CYBER20_2S1P850,
3513                     0, 0 },
3514               {     0xffff,   0xffff,   0,        0         },
3515               {
3516                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3517                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3518                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
3519                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
3520                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3521               },
3522           },
3523 
3524           /* SIIG PS8000 PCI 8S 16C550 (20x family): 8S - 16 Byte FIFOs */
3525           {   "SIIG PS8000 PCI 8S 16C550 (20x family)",
3526               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_PS8000P550, 0, 0 },
3527               {     0xffff,   0xffff,   0,        0         },
3528               {
3529                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3530                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3531                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3532                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3533                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3534                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3535                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
3536                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
3537                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
3538               },
3539           },
3540 
3541           /* SIIG PS8000 PCI 8S 16C650 (20x family): 8S - 32 Byte FIFOs */
3542           {   "SIIG PS8000 PCI 8S 16C650 (20x family)",
3543               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_PS8000P650, 0, 0 },
3544               {     0xffff,   0xffff,   0,        0         },
3545               {
3546                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3547                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3548                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3549                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3550                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3551                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3552                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
3553                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
3554                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
3555               },
3556           },
3557 
3558           /* SIIG PS8000 PCI 8S 16C850 (20x family): 8S - 128 Byte FIFOs */
3559           {   "SIIG PS8000 PCI 8S 16C850 (20x family)",
3560               {     PCI_VENDOR_SIIG,    PCI_PRODUCT_SIIG_PS8000P850, 0, 0 },
3561               {     0xffff,   0xffff,   0,        0         },
3562               {
3563                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
3564                         (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
3565                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3566                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3567                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
3568                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3569                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
3570                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
3571                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
3572               },
3573           },
3574 
3575           /*
3576            * SUNIX 40XX series of serial/parallel combo cards.
3577            * Tested with 4055A and 4065A.
3578            */
3579           {   "SUNIX 400X 1P",
3580               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3581                     PCI_VENDOR_SUNIX, 0x4000 },
3582               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3583               {
3584                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3585               },
3586           },
3587 
3588           {   "SUNIX 401X 2P",
3589               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3590                     PCI_VENDOR_SUNIX, 0x4010 },
3591               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3592               {
3593                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3594                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3595               },
3596           },
3597 
3598           {   "SUNIX 402X 1S",
3599               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3600                     PCI_VENDOR_SUNIX, 0x4020 },
3601               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3602               {
3603                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3604               },
3605           },
3606 
3607           {   "SUNIX 403X 2S",
3608               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3609                     PCI_VENDOR_SUNIX, 0x4030 },
3610               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3611               {
3612                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3613                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3614               },
3615           },
3616 
3617           {   "SUNIX 4036 2S",
3618               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3619                     PCI_VENDOR_SUNIX, 0x0002 },
3620               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3621               {
3622                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3623                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3624               },
3625           },
3626 
3627           {   "SUNIX 405X 4S",
3628               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3629                     PCI_VENDOR_SUNIX, 0x4050 },
3630               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3631               {
3632                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3633                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3634                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ},
3635                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ},
3636               },
3637           },
3638 
3639           {   "SUNIX 406X 8S",
3640               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3641                     PCI_VENDOR_SUNIX, 0x4060 },
3642               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3643               {
3644                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3645                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3646                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ},
3647                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ},
3648                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ},
3649                     { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
3650                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ},
3651                     { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ},
3652               },
3653           },
3654 
3655           {   "SUNIX 407X 2S/1P",
3656               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3657                     PCI_VENDOR_SUNIX, 0x4070 },
3658               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3659               {
3660                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3661                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3662                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3663               },
3664           },
3665 
3666           {   "SUNIX 408X 2S/2P",
3667               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3668                     PCI_VENDOR_SUNIX, 0x4080 },
3669               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3670               {
3671                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3672                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3673                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3674                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
3675               },
3676           },
3677 
3678           {   "SUNIX 409X 4S/2P",
3679               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3680                     PCI_VENDOR_SUNIX, 0x4090 },
3681               {     0xffff,   0xffff,   0xffff,   0xeff0 },
3682               {
3683                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3684                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3685                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ},
3686                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ},
3687                     { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
3688                     { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
3689               },
3690           },
3691 
3692           /*
3693            * Dolphin Peripherals 4036 (dual serial port) card.
3694            * (Dolpin 4025 has the same ID but only one port)
3695            */
3696           {   "Dolphin Peripherals 4036",
3697               {     PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
3698                     0x0,      0x0       },
3699               {     0xffff,   0xffff,   0x0,      0x0       },
3700               {
3701                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3702                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3703               },
3704           },
3705 
3706           /*
3707            * XXX no entry because I have no data:
3708            * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
3709            */
3710 
3711           /* SD-LAB PCI I/O Card 4S */
3712           {   "Syba Tech Ltd. PCI-4S",
3713               {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S,               0, 0      },
3714               {     0xffff,   0xffff,                                           0, 0      },
3715               {
3716                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3e8, COM_FREQ },
3717                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2e8, COM_FREQ },
3718                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3f8, COM_FREQ },
3719                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2f8, COM_FREQ },
3720               },
3721           },
3722 
3723           /* SD-LAB PCI I/O Card 4S2P */
3724           {   "Syba Tech Ltd. PCI-4S2P-550-ECP",
3725               {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P,             0, 0      },
3726               {     0xffff,   0xffff,                                           0, 0      },
3727               {
3728                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2e8, COM_FREQ },
3729                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2f8, COM_FREQ },
3730                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x000, 0x00 },
3731                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3e8, COM_FREQ },
3732                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3f8, COM_FREQ },
3733                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x000, 0x00 },
3734               },
3735           },
3736 
3737           /* SystemBase SB16C1050 UARTs */
3738           {   "SystemBase SB16C1050",
3739               {     PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1050, 0, 0 },
3740               {     0xffff, 0xffff,                                                        0, 0 },
3741               {
3742                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
3743                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
3744               },
3745           },
3746 
3747           /* SystemBase SB16C1054 UARTs */
3748           {   "SystemBase SB16C1054",
3749               {     PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1054, 0, 0 },
3750               {     0xffff,   0xffff,                                                      0, 0 },
3751               {
3752                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3753                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
3754                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
3755                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
3756               },
3757           },
3758 
3759           /* SystemBase SB16C1058 UARTs */
3760           {   "SystemBase SB16C1058",
3761               {   PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1058, 0, 0 },
3762               {     0xffff,   0xffff,                                                      0, 0 },
3763               {
3764                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3765                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
3766                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
3767                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
3768                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ * 8 },
3769                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ * 8 },
3770                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ * 8 },
3771                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ * 8 },
3772               },
3773           },
3774 
3775           /*
3776            * VScom PCI 010L
3777            * one lpt
3778            * untested
3779            */
3780           {   "VScom PCI-010L",
3781               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI010L,    0, 0 },
3782               {     0xffff, 0xffff,                                             0, 0 },
3783               {
3784                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3785               },
3786           },
3787 
3788           /*
3789            * VScom PCI 100L
3790            * one com
3791            * The one I have defaults to a frequency of 14.7456 MHz which is
3792            * jumper J1 set to 2-3.
3793            */
3794           {   "VScom PCI-100L",
3795               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI100L,          0, 0 },
3796               {     0xffff, 0xffff,                                                       0, 0 },
3797               {
3798                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3799               },
3800           },
3801 
3802           /*
3803            * VScom PCI 110L
3804            * one com, one lpt
3805            * untested
3806            */
3807           {   "VScom PCI-110L",
3808               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI110L,          0, 0 },
3809               {     0xffff, 0xffff,                                                       0, 0 },
3810               {
3811                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3812                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3813               },
3814           },
3815 
3816           /*
3817            * VScom PCI-200L has 2 x 16550 UARTS.
3818            * The board has a jumper which allows you to select a clock speed
3819            * of either 14.7456MHz or 1.8432MHz. By default it runs at
3820            * the fast speed.
3821            */
3822           {   "VScom PCI-200L with 2 x 16550 UARTS",
3823               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200L,          0, 0 },
3824               {     0xffff, 0xffff,                                                       0, 0 },
3825               {
3826                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3827                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3828               },
3829           },
3830 
3831           /*
3832            * VScom PCI-210L
3833            * Has a jumper for frequency selection, defaults to 8x as used here
3834            * two com, one lpt
3835            */
3836           {   "VScom PCI-210L",
3837               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI210L,          0, 0 },
3838               {     0xffff, 0xffff,                                             0, 0 },
3839               {
3840                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3841                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3842                     { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
3843               },
3844           },
3845 
3846           /* VScom PCI-200Li */
3847           {   "VScom PCI-200Li",
3848               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200LI,         0, 0 },
3849               {     0xffff, 0xffff,                                                       0, 0 },
3850               {
3851                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
3852                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
3853               },
3854           },
3855 
3856           /* PCI-400L: VendorID is reported to be 0x10d2 instead of 0x14d2. */
3857           {   "VScom PCI-400L",
3858               {     PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L,          0, 0 },
3859               {     0xffff, 0xffff,                                             0, 0 },
3860               {
3861                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3862                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3863                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3864                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
3865               },
3866           },
3867 
3868           {   "VScom PCI-800L",
3869               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800L,          0, 0 },
3870               {     0xffff,   0xffff,   0,        0         },
3871               {
3872                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3873                     { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
3874                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
3875                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
3876                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
3877                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
3878                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x20, COM_FREQ * 8 },
3879                     { PUC_PORT_TYPE_COM, PCI_BAR4, 0x28, COM_FREQ * 8 },
3880               },
3881           },
3882 
3883           {   "VScom PCI-011H",
3884               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI011H,          0, 0 },
3885               {     0xffff, 0xffff,                                             0, 0 },
3886               {
3887                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3888               },
3889           },
3890 
3891           /*
3892            * VScom PCI x10H, 1 lpt.
3893            * is the lpt part of VScom 110H, 210H, 410H
3894            */
3895           {   "VScom PCI-x10H",
3896               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCIx10H,          0, 0 },
3897               {     0xffff, 0xffff,                                             0, 0 },
3898               {
3899                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3900               },
3901           },
3902 
3903           /*
3904            * VScom PCI 100H, little sister of 800H, 1 com.
3905            * also com part of VScom 110H
3906            * The one I have defaults to a frequency of 14.7456 MHz which is
3907            * jumper J1 set to 2-3.
3908            */
3909           {   "VScom PCI-100H",
3910               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI100H,          0, 0 },
3911               {     0xffff, 0xffff,                                             0, 0 },
3912               {
3913                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3914               },
3915           },
3916 
3917           /*
3918            * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
3919            * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
3920            * device ID 3 and PCI device 1 device ID 4.
3921            */
3922           {   "VScom PCI-800H",
3923               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800H,          0, 0 },
3924               {     0xffff,   0xffff,   0,        0         },
3925               {
3926                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3927                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
3928                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
3929                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
3930               },
3931           },
3932           {   "VScom PCI-800H",
3933               {     PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800H_1,        0, 0 },
3934               {     0xffff,   0xffff,   0,        0         },
3935               {
3936                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3937                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
3938                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
3939                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
3940               },
3941           },
3942         {   "VScom PCI-200H",
3943               {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200H, 0, 0 },
3944             {   0xffff, 0xffff, 0,      0       },
3945             {
3946                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3947                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
3948             },
3949         },
3950 
3951           {   "VScom PCI-010HV2",
3952               {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI010HV2,          0, 0 },
3953               {   0xffff, 0xffff, 0,      0       },
3954               {
3955                     { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
3956               },
3957           },
3958           {   "VScom PCI-200HV2",
3959               {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200HV2,          0, 0 },
3960               {   0xffff, 0xffff, 0,      0       },
3961               {
3962                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
3963                     { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
3964               },
3965           },
3966 
3967           /* US Robotics (3Com) PCI Modems */
3968           {   "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
3969               {     PCI_VENDOR_USR,     PCI_PRODUCT_USR_3CP5609, 0, 0 },
3970               {     0xffff,   0xffff,   0,        0         },
3971               {
3972                     { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
3973               },
3974           },
3975 
3976           { .name = NULL },
3977 };
3978