1 /* $NetBSD: pucdata.c,v 1.52 2007/11/01 18:18:37 jnemeth 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.52 2007/11/01 18:18:37 jnemeth 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, 0x0158, 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