1 /* $OpenBSD: pucdata.c,v 1.65 2009/08/11 20:03:56 deraadt Exp $ */ 2 /* $NetBSD: pucdata.c,v 1.6 1999/07/03 05:55:23 cgd Exp $ */ 3 4 /* 5 * Copyright (c) 1998, 1999 Christopher G. Demetriou. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. All advertising materials mentioning features or use of this software 16 * must display the following acknowledgement: 17 * This product includes software developed by Christopher G. Demetriou 18 * for the NetBSD Project. 19 * 4. The name of the author may not be used to endorse or promote products 20 * derived from this software without specific prior written permission 21 * 22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 24 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 25 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 27 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 31 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34 /* 35 * PCI "universal" communications card driver configuration data (used to 36 * match/attach the cards). 37 */ 38 39 #include <sys/param.h> 40 #include <sys/systm.h> 41 #include <sys/device.h> 42 43 #include <dev/pci/pcireg.h> 44 #include <dev/pci/pcivar.h> 45 #include <dev/pci/pucvar.h> 46 #include <dev/pci/pcidevs.h> 47 #include <dev/ic/comreg.h> 48 49 const struct puc_device_description puc_devices[] = { 50 /* 51 * XXX no entry because I have no data: 52 * XXX Dolphin Peripherals 4006 (single parallel) 53 */ 54 55 /* 56 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with 57 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 58 * into the subsystem fields, and claims that it's a 59 * network/misc (0x02/0x80) device. 60 */ 61 { /* "Dolphin Peripherals 4014" */ 62 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6810 }, 63 { 0xffff, 0xffff, 0xffff, 0xffff }, 64 { 65 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 66 { PUC_PORT_TYPE_LPT, 0x24, 0x00 }, 67 }, 68 }, 69 70 /* 71 * XXX no entry because I have no data: 72 * XXX Dolphin Peripherals 4025 (single serial) 73 */ 74 75 /* 76 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with 77 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 78 * into the subsystem fields, and claims that it's a 79 * network/misc (0x02/0x80) device. 80 */ 81 { /* "Dolphin Peripherals 4035" */ 82 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6808 }, 83 { 0xffff, 0xffff, 0xffff, 0xffff }, 84 { 85 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 86 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 87 }, 88 }, 89 90 /* 91 * XXX no entry because I have no data: 92 * XXX Dolphin Peripherals 4078 (dual serial and single parallel) 93 */ 94 95 /* 96 * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS 97 */ 98 99 /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */ 100 { /* "Decision Computer Inc PCCOM 2 Port RS232/422/485", */ 101 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2, 0, 0 }, 102 { 0xffff, 0xffff, 0, 0 }, 103 { 104 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 105 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ }, 106 }, 107 }, 108 109 /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */ 110 { /* "Decision Computer Inc PCCOM 4 Port RS232/422/485", */ 111 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4, 0, 0 }, 112 { 0xffff, 0xffff, 0, 0 }, 113 { 114 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 115 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ }, 116 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ }, 117 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ }, 118 }, 119 }, 120 121 /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */ 122 { /* "Decision Computer Inc PCCOM 8 Port RS232/422/485", */ 123 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8, 0, 0 }, 124 { 0xffff, 0xffff, 0, 0 }, 125 { 126 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 127 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ }, 128 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ }, 129 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ }, 130 { PUC_PORT_TYPE_COM, 0x1c, 0x20, COM_FREQ }, 131 { PUC_PORT_TYPE_COM, 0x1c, 0x28, COM_FREQ }, 132 { PUC_PORT_TYPE_COM, 0x1c, 0x30, COM_FREQ }, 133 { PUC_PORT_TYPE_COM, 0x1c, 0x38, COM_FREQ }, 134 }, 135 }, 136 /* IBM SurePOS 300 Series (481033H) serial ports */ 137 { /* "IBM SurePOS 300 Series (481033H) serial ports", */ 138 { PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC, 0, 0 }, 139 { 0xffff, 0xffff, 0, 0 }, 140 { 141 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, /* Port C */ 142 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, /* Port D */ 143 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, /* Port E */ 144 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, /* Port F */ 145 }, 146 }, 147 148 /* 149 * SIIG Boards. 150 * 151 * SIIG provides documentation for their boards at: 152 * <URL:http://www.siig.com/driver.htm> 153 * 154 * Please excuse the weird ordering, it's the order they 155 * use in their documentation. 156 */ 157 158 /* 159 * SIIG "10x" family boards. 160 */ 161 162 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 163 { /* "SIIG Cyber Serial PCI 16C550 (10x family)", */ 164 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000, 0, 0 }, 165 { 0xffff, 0xffff, 0, 0 }, 166 { 167 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 168 }, 169 }, 170 171 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 172 { /* "SIIG Cyber Serial PCI 16C650 (10x family)", */ 173 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001, 0, 0 }, 174 { 0xffff, 0xffff, 0, 0 }, 175 { 176 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 177 }, 178 }, 179 180 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 181 { /* "SIIG Cyber Serial PCI 16C850 (10x family)", */ 182 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002, 0, 0 }, 183 { 0xffff, 0xffff, 0, 0 }, 184 { 185 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 186 }, 187 }, 188 189 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 190 { /* "SIIG Cyber I/O PCI 16C550 (10x family)", */ 191 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010, 0, 0 }, 192 { 0xffff, 0xffff, 0, 0 }, 193 { 194 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 195 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 196 }, 197 }, 198 199 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 200 { /* "SIIG Cyber I/O PCI 16C650 (10x family)", */ 201 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011, 0, 0 }, 202 { 0xffff, 0xffff, 0, 0 }, 203 { 204 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 205 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 206 }, 207 }, 208 209 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 210 { /* "SIIG Cyber I/O PCI 16C850 (10x family)", */ 211 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012, 0, 0 }, 212 { 0xffff, 0xffff, 0, 0 }, 213 { 214 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 215 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 216 }, 217 }, 218 219 /* SIIG Cyber Parallel PCI (10x family): 1P */ 220 { /* "SIIG Cyber Parallel PCI (10x family)", */ 221 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020, 0, 0 }, 222 { 0xffff, 0xffff, 0, 0 }, 223 { 224 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 225 }, 226 }, 227 228 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 229 { /* "SIIG Cyber Parallel Dual PCI (10x family)", */ 230 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021, 0, 0 }, 231 { 0xffff, 0xffff, 0, 0 }, 232 { 233 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 234 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 235 }, 236 }, 237 238 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 239 { /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */ 240 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030, 0, 0 }, 241 { 0xffff, 0xffff, 0, 0 }, 242 { 243 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 244 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 245 }, 246 }, 247 248 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */ 249 { /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */ 250 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031, 0, 0 }, 251 { 0xffff, 0xffff, 0, 0 }, 252 { 253 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 254 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 255 }, 256 }, 257 258 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 259 { /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */ 260 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032, 0, 0 }, 261 { 0xffff, 0xffff, 0, 0 }, 262 { 263 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 264 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 265 }, 266 }, 267 268 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 269 { /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */ 270 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034, 0, 0 }, 271 { 0xffff, 0xffff, 0, 0 }, 272 { 273 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 274 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 275 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 276 }, 277 }, 278 279 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */ 280 { /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */ 281 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035, 0, 0 }, 282 { 0xffff, 0xffff, 0, 0 }, 283 { 284 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 285 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 286 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 287 }, 288 }, 289 290 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */ 291 { /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */ 292 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036, 0, 0 }, 293 { 0xffff, 0xffff, 0, 0 }, 294 { 295 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 296 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 297 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 298 }, 299 }, 300 301 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */ 302 { /* "SIIG Cyber 4S PCI 16C550 (10x family)", */ 303 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050, 0, 0 }, 304 { 0xffff, 0xffff, 0, 0 }, 305 { 306 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 307 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 308 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 309 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 310 }, 311 }, 312 313 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 314 { /* "SIIG Cyber 4S PCI 16C650 (10x family)", */ 315 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051, 0, 0 }, 316 { 0xffff, 0xffff, 0, 0 }, 317 { 318 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 319 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 320 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 321 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 322 }, 323 }, 324 325 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 326 { /* "SIIG Cyber 4S PCI 16C850 (10x family)", */ 327 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052, 0, 0 }, 328 { 0xffff, 0xffff, 0, 0 }, 329 { 330 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 331 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 332 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 333 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 334 }, 335 }, 336 337 /* 338 * SIIG "20x" family boards. 339 */ 340 341 /* SIIG Cyber Parallel PCI (20x family): 1P */ 342 { /* "SIIG Cyber Parallel PCI (20x family)", */ 343 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020, 0, 0 }, 344 { 0xffff, 0xffff, 0, 0 }, 345 { 346 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 347 }, 348 }, 349 350 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 351 { /* "SIIG Cyber Parallel Dual PCI (20x family)", */ 352 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021, 0, 0 }, 353 { 0xffff, 0xffff, 0, 0 }, 354 { 355 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 356 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 357 }, 358 }, 359 360 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 361 { /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */ 362 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040, 0, 0 }, 363 { 0xffff, 0xffff, 0, 0 }, 364 { 365 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 366 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 367 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 368 }, 369 }, 370 371 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */ 372 { /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */ 373 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041, 0, 0 }, 374 { 0xffff, 0xffff, 0, 0 }, 375 { 376 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 377 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 378 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 379 }, 380 }, 381 382 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */ 383 { /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */ 384 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042, 0, 0 }, 385 { 0xffff, 0xffff, 0, 0 }, 386 { 387 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 388 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 389 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 390 }, 391 }, 392 393 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */ 394 { /* "SIIG Cyber Serial PCI 16C550 (20x family)", */ 395 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000, 0, 0 }, 396 { 0xffff, 0xffff, 0, 0 }, 397 { 398 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 399 }, 400 }, 401 402 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 403 { /* "SIIG Cyber Serial PCI 16C650 (20x family)", */ 404 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001, 0, 0 }, 405 { 0xffff, 0xffff, 0, 0 }, 406 { 407 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 408 }, 409 }, 410 411 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 412 { /* "SIIG Cyber Serial PCI 16C850 (20x family)", */ 413 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002, 0, 0 }, 414 { 0xffff, 0xffff, 0, 0 }, 415 { 416 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 417 }, 418 }, 419 420 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 421 { /* "SIIG Cyber I/O PCI 16C550 (20x family)", */ 422 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010, 0, 0 }, 423 { 0xffff, 0xffff, 0, 0 }, 424 { 425 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 426 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 427 }, 428 }, 429 430 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 431 { /* "SIIG Cyber I/O PCI 16C650 (20x family)", */ 432 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011, 0, 0 }, 433 { 0xffff, 0xffff, 0, 0 }, 434 { 435 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 436 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 437 }, 438 }, 439 440 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 441 { /* "SIIG Cyber I/O PCI 16C850 (20x family)", */ 442 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012, 0, 0 }, 443 { 0xffff, 0xffff, 0, 0 }, 444 { 445 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 446 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 447 }, 448 }, 449 450 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 451 { /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */ 452 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030, 0, 0 }, 453 { 0xffff, 0xffff, 0, 0 }, 454 { 455 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 456 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 457 }, 458 }, 459 460 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */ 461 { /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */ 462 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031, 0, 0 }, 463 { 0xffff, 0xffff, 0, 0 }, 464 { 465 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 466 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 467 }, 468 }, 469 470 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 471 { /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */ 472 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032, 0, 0 }, 473 { 0xffff, 0xffff, 0, 0 }, 474 { 475 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 476 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 477 }, 478 }, 479 480 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 481 { /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */ 482 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060, 0, 0 }, 483 { 0xffff, 0xffff, 0, 0 }, 484 { 485 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 486 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 487 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 488 }, 489 }, 490 491 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */ 492 { /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */ 493 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061, 0, 0 }, 494 { 0xffff, 0xffff, 0, 0 }, 495 { 496 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 497 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 498 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 499 }, 500 }, 501 502 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */ 503 { /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */ 504 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062, 0, 0 }, 505 { 0xffff, 0xffff, 0, 0 }, 506 { 507 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 508 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 509 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 510 }, 511 }, 512 513 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */ 514 { /* "SIIG Cyber 4S PCI 16C550 (20x family)", */ 515 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050, 0, 0 }, 516 { 0xffff, 0xffff, 0, 0 }, 517 { 518 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 519 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 520 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 521 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 522 }, 523 }, 524 525 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 526 { /* "SIIG Cyber 4S PCI 16C650 (20x family)", */ 527 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051, 0, 0 }, 528 { 0xffff, 0xffff, 0, 0 }, 529 { 530 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 531 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 532 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 533 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 534 }, 535 }, 536 537 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 538 { /* "SIIG Cyber 4S PCI 16C850 (20x family)", */ 539 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052, 0, 0 }, 540 { 0xffff, 0xffff, 0, 0 }, 541 { 542 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 543 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 544 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 545 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 546 }, 547 }, 548 549 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 550 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 551 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081, 0, 0 }, 552 { 0xffff, 0xffff, 0, 0 }, 553 { 554 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 555 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 556 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 557 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 558 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 559 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ }, 560 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ }, 561 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ }, 562 }, 563 }, 564 565 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 566 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 567 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 568 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082 }, 569 { 0xffff, 0xffff, 0xffff, 0xffff }, 570 { 571 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, 572 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, 573 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, 574 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, 575 }, 576 }, 577 578 /* OX16PCI954, first part of Serial Technologies Expander PCI-232-108 */ 579 { /* "OX16PCI954" */ 580 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 581 PCI_VENDOR_OXFORD2, 0 }, 582 { 0xffff, 0xffff, 0xffff, 0xffff }, 583 { 584 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 585 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 586 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 587 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 588 }, 589 }, 590 591 /* Exsys EX-41098, second part of Serial Technologies Expander PCI-232-108 */ 592 { /* "Exsys EX-41098", */ 593 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 594 PCI_VENDOR_OXFORD2, 0 }, 595 { 0xffff, 0xffff, 0xffff, 0xffff }, 596 { 597 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 598 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 599 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 600 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 601 }, 602 }, 603 604 /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */ 605 { /* "Exsys EX-41098", */ 606 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 607 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082 }, 608 { 0xffff, 0xffff, 0xffff, 0xffff }, 609 { 610 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, 611 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, 612 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, 613 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, 614 }, 615 }, 616 617 /* 618 * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer 619 */ 620 { /* "VScom PCI-400S", */ 621 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 }, 622 { 0xffff, 0xffff, 0xffff, 0xffff }, 623 { 624 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 625 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 626 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 627 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 628 }, 629 }, 630 631 /* 632 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html. 633 * Some PLX chip. Note: This board has a software selectable(?) 634 * clock multiplier which this driver doesn't support, so you'll 635 * have to use an appropriately scaled baud rate when talking to 636 * the card. 637 */ 638 { /* "VScom PCI-800", */ 639 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1076, 0x10b5, 0x1076 }, 640 { 0xffff, 0xffff, 0xffff, 0xffff }, 641 { 642 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 643 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 644 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ }, 645 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ }, 646 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ }, 647 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ }, 648 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ }, 649 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ }, 650 }, 651 }, 652 653 /* 654 * VScom PCI 011H, 1 lpt. 655 */ 656 { /* "VScom PCI-011H", */ 657 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H, 0, 0 }, 658 { 0xffff, 0xffff, 0, 0 }, 659 { 660 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 661 }, 662 }, 663 664 /* 665 * VScom PCI x10H, 1 lpt. 666 * is the lpt part of VScom 110H, 210H, 410H 667 */ 668 { /* "VScom PCI-x10H", */ 669 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIx10H, 0, 0 }, 670 { 0xffff, 0xffff, 0, 0 }, 671 { 672 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 673 }, 674 }, 675 676 /* 677 * VScom PCI 100H, little sister of 800H, 1 com. 678 * also com part of VScom 110H 679 * The one I have defaults to a fequency of 14.7456 MHz which is 680 * jumper J1 set to 2-3. 681 */ 682 { /* "VScom PCI-100H", */ 683 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H, 0, 0 }, 684 { 0xffff, 0xffff, 0, 0 }, 685 { 686 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 687 }, 688 }, 689 690 /* 691 * VScom PCI 200H, little sister of 800H, 2 com. 692 * also com part of VScom 210H 693 * The one I have defaults to a fequency of 14.7456 MHz which is 694 * jumper J1 set to 2-3. 695 */ 696 697 { /* "VScom PCI-200H", */ 698 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H, 0, 0 }, 699 { 0xffff, 0xffff, 0, 0 }, 700 { 701 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 702 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 703 }, 704 }, 705 706 /* 707 * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips 708 * that offers 4 com port on PCI device 0 (both 400H and 800H) 709 * and 4 on PCI device 1 (800H only). PCI device 0 has 710 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal 711 * instead of the standart 1.8432MHz. 712 * There's a version with a jumper for selecting the crystal frequency, 713 * defaults to 8x as used here. The jumperless version uses 8x, too. 714 */ 715 { /* "VScom PCI-400H/800H", */ 716 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0, 0, 0 }, 717 { 0xffff, 0xffff, 0, 0 }, 718 { 719 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 720 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 721 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 722 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 723 }, 724 }, 725 { /* "VScom PCI-400H/800H", */ 726 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1, 0, 0 }, 727 { 0xffff, 0xffff, 0, 0 }, 728 { 729 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 730 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 731 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 732 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 733 }, 734 }, 735 736 /* 737 * VScom PCI 200HV2, is 200H Version 2. 738 * Sells as 200H 739 */ 740 { /* "VScom PCI-200HV2", */ 741 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2, 0, 0 }, 742 { 0xffff, 0xffff, 0, 0 }, 743 { 744 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 745 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 746 }, 747 }, 748 749 /* 750 * VScom PCI 010L 751 * one lpt 752 * untested 753 */ 754 { /* "VScom PCI-010L", */ 755 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L, 0, 0 }, 756 { 0xffff, 0xffff, 0, 0 }, 757 { 758 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 759 }, 760 }, 761 762 /* 763 * VScom PCI 100L 764 * one com 765 * The one I have defaults to a fequency of 14.7456 MHz which is 766 * jumper J1 set to 2-3. 767 */ 768 { /* "VScom PCI-100L", */ 769 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L, 0, 0 }, 770 { 0xffff, 0xffff, 0, 0 }, 771 { 772 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 773 }, 774 }, 775 776 /* 777 * VScom PCI 110L 778 * one com, one lpt 779 * untested 780 */ 781 { /* "VScom PCI-110L", */ 782 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L, 0, 0 }, 783 { 0xffff, 0xffff, 0, 0 }, 784 { 785 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 786 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 787 }, 788 }, 789 790 /* 791 * VScom PCI-200L has 2 x 16550 UARTS. 792 * The board has a jumper which allows you to select a clock speed 793 * of either 14.7456MHz or 1.8432MHz. By default it runs at 794 * the fast speed. 795 */ 796 { /* "VScom PCI-200L with 2 x 16550 UARTS" */ 797 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L, 0, 0 }, 798 { 0xffff, 0xffff, 0, 0 }, 799 { 800 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 801 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 802 }, 803 }, 804 805 /* 806 * VScom PCI-210L 807 * Has a jumper for frequency selection, defaults to 8x as used here 808 * two com, one lpt 809 */ 810 { /* "VScom PCI-210L" */ 811 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L, 0, 0 }, 812 { 0xffff, 0xffff, 0, 0 }, 813 { 814 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 815 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 816 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 817 }, 818 }, 819 820 /* 821 * VScom PCI 400L 822 * Has a jumper for frequency selection, defaults to 8x as used here 823 * This is equal to J1 in pos 2-3 824 * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex) 825 */ 826 { /* "VScom PCI-400L", */ 827 { PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L, 0, 0 }, 828 { 0xffff, 0xffff, 0, 0 }, 829 { 830 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 831 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 832 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 833 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 834 }, 835 }, 836 837 /* 838 * VScom PCI 800L 839 * Has a jumper for frequency selection, defaults to 8x as used here 840 */ 841 { /* "VScom PCI-800L", */ 842 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L, 0, 0 }, 843 { 0xffff, 0xffff, 0, 0 }, 844 { 845 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 846 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 847 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 848 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 849 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 }, 850 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 }, 851 { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 }, 852 { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 }, 853 }, 854 }, 855 856 /* 857 * Exsys EX-41098 858 */ 859 { /* "Exsys EX-41098", */ 860 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 0, 0 }, 861 { 0xffff, 0xffff, 0, 0 }, 862 { 863 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 864 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 865 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 866 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 867 }, 868 }, 869 870 /* 871 * Boards with an Oxford Semiconductor chip. 872 * 873 * Oxford Semiconductor provides documentation for their chip at: 874 * <URL:http://www.oxsemi.com/products/uarts/index.html> 875 * 876 * As sold by Kouwell <URL:http://www.kouwell.com/>. 877 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports. 878 */ 879 880 /* Exsys EX-1372 (uses Oxford OX16PCI952 and a 8x clock) */ 881 { /* "Oxford Semiconductor OX16PCI952 UARTs", */ 882 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952, 883 PCI_VENDOR_OXFORD2, 0x0001 }, 884 { 0xffff, 0xffff, 0xffff, 0xffff }, 885 { 886 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 887 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 888 }, 889 }, 890 891 /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */ 892 { /* "Oxford Semiconductor OX16PCI952 UARTs", */ 893 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952, 0, 0 }, 894 { 0xffff, 0xffff, 0, 0 }, 895 { 896 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 897 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 898 }, 899 }, 900 901 /* Oxford Semiconductor OX16PCI952 PCI Parallel port */ 902 { /* "Oxford Semiconductor OX16PCI952 Parallel port", */ 903 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P, 0, 0 }, 904 { 0xffff, 0xffff, 0, 0 }, 905 { 906 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 907 }, 908 }, 909 910 /* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */ 911 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 912 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 913 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 }, 914 { 0xffff, 0xffff, 0xffff, 0xffff }, 915 { 916 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, 917 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, 918 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, 919 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, 920 }, 921 }, 922 923 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 924 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 925 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 0, 0 }, 926 { 0xffff, 0xffff, 0, 0 }, 927 { 928 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 929 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 930 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 931 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 932 }, 933 }, 934 935 /* Commell MP-954GPS, GPS and 2 COM */ 936 { /* "Oxford Semiconductor OX16mPCI954 UARTs", */ 937 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXMPCI954, 0, 0 }, 938 { 0xffff, 0xffff, 0, 0 }, 939 { 940 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 941 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 942 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 943 }, 944 }, 945 946 /* Oxford Semiconductor OX16PCI954K PCI UARTs */ 947 { /* "Oxford Semiconductor OX16PCI954K UARTs", */ 948 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K, 0, 0 }, 949 { 0xffff, 0xffff, 0, 0 }, 950 { 951 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 952 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 953 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 954 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 955 }, 956 }, 957 958 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ 959 { /* "Oxford Semiconductor OX16PCI954 Parallel port", */ 960 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P, 0, 0 }, 961 { 0xffff, 0xffff, 0, 0 }, 962 { 963 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 964 }, 965 }, 966 967 /* 968 * NEC PK-UG-X001 K56flex PCI Modem card. 969 * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. 970 */ 971 { /* "NEC PK-UG-X001 K56flex PCI Modem", */ 972 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_MARTH, 0x1033, 0x8014 }, 973 { 0xffff, 0xffff, 0xffff, 0xffff }, 974 { 975 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 976 }, 977 }, 978 979 /* NEC PK-UG-X008 */ 980 { /* "NEC PK-UG-X008", */ 981 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUG, 0x1033, 0x8012 }, 982 { 0xffff, 0xffff, 0xffff, 0xffff }, 983 { 984 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 985 }, 986 }, 987 988 /* Lava Computers 2SP-PCI (0x8000-0x8003) */ 989 { /* "Lava Computers 2SP-PCI parallel port", */ 990 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 }, 991 { 0xffff, 0xfffc, 0, 0 }, 992 { 993 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 994 }, 995 }, 996 997 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 998 { /* "Lava Computers dual serial port", */ 999 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 }, 1000 { 0xffff, 0xfffc, 0, 0 }, 1001 { 1002 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1003 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1004 }, 1005 }, 1006 1007 /* 1008 * Lava Computers Quattro-PCI serial ports. 1009 * A second version of the Quattro-PCI with different PCI ids. 1010 */ 1011 { /* "Lava Computers Quattro-PCI 4-port serial", */ 1012 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 }, 1013 { 0xffff, 0xfffe, 0, 0 }, 1014 { 1015 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1016 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1017 }, 1018 }, 1019 1020 /* 1021 * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI 1022 * serial ports. 1023 */ 1024 { /* "Lava Computers high-speed port", */ 1025 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0, 0, 0 }, 1026 { 0xffff, 0xfffc, 0, 0 }, 1027 { 1028 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 1029 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 4 }, 1030 }, 1031 }, 1032 1033 /* 1034 * Lava Computers LavaPort-single serial port. 1035 */ 1036 { /* "Lava Computers high-speed port", */ 1037 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2, 0, 0 }, 1038 { 0xffff, 0xfffc, 0, 0 }, 1039 { 1040 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 1041 }, 1042 }, 1043 1044 /* Lava Computers LavaPort-650 */ 1045 { /* "Lava Computers high-speed port", */ 1046 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650, 0, 0 }, 1047 { 0xffff, 0xfffc, 0, 0 }, 1048 { 1049 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 1050 }, 1051 }, 1052 1053 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */ 1054 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */ 1055 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 }, 1056 { 0xffff, 0xfffc, 0, 0 }, 1057 { 1058 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1059 }, 1060 }, 1061 1062 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */ 1063 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */ 1064 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1, 0, 0 }, 1065 { 0xffff, 0xfffc, 0, 0 }, 1066 { 1067 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1068 }, 1069 }, 1070 1071 /* Lava Computers Octopus-550 serial ports */ 1072 { /* "Lava Computers Octopus-550 8-port serial", */ 1073 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 }, 1074 { 0xffff, 0xfffc, 0, 0 }, 1075 { 1076 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1077 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1078 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1079 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1080 }, 1081 }, 1082 1083 /* Lava Computers Octopus-550 serial ports */ 1084 { /* "Lava Computers Octopus-550 8-port serial", */ 1085 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_1, 0, 0 }, 1086 { 0xffff, 0xfffc, 0, 0 }, 1087 { 1088 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1089 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1090 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1091 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1092 }, 1093 }, 1094 1095 /* US Robotics (3Com) PCI Modems */ 1096 { /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */ 1097 { PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610, 0, 0 }, 1098 { 0xffff, 0xffff, 0, 0 }, 1099 { 1100 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1101 }, 1102 }, 1103 1104 /* IBM 33L4618: AT&T/Lucent Venus Modem */ 1105 { /* "IBM 33L4618: AT&T/Lucent Venus Modem", */ 1106 /* "Actiontec 56K PCI Master" */ 1107 { PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM, 0, 0 }, 1108 { 0xffff, 0xffff, 0, 0 }, 1109 { 1110 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 1111 }, 1112 }, 1113 1114 /* Topic/SmartLink 5634PCV SurfRider */ 1115 { /* "Topic/SmartLink 5634PCV SurfRider" */ 1116 { PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV, 0, 0 }, 1117 { 0xffff, 0xffff, 0, 0 }, 1118 { 1119 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1120 }, 1121 }, 1122 1123 /* SD-LAB PCI I/O Card 4S */ 1124 { /* "Syba Tech Ltd. PCI-4S" */ 1125 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S, 0, 0 }, 1126 { 0xffff, 0xffff, 0, 0 }, 1127 { 1128 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 1129 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 1130 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 1131 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 1132 }, 1133 }, 1134 1135 /* SD-LAB PCI I/O Card 4S2P */ 1136 { /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */ 1137 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P, 0, 0 }, 1138 { 0xffff, 0xffff, 0, 0 }, 1139 { 1140 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 1141 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 1142 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 1143 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 1144 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 1145 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 1146 }, 1147 }, 1148 1149 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1150 { /* "Moxa Technologies, Industio CP-114" */ 1151 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114, 0, 0 }, 1152 { 0xffff, 0xffff, 0, 0 }, 1153 { 1154 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1155 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1156 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1157 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1158 }, 1159 }, 1160 1161 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1162 { /* "Moxa Technologies, SmartIO C104H/PCI" */ 1163 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H, 0, 0 }, 1164 { 0xffff, 0xffff, 0, 0 }, 1165 { 1166 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1167 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1168 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1169 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1170 }, 1171 }, 1172 1173 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1174 { /* "Moxa Technologies, SmartIO CP104UL/PCI" */ 1175 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104UL, 0, 0 }, 1176 { 0xffff, 0xffff, 0, 0 }, 1177 { 1178 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1179 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1180 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1181 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1182 }, 1183 }, 1184 1185 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1186 { /* "Moxa Technologies, SmartIO CP104JU/PCI" */ 1187 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104JU, 0, 0 }, 1188 { 0xffff, 0xffff, 0, 0 }, 1189 { 1190 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1191 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1192 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1193 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1194 }, 1195 }, 1196 1197 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 1198 { /* "Moxa Technologies, Industio C168H" */ 1199 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H, 0, 0 }, 1200 { 0xffff, 0xffff, 0, 0 }, 1201 { 1202 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1203 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1204 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1205 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1206 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 1207 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 1208 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 1209 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 1210 }, 1211 }, 1212 1213 /* NetMos 1P PCI: 1P */ 1214 { /* "NetMos NM9805 1284 Printer Port" */ 1215 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9805, 0, 0 }, 1216 { 0xffff, 0xffff, 0, 0 }, 1217 { 1218 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1219 }, 1220 }, 1221 1222 /* NetMos 1S PCI 16C650 : 1S */ 1223 { /* "NetMos NM9835 UART" */ 1224 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0x1000, 0x0001 }, 1225 { 0xffff, 0xffff, 0xffff, 0xffff }, 1226 { 1227 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1228 }, 1229 }, 1230 1231 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 1232 { /* "NetMos NM9835 Dual UART and 1284 Printer port" */ 1233 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0, 0 }, 1234 { 0xffff, 0xffff, 0, 0 }, 1235 { 1236 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1237 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1238 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1239 }, 1240 }, 1241 1242 /* NetMos 4S PCI 16C650 : 4S, 0P */ 1243 { /* "NetMos NM9845 Quad UART" */ 1244 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 }, 1245 { 0xffff, 0xffff, 0xffff, 0xffff }, 1246 { 1247 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1248 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1249 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1250 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1251 }, 1252 }, 1253 1254 /* NetMos 4S1P PCI 16C650 : 4S, 1P */ 1255 { /* "NetMos NM9845 Quad UART and 1284 Printer port" */ 1256 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 }, 1257 { 0xffff, 0xffff, 0xffff, 0xffff }, 1258 { 1259 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1260 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1261 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1262 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1263 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1264 }, 1265 }, 1266 1267 /* NetMos 6S PCI 16C650 : 6S, 0P */ 1268 { /* "NetMos NM9845 6 UART" */ 1269 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 }, 1270 { 0xffff, 0xffff, 0xffff, 0xffff }, 1271 { 1272 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1273 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1274 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1275 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1276 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 1277 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 1278 }, 1279 }, 1280 1281 /* NetMos 2S PCI 16C650 : 2S */ 1282 { /* "NetMos NM9845 Dual UART" */ 1283 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0, 0 }, 1284 { 0xffff, 0xffff, 0, 0 }, 1285 { 1286 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1287 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1288 }, 1289 }, 1290 1291 { /* Sunix 4018A : 2-port parallel */ 1292 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A, 0, 0 }, 1293 { 0xffff, 0xffff, 0, 0 }, 1294 { 1295 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 1296 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 1297 }, 1298 }, 1299 1300 /* 1301 * SUNIX 40XX series of serial/parallel combo cards. 1302 * Tested with 4055A and 4065A. 1303 */ 1304 { /* SUNIX 400X 1P */ 1305 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 }, 1306 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1307 { 1308 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1309 }, 1310 }, 1311 1312 { /* SUNIX 401X 2P */ 1313 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 }, 1314 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1315 { 1316 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1317 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1318 }, 1319 }, 1320 1321 { /* SUNIX 402X 1S */ 1322 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 }, 1323 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1324 { 1325 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1326 }, 1327 }, 1328 1329 { /* SUNIX 403X 2S */ 1330 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 }, 1331 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1332 { 1333 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1334 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1335 }, 1336 }, 1337 1338 { /* SUNIX 4036 2S */ 1339 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x0002 }, 1340 { 0xffff, 0xffff, 0xffff, 0xffff }, 1341 { 1342 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1343 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1344 }, 1345 }, 1346 1347 1348 { /* SUNIX 405X 4S */ 1349 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 }, 1350 { 0xffff, 0xffff, 0xffff, 0xe0f0 }, 1351 { 1352 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1353 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1354 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1355 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ }, 1356 }, 1357 }, 1358 1359 { /* SUNIX 406X 8S */ 1360 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 }, 1361 { 0xffff, 0xffff, 0xffff, 0xe0f0 }, 1362 { 1363 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1364 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1365 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 1366 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ * 8 }, 1367 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1368 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ * 8 }, 1369 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 1370 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ * 8 }, 1371 }, 1372 }, 1373 1374 { /* SUNIX 407X 2S/1P */ 1375 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 }, 1376 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1377 { 1378 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1379 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1380 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1381 }, 1382 }, 1383 1384 { /* SUNIX 408X 2S/2P */ 1385 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 }, 1386 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1387 { 1388 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1389 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1390 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1391 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1392 }, 1393 }, 1394 1395 { /* SUNIX 409X 4S/2P */ 1396 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 }, 1397 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1398 { 1399 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 1400 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 1401 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1402 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ }, 1403 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1404 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1405 }, 1406 }, 1407 1408 /* 1409 * Boca Research Turbo Serial 654 (4 serial port) card. 1410 * Appears to be the same as Chase Research PLC PCI-FAST4 card, 1411 * same as Perle PCI-FAST4 Multi-Port serial card 1412 */ 1413 { /* "Boca Turbo Serial 654 - IOP654" */ 1414 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031 }, 1415 { 0xffff, 0xffff, 0xffff, 0xffff }, 1416 { 1417 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 }, 1418 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 }, 1419 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 }, 1420 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 }, 1421 }, 1422 }, 1423 1424 /* 1425 * Boca Research Turbo Serial 658 (8 serial port) card. 1426 * Appears to be the same as Chase Research PLC PCI-FAST8 card 1427 * same as Perle PCI-FAST8 Multi-Port serial card 1428 */ 1429 { /* "Boca Turbo Serial 658 - IOP658" */ 1430 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021 }, 1431 { 0xffff, 0xffff, 0xffff, 0xffff }, 1432 { 1433 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 }, 1434 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 }, 1435 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 }, 1436 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 }, 1437 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 }, 1438 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 }, 1439 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 }, 1440 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 }, 1441 }, 1442 }, 1443 1444 /* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */ 1445 { /* "Cronyx Omega-PCI" */ 1446 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_CRONYX_OMEGA, 0, 0 }, 1447 { 0xffff, 0xffff, 0, 0 }, 1448 { 1449 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1450 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 1451 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ }, 1452 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ }, 1453 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ }, 1454 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ }, 1455 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ }, 1456 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ }, 1457 }, 1458 }, 1459 1460 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1461 { /* "Avlab Low Profile PCI 4 Serial" */ 1462 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2, 0, 0 }, 1463 { 0xffff, 0xffff, 0, 0 }, 1464 { 1465 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1466 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1467 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1468 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1469 }, 1470 }, 1471 1472 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1473 { /* "Avlab Low Profile PCI 4 Serial" */ 1474 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 }, 1475 { 0xffff, 0xffff, 0, 0 }, 1476 { 1477 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1478 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1479 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1480 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1481 }, 1482 }, 1483 1484 /* Avlab Technology, Inc. PCI 2 Serial: 2S */ 1485 { /* "Avlab PCI 2 Serial" */ 1486 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S, 0, 0 }, 1487 { 0xffff, 0xffff, 0, 0 }, 1488 { 1489 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1490 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1491 }, 1492 }, 1493 1494 /* Digi International Digi Neo 4 Serial */ 1495 { 1496 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 }, 1497 { 0xffff, 0xffff, 0, 0 }, 1498 { 1499 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1500 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1501 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1502 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1503 }, 1504 }, 1505 1506 /* Digi International Digi Neo 8 Serial */ 1507 { 1508 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8, 0, 0 }, 1509 { 0xffff, 0xffff, 0, 0 }, 1510 { 1511 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1512 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1513 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1514 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1515 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 }, 1516 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 }, 1517 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 }, 1518 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 }, 1519 }, 1520 }, 1521 1522 /* 1523 * Multi-Tech ISI5634PCI/4 4-port modem board. 1524 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its 1525 * config EEPROM. 1526 */ 1527 { 1528 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 }, 1529 { 0xffff, 0xffff, 0xffff, 0xffff }, 1530 { 1531 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1532 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1533 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1534 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1535 }, 1536 }, 1537 1538 { /* EXAR XR17C152 Dual UART */ 1539 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152, 0, 0 }, 1540 { 0xffff, 0xffff, 0, 0 }, 1541 { 1542 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1543 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1544 }, 1545 }, 1546 1547 { /* Exar XR17C154 Quad UART */ 1548 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154, 0, 0 }, 1549 { 0xffff, 0xffff, 0, 0 }, 1550 { 1551 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1552 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1553 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1554 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1555 }, 1556 }, 1557 1558 { /* Exar XR17C158 Eight Channel UART */ 1559 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0, 0 }, 1560 { 0xffff, 0xffff, 0, 0 }, 1561 { 1562 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1563 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1564 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1565 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1566 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 }, 1567 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 }, 1568 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 }, 1569 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 }, 1570 }, 1571 }, 1572 1573 { /* Dell DRAC 3 Virtual UART */ 1574 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_3_VUART, 0, 0 }, 1575 { 0xffff, 0xffff, 0, 0 }, 1576 { 1577 { PUC_PORT_TYPE_COM, 0x14, 0x0000, COM_FREQ * 128 }, 1578 }, 1579 }, 1580 { /* Dell DRAC 4 Virtual UART */ 1581 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_4_VUART, 0, 0 }, 1582 { 0xffff, 0xffff, 0, 0 }, 1583 { 1584 { PUC_PORT_TYPE_COM, 0x14, 0x0000, COM_FREQ * 128 }, 1585 }, 1586 }, 1587 1588 /* 1589 * Cardbus devices which can potentially show up because of 1590 * Expresscard adapters 1591 * XXX Keep this list syncronized with cardbus/com_cardbus.c 1592 */ 1593 1594 { /* "", */ 1595 { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_GLOBALMODEM56,0, 0 }, 1596 { 0xffff, 0xffff, 0, 0 }, 1597 { 1598 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1599 }, 1600 }, 1601 { /* "", */ 1602 { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_MODEM56, 0, 0 }, 1603 { 0xffff, 0xffff, 0, 0 }, 1604 { 1605 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1606 }, 1607 }, 1608 { /* "", */ 1609 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL,0, 0 }, 1610 { 0xffff, 0xffff, 0, 0 }, 1611 { 1612 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1613 }, 1614 }, 1615 { /* "", */ 1616 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_2,0, 0 }, 1617 { 0xffff, 0xffff, 0, 0 }, 1618 { 1619 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1620 }, 1621 }, 1622 { /* "", */ 1623 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_GC,0, 0 }, 1624 { 0xffff, 0xffff, 0, 0 }, 1625 { 1626 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1627 }, 1628 }, 1629 { /* "", */ 1630 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MODEM56, 0, 0 }, 1631 { 0xffff, 0xffff, 0, 0 }, 1632 { 1633 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1634 }, 1635 }, 1636 { /* "", */ 1637 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXCB950,0, 0 }, 1638 { 0xffff, 0xffff, 0, 0 }, 1639 { 1640 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1641 }, 1642 }, 1643 { /* "Xircom Cardbus 56K Modem", */ 1644 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM_56K,0, 0 }, 1645 { 0xffff, 0xffff, 0, 0 }, 1646 { 1647 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1648 }, 1649 }, 1650 { /* "Xircom CBEM56G Modem", */ 1651 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_CBEM56G, 0, 0 }, 1652 { 0xffff, 0xffff, 0, 0 }, 1653 { 1654 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1655 }, 1656 }, 1657 { /* "Xircom 56k Modem", */ 1658 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM56, 0, 0 }, 1659 { 0xffff, 0xffff, 0, 0 }, 1660 { 1661 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1662 }, 1663 }, 1664 1665 { /* NULL, */ 1666 1667 { 0, 0, 0, 0 }, 1668 { 0, 0, 0, 0 }, 1669 { 1670 { 0, 0, 0 }, 1671 }, 1672 } 1673 }; 1674