Home | History | Annotate | Line # | Download | only in pci
pucdata.c revision 1.51
      1 /*	$NetBSD: pucdata.c,v 1.51 2007/01/28 21:44:29 chs 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.51 2007/01/28 21:44:29 chs Exp $");
     40 
     41 #include <sys/param.h>
     42 #include <sys/systm.h>
     43 #include <sys/device.h>
     44 
     45 #include <dev/pci/pcireg.h>
     46 #include <dev/pci/pcivar.h>
     47 #include <dev/pci/pucvar.h>
     48 #include <dev/ic/comreg.h>
     49 
     50 const struct puc_device_description puc_devices[] = {
     51 	/*
     52 	 * SUNIX 40XX series of serial/parallel combo cards.
     53 	 * Tested with 4055A and 4065A.
     54 	 */
     55 	{   "SUNIX 400X 1P",
     56 	    {	0x1409,	0x7168,	0x1409,	0x4000 },
     57 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
     58 	    {
     59 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
     60 	    },
     61 	},
     62 
     63 	{   "SUNIX 401X 2P",
     64 	    {	0x1409,	0x7168,	0x1409,	0x4010 },
     65 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
     66 	    {
     67 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
     68 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
     69 	    },
     70 	},
     71 
     72 	{   "SUNIX 402X 1S",
     73 	    {	0x1409,	0x7168,	0x1409,	0x4020 },
     74 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
     75 	    {
     76 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
     77 	    },
     78 	},
     79 
     80 	{   "SUNIX 403X 2S",
     81 	    {	0x1409,	0x7168,	0x1409,	0x4030 },
     82 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
     83 	    {
     84 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
     85 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
     86 	    },
     87 	},
     88 
     89 	{   "SUNIX 405X 4S",
     90 	    {	0x1409,	0x7168,	0x1409,	0x4050 },
     91 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
     92 	    {
     93 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
     94 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
     95 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
     96 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
     97 	    },
     98 	},
     99 
    100 	{   "SUNIX 406X 8S",
    101 	    {	0x1409,	0x7168,	0x1409,	0x4060 },
    102 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
    103 	    {
    104 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
    105 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
    106 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
    107 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
    108 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ},
    109 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
    110 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ},
    111 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ},
    112 	    },
    113 	},
    114 
    115 	{   "SUNIX 407X 2S/1P",
    116 	    {	0x1409,	0x7168,	0x1409,	0x4070 },
    117 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
    118 	    {
    119 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
    120 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
    121 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    122 	    },
    123 	},
    124 
    125 	{   "SUNIX 408X 2S/2P",
    126 	    {	0x1409,	0x7168,	0x1409,	0x4080 },
    127 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
    128 	    {
    129 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
    130 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
    131 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    132 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    133 	    },
    134 	},
    135 
    136 	{   "SUNIX 409X 4S/2P",
    137 	    {	0x1409,	0x7168,	0x1409,	0x4090 },
    138 	    {	0xffff,	0xffff,	0xffff,	0xeff0 },
    139 	    {
    140 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
    141 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
    142 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
    143 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
    144 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    145 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    146 	    },
    147 	},
    148 
    149 	/*
    150 	 * XXX no entry because I have no data:
    151 	 * XXX Dolphin Peripherals 4006 (single parallel)
    152 	 */
    153 
    154 	/*
    155 	 * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
    156 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
    157 	 * into the subsystem fields, and claims that it's a
    158 	 * network/misc (0x02/0x80) device.
    159 	 */
    160 	{   "Dolphin Peripherals 4014",
    161 	    {	0x10b5,	0x9050,	0xd84d,	0x6810	},
    162 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    163 	    {
    164 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    165 		{ PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
    166 	    },
    167 	},
    168 
    169 	/*
    170 	 * XXX Dolphin Peripherals 4025 (single serial)
    171 	 * (clashes with Dolphin Peripherals  4036 (2s variant)
    172 	 */
    173 
    174 	/*
    175 	 * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
    176 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
    177 	 * into the subsystem fields, and claims that it's a
    178 	 * network/misc (0x02/0x80) device.
    179 	 */
    180 	{   "Dolphin Peripherals 4035",
    181 	    {	0x10b5,	0x9050,	0xd84d,	0x6808	},
    182 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    183 	    {
    184 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    185 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    186 	    },
    187 	},
    188 
    189 	/*
    190 	 * Dolphin Peripherals 4036 (dual serial port) card.
    191 	 * (Dolpin 4025 has the same ID but only one port)
    192 	 */
    193 	{   "Dolphin Peripherals 4036",
    194 	    {	0x1409,	0x7168,	0x0,	0x0	},
    195 	    {	0xffff,	0xffff,	0x0,	0x0	},
    196 	    {
    197 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
    198 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
    199 	    },
    200 	},
    201 
    202 	/*
    203 	 * XXX no entry because I have no data:
    204 	 * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
    205 	 */
    206 
    207 
    208 	/*
    209 	 * SIIG Boards.
    210 	 *
    211 	 * SIIG provides documentation for their boards at:
    212 	 * <URL:http://www.siig.com/driver.htm>
    213 	 *
    214 	 * Please excuse the weird ordering, it's the order they
    215 	 * use in their documentation.
    216 	 */
    217 
    218 	/*
    219 	 * SIIG "10x" family boards.
    220 	 */
    221 
    222 	/* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
    223 	{   "SIIG Cyber Serial PCI 16C550 (10x family)",
    224 	    {	0x131f,	0x1000,	0,	0	},
    225 	    {	0xffff,	0xffff,	0,	0	},
    226 	    {
    227 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    228 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
    229 	    },
    230 	},
    231 
    232 	/* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
    233 	{   "SIIG Cyber Serial PCI 16C650 (10x family)",
    234 	    {	0x131f,	0x1001,	0,	0	},
    235 	    {	0xffff,	0xffff,	0,	0	},
    236 	    {
    237 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    238 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
    239 	    },
    240 	},
    241 
    242 	/* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
    243 	{   "SIIG Cyber Serial PCI 16C850 (10x family)",
    244 	    {	0x131f,	0x1002,	0,	0	},
    245 	    {	0xffff,	0xffff,	0,	0	},
    246 	    {
    247 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    248 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
    249 	    },
    250 	},
    251 
    252 	/* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
    253 	{   "SIIG Cyber I/O PCI 16C550 (10x family)",
    254 	    {	0x131f,	0x1010,	0,	0	},
    255 	    {	0xffff,	0xffff,	0,	0	},
    256 	    {
    257 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    258 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
    259 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    260 	    },
    261 	},
    262 
    263 	/* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
    264 	{   "SIIG Cyber I/O PCI 16C650 (10x family)",
    265 	    {	0x131f,	0x1011,	0,	0	},
    266 	    {	0xffff,	0xffff,	0,	0	},
    267 	    {
    268 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    269 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
    270 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    271 	    },
    272 	},
    273 
    274 	/* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
    275 	{   "SIIG Cyber I/O PCI 16C850 (10x family)",
    276 	    {	0x131f,	0x1012,	0,	0	},
    277 	    {	0xffff,	0xffff,	0,	0	},
    278 	    {
    279 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    280 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
    281 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    282 	    },
    283 	},
    284 
    285 	/* SIIG Cyber Parallel PCI (10x family): 1P */
    286 	{   "SIIG Cyber Parallel PCI (10x family)",
    287 	    {	0x131f,	0x1020,	0,	0	},
    288 	    {	0xffff,	0xffff,	0,	0	},
    289 	    {
    290 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    291 	    },
    292 	},
    293 
    294 	/* SIIG Cyber Parallel Dual PCI (10x family): 2P */
    295 	{   "SIIG Cyber Parallel Dual PCI (10x family)",
    296 	    {	0x131f,	0x1021,	0,	0	},
    297 	    {	0xffff,	0xffff,	0,	0	},
    298 	    {
    299 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    300 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    301 	    },
    302 	},
    303 
    304 	/* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
    305 	{   "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
    306 	    {	0x131f,	0x1030,	0,	0	},
    307 	    {	0xffff,	0xffff,	0,	0	},
    308 	    {
    309 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    310 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
    311 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00,
    312 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
    313 	    },
    314 	},
    315 
    316 	/* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
    317 	{   "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
    318 	    {	0x131f,	0x1031,	0,	0	},
    319 	    {	0xffff,	0xffff,	0,	0	},
    320 	    {
    321 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    322 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
    323 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00,
    324 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
    325 	    },
    326 	},
    327 
    328 	/* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
    329 	{   "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
    330 	    {	0x131f,	0x1032,	0,	0	},
    331 	    {	0xffff,	0xffff,	0,	0	},
    332 	    {
    333 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    334 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
    335 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00,
    336 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
    337 	    },
    338 	},
    339 
    340 	/* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
    341 	{   "SIIG Cyber 2S1P PCI 16C550 (10x family)",
    342 	    {	0x131f,	0x1034,	0,	0	},	/* XXX really? */
    343 	    {	0xffff,	0xffff,	0,	0	},
    344 	    {
    345 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    346 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
    347 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00,
    348 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
    349 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    350 	    },
    351 	},
    352 
    353 	/* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
    354 	{   "SIIG Cyber 2S1P PCI 16C650 (10x family)",
    355 	    {	0x131f,	0x1035,	0,	0	},	/* XXX really? */
    356 	    {	0xffff,	0xffff,	0,	0	},
    357 	    {
    358 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    359 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
    360 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00,
    361 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
    362 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    363 	    },
    364 	},
    365 
    366 	/* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
    367 	{   "SIIG Cyber 2S1P PCI 16C850 (10x family)",
    368 	    {	0x131f,	0x1036,	0,	0	},	/* XXX really? */
    369 	    {	0xffff,	0xffff,	0,	0	},
    370 	    {
    371 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    372 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
    373 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00,
    374 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
    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,
    385 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
    386 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    387 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    388 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
    389 	    },
    390 	},
    391 
    392 	/* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
    393 	{   "SIIG Cyber 4S PCI 16C650 (10x family)",
    394 	    {	0x131f,	0x1051,	0,	0	},
    395 	    {	0xffff,	0xffff,	0,	0	},
    396 	    {
    397 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    398 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
    399 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    400 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    401 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
    402 	    },
    403 	},
    404 
    405 	/* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
    406 	{   "SIIG Cyber 4S PCI 16C850 (10x family)",
    407 	    {	0x131f,	0x1052,	0,	0	},
    408 	    {	0xffff,	0xffff,	0,	0	},
    409 	    {
    410 		{ PUC_PORT_TYPE_COM, 0x18, 0x00,
    411 		    (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
    412 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    413 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    414 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 },
    415 	    },
    416 	},
    417 
    418 	/*
    419 	 * SIIG "20x" family boards.
    420 	 */
    421 
    422 	/* SIIG Cyber Parallel PCI (20x family): 1P */
    423 	{   "SIIG Cyber Parallel PCI (20x family)",
    424 	    {	0x131f,	0x2020,	0,	0	},
    425 	    {	0xffff,	0xffff,	0,	0	},
    426 	    {
    427 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    428 	    },
    429 	},
    430 
    431 	/* SIIG Cyber Parallel Dual PCI (20x family): 2P */
    432 	{   "SIIG Cyber Parallel Dual PCI (20x family)",
    433 	    {	0x131f,	0x2021,	0,	0	},
    434 	    {	0xffff,	0xffff,	0,	0	},
    435 	    {
    436 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    437 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    438 	    },
    439 	},
    440 
    441 	/* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
    442 	{   "SIIG Cyber 2P1S PCI 16C550 (20x family)",
    443 	    {	0x131f,	0x2040,	0,	0	},
    444 	    {	0xffff,	0xffff,	0,	0	},
    445 	    {
    446 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    447 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    448 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    449 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    450 	    },
    451 	},
    452 
    453 	/* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
    454 	{   "SIIG Cyber 2P1S PCI 16C650 (20x family)",
    455 	    {	0x131f,	0x2041,	0,	0	},
    456 	    {	0xffff,	0xffff,	0,	0	},
    457 	    {
    458 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    459 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    460 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    461 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    462 	    },
    463 	},
    464 
    465 	/* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
    466 	{   "SIIG Cyber 2P1S PCI 16C850 (20x family)",
    467 	    {	0x131f,	0x2042,	0,	0	},
    468 	    {	0xffff,	0xffff,	0,	0	},
    469 	    {
    470 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    471 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    472 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    473 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    474 	    },
    475 	},
    476 
    477 	/* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
    478 	{   "SIIG Cyber Serial PCI 16C550 (20x family)",
    479 	    {	0x131f,	0x2000,	0,	0	},
    480 	    {	0xffff,	0xffff,	0,	0	},
    481 	    {
    482 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    483 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    484 	    },
    485 	},
    486 
    487 	/* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
    488 	{   "SIIG Cyber Serial PCI 16C650 (20x family)",
    489 	    {	0x131f,	0x2001,	0,	0	},
    490 	    {	0xffff,	0xffff,	0,	0	},
    491 	    {
    492 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    493 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    494 	    },
    495 	},
    496 
    497 	/* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
    498 	{   "SIIG Cyber Serial PCI 16C850 (20x family)",
    499 	    {	0x131f,	0x2002,	0,	0	},
    500 	    {	0xffff,	0xffff,	0,	0	},
    501 	    {
    502 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    503 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    504 	    },
    505 	},
    506 
    507 	/* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
    508 	{   "SIIG Cyber I/O PCI 16C550 (20x family)",
    509 	    {	0x131f,	0x2010,	0,	0	},
    510 	    {	0xffff,	0xffff,	0,	0	},
    511 	    {
    512 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    513 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    514 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    515 	    },
    516 	},
    517 
    518 	/* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
    519 	{   "SIIG Cyber I/O PCI 16C650 (20x family)",
    520 	    {	0x131f,	0x2011,	0,	0	},
    521 	    {	0xffff,	0xffff,	0,	0	},
    522 	    {
    523 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    524 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    525 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    526 	    },
    527 	},
    528 
    529 	/* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
    530 	{   "SIIG Cyber I/O PCI 16C850 (20x family)",
    531 	    {	0x131f,	0x2012,	0,	0	},
    532 	    {	0xffff,	0xffff,	0,	0	},
    533 	    {
    534 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    535 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    536 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    537 	    },
    538 	},
    539 
    540 	/* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
    541 	{   "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
    542 	    {	0x131f,	0x2030,	0,	0	},
    543 	    {	0xffff,	0xffff,	0,	0	},
    544 	    {
    545 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    546 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    547 		{ PUC_PORT_TYPE_COM, 0x14, 0x00,
    548 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
    549 	    },
    550 	},
    551 
    552 	/* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
    553 	{   "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
    554 	    {	0x131f,	0x2031,	0,	0	},
    555 	    {	0xffff,	0xffff,	0,	0	},
    556 	    {
    557 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    558 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    559 		{ PUC_PORT_TYPE_COM, 0x14, 0x00,
    560 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
    561 	    },
    562 	},
    563 
    564 	/* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
    565 	{   "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
    566 	    {	0x131f,	0x2032,	0,	0	},
    567 	    {	0xffff,	0xffff,	0,	0	},
    568 	    {
    569 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    570 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    571 		{ PUC_PORT_TYPE_COM, 0x14, 0x00,
    572 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
    573 	    },
    574 	},
    575 
    576 	/* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
    577 	{   "SIIG Cyber 2S1P PCI 16C550 (20x family)",
    578 	    {	0x131f,	0x2060,	0,	0	},
    579 	    {	0xffff,	0xffff,	0,	0	},
    580 	    {
    581 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    582 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    583 		{ PUC_PORT_TYPE_COM, 0x14, 0x00,
    584 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
    585 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    586 	    },
    587 	},
    588 
    589 	/* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
    590 	{   "SIIG Cyber 2S1P PCI 16C650 (20x family)",
    591 	    {	0x131f,	0x2061,	0,	0	},
    592 	    {	0xffff,	0xffff,	0,	0	},
    593 	    {
    594 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    595 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    596 		{ PUC_PORT_TYPE_COM, 0x14, 0x00,
    597 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
    598 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    599 	    },
    600 	},
    601 
    602 	/* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
    603 	{   "SIIG Cyber 2S1P PCI 16C850 (20x family)",
    604 	    {	0x131f,	0x2062,	0,	0	},
    605 	    {	0xffff,	0xffff,	0,	0	},
    606 	    {
    607 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    608 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    609 		{ PUC_PORT_TYPE_COM, 0x14, 0x00,
    610 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
    611 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    612 	    },
    613 	},
    614 
    615 	/* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
    616 	{   "SIIG Cyber 4S PCI 16C550 (20x family)",
    617 	    {	0x131f,	0x2050,	0,	0	},
    618 	    {	0xffff,	0xffff,	0,	0	},
    619 	    {
    620 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    621 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    622 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    623 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    624 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    625 	    },
    626 	},
    627 
    628 	/* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
    629 	{   "SIIG Cyber 4S PCI 16C650 (20x family)",
    630 	    {	0x131f,	0x2051,	0,	0	},
    631 	    {	0xffff,	0xffff,	0,	0	},
    632 	    {
    633 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    634 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    635 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    636 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    637 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    638 	    },
    639 	},
    640 
    641 	/* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
    642 	{   "SIIG Cyber 4S PCI 16C850 (20x family)",
    643 	    {	0x131f,	0x2052,	0,	0	},
    644 	    {	0xffff,	0xffff,	0,	0	},
    645 	    {
    646 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    647 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    648 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    649 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    650 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    651 	    },
    652 	},
    653 
    654 	/* SIIG PS8000 PCI 8S 16C550 (20x family): 8S - 16 Byte FIFOs */
    655 	{   "SIIG PS8000 PCI 8S 16C550 (20x family)",
    656 	    {	0x131f,	0x2080,	0,	0	},
    657 	    {	0xffff,	0xffff,	0,	0	},
    658 	    {
    659 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    660 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    661 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    662 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    663 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    664 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    665 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
    666 		{ PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
    667 		{ PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
    668 	    },
    669 	},
    670 
    671 	/* SIIG PS8000 PCI 8S 16C650 (20x family): 8S - 32 Byte FIFOs */
    672 	{   "SIIG PS8000 PCI 8S 16C650 (20x family)",
    673 	    {	0x131f,	0x2081,	0,	0	},
    674 	    {	0xffff,	0xffff,	0,	0	},
    675 	    {
    676 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    677 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    678 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    679 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    680 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    681 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    682 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
    683 		{ PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
    684 		{ PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
    685 	    },
    686 	},
    687 
    688 	/* SIIG PS8000 PCI 8S 16C850 (20x family): 8S - 128 Byte FIFOs */
    689 	{   "SIIG PS8000 PCI 8S 16C850 (20x family)",
    690 	    {	0x131f,	0x2082,	0,	0	},
    691 	    {	0xffff,	0xffff,	0,	0	},
    692 	    {
    693 		{ PUC_PORT_TYPE_COM, 0x10, 0x00,
    694 		    (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
    695 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    696 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    697 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    698 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    699 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
    700 		{ PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
    701 		{ PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
    702 	    },
    703 	},
    704 	/* VScom PCI-200: 2S */
    705 	{   "VScom PCI-200",
    706 	    {	0x10b5,	0x1103,	0x10b5,	0x1103	},
    707 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    708 	    {
    709 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    710 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 },
    711 	    },
    712 	},
    713 
    714 	/* VScom PCI-400: 4S */
    715 	{   "VScom PCI-400",
    716 	    {	0x10b5,	0x1077,	0x10b5,	0x1077	},
    717 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    718 	    {
    719 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    720 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    721 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    722 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    723 	    },
    724 	},
    725 
    726 	/* VScom PCI-800: 8S */
    727 	{   "VScom PCI-800",
    728 	    {	0x10b5,	0x1076,	0x10b5,	0x1076	},
    729 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    730 	    {
    731 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    732 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    733 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    734 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    735 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
    736 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
    737 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
    738 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
    739 	    },
    740 	},
    741 
    742 	{   "Titan PCI-010HV2",
    743 	    {   0x14d2, 0xe001, 0,      0       },
    744 	    {   0xffff, 0xffff, 0,      0       },
    745 	    {
    746 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    747 	    },
    748 	},
    749 	{   "Titan PCI-200HV2",
    750 	    {   0x14d2, 0xe020, 0,      0       },
    751 	    {   0xffff, 0xffff, 0,      0       },
    752 	    {
    753 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
    754 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    755 	    },
    756 	},
    757 
    758 	/*
    759 	 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
    760 	 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
    761 	 * device ID 3 and PCI device 1 device ID 4.
    762 	 */
    763 	{   "Titan PCI-800H",
    764 	    {	0x14d2,	0xa003,	0,	0	},
    765 	    {	0xffff,	0xffff,	0,	0	},
    766 	    {
    767 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
    768 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
    769 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
    770 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
    771 	    },
    772 	},
    773 	{   "Titan PCI-800H",
    774 	    {	0x14d2,	0xa004,	0,	0	},
    775 	    {	0xffff,	0xffff,	0,	0	},
    776 	    {
    777 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
    778 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
    779 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
    780 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
    781 	    },
    782 	},
    783         {   "Titan PCI-200H",
    784             {   0x14d2, 0xa005, 0,      0       },
    785             {   0xffff, 0xffff, 0,      0       },
    786             {
    787                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
    788                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
    789             },
    790         },
    791 	{   "Titan PCI-800L",
    792 	    {	0x14d2,	0x8080,	0,	0	},
    793 	    {	0xffff,	0xffff,	0,	0	},
    794 	    {
    795 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
    796 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    797 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
    798 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
    799 		{ PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
    800 		{ PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
    801 		{ PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 },
    802 		{ PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 },
    803 	    },
    804 	},
    805 	/* NEC PK-UG-X001 K56flex PCI Modem card.
    806 	   NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
    807 	{   "NEC PK-UG-X001 K56flex PCI Modem",
    808 	    {	0x1033,	0x0074,	0x1033,	0x8014	},
    809 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    810 	    {
    811 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    812 	    },
    813 	},
    814 
    815 	/* NEC PK-UG-X008 */
    816 	{   "NEC PK-UG-X008",
    817 	    {	0x1033,	0x007d,	0x1033,	0x8012	},
    818 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    819 	    {
    820 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
    821 	    },
    822 	},
    823 
    824 	/* Lava Computers 2SP-PCI */
    825 	{   "Lava Computers 2SP-PCI parallel port",
    826 	    {	0x1407,	0x8000,	0,	0	},
    827 	    {	0xffff,	0xffff,	0,	0	},
    828 	    {
    829 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    830 	    },
    831 	},
    832 
    833 	/* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
    834 	{   "Lava Computers dual serial port",
    835 	    {	0x1407,	0x0100,	0,	0	},
    836 	    {	0xffff,	0xfffc,	0,	0	},
    837 	    {
    838 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    839 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    840 	    },
    841 	},
    842 
    843 	/* Lava Computers DSerial PCI serial ports */
    844 	{   "Lava Computers serial port",
    845 	    {	0x1407,	0x0110,	0,	0	},
    846 	    {	0xffff,	0xfffc,	0,	0	},
    847 	    {
    848 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    849 	    },
    850 	},
    851 
    852 	/* Lava Computers Quattro-PCI serial ports */
    853 	{   "Lava Quattro-PCI 4-port serial",
    854 	    {   0x1407, 0x0120, 0,	0	},
    855 	    {   0xffff, 0xfffc, 0,	0	},
    856 	    {
    857 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    858 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    859 	    },
    860 	},
    861 
    862 	/* Lava Computers Octopus-550 serial ports */
    863 	{   "Lava Computers Octopus-550 8-port serial",
    864 	    {	0x1407,	0x0180,	0,	0	},
    865 	    {	0xffff,	0xfffc,	0,	0	},
    866 	    {
    867 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    868 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    869 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    870 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    871 	    },
    872 	},
    873 
    874 	/* US Robotics (3Com) PCI Modems */
    875 	{   "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
    876 	    {	0x12b9,	0x1008,	0,	0	},
    877 	    {	0xffff,	0xffff,	0,	0	},
    878 	    {
    879 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    880 	    },
    881 	},
    882 
    883 	/* Actiontec  56K PCI Master */
    884 	{   "Actiontec 56K PCI Master",
    885 	    {	0x11c1,	0x0480,	0x0, 	0x0	},
    886 	    {	0xffff,	0xffff,	0x0,	0x0	},
    887 	    {
    888 		{ PUC_PORT_TYPE_COM,	0x14,	0x00, COM_FREQ },
    889 	    },
    890 	},
    891 
    892 	/*
    893 	 * Boards with an Oxford Semiconductor chip.
    894 	 *
    895 	 * Oxford Semiconductor provides documentation for their chip at:
    896 	 * <URL:http://www.oxsemi.com/products/uarts/index.html>
    897 	 *
    898 	 * As sold by Kouwell <URL:http://www.kouwell.com/>.
    899 	 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
    900 	 */
    901 
    902 	/* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
    903 	{   "Oxford Semiconductor OX16PCI952 UARTs",
    904 	    {   0x1415, 0x9521, 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 	    },
    910 	},
    911 
    912 	/* Oxford Semiconductor OX16PCI952 PCI Parallel port */
    913 	{   "Oxford Semiconductor OX16PCI952 Parallel port",
    914 	    {   0x1415, 0x9523, 0,	0	},
    915 	    {   0xffff, 0xffff, 0,	0	},
    916 	    {
    917 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    918 	    },
    919 	},
    920 
    921 	/* Oxford Semiconductor OX16PCI954 PCI UARTs */
    922 	{   "Oxford Semiconductor OX16PCI954 UARTs",
    923 	    {	0x1415,	0x9501,	0,	0	},
    924 	    {	0xffff,	0xffff,	0,	0	},
    925 	    {
    926 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    927 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
    928 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
    929 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
    930 	    },
    931 	},
    932 
    933 	/* Oxford Semiconductor OX16PCI954 PCI Parallel port */
    934 	{   "Oxford Semiconductor OX16PCI954 Parallel port",
    935 	    {	0x1415,	0x9513,	0,	0	},
    936 	    {	0xffff,	0xffff,	0,	0	},
    937 	    {
    938 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    939 	    },
    940 	},
    941 
    942 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
    943 	{   "Moxa Technologies, SmartIO C104H/PCI",
    944 	    {	0x1393,	0x1040,	0,	0	},
    945 	    {	0xffff,	0xffff,	0,	0	},
    946 	    {
    947 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    948 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    949 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    950 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    951 	    },
    952 	},
    953 
    954 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
    955 	{   "Moxa Technologies, SmartIO CP104/PCI",
    956 	    {	0x1393,	0x1041,	0,	0	},
    957 	    {	0xffff,	0xffff,	0,	0	},
    958 	    {
    959 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    960 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    961 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    962 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    963 	    },
    964 	},
    965 
    966 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
    967 	{   "Moxa Technologies, SmartIO CP104-V2/PCI",
    968 	    {	0x1393,	0x1042,	0,	0	},
    969 	    {	0xffff,	0xffff,	0,	0	},
    970 	    {
    971 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    972 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    973 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    974 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    975 	    },
    976 	},
    977 
    978 	/* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
    979 	{   "Moxa Technologies, SmartIO CP-114/PCI",
    980 	    {	0x1393,	0x1141,	0,	0	},
    981 	    {	0xffff,	0xffff,	0,	0	},
    982 	    {
    983 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    984 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    985 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    986 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    987 	    },
    988 	},
    989 
    990 	/* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
    991 	{   "Moxa Technologies, SmartIO C168H/PCI",
    992 	    {	0x1393,	0x1680,	0,	0	},
    993 	    {	0xffff,	0xffff,	0,	0	},
    994 	    {
    995 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
    996 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
    997 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
    998 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
    999 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
   1000 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
   1001 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
   1002 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
   1003 	    },
   1004 	},
   1005 
   1006 	/* NetMos 1P PCI : 1P */
   1007 	{   "NetMos NM9805 1284 Printer port",
   1008 	    {	0x9710,	0x9805,	0,	0	},
   1009 	    {	0xffff,	0xffff,	0,	0	},
   1010 	    {
   1011 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
   1012 	    },
   1013 	},
   1014 
   1015 	/* NetMos 2P PCI : 2P */
   1016 	{   "NetMos NM9815 Dual 1284 Printer port",
   1017 	    {	0x9710,	0x9815,	0,	0	},
   1018 	    {	0xffff,	0xffff,	0,	0	},
   1019 	    {
   1020 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
   1021 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
   1022 	    },
   1023 	},
   1024 
   1025 	/* NetMos 2S PCI NM9835 : 2S */
   1026 	{   "NetMos NM9835 Dual UART",
   1027 	    {	0x9710, 0x9835, 0x1000, 0x0002	},
   1028 	    {	0xffff, 0xffff, 0xffff, 0xffff	},
   1029 	    {
   1030 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1031 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1032 	    },
   1033 	},
   1034 
   1035 	/* NetMos 2S1P PCI 16C650 : 2S, 1P */
   1036 	{   "NetMos NM9835 Dual UART and 1284 Printer port",
   1037 	    {	0x9710,	0x9835,	0,	0	},
   1038 	    {	0xffff,	0xffff,	0,	0	},
   1039 	    {
   1040 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1041 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1042 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
   1043 	    },
   1044 	},
   1045 
   1046 	/* NetMos 4S1P PCI NM9845 : 4S, 1P */
   1047 	{   "NetMos NM9845 Quad UART and 1284 Printer port",
   1048 	   {   0x9710, 0x9845, 0x1000, 0x0014  },
   1049 	   {   0xffff, 0xffff, 0xffff, 0xffff  },
   1050 	   {
   1051 	       { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1052 	       { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1053 	       { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   1054 	       { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   1055 	       { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
   1056 	   },
   1057        },
   1058 
   1059        /* NetMos 6S PCI 16C650 : 6S, 0P */
   1060        {   "NetMos NM9845 6 UART",
   1061 	   {   0x9710, 0x9845, 0x1000, 0x0006  },
   1062 	   {   0xffff, 0xffff, 0xffff, 0xffff  },
   1063 	   {
   1064 	       { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1065 	       { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1066 	       { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   1067 	       { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   1068 	       { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
   1069 	       { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
   1070 	   },
   1071        },
   1072 
   1073        /* NetMos 4S1P PCI NM9845 : 4S, 1P */
   1074        {   "NetMos NM9845 Quad UART and 1284 Printer port (unknown type)",
   1075 	    {	0x9710,	0x9845,	0,	0	},
   1076 	    {	0xffff,	0xffff,	0,	0	},
   1077 	    {
   1078 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1079 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1080 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   1081 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   1082 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
   1083 	    },
   1084 	},
   1085 
   1086        /* NetMos 4S1P PCI NM9855 : 4S, 1P */
   1087        {   "NetMos NM9855 Quad UART and 1284 Printer port (unknown type)",
   1088 	    {	0x9710,	0x9855,	0x1000,	0x0014	},
   1089 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
   1090 	    {
   1091 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
   1092 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   1093 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   1094 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
   1095 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
   1096 	    },
   1097 	},
   1098 
   1099 	/*
   1100 	 * This is the Middle Digital, Inc. PCI-Weasel, which
   1101 	 * uses a PCI interface implemented in FPGA.
   1102 	 */
   1103 	{   "Middle Digital, Inc. Weasel serial port",
   1104 	    {	0xdeaf,	0x9051,	0,	0	},
   1105 	    {	0xffff,	0xffff,	0,	0	},
   1106 	    {
   1107 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1108 	    },
   1109 	},
   1110 
   1111 	/* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
   1112 	{   "Avlab Low Profile PCI 4 Serial",
   1113 	    {	0x14db,	0x2150,	0,	0	},
   1114 	    {	0xffff,	0xffff,	0,	0	},
   1115 	    {
   1116 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
   1117 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1118 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   1119 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   1120 	    },
   1121 	},
   1122 
   1123 	/*
   1124 	 * Perle PCI-RAS 4 Modem ports
   1125 	 */
   1126 	{   "Perle Systems PCI-RAS 4 modem ports",
   1127 	    {	0x10b5, 0x9030, 0x155f, 0xf001	},
   1128 	    {	0xffff, 0xffff, 0xffff, 0xffff	},
   1129 	    {
   1130 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
   1131 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
   1132 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
   1133 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
   1134 	    },
   1135 	},
   1136 
   1137 	/*
   1138 	 * Perle PCI-RASV92 4 Modem ports
   1139 	 */
   1140 	{   "Perle Systems PCI-RASV92 4 modem ports",
   1141 	    {	0x10b5, 0x9050, 0x155f, 0xf001	},
   1142 	    {	0xffff, 0xffff, 0xffff, 0xffff	},
   1143 	    {
   1144 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
   1145 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
   1146 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
   1147 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
   1148 	    },
   1149 	},
   1150 
   1151 	/*
   1152 	 * Perle PCI-RAS 8 Modem ports
   1153 	 */
   1154 	{   "Perle Systems PCI-RAS 8 modem ports",
   1155 	    {	0x10b5, 0x9030, 0x155f, 0xf010	},
   1156 	    {	0xffff, 0xffff, 0xffff, 0xffff	},
   1157 	    {
   1158 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
   1159 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
   1160 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
   1161 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
   1162 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
   1163 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
   1164 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
   1165 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
   1166 	    },
   1167 	},
   1168 
   1169 	/*
   1170 	 * Perle PCI-RASV92 8 Modem ports
   1171 	 */
   1172 	{   "Perle Systems PCI-RASV92 8 modem ports",
   1173 	    {	0x10b5, 0x9050, 0x155f, 0xf010	},
   1174 	    {	0xffff, 0xffff, 0xffff, 0xffff	},
   1175 	    {
   1176 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
   1177 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
   1178 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
   1179 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
   1180 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
   1181 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
   1182 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
   1183 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
   1184 	    },
   1185 	},
   1186 
   1187 	/*
   1188 	 * Boca Research Turbo Serial 654 (4 serial port) card.
   1189 	 * Appears to be the same as Chase Research PLC PCI-FAST4
   1190 	 * and Perle PCI-FAST4 Multi-Port serial cards.
   1191 	 */
   1192 	{   "Boca Research Turbo Serial 654",
   1193 	    {   0x10b5, 0x9050, 0x12e0, 0x0031  },
   1194 	    {   0xffff, 0xffff, 0xffff, 0xffff  },
   1195 	    {
   1196 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
   1197 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
   1198 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
   1199 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
   1200 	    },
   1201 	},
   1202 
   1203 	/*
   1204 	 * Boca Research Turbo Serial 658 (8 serial port) card.
   1205 	 * Appears to be the same as Chase Research PLC PCI-FAST8
   1206 	 * and Perle PCI-FAST8 Multi-Port serial cards.
   1207 	 */
   1208 	{   "Boca Research Turbo Serial 658",
   1209 	    {   0x10b5, 0x9050, 0x12e0, 0x0021  },
   1210 	    {   0xffff, 0xffff, 0xffff, 0xffff  },
   1211 	    {
   1212 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
   1213 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
   1214 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
   1215 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
   1216 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
   1217 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
   1218 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
   1219 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
   1220 	    },
   1221 	},
   1222 
   1223 	/*
   1224 	 * Addi-Data APCI-7800 8-port serial card.
   1225 	 * Uses an AMCC chip as PCI bridge.
   1226 	 */
   1227 	{   "Addi-Data APCI-7800",
   1228 	    {   0x10e8, 0x818e, 0, 0  },
   1229 	    {   0xffff, 0xffff, 0, 0  },
   1230 	    {
   1231 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
   1232 		{ PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ },
   1233 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   1234 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
   1235 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   1236 		{ PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
   1237 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
   1238 		{ PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
   1239 	    },
   1240 	},
   1241 
   1242 	{   "EXAR XR17D152",
   1243 	    {   0x13a8, 0x0152, 0,      0       },
   1244 	    {   0xffff, 0xffff, 0,      0       },
   1245 	    {
   1246 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
   1247 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
   1248 	    },
   1249 	},
   1250 	{   "EXAR XR17D154",
   1251 	    {   0x13a8, 0x0154, 0,      0       },
   1252 	    {   0xffff, 0xffff, 0,      0       },
   1253 	    {
   1254 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
   1255 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
   1256 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
   1257 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
   1258 	    },
   1259 	},
   1260 	{   "EXAR XR17D158",
   1261 	    {   0x13a8, 0x0154, 0,      0       },
   1262 	    {   0xffff, 0xffff, 0,      0       },
   1263 	    {
   1264 		{ PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
   1265 		{ PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
   1266 		{ PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
   1267 		{ PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
   1268 		{ PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
   1269 		{ PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
   1270 		{ PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
   1271 		{ PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
   1272 	    },
   1273 	},
   1274 
   1275 	{ .name = NULL },
   1276 };
   1277