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