xref: /dragonfly/sys/dev/misc/puc/pucdata.c (revision ef271a16dc50bf980e1322137c3214fec297ad0e)
1 /*        $NetBSD: pucdata.c,v 1.25 2001/12/16 22:23:01 thorpej 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  * $FreeBSD: src/sys/dev/puc/pucdata.c,v 1.2.2.12 2003/05/14 09:43:22 wilko Exp $
33  * $DragonFly: src/sys/dev/misc/puc/pucdata.c,v 1.3 2003/08/07 21:16:58 dillon Exp $
34  */
35 
36 /*
37  * PCI "universal" communications card driver configuration data (used to
38  * match/attach the cards).
39  */
40 
41 #include <sys/param.h>
42 #include <sys/bus.h>
43 
44 #include <bus/pci/pcireg.h>
45 #include <bus/pci/pcivar.h>
46 #include <dev/serial/sio/sioreg.h>
47 #include "pucvar.h"
48 
49 #define COM_FREQ    DEFAULT_RCLK
50 
51 const struct puc_device_description puc_devices[] = {
52 
53           {   "Comtrol RocketPort 550/4 RJ45",
54               {     0x11fe,   0x8014,   0,        0         },
55               {     0xffff,   0xffff,   0,        0         },
56               {
57                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
58                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
59                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
60                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
61               },
62           },
63 
64           {   "Comtrol RocketPort 550/Quad",
65               {     0x11fe,   0x8015,   0,        0         },
66               {     0xffff,   0xffff,   0,        0         },
67               {
68                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
69                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
70                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
71                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
72               },
73           },
74 
75           {   "Comtrol RocketPort 550/8 RJ11 part A",
76               {     0x11fe,   0x8010,   0,        0         },
77               {     0xffff,   0xffff,   0,        0         },
78               {
79                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
80                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
81                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
82                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
83               },
84           },
85           {   "Comtrol RocketPort 550/8 RJ11 part B",
86               {     0x11fe,   0x8011,   0,        0         },
87               {     0xffff,   0xffff,   0,        0         },
88               {
89                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
90                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
91                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
92                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
93               },
94           },
95 
96           {   "Comtrol RocketPort 550/8 Octa part A",
97               {     0x11fe,   0x8012,   0,        0         },
98               {     0xffff,   0xffff,   0,        0         },
99               {
100                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
101                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
102                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
103                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
104               },
105           },
106           {   "Comtrol RocketPort 550/8 Octa part B",
107               {     0x11fe,   0x8013,   0,        0         },
108               {     0xffff,   0xffff,   0,        0         },
109               {
110                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
111                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
112                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
113                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
114               },
115           },
116 
117           {   "Comtrol RocketPort 550/8 part A",
118               {     0x11fe,   0x8018,   0,        0         },
119               {     0xffff,   0xffff,   0,        0         },
120               {
121                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
122                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
123                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
124                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
125               },
126           },
127           {   "Comtrol RocketPort 550/8 part B",
128               {     0x11fe,   0x8019,   0,        0         },
129               {     0xffff,   0xffff,   0,        0         },
130               {
131                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
132                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
133                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
134                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
135               },
136           },
137 
138           {   "Comtrol RocketPort 550/16 part A",
139               {     0x11fe,   0x8016,   0,        0         },
140               {     0xffff,   0xffff,   0,        0         },
141               {
142                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
143                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
144                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
145                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
146               },
147           },
148           {   "Comtrol RocketPort 550/16 part B",
149               {     0x11fe,   0x8017,   0,        0         },
150               {     0xffff,   0xffff,   0,        0         },
151               {
152                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 },
153                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 },
154                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 },
155                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 },
156                     { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ * 4 },
157                     { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ * 4 },
158                     { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ * 4 },
159                     { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ * 4 },
160                     { PUC_PORT_TYPE_COM, 0x10, 0x40, COM_FREQ * 4 },
161                     { PUC_PORT_TYPE_COM, 0x10, 0x48, COM_FREQ * 4 },
162                     { PUC_PORT_TYPE_COM, 0x10, 0x50, COM_FREQ * 4 },
163                     { PUC_PORT_TYPE_COM, 0x10, 0x58, COM_FREQ * 4 },
164               },
165           },
166 
167           /*
168            * XXX no entry because I have no data:
169            * XXX Dolphin Peripherals 4006 (single parallel)
170            */
171 
172           /*
173            * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
174            * a seemingly-lame EEPROM setup that puts the Dolphin IDs
175            * into the subsystem fields, and claims that it's a
176            * network/misc (0x02/0x80) device.
177            */
178           {   "Dolphin Peripherals 4014",
179               {     0x10b5,   0x9050,   0xd84d,   0x6810    },
180               {     0xffff,   0xffff,   0xffff,   0xffff    },
181               {
182                     { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
183                     { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
184               },
185           },
186 
187           /*
188            * XXX Dolphin Peripherals 4025 (single serial)
189            * (clashes with Dolphin Peripherals  4036 (2s variant)
190            */
191 
192           /*
193            * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
194            * a seemingly-lame EEPROM setup that puts the Dolphin IDs
195            * into the subsystem fields, and claims that it's a
196            * network/misc (0x02/0x80) device.
197            */
198           {   "Dolphin Peripherals 4035",
199               {     0x10b5,   0x9050,   0xd84d,   0x6808    },
200               {     0xffff,   0xffff,   0xffff,   0xffff    },
201               {
202                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
203                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
204               },
205           },
206 
207           /*
208            * Dolphin Peripherals 4036 (dual serial port) card.
209            * (Dolpin 4025 has the same ID but only one port)
210            */
211           {   "Dolphin Peripherals 4036",
212               {     0x1409,   0x7168,   0x0,      0x0       },
213               {     0xffff,   0xffff,   0x0,      0x0       },
214               {
215                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
216                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
217               },
218           },
219 
220           /*
221            * XXX no entry because I have no data:
222            * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
223            */
224 
225 
226           /*
227            * SIIG Boards.
228            *
229            * SIIG provides documentation for their boards at:
230            * <URL:http://www.siig.com/driver.htm>
231            *
232            * Please excuse the weird ordering, it's the order they
233            * use in their documentation.
234            */
235 
236           /*
237            * SIIG "10x" family boards.
238            */
239 
240           /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
241           {   "SIIG Cyber Serial PCI 16C550 (10x family)",
242               {     0x131f,   0x1000,   0,        0         },
243               {     0xffff,   0xffff,   0,        0         },
244               {
245                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
246               },
247           },
248 
249           /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
250           {   "SIIG Cyber Serial PCI 16C650 (10x family)",
251               {     0x131f,   0x1001,   0,        0         },
252               {     0xffff,   0xffff,   0,        0         },
253               {
254                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
255               },
256           },
257 
258           /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
259           {   "SIIG Cyber Serial PCI 16C850 (10x family)",
260               {     0x131f,   0x1002,   0,        0         },
261               {     0xffff,   0xffff,   0,        0         },
262               {
263                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
264               },
265           },
266 
267           /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
268           {   "SIIG Cyber I/O PCI 16C550 (10x family)",
269               {     0x131f,   0x1010,   0,        0         },
270               {     0xffff,   0xffff,   0,        0         },
271               {
272                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
273                     { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
274               },
275           },
276 
277           /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
278           {   "SIIG Cyber I/O PCI 16C650 (10x family)",
279               {     0x131f,   0x1011,   0,        0         },
280               {     0xffff,   0xffff,   0,        0         },
281               {
282                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
283                     { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
284               },
285           },
286 
287           /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
288           {   "SIIG Cyber I/O PCI 16C850 (10x family)",
289               {     0x131f,   0x1012,   0,        0         },
290               {     0xffff,   0xffff,   0,        0         },
291               {
292                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
293                     { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
294               },
295           },
296 
297           /* SIIG Cyber Parallel PCI (10x family): 1P */
298           {   "SIIG Cyber Parallel PCI (10x family)",
299               {     0x131f,   0x1020,   0,        0         },
300               {     0xffff,   0xffff,   0,        0         },
301               {
302                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
303               },
304           },
305 
306           /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
307           {   "SIIG Cyber Parallel Dual PCI (10x family)",
308               {     0x131f,   0x1021,   0,        0         },
309               {     0xffff,   0xffff,   0,        0         },
310               {
311                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
312                     { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
313               },
314           },
315 
316           /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
317           {   "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
318               {     0x131f,   0x1030,   0,        0         },
319               {     0xffff,   0xffff,   0,        0         },
320               {
321                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
322                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
323               },
324           },
325 
326           /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
327           {   "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
328               {     0x131f,   0x1031,   0,        0         },
329               {     0xffff,   0xffff,   0,        0         },
330               {
331                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
332                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
333               },
334           },
335 
336           /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
337           {   "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
338               {     0x131f,   0x1032,   0,        0         },
339               {     0xffff,   0xffff,   0,        0         },
340               {
341                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
342                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
343               },
344           },
345 
346           /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
347           {   "SIIG Cyber 2S1P PCI 16C550 (10x family)",
348               {     0x131f,   0x1034,   0,        0         },        /* XXX really? */
349               {     0xffff,   0xffff,   0,        0         },
350               {
351                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
352                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
353                     { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
354               },
355           },
356 
357           /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
358           {   "SIIG Cyber 2S1P PCI 16C650 (10x family)",
359               {     0x131f,   0x1035,   0,        0         },        /* XXX really? */
360               {     0xffff,   0xffff,   0,        0         },
361               {
362                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
363                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
364                     { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
365               },
366           },
367 
368           /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
369           {   "SIIG Cyber 2S1P PCI 16C850 (10x family)",
370               {     0x131f,   0x1036,   0,        0         },        /* XXX really? */
371               {     0xffff,   0xffff,   0,        0         },
372               {
373                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
374                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
375                     { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
376               },
377           },
378 
379           /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
380           {   "SIIG Cyber 4S PCI 16C550 (10x family)",
381               {     0x131f,   0x1050,   0,        0         },
382               {     0xffff,   0xffff,   0,        0         },
383               {
384                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
385                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
386                     { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
387                     { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
388               },
389           },
390 
391           /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
392           {   "SIIG Cyber 4S PCI 16C650 (10x family)",
393               {     0x131f,   0x1051,   0,        0         },
394               {     0xffff,   0xffff,   0,        0         },
395               {
396                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
397                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
398                     { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
399                     { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
400               },
401           },
402 
403           /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
404           {   "SIIG Cyber 4S PCI 16C850 (10x family)",
405               {     0x131f,   0x1052,   0,        0         },
406               {     0xffff,   0xffff,   0,        0         },
407               {
408                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
409                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
410                     { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
411                     { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
412               },
413           },
414 
415           /*
416            * SIIG "20x" family boards.
417            */
418 
419           /* SIIG Cyber Parallel PCI (20x family): 1P */
420           {   "SIIG Cyber Parallel PCI (20x family)",
421               {     0x131f,   0x2020,   0,        0         },
422               {     0xffff,   0xffff,   0,        0         },
423               {
424                     { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
425               },
426           },
427 
428           /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
429           {   "SIIG Cyber Parallel Dual PCI (20x family)",
430               {     0x131f,   0x2021,   0,        0         },
431               {     0xffff,   0xffff,   0,        0         },
432               {
433                     { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
434                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
435               },
436           },
437 
438           /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
439           {   "SIIG Cyber 2P1S PCI 16C550 (20x family)",
440               {     0x131f,   0x2040,   0,        0         },
441               {     0xffff,   0xffff,   0,        0         },
442               {
443                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
444                     { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
445                     { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
446               },
447           },
448 
449           /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
450           {   "SIIG Cyber 2P1S PCI 16C650 (20x family)",
451               {     0x131f,   0x2041,   0,        0         },
452               {     0xffff,   0xffff,   0,        0         },
453               {
454                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
455                     { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
456                     { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
457               },
458           },
459 
460           /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
461           {   "SIIG Cyber 2P1S PCI 16C850 (20x family)",
462               {     0x131f,   0x2042,   0,        0         },
463               {     0xffff,   0xffff,   0,        0         },
464               {
465                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
466                     { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
467                     { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
468               },
469           },
470 
471           /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
472           {   "SIIG Cyber Serial PCI 16C550 (20x family)",
473               {     0x131f,   0x2000,   0,        0         },
474               {     0xffff,   0xffff,   0,        0         },
475               {
476                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
477               },
478           },
479 
480           /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
481           {   "SIIG Cyber Serial PCI 16C650 (20x family)",
482               {     0x131f,   0x2001,   0,        0         },
483               {     0xffff,   0xffff,   0,        0         },
484               {
485                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
486               },
487           },
488 
489           /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
490           {   "SIIG Cyber Serial PCI 16C850 (20x family)",
491               {     0x131f,   0x2002,   0,        0         },
492               {     0xffff,   0xffff,   0,        0         },
493               {
494                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
495               },
496           },
497 
498           /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
499           {   "SIIG Cyber I/O PCI 16C550 (20x family)",
500               {     0x131f,   0x2010,   0,        0         },
501               {     0xffff,   0xffff,   0,        0         },
502               {
503                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
504                     { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
505               },
506           },
507 
508           /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
509           {   "SIIG Cyber I/O PCI 16C650 (20x family)",
510               {     0x131f,   0x2011,   0,        0         },
511               {     0xffff,   0xffff,   0,        0         },
512               {
513                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
514                     { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
515               },
516           },
517 
518           /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
519           {   "SIIG Cyber I/O PCI 16C850 (20x family)",
520               {     0x131f,   0x2012,   0,        0         },
521               {     0xffff,   0xffff,   0,        0         },
522               {
523                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
524                     { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
525               },
526           },
527 
528           /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
529           {   "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
530               {     0x131f,   0x2030,   0,        0         },
531               {     0xffff,   0xffff,   0,        0         },
532               {
533                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
534                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
535               },
536           },
537 
538           /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
539           {   "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
540               {     0x131f,   0x2031,   0,        0         },
541               {     0xffff,   0xffff,   0,        0         },
542               {
543                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
544                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
545               },
546           },
547 
548           /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
549           {   "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
550               {     0x131f,   0x2032,   0,        0         },
551               {     0xffff,   0xffff,   0,        0         },
552               {
553                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
554                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
555               },
556           },
557 
558           /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
559           {   "SIIG Cyber 2S1P PCI 16C550 (20x family)",
560               {     0x131f,   0x2060,   0,        0         },
561               {     0xffff,   0xffff,   0,        0         },
562               {
563                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
564                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
565                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
566               },
567           },
568 
569           /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
570           {   "SIIG Cyber 2S1P PCI 16C650 (20x family)",
571               {     0x131f,   0x2061,   0,        0         },
572               {     0xffff,   0xffff,   0,        0         },
573               {
574                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
575                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
576                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
577               },
578           },
579 
580           /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
581           {   "SIIG Cyber 2S1P PCI 16C850 (20x family)",
582               {     0x131f,   0x2062,   0,        0         },
583               {     0xffff,   0xffff,   0,        0         },
584               {
585                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
586                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
587                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
588               },
589           },
590 
591           /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
592           {   "SIIG Cyber 4S PCI 16C550 (20x family)",
593               {     0x131f,   0x2050,   0,        0         },
594               {     0xffff,   0xffff,   0,        0         },
595               {
596                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
597                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
598                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
599                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
600               },
601           },
602 
603           /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
604           {   "SIIG Cyber 4S PCI 16C650 (20x family)",
605               {     0x131f,   0x2051,   0,        0         },
606               {     0xffff,   0xffff,   0,        0         },
607               {
608                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
609                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
610                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
611                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
612               },
613           },
614 
615           /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
616           {   "SIIG Cyber 4S PCI 16C850 (20x family)",
617               {     0x131f,   0x2052,   0,        0         },
618               {     0xffff,   0xffff,   0,        0         },
619               {
620                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
621                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
622                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
623                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
624               },
625           },
626 
627           /* VScom PCI-200L: 2S */
628           {   "VScom PCI-200L",
629               {     0x14d2, 0x8020,     0, 0      },
630               {     0xffff, 0xffff,     0, 0      },
631               {
632                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8},
633                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8},
634               },
635           },
636 
637           /* VScom PCI-400: 4S */
638           {   "VScom PCI-400",
639               {     0x10b5,   0x1077,   0x10b5,   0x1077    },
640               {     0xffff,   0xffff,   0xffff,   0xffff    },
641               {
642                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
643                     { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
644                     { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
645                     { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
646               },
647           },
648 
649           /* VScom PCI-800: 8S */
650           {   "VScom PCI-800",
651               {     0x10b5,   0x1076,   0x10b5,   0x1076    },
652               {     0xffff,   0xffff,   0xffff,   0xffff    },
653               {
654                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
655                     { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
656                     { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
657                     { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
658                     { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
659                     { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
660                     { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
661                     { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
662               },
663           },
664           /*
665            * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
666            * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
667            * device ID 3 and PCI device 1 device ID 4.
668            */
669           {   "Titan PCI-800H",
670               {     0x14d2,   0xa003,   0,        0         },
671               {     0xffff,   0xffff,   0,        0         },
672               {
673                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
674                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
675                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
676                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
677               },
678           },
679           {   "Titan PCI-800H",
680               {     0x14d2,   0xa004,   0,        0         },
681               {     0xffff,   0xffff,   0,        0         },
682               {
683                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
684                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
685                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
686                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
687               },
688           },
689         {   "Titan PCI-200H",
690             {   0x14d2, 0xa005, 0,      0       },
691             {   0xffff, 0xffff, 0,      0       },
692             {
693                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
694                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
695             },
696         },
697 
698           /* NEC PK-UG-X001 K56flex PCI Modem card.
699              NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
700           {   "NEC PK-UG-X001 K56flex PCI Modem",
701               {     0x1033,   0x0074,   0x1033,   0x8014    },
702               {     0xffff,   0xffff,   0xffff,   0xffff    },
703               {
704                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
705               },
706           },
707 
708           /* NEC PK-UG-X008 */
709           {   "NEC PK-UG-X008",
710               {     0x1033,   0x007d,   0x1033,   0x8012    },
711               {     0xffff,   0xffff,   0xffff,   0xffff    },
712               {
713                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
714               },
715           },
716 
717           /* Lava Computers 2SP-PCI */
718           {   "Lava Computers 2SP-PCI parallel port",
719               {     0x1407,   0x8000,   0,        0         },
720               {     0xffff,   0xffff,   0,        0         },
721               {
722                     { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
723               },
724           },
725 
726           /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
727           {   "Lava Computers dual serial port",
728               {     0x1407,   0x0100,   0,        0         },
729               {     0xffff,   0xfffc,   0,        0         },
730               {
731                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
732                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
733               },
734           },
735 
736           /* Lava Computers newer Quattro-PCI serial ports */
737           {   "Lava Computers Quattro-PCI serial port",
738               {     0x1407,   0x0120,   0,        0         },
739               {     0xffff,   0xfffc,   0,        0         },
740               {
741                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
742                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
743               },
744           },
745 
746           /* Lava Computers DSerial PCI serial ports */
747           {   "Lava Computers serial port",
748               {     0x1407,   0x0110,   0,        0         },
749               {     0xffff,   0xfffc,   0,        0         },
750               {
751                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
752               },
753           },
754 
755           /* Lava Computers Octopus-550 serial ports */
756           {   "Lava Computers Octopus-550 8-port serial",
757               {     0x1407,   0x0180,   0,        0         },
758               {     0xffff,   0xfffc,   0,        0         },
759               {
760                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
761                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
762                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
763                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
764               },
765           },
766 
767           /* US Robotics (3Com) PCI Modems */
768           {   "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
769               {     0x12b9,   0x1008,   0,        0         },
770               {     0xffff,   0xffff,   0,        0         },
771               {
772                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
773               },
774           },
775 
776           /* Actiontec  56K PCI Master */
777           {   "Actiontec 56K PCI Master",
778               {     0x11c1,   0x0480,   0x0,      0x0       },
779               {     0xffff,   0xffff,   0x0,      0x0       },
780               {
781                     { PUC_PORT_TYPE_COM,          0x14,     0x00, COM_FREQ },
782               },
783           },
784 
785           /*
786            * Boards with an Oxford Semiconductor chip.
787            *
788            * Oxford Semiconductor provides documentation for their chip at:
789            * <URL:http://www.oxsemi.com/products/uarts/index.html>
790            *
791            * As sold by Kouwell <URL:http://www.kouwell.com/>.
792            * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
793            */
794 
795           /* Oxford Semiconductor OX16PCI954 PCI UARTs */
796           {   "Oxford Semiconductor OX16PCI954 UARTs",
797               {     0x1415,   0x9501,   0,        0         },
798               {     0xffff,   0xffff,   0,        0         },
799               {
800                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
801                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
802                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
803                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
804               },
805           },
806 
807           /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
808           {   "Oxford Semiconductor OX16PCI954 Parallel port",
809               {     0x1415,   0x9513,   0,        0         },
810               {     0xffff,   0xffff,   0,        0         },
811               {
812                     { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
813               },
814           },
815 
816           /* NetMos 2S1P PCI 16C650 : 2S, 1P */
817           {   "NetMos NM9835 Dual UART and 1284 Printer port",
818               {     0x9710,   0x9835,   0,        0         },
819               {     0xffff,   0xffff,   0,        0         },
820               {
821                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
822                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
823                     { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
824               },
825           },
826 
827           /* NetMos 4S0P PCI: 4S, 0P */
828           {   "NetMos NM9845 Quad UART",
829               {     0x9710,   0x9845,   0,        0         },
830               {     0xffff,   0xffff,   0,        0         },
831               {
832                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
833                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
834                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
835                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
836               },
837           },
838 
839           /*
840            * This is the Middle Digital, Inc. PCI-Weasel, which
841            * uses a PCI interface implemented in FPGA.
842            */
843           {   "Middle Digital, Inc. Weasel serial port",
844               {     0xdeaf,   0x9051,   0,        0         },
845               {     0xffff,   0xffff,   0,        0         },
846               {
847                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
848               },
849           },
850 
851           /* SD-LAB PCI I/O Card 4S2P */
852           {   "Syba Tech Ltd. PCI-4S2P-550-ECP",
853               {     0x1592, 0x0781, 0,  0         },
854               {     0xffff, 0xffff, 0,  0         },
855               {
856                     { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
857                     { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
858                     { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
859                     { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
860                     { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
861                     { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
862               },
863           },
864 
865           /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
866           {   "Moxa Technologies, Industio CP-114",
867               {     0x1393,   0x1141,   0,        0         },
868               {     0xffff,   0xffff,   0,        0,        },
869               {
870                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
871                     { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
872                     { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
873                     { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
874               },
875           },
876 
877           /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
878           {   "Moxa Technologies, C168H/PCI",
879               {     0x1393,   0x1680,   0,        0         },
880               {     0xffff,   0xffff,   0,        0,        },
881               {
882                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
883                     { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
884                     { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
885                     { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
886                     { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
887                     { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
888                     { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
889                     { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
890               },
891           },
892 
893           {   "Avlab Technology, PCI IO 2S",
894               {     0x14db,   0x2130,   0,        0         },
895               {     0xffff,   0xffff,   0,        0         },
896               {
897                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
898                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
899               },
900           },
901 
902           /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
903           {   "Avlab Low Profile PCI 4 Serial",
904               {     0x14db,   0x2150,   0,        0         },
905               {     0xffff,   0xffff,   0,        0         },
906               {
907                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
908                     { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
909                     { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
910                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
911               },
912           },
913 
914         /* Decision Computer Inc, serial ports */
915         {   "Decision Computer Inc, PCCOM 4-port serial",
916             {   0x6666, 0x0001, 0,      0       },
917             {   0xffff, 0xffff, 0,      0       },
918             {
919                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
920                 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
921                 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
922                 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
923             },
924         },
925 
926           {   "PCCOM dual port RS232/422/485",
927               {     0x6666,   0x0004,   0,        0         },
928               {     0xffff,   0xffff,   0,        0         },
929               {
930                     { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
931                     { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
932               },
933           },
934 
935           {   "IC Book Labs Dreadnought x16 Lite",
936               {     0xb00c, 0x091c, 0,  0         },
937               {   0xffff, 0xffff, 0,      0       },
938               {
939                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
940                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
941                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
942                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
943                     { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ },
944                     { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ },
945                     { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ },
946                     { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ },
947                     { PUC_PORT_TYPE_COM, 0x10, 0x40, COM_FREQ },
948                     { PUC_PORT_TYPE_COM, 0x10, 0x48, COM_FREQ },
949                     { PUC_PORT_TYPE_COM, 0x10, 0x50, COM_FREQ },
950                     { PUC_PORT_TYPE_COM, 0x10, 0x58, COM_FREQ },
951                     { PUC_PORT_TYPE_COM, 0x10, 0x60, COM_FREQ },
952                     { PUC_PORT_TYPE_COM, 0x10, 0x68, COM_FREQ },
953                     { PUC_PORT_TYPE_COM, 0x10, 0x70, COM_FREQ },
954                     { PUC_PORT_TYPE_COM, 0x10, 0x78, COM_FREQ },
955               },
956               PUC_ILR_TYPE_DIGI, { 0x07, 0x47 },
957           },
958 
959           {   "IC Book Labs Dreadnought x16 Pro",
960               {   0xb00c, 0x081c, 0,      0       },
961               {   0xffff, 0xffff, 0,      0       },
962               {
963                     { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8, 0x200000 },
964                     { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8, 0x200000 },
965                     { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8, 0x200000 },
966                     { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8, 0x200000 },
967                     { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ * 8, 0x200000 },
968                     { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ * 8, 0x200000 },
969                     { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ * 8, 0x200000 },
970                     { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ * 8, 0x200000 },
971                     { PUC_PORT_TYPE_COM, 0x10, 0x40, COM_FREQ * 8, 0x200000 },
972                     { PUC_PORT_TYPE_COM, 0x10, 0x48, COM_FREQ * 8, 0x200000 },
973                     { PUC_PORT_TYPE_COM, 0x10, 0x50, COM_FREQ * 8, 0x200000 },
974                     { PUC_PORT_TYPE_COM, 0x10, 0x58, COM_FREQ * 8, 0x200000 },
975                     { PUC_PORT_TYPE_COM, 0x10, 0x60, COM_FREQ * 8, 0x200000 },
976                     { PUC_PORT_TYPE_COM, 0x10, 0x68, COM_FREQ * 8, 0x200000 },
977                     { PUC_PORT_TYPE_COM, 0x10, 0x70, COM_FREQ * 8, 0x200000 },
978                     { PUC_PORT_TYPE_COM, 0x10, 0x78, COM_FREQ * 8, 0x200000 },
979               },
980               PUC_ILR_TYPE_DIGI, { 0x07, 0x47 },
981           },
982 
983           { 0 }
984 };
985