build: Unbreak LINT64 building
[dragonfly.git] / sys / dev / misc / puc / pucdata.c
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 };