1 /* $OpenBSD: pucdata.c,v 1.56 2008/08/22 01:09:08 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 137 /* 138 * SIIG Boards. 139 * 140 * SIIG provides documentation for their boards at: 141 * <URL:http://www.siig.com/driver.htm> 142 * 143 * Please excuse the weird ordering, it's the order they 144 * use in their documentation. 145 */ 146 147 /* 148 * SIIG "10x" family boards. 149 */ 150 151 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 152 { /* "SIIG Cyber Serial PCI 16C550 (10x family)", */ 153 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000, 0, 0 }, 154 { 0xffff, 0xffff, 0, 0 }, 155 { 156 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 157 }, 158 }, 159 160 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 161 { /* "SIIG Cyber Serial PCI 16C650 (10x family)", */ 162 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001, 0, 0 }, 163 { 0xffff, 0xffff, 0, 0 }, 164 { 165 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 166 }, 167 }, 168 169 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 170 { /* "SIIG Cyber Serial PCI 16C850 (10x family)", */ 171 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002, 0, 0 }, 172 { 0xffff, 0xffff, 0, 0 }, 173 { 174 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 175 }, 176 }, 177 178 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 179 { /* "SIIG Cyber I/O PCI 16C550 (10x family)", */ 180 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010, 0, 0 }, 181 { 0xffff, 0xffff, 0, 0 }, 182 { 183 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 184 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 185 }, 186 }, 187 188 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 189 { /* "SIIG Cyber I/O PCI 16C650 (10x family)", */ 190 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011, 0, 0 }, 191 { 0xffff, 0xffff, 0, 0 }, 192 { 193 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 194 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 195 }, 196 }, 197 198 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 199 { /* "SIIG Cyber I/O PCI 16C850 (10x family)", */ 200 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012, 0, 0 }, 201 { 0xffff, 0xffff, 0, 0 }, 202 { 203 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 204 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 205 }, 206 }, 207 208 /* SIIG Cyber Parallel PCI (10x family): 1P */ 209 { /* "SIIG Cyber Parallel PCI (10x family)", */ 210 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020, 0, 0 }, 211 { 0xffff, 0xffff, 0, 0 }, 212 { 213 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 214 }, 215 }, 216 217 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 218 { /* "SIIG Cyber Parallel Dual PCI (10x family)", */ 219 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021, 0, 0 }, 220 { 0xffff, 0xffff, 0, 0 }, 221 { 222 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 223 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 224 }, 225 }, 226 227 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 228 { /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */ 229 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030, 0, 0 }, 230 { 0xffff, 0xffff, 0, 0 }, 231 { 232 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 233 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 234 }, 235 }, 236 237 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */ 238 { /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */ 239 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031, 0, 0 }, 240 { 0xffff, 0xffff, 0, 0 }, 241 { 242 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 243 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 244 }, 245 }, 246 247 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 248 { /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */ 249 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032, 0, 0 }, 250 { 0xffff, 0xffff, 0, 0 }, 251 { 252 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 253 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 254 }, 255 }, 256 257 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 258 { /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */ 259 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034, 0, 0 }, 260 { 0xffff, 0xffff, 0, 0 }, 261 { 262 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 263 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 264 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 265 }, 266 }, 267 268 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */ 269 { /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */ 270 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035, 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 16C850 (10x family): 2S, 1P */ 280 { /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */ 281 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036, 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 4S PCI 16C550 (10x family): 4S */ 291 { /* "SIIG Cyber 4S PCI 16C550 (10x family)", */ 292 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050, 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_COM, 0x20, 0x00, COM_FREQ }, 298 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 299 }, 300 }, 301 302 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 303 { /* "SIIG Cyber 4S PCI 16C650 (10x family)", */ 304 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051, 0, 0 }, 305 { 0xffff, 0xffff, 0, 0 }, 306 { 307 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 308 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 309 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 310 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 311 }, 312 }, 313 314 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 315 { /* "SIIG Cyber 4S PCI 16C850 (10x family)", */ 316 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052, 0, 0 }, 317 { 0xffff, 0xffff, 0, 0 }, 318 { 319 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 320 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 321 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 322 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 323 }, 324 }, 325 326 /* 327 * SIIG "20x" family boards. 328 */ 329 330 /* SIIG Cyber Parallel PCI (20x family): 1P */ 331 { /* "SIIG Cyber Parallel PCI (20x family)", */ 332 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020, 0, 0 }, 333 { 0xffff, 0xffff, 0, 0 }, 334 { 335 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 336 }, 337 }, 338 339 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 340 { /* "SIIG Cyber Parallel Dual PCI (20x family)", */ 341 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021, 0, 0 }, 342 { 0xffff, 0xffff, 0, 0 }, 343 { 344 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 345 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 346 }, 347 }, 348 349 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 350 { /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */ 351 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040, 0, 0 }, 352 { 0xffff, 0xffff, 0, 0 }, 353 { 354 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 355 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 356 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 357 }, 358 }, 359 360 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */ 361 { /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */ 362 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041, 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 16C850 (20x family): 1S, 2P */ 372 { /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */ 373 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042, 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 Serial PCI 16C550 (20x family): 1S */ 383 { /* "SIIG Cyber Serial PCI 16C550 (20x family)", */ 384 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000, 0, 0 }, 385 { 0xffff, 0xffff, 0, 0 }, 386 { 387 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 388 }, 389 }, 390 391 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 392 { /* "SIIG Cyber Serial PCI 16C650 (20x family)", */ 393 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001, 0, 0 }, 394 { 0xffff, 0xffff, 0, 0 }, 395 { 396 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 397 }, 398 }, 399 400 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 401 { /* "SIIG Cyber Serial PCI 16C850 (20x family)", */ 402 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002, 0, 0 }, 403 { 0xffff, 0xffff, 0, 0 }, 404 { 405 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 406 }, 407 }, 408 409 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 410 { /* "SIIG Cyber I/O PCI 16C550 (20x family)", */ 411 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010, 0, 0 }, 412 { 0xffff, 0xffff, 0, 0 }, 413 { 414 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 415 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 416 }, 417 }, 418 419 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 420 { /* "SIIG Cyber I/O PCI 16C650 (20x family)", */ 421 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011, 0, 0 }, 422 { 0xffff, 0xffff, 0, 0 }, 423 { 424 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 425 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 426 }, 427 }, 428 429 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 430 { /* "SIIG Cyber I/O PCI 16C850 (20x family)", */ 431 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012, 0, 0 }, 432 { 0xffff, 0xffff, 0, 0 }, 433 { 434 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 435 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 436 }, 437 }, 438 439 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 440 { /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */ 441 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030, 0, 0 }, 442 { 0xffff, 0xffff, 0, 0 }, 443 { 444 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 445 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 446 }, 447 }, 448 449 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */ 450 { /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */ 451 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031, 0, 0 }, 452 { 0xffff, 0xffff, 0, 0 }, 453 { 454 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 455 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 456 }, 457 }, 458 459 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 460 { /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */ 461 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032, 0, 0 }, 462 { 0xffff, 0xffff, 0, 0 }, 463 { 464 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 465 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 466 }, 467 }, 468 469 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 470 { /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */ 471 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060, 0, 0 }, 472 { 0xffff, 0xffff, 0, 0 }, 473 { 474 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 475 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 476 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 477 }, 478 }, 479 480 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */ 481 { /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */ 482 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061, 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 16C850 (20x family): 2S, 1P */ 492 { /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */ 493 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062, 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 4S PCI 16C550 (20x family): 4S */ 503 { /* "SIIG Cyber 4S PCI 16C550 (20x family)", */ 504 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050, 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_COM, 0x18, 0x00, COM_FREQ }, 510 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 511 }, 512 }, 513 514 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 515 { /* "SIIG Cyber 4S PCI 16C650 (20x family)", */ 516 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051, 0, 0 }, 517 { 0xffff, 0xffff, 0, 0 }, 518 { 519 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 520 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 521 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 522 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 523 }, 524 }, 525 526 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 527 { /* "SIIG Cyber 4S PCI 16C850 (20x family)", */ 528 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052, 0, 0 }, 529 { 0xffff, 0xffff, 0, 0 }, 530 { 531 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 532 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 533 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 534 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 535 }, 536 }, 537 538 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 539 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 540 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081, 0, 0 }, 541 { 0xffff, 0xffff, 0, 0 }, 542 { 543 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 544 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 545 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 546 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 547 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 548 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ }, 549 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ }, 550 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ }, 551 }, 552 }, 553 554 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 555 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 556 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 557 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082 }, 558 { 0xffff, 0xffff, 0xffff, 0xffff }, 559 { 560 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, 561 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, 562 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, 563 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, 564 }, 565 }, 566 567 /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */ 568 { /* "Exsys EX-41098", */ 569 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 570 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082 }, 571 { 0xffff, 0xffff, 0xffff, 0xffff }, 572 { 573 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, 574 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, 575 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, 576 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, 577 }, 578 }, 579 580 /* 581 * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer 582 */ 583 { /* "VScom PCI-400S", */ 584 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 }, 585 { 0xffff, 0xffff, 0xffff, 0xffff }, 586 { 587 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 588 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 589 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 590 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 591 }, 592 }, 593 594 /* 595 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html. 596 * Some PLX chip. Note: This board has a software selectable(?) 597 * clock multiplier which this driver doesn't support, so you'll 598 * have to use an appropriately scaled baud rate when talking to 599 * the card. 600 */ 601 { /* "VScom PCI-800", */ 602 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1076, 0x10b5, 0x1076 }, 603 { 0xffff, 0xffff, 0xffff, 0xffff }, 604 { 605 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 606 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 607 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ }, 608 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ }, 609 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ }, 610 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ }, 611 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ }, 612 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ }, 613 }, 614 }, 615 616 /* 617 * VScom PCI 011H, 1 lpt. 618 */ 619 { /* "VScom PCI-011H", */ 620 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H, 0, 0 }, 621 { 0xffff, 0xffff, 0, 0 }, 622 { 623 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 624 }, 625 }, 626 627 /* 628 * VScom PCI x10H, 1 lpt. 629 * is the lpt part of VScom 110H, 210H, 410H 630 */ 631 { /* "VScom PCI-x10H", */ 632 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIx10H, 0, 0 }, 633 { 0xffff, 0xffff, 0, 0 }, 634 { 635 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 636 }, 637 }, 638 639 /* 640 * VScom PCI 100H, little sister of 800H, 1 com. 641 * also com part of VScom 110H 642 * The one I have defaults to a fequency of 14.7456 MHz which is 643 * jumper J1 set to 2-3. 644 */ 645 { /* "VScom PCI-100H", */ 646 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H, 0, 0 }, 647 { 0xffff, 0xffff, 0, 0 }, 648 { 649 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 650 }, 651 }, 652 653 /* 654 * VScom PCI 200H, little sister of 800H, 2 com. 655 * also com part of VScom 210H 656 * The one I have defaults to a fequency of 14.7456 MHz which is 657 * jumper J1 set to 2-3. 658 */ 659 660 { /* "VScom PCI-200H", */ 661 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H, 0, 0 }, 662 { 0xffff, 0xffff, 0, 0 }, 663 { 664 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 665 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 666 }, 667 }, 668 669 /* 670 * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips 671 * that offers 4 com port on PCI device 0 (both 400H and 800H) 672 * and 4 on PCI device 1 (800H only). PCI device 0 has 673 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal 674 * instead of the standart 1.8432MHz. 675 * There's a version with a jumper for selecting the crystal frequency, 676 * defaults to 8x as used here. The jumperless version uses 8x, too. 677 */ 678 { /* "VScom PCI-400H/800H", */ 679 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0, 0, 0 }, 680 { 0xffff, 0xffff, 0, 0 }, 681 { 682 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 683 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 684 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 685 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 686 }, 687 }, 688 { /* "VScom PCI-400H/800H", */ 689 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1, 0, 0 }, 690 { 0xffff, 0xffff, 0, 0 }, 691 { 692 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 693 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 694 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 695 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 696 }, 697 }, 698 699 /* 700 * VScom PCI 200HV2, is 200H Version 2. 701 * Sells as 200H 702 */ 703 { /* "VScom PCI-200HV2", */ 704 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2, 0, 0 }, 705 { 0xffff, 0xffff, 0, 0 }, 706 { 707 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 708 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 709 }, 710 }, 711 712 /* 713 * VScom PCI 010L 714 * one lpt 715 * untested 716 */ 717 { /* "VScom PCI-010L", */ 718 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L, 0, 0 }, 719 { 0xffff, 0xffff, 0, 0 }, 720 { 721 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 722 }, 723 }, 724 725 /* 726 * VScom PCI 100L 727 * one com 728 * The one I have defaults to a fequency of 14.7456 MHz which is 729 * jumper J1 set to 2-3. 730 */ 731 { /* "VScom PCI-100L", */ 732 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L, 0, 0 }, 733 { 0xffff, 0xffff, 0, 0 }, 734 { 735 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 736 }, 737 }, 738 739 /* 740 * VScom PCI 110L 741 * one com, one lpt 742 * untested 743 */ 744 { /* "VScom PCI-110L", */ 745 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L, 0, 0 }, 746 { 0xffff, 0xffff, 0, 0 }, 747 { 748 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 749 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 750 }, 751 }, 752 753 /* 754 * VScom PCI-200L has 2 x 16550 UARTS. 755 * The board has a jumper which allows you to select a clock speed 756 * of either 14.7456MHz or 1.8432MHz. By default it runs at 757 * the fast speed. 758 */ 759 { /* "VScom PCI-200L with 2 x 16550 UARTS" */ 760 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L, 0, 0 }, 761 { 0xffff, 0xffff, 0, 0 }, 762 { 763 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8}, 764 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8}, 765 }, 766 }, 767 768 /* 769 * VScom PCI-210L 770 * Has a jumper for frequency selection, defaults to 8x as used here 771 * two com, one lpt 772 */ 773 { /* "VScom PCI-210L" */ 774 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L, 0, 0 }, 775 { 0xffff, 0xffff, 0, 0 }, 776 { 777 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 778 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 779 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 780 }, 781 }, 782 783 /* 784 * VScom PCI 400L 785 * Has a jumper for frequency selection, defaults to 8x as used here 786 * This is equal to J1 in pos 2-3 787 * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex) 788 */ 789 { /* "VScom PCI-400L", */ 790 { PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L, 0, 0 }, 791 { 0xffff, 0xffff, 0, 0 }, 792 { 793 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 794 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 795 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 796 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 797 }, 798 }, 799 800 /* 801 * VScom PCI 800L 802 * Has a jumper for frequency selection, defaults to 8x as used here 803 */ 804 { /* "VScom PCI-800L", */ 805 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L, 0, 0 }, 806 { 0xffff, 0xffff, 0, 0 }, 807 { 808 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 809 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 810 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 811 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 812 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 }, 813 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 }, 814 { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 }, 815 { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 }, 816 }, 817 }, 818 819 /* 820 * Exsys EX-41098 821 */ 822 { /* "Exsys EX-41098", */ 823 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 0, 0 }, 824 { 0xffff, 0xffff, 0, 0 }, 825 { 826 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 827 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 828 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 829 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 830 }, 831 }, 832 833 /* 834 * Boards with an Oxford Semiconductor chip. 835 * 836 * Oxford Semiconductor provides documentation for their chip at: 837 * <URL:http://www.oxsemi.com/products/uarts/index.html> 838 * 839 * As sold by Kouwell <URL:http://www.kouwell.com/>. 840 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports. 841 */ 842 843 /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */ 844 { /* "Oxford Semiconductor OX16PCI952 UARTs", */ 845 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952, 0, 0 }, 846 { 0xffff, 0xffff, 0, 0 }, 847 { 848 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 849 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 850 }, 851 }, 852 853 /* Oxford Semiconductor OX16PCI952 PCI Parallel port */ 854 { /* "Oxford Semiconductor OX16PCI952 Parallel port", */ 855 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P, 0, 0 }, 856 { 0xffff, 0xffff, 0, 0 }, 857 { 858 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 859 }, 860 }, 861 862 /* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */ 863 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 864 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 865 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 }, 866 { 0xffff, 0xffff, 0xffff, 0xffff }, 867 { 868 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, 869 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, 870 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, 871 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, 872 }, 873 }, 874 875 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 876 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 877 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 0, 0 }, 878 { 0xffff, 0xffff, 0, 0 }, 879 { 880 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 881 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 882 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 883 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 884 }, 885 }, 886 887 /* Commell MP-954GPS, GPS and 2 COM */ 888 { /* "Oxford Semiconductor OX16mPCI954 UARTs", */ 889 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXMPCI954, 0, 0 }, 890 { 0xffff, 0xffff, 0, 0 }, 891 { 892 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 893 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ*4 }, 894 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ*4 }, 895 }, 896 }, 897 898 /* Oxford Semiconductor OX16PCI954K PCI UARTs */ 899 { /* "Oxford Semiconductor OX16PCI954K UARTs", */ 900 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K, 0, 0 }, 901 { 0xffff, 0xffff, 0, 0 }, 902 { 903 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 904 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 905 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 906 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 907 }, 908 }, 909 910 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ 911 { /* "Oxford Semiconductor OX16PCI954 Parallel port", */ 912 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P, 0, 0 }, 913 { 0xffff, 0xffff, 0, 0 }, 914 { 915 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 916 }, 917 }, 918 919 /* 920 * NEC PK-UG-X001 K56flex PCI Modem card. 921 * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. 922 */ 923 { /* "NEC PK-UG-X001 K56flex PCI Modem", */ 924 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_MARTH, 0x1033, 0x8014 }, 925 { 0xffff, 0xffff, 0xffff, 0xffff }, 926 { 927 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 928 }, 929 }, 930 931 /* NEC PK-UG-X008 */ 932 { /* "NEC PK-UG-X008", */ 933 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUG, 0x1033, 0x8012 }, 934 { 0xffff, 0xffff, 0xffff, 0xffff }, 935 { 936 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 937 }, 938 }, 939 940 /* Lava Computers 2SP-PCI (0x8000-0x8003) */ 941 { /* "Lava Computers 2SP-PCI parallel port", */ 942 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 }, 943 { 0xffff, 0xfffc, 0, 0 }, 944 { 945 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 946 }, 947 }, 948 949 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 950 { /* "Lava Computers dual serial port", */ 951 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 }, 952 { 0xffff, 0xfffc, 0, 0 }, 953 { 954 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 955 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 956 }, 957 }, 958 959 /* 960 * Lava Computers Quattro-PCI serial ports. 961 * A second version of the Quattro-PCI with different PCI ids. 962 */ 963 { /* "Lava Computers Quattro-PCI 4-port serial", */ 964 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 }, 965 { 0xffff, 0xfffe, 0, 0 }, 966 { 967 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 968 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 969 }, 970 }, 971 972 /* 973 * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI 974 * serial ports. 975 */ 976 { /* "Lava Computers high-speed port", */ 977 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0, 0, 0 }, 978 { 0xffff, 0xfffc, 0, 0 }, 979 { 980 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 981 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ*4 }, 982 }, 983 }, 984 985 /* 986 * Lava Computers LavaPort-single serial port. 987 */ 988 { /* "Lava Computers high-speed port", */ 989 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2, 0, 0 }, 990 { 0xffff, 0xfffc, 0, 0 }, 991 { 992 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 993 }, 994 }, 995 996 /* Lava Computers LavaPort-650 */ 997 { /* "Lava Computers high-speed port", */ 998 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650, 0, 0 }, 999 { 0xffff, 0xfffc, 0, 0 }, 1000 { 1001 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 1002 }, 1003 }, 1004 1005 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */ 1006 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */ 1007 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 }, 1008 { 0xffff, 0xfffc, 0, 0 }, 1009 { 1010 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1011 }, 1012 }, 1013 1014 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */ 1015 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */ 1016 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1, 0, 0 }, 1017 { 0xffff, 0xfffc, 0, 0 }, 1018 { 1019 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1020 }, 1021 }, 1022 1023 /* Lava Computers Octopus-550 serial ports */ 1024 { /* "Lava Computers Octopus-550 8-port serial", */ 1025 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 }, 1026 { 0xffff, 0xfffc, 0, 0 }, 1027 { 1028 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1029 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1030 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1031 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1032 }, 1033 }, 1034 1035 /* US Robotics (3Com) PCI Modems */ 1036 { /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */ 1037 { PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610, 0, 0 }, 1038 { 0xffff, 0xffff, 0, 0 }, 1039 { 1040 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1041 }, 1042 }, 1043 1044 /* IBM 33L4618: AT&T/Lucent Venus Modem */ 1045 { /* "IBM 33L4618: AT&T/Lucent Venus Modem", */ 1046 /* "Actiontec 56K PCI Master" */ 1047 { PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM, 0, 0 }, 1048 { 0xffff, 0xffff, 0, 0 }, 1049 { 1050 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 1051 }, 1052 }, 1053 1054 /* Topic/SmartLink 5634PCV SurfRider */ 1055 { /* "Topic/SmartLink 5634PCV SurfRider" */ 1056 { PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV, 0, 0 }, 1057 { 0xffff, 0xffff, 0, 0 }, 1058 { 1059 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1060 }, 1061 }, 1062 1063 /* SD-LAB PCI I/O Card 4S */ 1064 { /* "Syba Tech Ltd. PCI-4S" */ 1065 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S, 0, 0 }, 1066 { 0xffff, 0xffff, 0, 0 }, 1067 { 1068 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 1069 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 1070 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 1071 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 1072 }, 1073 }, 1074 1075 /* SD-LAB PCI I/O Card 4S2P */ 1076 { /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */ 1077 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P, 0, 0 }, 1078 { 0xffff, 0xffff, 0, 0 }, 1079 { 1080 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 1081 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 1082 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 1083 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 1084 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 1085 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 1086 }, 1087 }, 1088 1089 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1090 { /* "Moxa Technologies, Industio CP-114" */ 1091 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114, 0, 0 }, 1092 { 0xffff, 0xffff, 0, 0 }, 1093 { 1094 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1095 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1096 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1097 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1098 }, 1099 }, 1100 1101 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1102 { /* "Moxa Technologies, SmartIO C104H/PCI" */ 1103 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H, 0, 0 }, 1104 { 0xffff, 0xffff, 0, 0 }, 1105 { 1106 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1107 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1108 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1109 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1110 }, 1111 }, 1112 1113 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1114 { /* "Moxa Technologies, SmartIO CP104/PCI" */ 1115 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104, 0, 0 }, 1116 { 0xffff, 0xffff, 0, 0 }, 1117 { 1118 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1119 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1120 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1121 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1122 }, 1123 }, 1124 1125 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 1126 { /* "Moxa Technologies, Industio C168H" */ 1127 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H, 0, 0 }, 1128 { 0xffff, 0xffff, 0, 0 }, 1129 { 1130 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1131 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1132 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1133 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1134 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 1135 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 1136 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 1137 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 1138 }, 1139 }, 1140 1141 /* NetMos 1P PCI: 1P */ 1142 { /* "NetMos NM9805 1284 Printer Port" */ 1143 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9805, 0, 0 }, 1144 { 0xffff, 0xffff, 0, 0 }, 1145 { 1146 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1147 }, 1148 }, 1149 1150 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 1151 { /* "NetMos NM9835 Dual UART and 1284 Printer port" */ 1152 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0, 0 }, 1153 { 0xffff, 0xffff, 0, 0 }, 1154 { 1155 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1156 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1157 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1158 }, 1159 }, 1160 1161 /* NetMos 4S PCI 16C650 : 4S, 0P */ 1162 { /* "NetMos NM9845 Quad UART" */ 1163 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 }, 1164 { 0xffff, 0xffff, 0xffff, 0xffff }, 1165 { 1166 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1167 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1168 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1169 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1170 }, 1171 }, 1172 1173 /* NetMos 4S1P PCI 16C650 : 4S, 1P */ 1174 { /* "NetMos NM9845 Quad UART and 1284 Printer port" */ 1175 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 }, 1176 { 0xffff, 0xffff, 0xffff, 0xffff }, 1177 { 1178 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1179 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1180 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1181 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1182 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1183 }, 1184 }, 1185 1186 /* NetMos 6S PCI 16C650 : 6S, 0P */ 1187 { /* "NetMos NM9845 6 UART" */ 1188 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 }, 1189 { 0xffff, 0xffff, 0xffff, 0xffff }, 1190 { 1191 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1192 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1193 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1194 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1195 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 1196 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 1197 }, 1198 }, 1199 1200 /* NetMos 2S PCI 16C650 : 2S */ 1201 { /* "NetMos NM9845 Dual UART" */ 1202 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0, 0 }, 1203 { 0xffff, 0xffff, 0, 0 }, 1204 { 1205 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1206 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1207 }, 1208 }, 1209 1210 { /* Sunix 4018A : 2-port parallel */ 1211 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A, 0, 0 }, 1212 { 0xffff, 0xffff, 0, 0 }, 1213 { 1214 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 1215 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 1216 }, 1217 }, 1218 1219 /* 1220 * SUNIX 40XX series of serial/parallel combo cards. 1221 * Tested with 4055A and 4065A. 1222 */ 1223 { /* SUNIX 400X 1P */ 1224 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 }, 1225 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1226 { 1227 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1228 }, 1229 }, 1230 1231 { /* SUNIX 401X 2P */ 1232 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 }, 1233 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1234 { 1235 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1236 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1237 }, 1238 }, 1239 1240 { /* SUNIX 402X 1S */ 1241 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 }, 1242 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1243 { 1244 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1245 }, 1246 }, 1247 1248 { /* SUNIX 403X 2S */ 1249 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 }, 1250 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1251 { 1252 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1253 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1254 }, 1255 }, 1256 1257 { /* SUNIX 4036 2S */ 1258 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x0002 }, 1259 { 0xffff, 0xffff, 0xffff, 0xffff }, 1260 { 1261 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1262 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1263 }, 1264 }, 1265 1266 1267 { /* SUNIX 405X 4S */ 1268 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 }, 1269 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1270 { 1271 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1272 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1273 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ}, 1274 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ}, 1275 }, 1276 }, 1277 1278 { /* SUNIX 406X 8S */ 1279 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 }, 1280 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1281 { 1282 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1283 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1284 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ}, 1285 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ}, 1286 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ}, 1287 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ}, 1288 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ}, 1289 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ}, 1290 }, 1291 }, 1292 1293 { /* SUNIX 407X 2S/1P */ 1294 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 }, 1295 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1296 { 1297 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1298 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1299 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1300 }, 1301 }, 1302 1303 { /* SUNIX 408X 2S/2P */ 1304 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 }, 1305 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1306 { 1307 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1308 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1309 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1310 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1311 }, 1312 }, 1313 1314 { /* SUNIX 409X 4S/2P */ 1315 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 }, 1316 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1317 { 1318 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1319 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1320 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ}, 1321 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ}, 1322 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1323 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1324 }, 1325 }, 1326 1327 /* 1328 * Boca Research Turbo Serial 654 (4 serial port) card. 1329 * Appears to be the same as Chase Research PLC PCI-FAST4 card, 1330 * same as Perle PCI-FAST4 Multi-Port serial card 1331 */ 1332 { /* "Boca Turbo Serial 654 - IOP654" */ 1333 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031 }, 1334 { 0xffff, 0xffff, 0xffff, 0xffff }, 1335 { 1336 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 }, 1337 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 }, 1338 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 }, 1339 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 }, 1340 }, 1341 }, 1342 1343 /* 1344 * Boca Research Turbo Serial 658 (8 serial port) card. 1345 * Appears to be the same as Chase Research PLC PCI-FAST8 card 1346 * same as Perle PCI-FAST8 Multi-Port serial card 1347 */ 1348 { /* "Boca Turbo Serial 658 - IOP658" */ 1349 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021 }, 1350 { 0xffff, 0xffff, 0xffff, 0xffff }, 1351 { 1352 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 }, 1353 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 }, 1354 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 }, 1355 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 }, 1356 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 }, 1357 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 }, 1358 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 }, 1359 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 }, 1360 }, 1361 }, 1362 1363 /* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */ 1364 { /* "Cronyx Omega-PCI" */ 1365 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_CRONYX_OMEGA, 0, 0 }, 1366 { 0xffff, 0xffff, 0, 0 }, 1367 { 1368 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1369 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 1370 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ }, 1371 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ }, 1372 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ }, 1373 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ }, 1374 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ }, 1375 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ }, 1376 }, 1377 }, 1378 1379 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1380 { /* "Avlab Low Profile PCI 4 Serial" */ 1381 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2, 0, 0 }, 1382 { 0xffff, 0xffff, 0, 0 }, 1383 { 1384 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1385 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1386 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1387 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1388 }, 1389 }, 1390 1391 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1392 { /* "Avlab Low Profile PCI 4 Serial" */ 1393 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 }, 1394 { 0xffff, 0xffff, 0, 0 }, 1395 { 1396 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1397 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1398 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1399 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1400 }, 1401 }, 1402 1403 /* Avlab Technology, Inc. PCI 2 Serial: 2S */ 1404 { /* "Avlab PCI 2 Serial" */ 1405 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S, 0, 0 }, 1406 { 0xffff, 0xffff, 0, 0 }, 1407 { 1408 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1409 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1410 }, 1411 }, 1412 1413 /* Digi International Digi Neo 4 Serial */ 1414 { 1415 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 }, 1416 { 0xffff, 0xffff, 0, 0 }, 1417 { 1418 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1419 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1420 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1421 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1422 }, 1423 }, 1424 1425 /* Digi International Digi Neo 8 Serial */ 1426 { 1427 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8, 0, 0 }, 1428 { 0xffff, 0xffff, 0, 0 }, 1429 { 1430 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1431 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1432 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1433 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1434 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 }, 1435 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 }, 1436 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 }, 1437 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 }, 1438 }, 1439 }, 1440 1441 /* 1442 * Multi-Tech ISI5634PCI/4 4-port modem board. 1443 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its 1444 * config EEPROM. 1445 */ 1446 { 1447 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 }, 1448 { 0xffff, 0xffff, 0xffff, 0xffff }, 1449 { 1450 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1451 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1452 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1453 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1454 }, 1455 }, 1456 1457 { /* EXAR XR17C152 Dual UART */ 1458 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152, 0, 0 }, 1459 { 0xffff, 0xffff, 0, 0 }, 1460 { 1461 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1462 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1463 }, 1464 }, 1465 1466 { /* Exar XR17C154 Quad UART */ 1467 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154, 0, 0 }, 1468 { 0xffff, 0xffff, 0, 0 }, 1469 { 1470 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1471 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1472 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1473 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1474 }, 1475 }, 1476 1477 { /* Exar XR17C158 Eight Channel UART */ 1478 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0, 0 }, 1479 { 0xffff, 0xffff, 0, 0 }, 1480 { 1481 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, 1482 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, 1483 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, 1484 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, 1485 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 }, 1486 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 }, 1487 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 }, 1488 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 }, 1489 }, 1490 }, 1491 1492 { /* Dell DRAC 3 Virtual UART */ 1493 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_3_VUART, 0, 0 }, 1494 { 0xffff, 0xffff, 0, 0 }, 1495 { 1496 { PUC_PORT_TYPE_COM, 0x14, 0x0000, COM_FREQ * 128 }, 1497 }, 1498 }, 1499 { /* Dell DRAC 4 Virtual UART */ 1500 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_4_VUART, 0, 0 }, 1501 { 0xffff, 0xffff, 0, 0 }, 1502 { 1503 { PUC_PORT_TYPE_COM, 0x14, 0x0000, COM_FREQ * 128 }, 1504 }, 1505 }, 1506 1507 { /* NULL, */ 1508 1509 { 0, 0, 0, 0 }, 1510 { 0, 0, 0, 0 }, 1511 { 1512 { 0, 0, 0 }, 1513 }, 1514 } 1515 }; 1516