1 /* $OpenBSD: pucdata.c,v 1.111 2020/01/05 01:07:59 jsg 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 48 const struct puc_device_description puc_devs[] = { 49 50 { /* 6 Series KT */ 51 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_KT, 0x0000, 0x0000 }, 52 { 0xffff, 0xffff, 0x0000, 0x0000 }, 53 { 54 { PUC_PORT_COM, 0x10, 0x0000 }, 55 }, 56 }, 57 { /* 7 Series KT */ 58 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_7SERIES_KT, 0x0000, 0x0000 }, 59 { 0xffff, 0xffff, 0x0000, 0x0000 }, 60 { 61 { PUC_PORT_COM, 0x10, 0x0000 }, 62 }, 63 }, 64 { /* 8 Series KT */ 65 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_8SERIES_KT, 0x0000, 0x0000 }, 66 { 0xffff, 0xffff, 0x0000, 0x0000 }, 67 { 68 { PUC_PORT_COM, 0x10, 0x0000 }, 69 }, 70 }, 71 { /* 8 Series LP KT */ 72 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_8SERIES_LP_KT, 0x0000, 0x0000 }, 73 { 0xffff, 0xffff, 0x0000, 0x0000 }, 74 { 75 { PUC_PORT_COM, 0x10, 0x0000 }, 76 }, 77 }, 78 { /* 9 Series KT */ 79 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_KT, 0x0000, 0x0000 }, 80 { 0xffff, 0xffff, 0x0000, 0x0000 }, 81 { 82 { PUC_PORT_COM, 0x10, 0x0000 }, 83 }, 84 }, 85 { /* 9 Series LP KT */ 86 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_LP_KT, 0x0000, 0x0000 }, 87 { 0xffff, 0xffff, 0x0000, 0x0000 }, 88 { 89 { PUC_PORT_COM, 0x10, 0x0000 }, 90 }, 91 }, 92 { /* 100 Series KT */ 93 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_KT, 0x0000, 0x0000 }, 94 { 0xffff, 0xffff, 0x0000, 0x0000 }, 95 { 96 { PUC_PORT_COM, 0x10, 0x0000 }, 97 }, 98 }, 99 { /* 100 Series LP KT */ 100 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_LP_KT, 0x0000, 0x0000 }, 101 { 0xffff, 0xffff, 0x0000, 0x0000 }, 102 { 103 { PUC_PORT_COM, 0x10, 0x0000 }, 104 }, 105 }, 106 { /* 200 Series KT */ 107 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_200SERIES_KT, 0x0000, 0x0000 }, 108 { 0xffff, 0xffff, 0x0000, 0x0000 }, 109 { 110 { PUC_PORT_COM, 0x10, 0x0000 }, 111 }, 112 }, 113 { /* 300 Series KT */ 114 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_KT, 0x0000, 0x0000 }, 115 { 0xffff, 0xffff, 0x0000, 0x0000 }, 116 { 117 { PUC_PORT_COM, 0x10, 0x0000 }, 118 }, 119 }, 120 { /* 300 Series U KT */ 121 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_U_KT, 0x0000, 0x0000 }, 122 { 0xffff, 0xffff, 0x0000, 0x0000 }, 123 { 124 { PUC_PORT_COM, 0x10, 0x0000 }, 125 }, 126 }, 127 { /* 82946GZ KT */ 128 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82946GZ_KT, 0x0000, 0x0000 }, 129 { 0xffff, 0xffff, 0x0000, 0x0000 }, 130 { 131 { PUC_PORT_COM, 0x10, 0x0000 }, 132 }, 133 }, 134 { /* 82Q965 KT */ 135 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q965_KT, 0x0000, 0x0000 }, 136 { 0xffff, 0xffff, 0x0000, 0x0000 }, 137 { 138 { PUC_PORT_COM, 0x10, 0x0000 }, 139 }, 140 }, 141 { /* 82G965 KT */ 142 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G965_KT, 0x0000, 0x0000 }, 143 { 0xffff, 0xffff, 0x0000, 0x0000 }, 144 { 145 { PUC_PORT_COM, 0x10, 0x0000 }, 146 }, 147 }, 148 { /* 82Q35 KT */ 149 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q35_KT, 0x0000, 0x0000 }, 150 { 0xffff, 0xffff, 0x0000, 0x0000 }, 151 { 152 { PUC_PORT_COM, 0x10, 0x0000 }, 153 }, 154 }, 155 { /* 82G33 KT */ 156 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G33_KT, 0x0000, 0x0000 }, 157 { 0xffff, 0xffff, 0x0000, 0x0000 }, 158 { 159 { PUC_PORT_COM, 0x10, 0x0000 }, 160 }, 161 }, 162 { /* 82Q33 KT */ 163 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q33_KT, 0x0000, 0x0000 }, 164 { 0xffff, 0xffff, 0x0000, 0x0000 }, 165 { 166 { PUC_PORT_COM, 0x10, 0x0000 }, 167 }, 168 }, 169 { /* 82X38 KT */ 170 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82X38_KT, 0x0000, 0x0000 }, 171 { 0xffff, 0xffff, 0x0000, 0x0000 }, 172 { 173 { PUC_PORT_COM, 0x10, 0x0000 }, 174 }, 175 }, 176 { /* GM965 KT */ 177 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GM965_KT, 0x0000, 0x0000 }, 178 { 0xffff, 0xffff, 0x0000, 0x0000 }, 179 { 180 { PUC_PORT_COM, 0x10, 0x0000 }, 181 }, 182 }, 183 { /* GME965 KT */ 184 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GME965_KT, 0x0000, 0x0000 }, 185 { 0xffff, 0xffff, 0x0000, 0x0000 }, 186 { 187 { PUC_PORT_COM, 0x10, 0x0000 }, 188 }, 189 }, 190 { /* GM45 KT */ 191 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GM45_KT, 0x0000, 0x0000 }, 192 { 0xffff, 0xffff, 0x0000, 0x0000 }, 193 { 194 { PUC_PORT_COM, 0x10, 0x0000 }, 195 }, 196 }, 197 { /* Q45 KT */ 198 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q45_KT, 0x0000, 0x0000 }, 199 { 0xffff, 0xffff, 0x0000, 0x0000 }, 200 { 201 { PUC_PORT_COM, 0x10, 0x0000 }, 202 }, 203 }, 204 { /* 3400 KT */ 205 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3400_KT, 0x0000, 0x0000 }, 206 { 0xffff, 0xffff, 0x0000, 0x0000 }, 207 { 208 { PUC_PORT_COM, 0x10, 0x0000 }, 209 }, 210 }, 211 { /* Intel EG20T */ 212 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_1, 0x0000, 0x0000 }, 213 { 0xffff, 0xffff, 0x0000, 0x0000 }, 214 { 215 { PUC_PORT_COM, 0x10, 0x0000 }, 216 }, 217 }, 218 { /* Intel EG20T */ 219 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_2, 0x0000, 0x0000 }, 220 { 0xffff, 0xffff, 0x0000, 0x0000 }, 221 { 222 { PUC_PORT_COM, 0x10, 0x0000 }, 223 }, 224 }, 225 { /* Intel EG20T */ 226 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_3, 0x0000, 0x0000 }, 227 { 0xffff, 0xffff, 0x0000, 0x0000 }, 228 { 229 { PUC_PORT_COM, 0x10, 0x0000 }, 230 }, 231 }, 232 { /* Intel EG20T */ 233 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_SERIAL_4, 0x0000, 0x0000 }, 234 { 0xffff, 0xffff, 0x0000, 0x0000 }, 235 { 236 { PUC_PORT_COM, 0x10, 0x0000 }, 237 }, 238 }, 239 { /* Atom S1200 UART */ 240 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ATOM_S1200_UART, 0x0000, 0x0000 }, 241 { 0xffff, 0xffff, 0x0000, 0x0000 }, 242 { 243 { PUC_PORT_COM, 0x10, 0x0000 }, 244 }, 245 }, 246 /* 247 * XXX no entry because I have no data: 248 * XXX Dolphin Peripherals 4006 (single parallel) 249 */ 250 251 /* 252 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with 253 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 254 * into the subsystem fields, and claims that it's a 255 * network/misc (0x02/0x80) device. 256 */ 257 { /* "Dolphin Peripherals 4014" */ 258 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6810 }, 259 { 0xffff, 0xffff, 0xffff, 0xffff }, 260 { 261 { PUC_PORT_LPT, 0x20, 0x0000 }, 262 { PUC_PORT_LPT, 0x24, 0x0000 }, 263 }, 264 }, 265 266 /* 267 * XXX no entry because I have no data: 268 * XXX Dolphin Peripherals 4025 (single serial) 269 */ 270 271 /* 272 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with 273 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 274 * into the subsystem fields, and claims that it's a 275 * network/misc (0x02/0x80) device. 276 */ 277 { /* "Dolphin Peripherals 4035" */ 278 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6808 }, 279 { 0xffff, 0xffff, 0xffff, 0xffff }, 280 { 281 { PUC_PORT_COM, 0x18, 0x0000 }, 282 { PUC_PORT_COM, 0x1c, 0x0000 }, 283 }, 284 }, 285 286 /* 287 * XXX no entry because I have no data: 288 * XXX Dolphin Peripherals 4078 (dual serial and single parallel) 289 */ 290 291 /* 292 * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS 293 */ 294 295 /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */ 296 { /* "Decision Computer Inc PCCOM 2 Port RS232/422/485", */ 297 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2, 0, 0 }, 298 { 0xffff, 0xffff, 0, 0 }, 299 { 300 { PUC_PORT_COM, 0x1c, 0x0000 }, 301 { PUC_PORT_COM, 0x1c, 0x0008 }, 302 }, 303 }, 304 305 /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */ 306 { /* "Decision Computer Inc PCCOM 4 Port RS232/422/485", */ 307 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4, 0, 0 }, 308 { 0xffff, 0xffff, 0, 0 }, 309 { 310 { PUC_PORT_COM, 0x1c, 0x0000 }, 311 { PUC_PORT_COM, 0x1c, 0x0008 }, 312 { PUC_PORT_COM, 0x1c, 0x0010 }, 313 { PUC_PORT_COM, 0x1c, 0x0018 }, 314 }, 315 }, 316 317 /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */ 318 { /* "Decision Computer Inc PCCOM 8 Port RS232/422/485", */ 319 { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8, 0, 0 }, 320 { 0xffff, 0xffff, 0, 0 }, 321 { 322 { PUC_PORT_COM, 0x1c, 0x0000 }, 323 { PUC_PORT_COM, 0x1c, 0x0008 }, 324 { PUC_PORT_COM, 0x1c, 0x0010 }, 325 { PUC_PORT_COM, 0x1c, 0x0018 }, 326 { PUC_PORT_COM, 0x1c, 0x0020 }, 327 { PUC_PORT_COM, 0x1c, 0x0028 }, 328 { PUC_PORT_COM, 0x1c, 0x0030 }, 329 { PUC_PORT_COM, 0x1c, 0x0038 }, 330 }, 331 }, 332 /* IBM SurePOS 300 Series (481033H) serial ports */ 333 { /* "IBM SurePOS 300 Series (481033H) serial ports", */ 334 { PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC, 0, 0 }, 335 { 0xffff, 0xffff, 0, 0 }, 336 { 337 { PUC_PORT_COM, 0x10, 0x0000 }, /* Port C */ 338 { PUC_PORT_COM, 0x18, 0x0000 }, /* Port D */ 339 { PUC_PORT_COM, 0x14, 0x0000 }, /* Port E */ 340 { PUC_PORT_COM, 0x1c, 0x0000 }, /* Port F */ 341 }, 342 }, 343 344 /* 345 * SIIG Boards. 346 * 347 * SIIG provides documentation for their boards at: 348 * <URL:http://www.siig.com/driver.htm> 349 * 350 * Please excuse the weird ordering, it's the order they 351 * use in their documentation. 352 */ 353 354 /* 355 * SIIG "10x" family boards. 356 */ 357 358 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 359 { /* "SIIG Cyber Serial PCI 16C550 (10x family)", */ 360 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000, 0, 0 }, 361 { 0xffff, 0xffff, 0, 0 }, 362 { 363 { PUC_PORT_COM, 0x18, 0x0000 }, 364 }, 365 }, 366 367 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 368 { /* "SIIG Cyber Serial PCI 16C650 (10x family)", */ 369 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001, 0, 0 }, 370 { 0xffff, 0xffff, 0, 0 }, 371 { 372 { PUC_PORT_COM, 0x18, 0x0000 }, 373 }, 374 }, 375 376 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 377 { /* "SIIG Cyber Serial PCI 16C850 (10x family)", */ 378 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002, 0, 0 }, 379 { 0xffff, 0xffff, 0, 0 }, 380 { 381 { PUC_PORT_COM, 0x18, 0x0000 }, 382 }, 383 }, 384 385 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 386 { /* "SIIG Cyber I/O PCI 16C550 (10x family)", */ 387 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010, 0, 0 }, 388 { 0xffff, 0xffff, 0, 0 }, 389 { 390 { PUC_PORT_COM, 0x18, 0x0000 }, 391 { PUC_PORT_LPT, 0x1c, 0x0000 }, 392 }, 393 }, 394 395 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 396 { /* "SIIG Cyber I/O PCI 16C650 (10x family)", */ 397 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011, 0, 0 }, 398 { 0xffff, 0xffff, 0, 0 }, 399 { 400 { PUC_PORT_COM, 0x18, 0x0000 }, 401 { PUC_PORT_LPT, 0x1c, 0x0000 }, 402 }, 403 }, 404 405 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 406 { /* "SIIG Cyber I/O PCI 16C850 (10x family)", */ 407 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012, 0, 0 }, 408 { 0xffff, 0xffff, 0, 0 }, 409 { 410 { PUC_PORT_COM, 0x18, 0x0000 }, 411 { PUC_PORT_LPT, 0x1c, 0x0000 }, 412 }, 413 }, 414 415 /* SIIG Cyber Parallel PCI (10x family): 1P */ 416 { /* "SIIG Cyber Parallel PCI (10x family)", */ 417 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020, 0, 0 }, 418 { 0xffff, 0xffff, 0, 0 }, 419 { 420 { PUC_PORT_LPT, 0x18, 0x0000 }, 421 }, 422 }, 423 424 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 425 { /* "SIIG Cyber Parallel Dual PCI (10x family)", */ 426 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021, 0, 0 }, 427 { 0xffff, 0xffff, 0, 0 }, 428 { 429 { PUC_PORT_LPT, 0x18, 0x0000 }, 430 { PUC_PORT_LPT, 0x20, 0x0000 }, 431 }, 432 }, 433 434 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 435 { /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */ 436 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030, 0, 0 }, 437 { 0xffff, 0xffff, 0, 0 }, 438 { 439 { PUC_PORT_COM, 0x18, 0x0000 }, 440 { PUC_PORT_COM, 0x1c, 0x0000 }, 441 }, 442 }, 443 444 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */ 445 { /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */ 446 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031, 0, 0 }, 447 { 0xffff, 0xffff, 0, 0 }, 448 { 449 { PUC_PORT_COM, 0x18, 0x0000 }, 450 { PUC_PORT_COM, 0x1c, 0x0000 }, 451 }, 452 }, 453 454 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 455 { /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */ 456 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032, 0, 0 }, 457 { 0xffff, 0xffff, 0, 0 }, 458 { 459 { PUC_PORT_COM, 0x18, 0x0000 }, 460 { PUC_PORT_COM, 0x1c, 0x0000 }, 461 }, 462 }, 463 464 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 465 { /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */ 466 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034, 0, 0 }, 467 { 0xffff, 0xffff, 0, 0 }, 468 { 469 { PUC_PORT_COM, 0x18, 0x0000 }, 470 { PUC_PORT_COM, 0x1c, 0x0000 }, 471 { PUC_PORT_LPT, 0x20, 0x0000 }, 472 }, 473 }, 474 475 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */ 476 { /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */ 477 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035, 0, 0 }, 478 { 0xffff, 0xffff, 0, 0 }, 479 { 480 { PUC_PORT_COM, 0x18, 0x0000 }, 481 { PUC_PORT_COM, 0x1c, 0x0000 }, 482 { PUC_PORT_LPT, 0x20, 0x0000 }, 483 }, 484 }, 485 486 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */ 487 { /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */ 488 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036, 0, 0 }, 489 { 0xffff, 0xffff, 0, 0 }, 490 { 491 { PUC_PORT_COM, 0x18, 0x0000 }, 492 { PUC_PORT_COM, 0x1c, 0x0000 }, 493 { PUC_PORT_LPT, 0x20, 0x0000 }, 494 }, 495 }, 496 497 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */ 498 { /* "SIIG Cyber 4S PCI 16C550 (10x family)", */ 499 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050, 0, 0 }, 500 { 0xffff, 0xffff, 0, 0 }, 501 { 502 { PUC_PORT_COM, 0x18, 0x0000 }, 503 { PUC_PORT_COM, 0x1c, 0x0000 }, 504 { PUC_PORT_COM, 0x20, 0x0000 }, 505 { PUC_PORT_COM, 0x24, 0x0000 }, 506 }, 507 }, 508 509 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 510 { /* "SIIG Cyber 4S PCI 16C650 (10x family)", */ 511 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051, 0, 0 }, 512 { 0xffff, 0xffff, 0, 0 }, 513 { 514 { PUC_PORT_COM, 0x18, 0x0000 }, 515 { PUC_PORT_COM, 0x1c, 0x0000 }, 516 { PUC_PORT_COM, 0x20, 0x0000 }, 517 { PUC_PORT_COM, 0x24, 0x0000 }, 518 }, 519 }, 520 521 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 522 { /* "SIIG Cyber 4S PCI 16C850 (10x family)", */ 523 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052, 0, 0 }, 524 { 0xffff, 0xffff, 0, 0 }, 525 { 526 { PUC_PORT_COM, 0x18, 0x0000 }, 527 { PUC_PORT_COM, 0x1c, 0x0000 }, 528 { PUC_PORT_COM, 0x20, 0x0000 }, 529 { PUC_PORT_COM, 0x24, 0x0000 }, 530 }, 531 }, 532 533 /* 534 * SIIG "20x" family boards. 535 */ 536 537 /* SIIG Cyber Parallel PCI (20x family): 1P */ 538 { /* "SIIG Cyber Parallel PCI (20x family)", */ 539 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020, 0, 0 }, 540 { 0xffff, 0xffff, 0, 0 }, 541 { 542 { PUC_PORT_LPT, 0x10, 0x0000 }, 543 }, 544 }, 545 546 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 547 { /* "SIIG Cyber Parallel Dual PCI (20x family)", */ 548 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021, 0, 0 }, 549 { 0xffff, 0xffff, 0, 0 }, 550 { 551 { PUC_PORT_LPT, 0x10, 0x0000 }, 552 { PUC_PORT_LPT, 0x18, 0x0000 }, 553 }, 554 }, 555 556 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 557 { /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */ 558 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040, 0, 0 }, 559 { 0xffff, 0xffff, 0, 0 }, 560 { 561 { PUC_PORT_COM, 0x10, 0x0000 }, 562 { PUC_PORT_LPT, 0x14, 0x0000 }, 563 { PUC_PORT_LPT, 0x1c, 0x0000 }, 564 }, 565 }, 566 567 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */ 568 { /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */ 569 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041, 0, 0 }, 570 { 0xffff, 0xffff, 0, 0 }, 571 { 572 { PUC_PORT_COM, 0x10, 0x0000 }, 573 { PUC_PORT_LPT, 0x14, 0x0000 }, 574 { PUC_PORT_LPT, 0x1c, 0x0000 }, 575 }, 576 }, 577 578 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */ 579 { /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */ 580 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042, 0, 0 }, 581 { 0xffff, 0xffff, 0, 0 }, 582 { 583 { PUC_PORT_COM, 0x10, 0x0000 }, 584 { PUC_PORT_LPT, 0x14, 0x0000 }, 585 { PUC_PORT_LPT, 0x1c, 0x0000 }, 586 }, 587 }, 588 589 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */ 590 { /* "SIIG Cyber Serial PCI 16C550 (20x family)", */ 591 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000, 0, 0 }, 592 { 0xffff, 0xffff, 0, 0 }, 593 { 594 { PUC_PORT_COM, 0x10, 0x0000 }, 595 }, 596 }, 597 598 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 599 { /* "SIIG Cyber Serial PCI 16C650 (20x family)", */ 600 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001, 0, 0 }, 601 { 0xffff, 0xffff, 0, 0 }, 602 { 603 { PUC_PORT_COM, 0x10, 0x0000 }, 604 }, 605 }, 606 607 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 608 { /* "SIIG Cyber Serial PCI 16C850 (20x family)", */ 609 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002, 0, 0 }, 610 { 0xffff, 0xffff, 0, 0 }, 611 { 612 { PUC_PORT_COM, 0x10, 0x0000 }, 613 }, 614 }, 615 616 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 617 { /* "SIIG Cyber I/O PCI 16C550 (20x family)", */ 618 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010, 0, 0 }, 619 { 0xffff, 0xffff, 0, 0 }, 620 { 621 { PUC_PORT_COM, 0x10, 0x0000 }, 622 { PUC_PORT_LPT, 0x14, 0x0000 }, 623 }, 624 }, 625 626 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 627 { /* "SIIG Cyber I/O PCI 16C650 (20x family)", */ 628 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011, 0, 0 }, 629 { 0xffff, 0xffff, 0, 0 }, 630 { 631 { PUC_PORT_COM, 0x10, 0x0000 }, 632 { PUC_PORT_LPT, 0x14, 0x0000 }, 633 }, 634 }, 635 636 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 637 { /* "SIIG Cyber I/O PCI 16C850 (20x family)", */ 638 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012, 0, 0 }, 639 { 0xffff, 0xffff, 0, 0 }, 640 { 641 { PUC_PORT_COM, 0x10, 0x0000 }, 642 { PUC_PORT_LPT, 0x14, 0x0000 }, 643 }, 644 }, 645 646 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 647 { /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */ 648 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030, 0, 0 }, 649 { 0xffff, 0xffff, 0, 0 }, 650 { 651 { PUC_PORT_COM, 0x10, 0x0000 }, 652 { PUC_PORT_COM, 0x14, 0x0000 }, 653 }, 654 }, 655 656 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */ 657 { /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */ 658 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031, 0, 0 }, 659 { 0xffff, 0xffff, 0, 0 }, 660 { 661 { PUC_PORT_COM, 0x10, 0x0000 }, 662 { PUC_PORT_COM, 0x14, 0x0000 }, 663 }, 664 }, 665 666 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 667 { /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */ 668 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032, 0, 0 }, 669 { 0xffff, 0xffff, 0, 0 }, 670 { 671 { PUC_PORT_COM, 0x10, 0x0000 }, 672 { PUC_PORT_COM, 0x14, 0x0000 }, 673 }, 674 }, 675 676 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 677 { /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */ 678 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060, 0, 0 }, 679 { 0xffff, 0xffff, 0, 0 }, 680 { 681 { PUC_PORT_COM, 0x10, 0x0000 }, 682 { PUC_PORT_COM, 0x14, 0x0000 }, 683 { PUC_PORT_LPT, 0x18, 0x0000 }, 684 }, 685 }, 686 687 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */ 688 { /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */ 689 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061, 0, 0 }, 690 { 0xffff, 0xffff, 0, 0 }, 691 { 692 { PUC_PORT_COM, 0x10, 0x0000 }, 693 { PUC_PORT_COM, 0x14, 0x0000 }, 694 { PUC_PORT_LPT, 0x18, 0x0000 }, 695 }, 696 }, 697 698 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */ 699 { /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */ 700 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062, 0, 0 }, 701 { 0xffff, 0xffff, 0, 0 }, 702 { 703 { PUC_PORT_COM, 0x10, 0x0000 }, 704 { PUC_PORT_COM, 0x14, 0x0000 }, 705 { PUC_PORT_LPT, 0x18, 0x0000 }, 706 }, 707 }, 708 709 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */ 710 { /* "SIIG Cyber 4S PCI 16C550 (20x family)", */ 711 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050, 0, 0 }, 712 { 0xffff, 0xffff, 0, 0 }, 713 { 714 { PUC_PORT_COM, 0x10, 0x0000 }, 715 { PUC_PORT_COM, 0x14, 0x0000 }, 716 { PUC_PORT_COM, 0x18, 0x0000 }, 717 { PUC_PORT_COM, 0x1c, 0x0000 }, 718 }, 719 }, 720 721 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 722 { /* "SIIG Cyber 4S PCI 16C650 (20x family)", */ 723 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051, 0, 0 }, 724 { 0xffff, 0xffff, 0, 0 }, 725 { 726 { PUC_PORT_COM, 0x10, 0x0000 }, 727 { PUC_PORT_COM, 0x14, 0x0000 }, 728 { PUC_PORT_COM, 0x18, 0x0000 }, 729 { PUC_PORT_COM, 0x1c, 0x0000 }, 730 }, 731 }, 732 733 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 734 { /* "SIIG Cyber 4S PCI 16C850 (20x family)", */ 735 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052, 0, 0 }, 736 { 0xffff, 0xffff, 0, 0 }, 737 { 738 { PUC_PORT_COM, 0x10, 0x0000 }, 739 { PUC_PORT_COM, 0x14, 0x0000 }, 740 { PUC_PORT_COM, 0x18, 0x0000 }, 741 { PUC_PORT_COM, 0x1c, 0x0000 }, 742 }, 743 }, 744 745 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 746 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 747 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081, 0, 0 }, 748 { 0xffff, 0xffff, 0, 0 }, 749 { 750 { PUC_PORT_COM, 0x10, 0x0000 }, 751 { PUC_PORT_COM, 0x14, 0x0000 }, 752 { PUC_PORT_COM, 0x18, 0x0000 }, 753 { PUC_PORT_COM, 0x1c, 0x0000 }, 754 { PUC_PORT_COM, 0x20, 0x0000 }, 755 { PUC_PORT_COM, 0x20, 0x0008 }, 756 { PUC_PORT_COM, 0x20, 0x0010 }, 757 { PUC_PORT_COM, 0x20, 0x0018 }, 758 }, 759 }, 760 761 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 762 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 763 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 764 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082 }, 765 { 0xffff, 0xffff, 0xffff, 0xffff }, 766 { 767 { PUC_PORT_COM_MUL10, 0x10, 0x0000 }, 768 { PUC_PORT_COM_MUL10, 0x10, 0x0008 }, 769 { PUC_PORT_COM_MUL10, 0x10, 0x0010 }, 770 { PUC_PORT_COM_MUL10, 0x10, 0x0018 }, 771 }, 772 }, 773 774 /* OX16PCI954, first part of Serial Technologies Expander PCI-232-108 */ 775 { /* "OX16PCI954" */ 776 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 777 PCI_VENDOR_OXFORD2, 0 }, 778 { 0xffff, 0xffff, 0xffff, 0xffff }, 779 { 780 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 781 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 782 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 783 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 784 }, 785 }, 786 787 /* Exsys EX-41092 (sold as SIIG JJ-E10011-S3) */ 788 { /* "Exsys EX-41092", */ 789 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41092,0x0000,0x0000}, 790 { 0xffff, 0xffff, 0x0000,0x0000}, 791 { 792 { PUC_PORT_COM_MUL10, 0x10, 0x0000 }, 793 }, 794 }, 795 796 /* Exsys EX-41098, second part of Serial Technologies Expander PCI-232-108 */ 797 { /* "Exsys EX-41098", */ 798 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 799 PCI_VENDOR_OXFORD2, 0 }, 800 { 0xffff, 0xffff, 0xffff, 0xffff }, 801 { 802 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 803 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 804 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 805 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 806 }, 807 }, 808 809 /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */ 810 { /* "Exsys EX-41098", */ 811 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 812 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2082 }, 813 { 0xffff, 0xffff, 0xffff, 0xffff }, 814 { 815 { PUC_PORT_COM_MUL10, 0x10, 0x0000 }, 816 { PUC_PORT_COM_MUL10, 0x10, 0x0008 }, 817 { PUC_PORT_COM_MUL10, 0x10, 0x0010 }, 818 { PUC_PORT_COM_MUL10, 0x10, 0x0018 }, 819 }, 820 }, 821 822 /* 823 * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer 824 */ 825 { /* "VScom PCI-400S", */ 826 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 }, 827 { 0xffff, 0xffff, 0xffff, 0xffff }, 828 { 829 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 830 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 831 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 832 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 833 }, 834 }, 835 836 /* 837 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html. 838 * Some PLX chip. Note: This board has a software selectable(?) 839 * clock multiplier which this driver doesn't support, so you'll 840 * have to use an appropriately scaled baud rate when talking to 841 * the card. 842 */ 843 { /* "VScom PCI-800", */ 844 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1076, 0x10b5, 0x1076 }, 845 { 0xffff, 0xffff, 0xffff, 0xffff }, 846 { 847 { PUC_PORT_COM, 0x18, 0x0000 }, 848 { PUC_PORT_COM, 0x18, 0x0008 }, 849 { PUC_PORT_COM, 0x18, 0x0010 }, 850 { PUC_PORT_COM, 0x18, 0x0018 }, 851 { PUC_PORT_COM, 0x18, 0x0020 }, 852 { PUC_PORT_COM, 0x18, 0x0028 }, 853 { PUC_PORT_COM, 0x18, 0x0030 }, 854 { PUC_PORT_COM, 0x18, 0x0038 }, 855 }, 856 }, 857 858 /* 859 * VScom PCI 011H, 1 lpt. 860 */ 861 { /* "VScom PCI-011H", */ 862 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H, 0, 0 }, 863 { 0xffff, 0xffff, 0, 0 }, 864 { 865 { PUC_PORT_LPT, 0x10, 0x0000 }, 866 }, 867 }, 868 869 /* 870 * VScom PCI x10H, 1 lpt. 871 * is the lpt part of VScom 110H, 210H, 410H 872 */ 873 { /* "VScom PCI-x10H", */ 874 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIX10H, 0, 0 }, 875 { 0xffff, 0xffff, 0, 0 }, 876 { 877 { PUC_PORT_LPT, 0x10, 0x0000 }, 878 }, 879 }, 880 881 /* 882 * VScom PCI 100H, little sister of 800H, 1 com. 883 * also com part of VScom 110H 884 * The one I have defaults to a fequency of 14.7456 MHz which is 885 * jumper J1 set to 2-3. 886 */ 887 { /* "VScom PCI-100H", */ 888 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H, 0, 0 }, 889 { 0xffff, 0xffff, 0, 0 }, 890 { 891 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 892 }, 893 }, 894 895 /* 896 * VScom PCI 200H, little sister of 800H, 2 com. 897 * also com part of VScom 210H 898 * The one I have defaults to a fequency of 14.7456 MHz which is 899 * jumper J1 set to 2-3. 900 */ 901 902 { /* "VScom PCI-200H", */ 903 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H, 0, 0 }, 904 { 0xffff, 0xffff, 0, 0 }, 905 { 906 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 907 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 908 }, 909 }, 910 911 /* 912 * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips 913 * that offers 4 com port on PCI device 0 (both 400H and 800H) 914 * and 4 on PCI device 1 (800H only). PCI device 0 has 915 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal 916 * instead of the standart 1.8432MHz. 917 * There's a version with a jumper for selecting the crystal frequency, 918 * defaults to 8x as used here. The jumperless version uses 8x, too. 919 */ 920 { /* "VScom PCI-400H/800H", */ 921 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0, 0, 0 }, 922 { 0xffff, 0xffff, 0, 0 }, 923 { 924 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 925 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 926 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 927 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 928 }, 929 }, 930 { /* "VScom PCI-400H/800H", */ 931 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1, 0, 0 }, 932 { 0xffff, 0xffff, 0, 0 }, 933 { 934 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 935 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 936 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 937 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 938 }, 939 }, 940 941 /* 942 * VScom PCI 200HV2, is 200H Version 2. 943 * Sells as 200H 944 */ 945 { /* "VScom PCI-200HV2", */ 946 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2, 0, 0 }, 947 { 0xffff, 0xffff, 0, 0 }, 948 { 949 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 950 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 951 }, 952 }, 953 954 /* 955 * VScom PCI 010L 956 * one lpt 957 * untested 958 */ 959 { /* "VScom PCI-010L", */ 960 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L, 0, 0 }, 961 { 0xffff, 0xffff, 0, 0 }, 962 { 963 { PUC_PORT_LPT, 0x1c, 0x0000 }, 964 }, 965 }, 966 967 /* 968 * VScom PCI 100L 969 * one com 970 * The one I have defaults to a fequency of 14.7456 MHz which is 971 * jumper J1 set to 2-3. 972 */ 973 { /* "VScom PCI-100L", */ 974 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L, 0, 0 }, 975 { 0xffff, 0xffff, 0, 0 }, 976 { 977 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 978 }, 979 }, 980 981 /* 982 * VScom PCI 110L 983 * one com, one lpt 984 * untested 985 */ 986 { /* "VScom PCI-110L", */ 987 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L, 0, 0 }, 988 { 0xffff, 0xffff, 0, 0 }, 989 { 990 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 991 { PUC_PORT_LPT, 0x1c, 0x0000 }, 992 }, 993 }, 994 995 /* 996 * VScom PCI-200L has 2 x 16550 UARTS. 997 * The board has a jumper which allows you to select a clock speed 998 * of either 14.7456MHz or 1.8432MHz. By default it runs at 999 * the fast speed. 1000 */ 1001 { /* "VScom PCI-200L with 2 x 16550 UARTS" */ 1002 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L, 0, 0 }, 1003 { 0xffff, 0xffff, 0, 0 }, 1004 { 1005 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1006 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1007 }, 1008 }, 1009 1010 /* 1011 * VScom PCI-210L 1012 * Has a jumper for frequency selection, defaults to 8x as used here 1013 * two com, one lpt 1014 */ 1015 { /* "VScom PCI-210L" */ 1016 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L, 0, 0 }, 1017 { 0xffff, 0xffff, 0, 0 }, 1018 { 1019 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1020 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1021 { PUC_PORT_LPT, 0x1c, 0x0000 }, 1022 }, 1023 }, 1024 1025 /* 1026 * VScom PCI 400L 1027 * Has a jumper for frequency selection, defaults to 8x as used here 1028 * This is equal to J1 in pos 2-3 1029 * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex) 1030 */ 1031 { /* "VScom PCI-400L", */ 1032 { PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L, 0, 0 }, 1033 { 0xffff, 0xffff, 0, 0 }, 1034 { 1035 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1036 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1037 { PUC_PORT_COM_MUL8, 0x20, 0x0000 }, 1038 { PUC_PORT_COM_MUL8, 0x20, 0x0008 }, 1039 }, 1040 }, 1041 1042 /* 1043 * VScom PCI 800L 1044 * Has a jumper for frequency selection, defaults to 8x as used here 1045 */ 1046 { /* "VScom PCI-800L", */ 1047 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L, 0, 0 }, 1048 { 0xffff, 0xffff, 0, 0 }, 1049 { 1050 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1051 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1052 { PUC_PORT_COM_MUL8, 0x20, 0x0000 }, 1053 { PUC_PORT_COM_MUL8, 0x20, 0x0008 }, 1054 { PUC_PORT_COM_MUL8, 0x20, 0x0010 }, 1055 { PUC_PORT_COM_MUL8, 0x20, 0x0018 }, 1056 { PUC_PORT_COM_MUL8, 0x20, 0x0020 }, 1057 { PUC_PORT_COM_MUL8, 0x20, 0x0028 }, 1058 }, 1059 }, 1060 1061 /* 1062 * Exsys EX-41098 1063 */ 1064 { /* "Exsys EX-41098", */ 1065 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 0, 0 }, 1066 { 0xffff, 0xffff, 0, 0 }, 1067 { 1068 { PUC_PORT_COM, 0x10, 0x0000 }, 1069 { PUC_PORT_COM, 0x10, 0x0008 }, 1070 { PUC_PORT_COM, 0x10, 0x0010 }, 1071 { PUC_PORT_COM, 0x10, 0x0018 }, 1072 }, 1073 }, 1074 1075 /* 1076 * Boards with an Oxford Semiconductor chip. 1077 * 1078 * Oxford Semiconductor provides documentation for their chip at: 1079 * <URL:http://www.plxtech.com/products/uart/> 1080 * 1081 * As sold by Kouwell <URL:http://www.kouwell.com/>. 1082 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports. 1083 */ 1084 1085 /* Exsys EX-1372 (uses Oxford OX16PCI952 and a 8x clock) */ 1086 { /* "Oxford Semiconductor OX16PCI952 UARTs", */ 1087 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952, 1088 PCI_VENDOR_OXFORD2, 0x0001 }, 1089 { 0xffff, 0xffff, 0xffff, 0xffff }, 1090 { 1091 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1092 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1093 }, 1094 }, 1095 1096 /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */ 1097 { /* "Oxford Semiconductor OX16PCI952 UARTs", */ 1098 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952, 0, 0 }, 1099 { 0xffff, 0xffff, 0, 0 }, 1100 { 1101 { PUC_PORT_COM, 0x10, 0x0000 }, 1102 { PUC_PORT_COM, 0x14, 0x0000 }, 1103 }, 1104 }, 1105 1106 /* Oxford Semiconductor OX16PCI952 PCI Parallel port */ 1107 { /* "Oxford Semiconductor OX16PCI952 Parallel port", */ 1108 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P, 0, 0 }, 1109 { 0xffff, 0xffff, 0, 0 }, 1110 { 1111 { PUC_PORT_LPT, 0x10, 0x0000 }, 1112 }, 1113 }, 1114 1115 /* Oxford Semiconductor OXPCIE952 PCIE Parallel port */ 1116 { /* "Oxford Semiconductor OXPCIE952 PCIE Parallel port", */ 1117 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXPCIE952, 0, 0 }, 1118 { 0xffff, 0xffff, 0, 0 }, 1119 { 1120 { PUC_PORT_LPT, 0x10, 0x0000 }, 1121 }, 1122 }, 1123 1124 /* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */ 1125 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 1126 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 1127 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 }, 1128 { 0xffff, 0xffff, 0xffff, 0xffff }, 1129 { 1130 { PUC_PORT_COM_MUL10, 0x10, 0x0000 }, 1131 { PUC_PORT_COM_MUL10, 0x10, 0x0008 }, 1132 { PUC_PORT_COM_MUL10, 0x10, 0x0010 }, 1133 { PUC_PORT_COM_MUL10, 0x10, 0x0018 }, 1134 }, 1135 }, 1136 1137 /* I-O DATA RSA-PCI2 (uses Oxford 16PCI954 and a 8x clock) */ 1138 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 1139 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 1140 PCI_VENDOR_IODATA, 0xc070 }, 1141 { 0xffff, 0xffff, 0xffff, 0xffff }, 1142 { 1143 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1144 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1145 }, 1146 }, 1147 1148 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 1149 { /* "Oxford Semiconductor OX16PCI954 UARTs", */ 1150 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 0, 0 }, 1151 { 0xffff, 0xffff, 0, 0 }, 1152 { 1153 { PUC_PORT_COM, 0x10, 0x0000 }, 1154 { PUC_PORT_COM, 0x10, 0x0008 }, 1155 { PUC_PORT_COM, 0x10, 0x0010 }, 1156 { PUC_PORT_COM, 0x10, 0x0018 }, 1157 }, 1158 }, 1159 1160 /* Commell MP-954GPS, GPS and 2 COM */ 1161 { /* "Oxford Semiconductor OX16mPCI954 UARTs", */ 1162 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXMPCI954, 0, 0 }, 1163 { 0xffff, 0xffff, 0, 0 }, 1164 { 1165 { PUC_PORT_COM_MUL4, 0x10, 0x0000 }, 1166 { PUC_PORT_COM_MUL4, 0x10, 0x0008 }, 1167 { PUC_PORT_COM_MUL4, 0x10, 0x0010 }, 1168 }, 1169 }, 1170 1171 /* Oxford Semiconductor OX16PCI954K PCI UARTs */ 1172 { /* "Oxford Semiconductor OX16PCI954K UARTs", */ 1173 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K, 0, 0 }, 1174 { 0xffff, 0xffff, 0, 0 }, 1175 { 1176 { PUC_PORT_COM, 0x10, 0x0000 }, 1177 { PUC_PORT_COM, 0x14, 0x0000 }, 1178 { PUC_PORT_COM, 0x18, 0x0000 }, 1179 { PUC_PORT_COM, 0x1c, 0x0000 }, 1180 }, 1181 }, 1182 1183 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ 1184 { /* "Oxford Semiconductor OX16PCI954 Parallel port", */ 1185 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P, 0, 0 }, 1186 { 0xffff, 0xffff, 0, 0 }, 1187 { 1188 { PUC_PORT_LPT, 0x10, 0x0000 }, 1189 }, 1190 }, 1191 1192 /* Oxford Semiconductor PCIE `950 UARTs - 128 byte FIFOs */ 1193 { /* "Oxford Semiconductor PCIE UARTs", */ 1194 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXPCIE952S, 0, 0 }, 1195 { 0xffff, 0xffff, 0, 0 }, 1196 { 1197 { PUC_PORT_COM, 0x10, 0x0000 }, 1198 }, 1199 }, 1200 1201 /* 1202 * Brainboxes BB16PCI958. 1203 * Apparently based on an Oxford Semiconductor OX16PCI958 chip. 1204 */ 1205 { /* "Brainboxes BB16PCI958 UARTs", */ 1206 { PCI_VENDOR_BRAINBOXES, PCI_PRODUCT_BRAINBOXES_IS200_BB16PCI958, 1207 0, 0 }, 1208 { 0xffff, 0xffff, 0, 0 }, 1209 { 1210 { PUC_PORT_COM, 0x18, 0x0000 }, 1211 { PUC_PORT_COM, 0x18, 0x0008 }, 1212 }, 1213 }, 1214 1215 /* 1216 * NEC PK-UG-X001 K56flex PCI Modem card. 1217 * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. 1218 */ 1219 { /* "NEC PK-UG-X001 K56flex PCI Modem", */ 1220 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_MARTH, 0x1033, 0x8014 }, 1221 { 0xffff, 0xffff, 0xffff, 0xffff }, 1222 { 1223 { PUC_PORT_COM, 0x10, 0x0000 }, 1224 }, 1225 }, 1226 1227 /* NEC PK-UG-X008 */ 1228 { /* "NEC PK-UG-X008", */ 1229 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUG, 0x1033, 0x8012 }, 1230 { 0xffff, 0xffff, 0xffff, 0xffff }, 1231 { 1232 { PUC_PORT_COM, 0x10, 0x0000 }, 1233 }, 1234 }, 1235 1236 /* Lava Computers 2SP-PCI (0x8000-0x8003) */ 1237 { /* "Lava Computers 2SP-PCI parallel port", */ 1238 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 }, 1239 { 0xffff, 0xfffc, 0, 0 }, 1240 { 1241 { PUC_PORT_LPT, 0x10, 0x0000 }, 1242 }, 1243 }, 1244 1245 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 1246 { /* "Lava Computers dual serial port", */ 1247 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 }, 1248 { 0xffff, 0xfffc, 0, 0 }, 1249 { 1250 { PUC_PORT_COM, 0x10, 0x0000 }, 1251 { PUC_PORT_COM, 0x14, 0x0000 }, 1252 }, 1253 }, 1254 1255 /* 1256 * Lava Computers Quattro-PCI serial ports. 1257 * A second version of the Quattro-PCI with different PCI ids. 1258 */ 1259 { /* "Lava Computers Quattro-PCI 4-port serial", */ 1260 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 }, 1261 { 0xffff, 0xfffe, 0, 0 }, 1262 { 1263 { PUC_PORT_COM, 0x10, 0x0000 }, 1264 { PUC_PORT_COM, 0x14, 0x0000 }, 1265 }, 1266 }, 1267 1268 /* 1269 * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI 1270 * serial ports. 1271 */ 1272 { /* "Lava Computers high-speed port", */ 1273 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0, 0, 0 }, 1274 { 0xffff, 0xfffc, 0, 0 }, 1275 { 1276 { PUC_PORT_COM_MUL4, 0x10, 0x0000 }, 1277 { PUC_PORT_COM_MUL4, 0x14, 0x0000 }, 1278 }, 1279 }, 1280 1281 /* 1282 * Lava Computers LavaPort-single serial port. 1283 */ 1284 { /* "Lava Computers high-speed port", */ 1285 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2, 0, 0 }, 1286 { 0xffff, 0xfffc, 0, 0 }, 1287 { 1288 { PUC_PORT_COM_MUL4, 0x10, 0x0000 }, 1289 }, 1290 }, 1291 1292 /* Lava Computers LavaPort-650 */ 1293 { /* "Lava Computers high-speed port", */ 1294 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650, 0, 0 }, 1295 { 0xffff, 0xfffc, 0, 0 }, 1296 { 1297 { PUC_PORT_COM_MUL4, 0x10, 0x0000 }, 1298 }, 1299 }, 1300 1301 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */ 1302 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */ 1303 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 }, 1304 { 0xffff, 0xfffc, 0, 0 }, 1305 { 1306 { PUC_PORT_COM, 0x10, 0x0000 }, 1307 }, 1308 }, 1309 1310 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */ 1311 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */ 1312 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1, 0, 0 }, 1313 { 0xffff, 0xfffc, 0, 0 }, 1314 { 1315 { PUC_PORT_COM, 0x10, 0x0000 }, 1316 }, 1317 }, 1318 1319 /* Lava Computers Octopus-550 serial ports */ 1320 { /* "Lava Computers Octopus-550 8-port serial", */ 1321 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 }, 1322 { 0xffff, 0xfffc, 0, 0 }, 1323 { 1324 { PUC_PORT_COM, 0x10, 0x0000 }, 1325 { PUC_PORT_COM, 0x14, 0x0000 }, 1326 { PUC_PORT_COM, 0x18, 0x0000 }, 1327 { PUC_PORT_COM, 0x1c, 0x0000 }, 1328 }, 1329 }, 1330 1331 /* Lava Computers Octopus-550 serial ports */ 1332 { /* "Lava Computers Octopus-550 8-port serial", */ 1333 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_1, 0, 0 }, 1334 { 0xffff, 0xfffc, 0, 0 }, 1335 { 1336 { PUC_PORT_COM, 0x10, 0x0000 }, 1337 { PUC_PORT_COM, 0x14, 0x0000 }, 1338 { PUC_PORT_COM, 0x18, 0x0000 }, 1339 { PUC_PORT_COM, 0x1c, 0x0000 }, 1340 }, 1341 }, 1342 1343 /* US Robotics (3Com) PCI Modems */ 1344 { /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */ 1345 { PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610, 0, 0 }, 1346 { 0xffff, 0xffff, 0, 0 }, 1347 { 1348 { PUC_PORT_COM, 0x10, 0x0000 }, 1349 }, 1350 }, 1351 1352 /* IBM 33L4618: AT&T/Lucent Venus Modem */ 1353 { /* "IBM 33L4618: AT&T/Lucent Venus Modem", */ 1354 /* "Actiontec 56K PCI Master" */ 1355 { PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM, 0, 0 }, 1356 { 0xffff, 0xffff, 0, 0 }, 1357 { 1358 { PUC_PORT_COM, 0x18, 0x0008 }, 1359 }, 1360 }, 1361 1362 /* Topic/SmartLink 5634PCV SurfRider */ 1363 { /* "Topic/SmartLink 5634PCV SurfRider" */ 1364 { PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV, 0, 0 }, 1365 { 0xffff, 0xffff, 0, 0 }, 1366 { 1367 { PUC_PORT_COM, 0x10, 0x0000 }, 1368 }, 1369 }, 1370 1371 /* SD-LAB PCI I/O Card 4S */ 1372 { /* "Syba Tech Ltd. PCI-4S" */ 1373 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S, 0, 0 }, 1374 { 0xffff, 0xffff, 0, 0 }, 1375 { 1376 { PUC_PORT_COM, 0x10, 0x03e8 }, 1377 { PUC_PORT_COM, 0x10, 0x02e8 }, 1378 { PUC_PORT_COM, 0x10, 0x03f8 }, 1379 { PUC_PORT_COM, 0x10, 0x02f8 }, 1380 }, 1381 }, 1382 1383 /* SD-LAB PCI I/O Card 4S2P */ 1384 { /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */ 1385 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P, 0, 0 }, 1386 { 0xffff, 0xffff, 0, 0 }, 1387 { 1388 { PUC_PORT_COM, 0x10, 0x02e8 }, 1389 { PUC_PORT_COM, 0x10, 0x02f8 }, 1390 { PUC_PORT_LPT, 0x10, 0x0000 }, 1391 { PUC_PORT_COM, 0x10, 0x03e8 }, 1392 { PUC_PORT_COM, 0x10, 0x03f8 }, 1393 { PUC_PORT_LPT, 0x10, 0x0000 }, 1394 }, 1395 }, 1396 1397 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1398 { /* "Moxa Technologies, Industio CP-114" */ 1399 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114, 0, 0 }, 1400 { 0xffff, 0xffff, 0, 0 }, 1401 { 1402 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1403 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1404 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1405 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1406 }, 1407 }, 1408 1409 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1410 { /* "Moxa Technologies, SmartIO C104H/PCI" */ 1411 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H, 0, 0 }, 1412 { 0xffff, 0xffff, 0, 0 }, 1413 { 1414 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1415 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1416 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1417 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1418 }, 1419 }, 1420 1421 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1422 { /* "Moxa Technologies, SmartIO CP104UL/PCI" */ 1423 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104UL, 0, 0 }, 1424 { 0xffff, 0xffff, 0, 0 }, 1425 { 1426 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1427 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1428 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1429 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1430 }, 1431 }, 1432 1433 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1434 { /* "Moxa Technologies, SmartIO CP104JU/PCI" */ 1435 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104JU, 0, 0 }, 1436 { 0xffff, 0xffff, 0, 0 }, 1437 { 1438 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1439 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1440 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1441 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1442 }, 1443 }, 1444 1445 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1446 { /* "Moxa Technologies, SmartIO CP104EL/PCI" */ 1447 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104EL, 0, 0 }, 1448 { 0xffff, 0xffff, 0, 0 }, 1449 { 1450 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1451 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1452 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1453 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1454 }, 1455 }, 1456 1457 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 1458 { /* "Moxa Technologies, Industio C168H" */ 1459 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H, 0, 0 }, 1460 { 0xffff, 0xffff, 0, 0 }, 1461 { 1462 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1463 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1464 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1465 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1466 { PUC_PORT_COM_MUL8, 0x18, 0x0020 }, 1467 { PUC_PORT_COM_MUL8, 0x18, 0x0028 }, 1468 { PUC_PORT_COM_MUL8, 0x18, 0x0030 }, 1469 { PUC_PORT_COM_MUL8, 0x18, 0x0038 }, 1470 }, 1471 }, 1472 1473 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 1474 { /* "Moxa Technologies, CP-168U" */ 1475 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP168U, 0, 0 }, 1476 { 0xffff, 0xffff, 0, 0 }, 1477 { 1478 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1479 { PUC_PORT_COM_MUL8, 0x18, 0x0008 }, 1480 { PUC_PORT_COM_MUL8, 0x18, 0x0010 }, 1481 { PUC_PORT_COM_MUL8, 0x18, 0x0018 }, 1482 { PUC_PORT_COM_MUL8, 0x18, 0x0020 }, 1483 { PUC_PORT_COM_MUL8, 0x18, 0x0028 }, 1484 { PUC_PORT_COM_MUL8, 0x18, 0x0030 }, 1485 { PUC_PORT_COM_MUL8, 0x18, 0x0038 }, 1486 }, 1487 }, 1488 1489 /* NetMos 1P PCI: 1P */ 1490 { /* "NetMos NM9805 1284 Printer Port" */ 1491 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9805, 0, 0 }, 1492 { 0xffff, 0xffff, 0, 0 }, 1493 { 1494 { PUC_PORT_LPT, 0x10, 0x0000 }, 1495 }, 1496 }, 1497 1498 /* NetMos 1S PCI 16C650 : 1S */ 1499 { /* "NetMos NM9835 UART" */ 1500 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0x1000, 0x0001 }, 1501 { 0xffff, 0xffff, 0xffff, 0xffff }, 1502 { 1503 { PUC_PORT_COM, 0x10, 0x0000 }, 1504 }, 1505 }, 1506 1507 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 1508 { /* "NetMos NM9835 Dual UART and 1284 Printer port" */ 1509 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0, 0 }, 1510 { 0xffff, 0xffff, 0, 0 }, 1511 { 1512 { PUC_PORT_COM, 0x10, 0x0000 }, 1513 { PUC_PORT_COM, 0x14, 0x0000 }, 1514 { PUC_PORT_LPT, 0x18, 0x0000 }, 1515 }, 1516 }, 1517 1518 /* NetMos 4S PCI 16C650 : 4S, 0P */ 1519 { /* "NetMos NM9845 Quad UART" */ 1520 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 }, 1521 { 0xffff, 0xffff, 0xffff, 0xffff }, 1522 { 1523 { PUC_PORT_COM, 0x10, 0x0000 }, 1524 { PUC_PORT_COM, 0x14, 0x0000 }, 1525 { PUC_PORT_COM, 0x18, 0x0000 }, 1526 { PUC_PORT_COM, 0x1c, 0x0000 }, 1527 }, 1528 }, 1529 1530 /* NetMos 4S1P PCI 16C650 : 4S, 1P */ 1531 { /* "NetMos NM9845 Quad UART and 1284 Printer port" */ 1532 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 }, 1533 { 0xffff, 0xffff, 0xffff, 0xffff }, 1534 { 1535 { PUC_PORT_COM, 0x10, 0x0000 }, 1536 { PUC_PORT_COM, 0x14, 0x0000 }, 1537 { PUC_PORT_COM, 0x18, 0x0000 }, 1538 { PUC_PORT_COM, 0x1c, 0x0000 }, 1539 { PUC_PORT_LPT, 0x20, 0x0000 }, 1540 }, 1541 }, 1542 1543 /* NetMos 6S PCI 16C650 : 6S, 0P */ 1544 { /* "NetMos NM9845 6 UART" */ 1545 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 }, 1546 { 0xffff, 0xffff, 0xffff, 0xffff }, 1547 { 1548 { PUC_PORT_COM, 0x10, 0x0000 }, 1549 { PUC_PORT_COM, 0x14, 0x0000 }, 1550 { PUC_PORT_COM, 0x18, 0x0000 }, 1551 { PUC_PORT_COM, 0x1c, 0x0000 }, 1552 { PUC_PORT_COM, 0x20, 0x0000 }, 1553 { PUC_PORT_COM, 0x24, 0x0000 }, 1554 }, 1555 }, 1556 1557 /* NetMos 2S PCI 16C650 : 2S */ 1558 { /* "NetMos NM9845 Dual UART" */ 1559 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0, 0 }, 1560 { 0xffff, 0xffff, 0, 0 }, 1561 { 1562 { PUC_PORT_COM, 0x10, 0x0000 }, 1563 { PUC_PORT_COM, 0x14, 0x0000 }, 1564 }, 1565 }, 1566 1567 /* NetMos 6S PCI 16C650 : 6S 1568 * Shows up as three PCI devices, two with a single serial 1569 * port and one with four serial ports (on a special ISA 1570 * extender chip). 1571 */ 1572 { /* "NetMos NM9865 6 UART: 1 UART" */ 1573 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x1000 }, 1574 { 0xffff, 0xffff, 0xffff, 0xffff }, 1575 { 1576 { PUC_PORT_COM, 0x10, 0x0000 }, 1577 }, 1578 }, 1579 { /* "NetMos NM9865 6 UART: 4 UART ISA" */ 1580 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3004 }, 1581 { 0xffff, 0xffff, 0xffff, 0xffff }, 1582 { 1583 { PUC_PORT_COM, 0x10, 0x0000 }, 1584 { PUC_PORT_COM, 0x14, 0x0000 }, 1585 { PUC_PORT_COM, 0x18, 0x0000 }, 1586 { PUC_PORT_COM, 0x1c, 0x0000 }, 1587 }, 1588 }, 1589 1590 /* NetMos PCIe Peripheral Controller :UART part */ 1591 { /* "NetMos NM9901 UART" */ 1592 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x1000 }, 1593 { 0xffff, 0xffff, 0xffff, 0xffff }, 1594 { 1595 { PUC_PORT_COM, 0x10, 0x0000 }, 1596 }, 1597 }, 1598 1599 /* NetMos PCIe Peripheral Controller :parallel part */ 1600 { /* "NetMos NM9901 UART" */ 1601 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x2000 }, 1602 { 0xffff, 0xffff, 0xffff, 0xffff }, 1603 { 1604 { PUC_PORT_LPT, 0x10, 0x0000 }, 1605 }, 1606 }, 1607 1608 { /* NetMos NM9922: 2S */ 1609 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9922, 0xa000, 0x1000 }, 1610 { 0xffff, 0xffff, 0xffff, 0xffff }, 1611 { 1612 { PUC_PORT_COM, 0x10, 0x0000 }, 1613 }, 1614 }, 1615 1616 /* 1617 * Perle Speed8 LE. 1618 * Based on an Oxford Semiconductor OX16PCI954 chip, using the 1619 * 8-bit pass-through Local Bus function to hook up 4 1620 * additional UARTs. 1621 */ 1622 { /* OX16PCI954 internal UARTs */ 1623 { PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_SPEED8_LE, 1624 PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954 }, 1625 { 0xffff, 0xffff, 0xffff, 0xffff }, 1626 { 1627 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1628 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1629 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1630 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1631 }, 1632 }, 1633 { /* OX16PCI954 8-bit pass-through Local Bus */ 1634 { PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_SPEED8_LE, 1635 PCI_VENDOR_OXFORD2, 0x9511 }, 1636 { 0xffff, 0xffff, 0xffff, 0xffff }, 1637 { 1638 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1639 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1640 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1641 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1642 }, 1643 }, 1644 1645 { /* Sunix 4018A : 2-port parallel */ 1646 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A, 0, 0 }, 1647 { 0xffff, 0xffff, 0, 0 }, 1648 { 1649 { PUC_PORT_LPT, 0x10, 0x0000 }, 1650 { PUC_PORT_LPT, 0x18, 0x0000 }, 1651 }, 1652 }, 1653 1654 /* 1655 * SUNIX 40XX series of serial/parallel combo cards. 1656 * Tested with 4055A and 4065A. 1657 */ 1658 { /* SUNIX 400X 1P */ 1659 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 }, 1660 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1661 { 1662 { PUC_PORT_LPT, 0x10, 0x0000 }, 1663 }, 1664 }, 1665 1666 { /* SUNIX 401X 2P */ 1667 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 }, 1668 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1669 { 1670 { PUC_PORT_LPT, 0x10, 0x0000 }, 1671 { PUC_PORT_LPT, 0x18, 0x0000 }, 1672 }, 1673 }, 1674 1675 { /* SUNIX 402X 1S */ 1676 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 }, 1677 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1678 { 1679 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1680 }, 1681 }, 1682 1683 { /* SUNIX 403X 2S */ 1684 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 }, 1685 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1686 { 1687 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1688 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1689 }, 1690 }, 1691 1692 { /* SUNIX 4036 2S */ 1693 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x0002 }, 1694 { 0xffff, 0xffff, 0xffff, 0xffff }, 1695 { 1696 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1697 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1698 }, 1699 }, 1700 1701 { /* SUNIX 405X 4S */ 1702 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 }, 1703 { 0xffff, 0xffff, 0xffff, 0xe0f0 }, 1704 { 1705 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1706 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1707 { PUC_PORT_COM, 0x14, 0x0000 }, 1708 { PUC_PORT_COM, 0x14, 0x0008 }, 1709 }, 1710 }, 1711 1712 { /* SUNIX 406X 8S */ 1713 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x5066 }, 1714 { 0xffff, 0xffff, 0xffff, 0xffff }, 1715 { 1716 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1717 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1718 { PUC_PORT_COM, 0x14, 0x0000 }, 1719 { PUC_PORT_COM, 0x14, 0x0008 }, 1720 { PUC_PORT_COM, 0x18, 0x0000 }, 1721 { PUC_PORT_COM, 0x1c, 0x0000 }, 1722 { PUC_PORT_COM, 0x20, 0x0000 }, 1723 { PUC_PORT_COM, 0x24, 0x0000 }, 1724 }, 1725 }, 1726 1727 { /* SUNIX 406X 8S */ 1728 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 }, 1729 { 0xffff, 0xffff, 0xffff, 0xe0f0 }, 1730 { 1731 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1732 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1733 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1734 { PUC_PORT_COM_MUL8, 0x14, 0x0008 }, 1735 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1736 { PUC_PORT_COM_MUL8, 0x1c, 0x0000 }, 1737 { PUC_PORT_COM_MUL8, 0x20, 0x0000 }, 1738 { PUC_PORT_COM_MUL8, 0x24, 0x0000 }, 1739 }, 1740 }, 1741 1742 { /* SUNIX 407X 2S/1P */ 1743 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 }, 1744 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1745 { 1746 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1747 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1748 { PUC_PORT_LPT, 0x18, 0x0000 }, 1749 }, 1750 }, 1751 1752 { /* SUNIX 408X 2S/2P */ 1753 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 }, 1754 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1755 { 1756 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1757 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1758 { PUC_PORT_LPT, 0x18, 0x0000 }, 1759 { PUC_PORT_LPT, 0x20, 0x0000 }, 1760 }, 1761 }, 1762 1763 { /* SUNIX 409X 4S/2P */ 1764 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 }, 1765 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1766 { 1767 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1768 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1769 { PUC_PORT_COM, 0x14, 0x0000 }, 1770 { PUC_PORT_COM, 0x14, 0x0008 }, 1771 { PUC_PORT_LPT, 0x18, 0x0000 }, 1772 { PUC_PORT_LPT, 0x20, 0x0000 }, 1773 }, 1774 }, 1775 1776 /* 1777 * SUNIX 50XX series of serial/parallel combo cards. 1778 * Tested with 5066A. 1779 */ 1780 { /* SUNIX 5008 1P */ 1781 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0100 }, 1782 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1783 { 1784 { PUC_PORT_LPT, 0x14, 0x0000 }, 1785 }, 1786 }, 1787 1788 { /* SUNIX 5016 16S */ 1789 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0010 }, 1790 { 0xffff, 0xffff, 0xffff, 0xffff }, 1791 { 1792 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1793 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1794 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1795 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1796 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1797 { PUC_PORT_COM_MUL8, 0x14, 0x0008 }, 1798 { PUC_PORT_COM_MUL8, 0x14, 0x0010 }, 1799 { PUC_PORT_COM_MUL8, 0x14, 0x0018 }, 1800 { PUC_PORT_COM_MUL8, 0x14, 0x0020 }, 1801 { PUC_PORT_COM_MUL8, 0x14, 0x0028 }, 1802 { PUC_PORT_COM_MUL8, 0x14, 0x0030 }, 1803 { PUC_PORT_COM_MUL8, 0x14, 0x0038 }, 1804 { PUC_PORT_COM_MUL8, 0x14, 0x0040 }, 1805 { PUC_PORT_COM_MUL8, 0x14, 0x0048 }, 1806 { PUC_PORT_COM_MUL8, 0x14, 0x0050 }, 1807 { PUC_PORT_COM_MUL8, 0x14, 0x0058 }, 1808 }, 1809 }, 1810 1811 { /* SUNIX 5027 1S */ 1812 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0001 }, 1813 { 0xffff, 0xffff, 0xffff, 0xffff }, 1814 { 1815 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1816 }, 1817 }, 1818 1819 { /* SUNIX 5037 2S */ 1820 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0002 }, 1821 { 0xffff, 0xffff, 0xffff, 0xffff }, 1822 { 1823 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1824 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1825 }, 1826 }, 1827 1828 { /* SUNIX 5056 4S */ 1829 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0004 }, 1830 { 0xffff, 0xffff, 0xffff, 0xffff }, 1831 { 1832 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1833 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1834 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1835 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1836 }, 1837 }, 1838 1839 { /* SUNIX 5066 8S */ 1840 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0008 }, 1841 { 0xffff, 0xffff, 0xffff, 0xffff }, 1842 { 1843 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1844 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1845 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1846 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1847 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1848 { PUC_PORT_COM_MUL8, 0x14, 0x0008 }, 1849 { PUC_PORT_COM_MUL8, 0x14, 0x0010 }, 1850 { PUC_PORT_COM_MUL8, 0x14, 0x0018 }, 1851 }, 1852 }, 1853 1854 { /* SUNIX 5069 1S / 1P */ 1855 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0101 }, 1856 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1857 { 1858 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1859 { PUC_PORT_LPT, 0x14, 0x0000 }, 1860 }, 1861 }, 1862 1863 { /* SUNIX 5079 2S / 1P */ 1864 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0102 }, 1865 { 0xffff, 0xffff, 0xffff, 0xffff }, 1866 { 1867 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1868 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1869 { PUC_PORT_LPT, 0x14, 0x0000 }, 1870 }, 1871 }, 1872 1873 { /* SUNIX 5099 4S / 1P */ 1874 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0104 }, 1875 { 0xffff, 0xffff, 0xffff, 0xffff }, 1876 { 1877 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1878 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1879 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1880 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1881 { PUC_PORT_LPT, 0x14, 0x0000 }, 1882 }, 1883 }, 1884 1885 /* 1886 * Boca Research Turbo Serial 654 (4 serial port) card. 1887 * Appears to be the same as Chase Research PLC PCI-FAST4 card, 1888 * same as Perle PCI-FAST4 Multi-Port serial card 1889 */ 1890 { /* "Boca Turbo Serial 654 - IOP654" */ 1891 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031 }, 1892 { 0xffff, 0xffff, 0xffff, 0xffff }, 1893 { 1894 { PUC_PORT_COM_MUL4, 0x18, 0x0000 }, 1895 { PUC_PORT_COM_MUL4, 0x18, 0x0008 }, 1896 { PUC_PORT_COM_MUL4, 0x18, 0x0010 }, 1897 { PUC_PORT_COM_MUL4, 0x18, 0x0018 }, 1898 }, 1899 }, 1900 1901 /* 1902 * Boca Research Turbo Serial 658 (8 serial port) card. 1903 * Appears to be the same as Chase Research PLC PCI-FAST8 card 1904 * same as Perle PCI-FAST8 Multi-Port serial card 1905 */ 1906 { /* "Boca Turbo Serial 658 - IOP658" */ 1907 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021 }, 1908 { 0xffff, 0xffff, 0xffff, 0xffff }, 1909 { 1910 { PUC_PORT_COM_MUL4, 0x18, 0x0000 }, 1911 { PUC_PORT_COM_MUL4, 0x18, 0x0008 }, 1912 { PUC_PORT_COM_MUL4, 0x18, 0x0010 }, 1913 { PUC_PORT_COM_MUL4, 0x18, 0x0018 }, 1914 { PUC_PORT_COM_MUL4, 0x18, 0x0020 }, 1915 { PUC_PORT_COM_MUL4, 0x18, 0x0028 }, 1916 { PUC_PORT_COM_MUL4, 0x18, 0x0030 }, 1917 { PUC_PORT_COM_MUL4, 0x18, 0x0038 }, 1918 }, 1919 }, 1920 1921 /* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */ 1922 { /* "Cronyx Omega-PCI" */ 1923 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_CRONYX_OMEGA, 0, 0 }, 1924 { 0xffff, 0xffff, 0, 0 }, 1925 { 1926 { PUC_PORT_COM, 0x18, 0x0000 }, 1927 { PUC_PORT_COM, 0x18, 0x0008 }, 1928 { PUC_PORT_COM, 0x18, 0x0010 }, 1929 { PUC_PORT_COM, 0x18, 0x0018 }, 1930 { PUC_PORT_COM, 0x18, 0x0020 }, 1931 { PUC_PORT_COM, 0x18, 0x0028 }, 1932 { PUC_PORT_COM, 0x18, 0x0030 }, 1933 { PUC_PORT_COM, 0x18, 0x0038 }, 1934 }, 1935 }, 1936 1937 /* PLX 9016 8 port serial card. (i.e. Syba) */ 1938 { /* "PLX 9016 - Syba" */ 1939 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9016, 0, 0 }, 1940 { 0xffff, 0xffff, 0, 0 }, 1941 { 1942 { PUC_PORT_COM_MUL4, 0x10, 0x0000 }, 1943 { PUC_PORT_COM_MUL4, 0x10, 0x0008 }, 1944 { PUC_PORT_COM_MUL4, 0x10, 0x0010 }, 1945 { PUC_PORT_COM_MUL4, 0x10, 0x0018 }, 1946 { PUC_PORT_COM_MUL4, 0x10, 0x0020 }, 1947 { PUC_PORT_COM_MUL4, 0x10, 0x0028 }, 1948 { PUC_PORT_COM_MUL4, 0x10, 0x0030 }, 1949 { PUC_PORT_COM_MUL4, 0x10, 0x0038 }, 1950 }, 1951 }, 1952 1953 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1954 { /* "Avlab Low Profile PCI 4 Serial" */ 1955 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2, 0, 0 }, 1956 { 0xffff, 0xffff, 0, 0 }, 1957 { 1958 { PUC_PORT_COM, 0x10, 0x0000 }, 1959 { PUC_PORT_COM, 0x14, 0x0000 }, 1960 { PUC_PORT_COM, 0x18, 0x0000 }, 1961 { PUC_PORT_COM, 0x1c, 0x0000 }, 1962 }, 1963 }, 1964 1965 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1966 { /* "Avlab Low Profile PCI 4 Serial" */ 1967 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 }, 1968 { 0xffff, 0xffff, 0, 0 }, 1969 { 1970 { PUC_PORT_COM, 0x10, 0x0000 }, 1971 { PUC_PORT_COM, 0x14, 0x0000 }, 1972 { PUC_PORT_COM, 0x18, 0x0000 }, 1973 { PUC_PORT_COM, 0x1c, 0x0000 }, 1974 }, 1975 }, 1976 1977 /* Avlab Technology, Inc. PCI 2 Serial: 2S */ 1978 { /* "Avlab PCI 2 Serial" */ 1979 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S, 0, 0 }, 1980 { 0xffff, 0xffff, 0, 0 }, 1981 { 1982 { PUC_PORT_COM, 0x10, 0x0000 }, 1983 { PUC_PORT_COM, 0x14, 0x0000 }, 1984 }, 1985 }, 1986 1987 /* Digi International Digi Neo 4 Serial */ 1988 { 1989 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 }, 1990 { 0xffff, 0xffff, 0, 0 }, 1991 { 1992 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1993 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 1994 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 1995 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 1996 }, 1997 }, 1998 1999 /* Digi International Digi Neo 8 Serial */ 2000 { 2001 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8, 0, 0 }, 2002 { 0xffff, 0xffff, 0, 0 }, 2003 { 2004 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2005 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2006 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2007 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2008 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2009 { PUC_PORT_COM_MUL8, 0x10, 0x0a00 }, 2010 { PUC_PORT_COM_MUL8, 0x10, 0x0c00 }, 2011 { PUC_PORT_COM_MUL8, 0x10, 0x0e00 }, 2012 }, 2013 }, 2014 2015 /* Digi International Digi Neo 8 PCIe Serial */ 2016 { 2017 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8_PCIE, 0, 0 }, 2018 { 0xffff, 0xffff, 0, 0 }, 2019 { 2020 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2021 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2022 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2023 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2024 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2025 { PUC_PORT_COM_MUL8, 0x10, 0x0a00 }, 2026 { PUC_PORT_COM_MUL8, 0x10, 0x0c00 }, 2027 { PUC_PORT_COM_MUL8, 0x10, 0x0e00 }, 2028 }, 2029 }, 2030 2031 /* 2032 * Multi-Tech ISI5634PCI/4 4-port modem board. 2033 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its 2034 * config EEPROM. 2035 */ 2036 { 2037 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 }, 2038 { 0xffff, 0xffff, 0xffff, 0xffff }, 2039 { 2040 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2041 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2042 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2043 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2044 }, 2045 }, 2046 2047 { /* EXAR XR17C152 Dual UART */ 2048 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152, 0, 0 }, 2049 { 0xffff, 0xffff, 0, 0 }, 2050 { 2051 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2052 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2053 }, 2054 }, 2055 2056 { /* Exar XR17C154 Quad UART */ 2057 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154, 0, 0 }, 2058 { 0xffff, 0xffff, 0, 0 }, 2059 { 2060 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2061 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2062 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2063 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2064 }, 2065 }, 2066 2067 { /* Exar XR17C158 Eight Channel UART */ 2068 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0, 0 }, 2069 { 0xffff, 0xffff, 0, 0 }, 2070 { 2071 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2072 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2073 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2074 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2075 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2076 { PUC_PORT_COM_MUL8, 0x10, 0x0a00 }, 2077 { PUC_PORT_COM_MUL8, 0x10, 0x0c00 }, 2078 { PUC_PORT_COM_MUL8, 0x10, 0x0e00 }, 2079 }, 2080 }, 2081 2082 { /* Exar XR17V354 Quad UART */ 2083 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V354, 0, 0 }, 2084 { 0xffff, 0xffff, 0, 0 }, 2085 { 2086 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2087 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2088 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2089 { PUC_PORT_COM_MUL8, 0x10, 0x0C00 }, 2090 }, 2091 }, 2092 2093 { /* Dell DRAC 3 Virtual UART */ 2094 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_3_VUART, 0, 0 }, 2095 { 0xffff, 0xffff, 0, 0 }, 2096 { 2097 { PUC_PORT_COM_MUL128, 0x14, 0x0000 }, 2098 }, 2099 }, 2100 { /* Dell DRAC 4 Virtual UART */ 2101 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_4_VUART, 0, 0 }, 2102 { 0xffff, 0xffff, 0, 0 }, 2103 { 2104 { PUC_PORT_COM_MUL128, 0x14, 0x0000 }, 2105 }, 2106 }, 2107 2108 /* 2109 * Cardbus devices which can potentially show up because of 2110 * Expresscard adapters 2111 * XXX Keep this list synchronized with cardbus/com_cardbus.c 2112 */ 2113 2114 { /* "", */ 2115 { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_GLOBALMODEM56,0, 0 }, 2116 { 0xffff, 0xffff, 0, 0 }, 2117 { 2118 { PUC_PORT_COM, 0x10, 0x0000 }, 2119 }, 2120 }, 2121 { /* "", */ 2122 { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_MODEM56, 0, 0 }, 2123 { 0xffff, 0xffff, 0, 0 }, 2124 { 2125 { PUC_PORT_COM, 0x10, 0x0000 }, 2126 }, 2127 }, 2128 { /* "", */ 2129 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL,0, 0 }, 2130 { 0xffff, 0xffff, 0, 0 }, 2131 { 2132 { PUC_PORT_COM, 0x10, 0x0000 }, 2133 }, 2134 }, 2135 { /* "", */ 2136 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_2,0, 0 }, 2137 { 0xffff, 0xffff, 0, 0 }, 2138 { 2139 { PUC_PORT_COM, 0x10, 0x0000 }, 2140 }, 2141 }, 2142 { /* "", */ 2143 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_GC,0, 0 }, 2144 { 0xffff, 0xffff, 0, 0 }, 2145 { 2146 { PUC_PORT_COM, 0x10, 0x0000 }, 2147 }, 2148 }, 2149 { /* "", */ 2150 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MODEM56, 0, 0 }, 2151 { 0xffff, 0xffff, 0, 0 }, 2152 { 2153 { PUC_PORT_COM, 0x10, 0x0000 }, 2154 }, 2155 }, 2156 { /* "", */ 2157 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXCB950,0, 0 }, 2158 { 0xffff, 0xffff, 0, 0 }, 2159 { 2160 { PUC_PORT_COM, 0x10, 0x0000 }, 2161 }, 2162 }, 2163 { /* "Xircom Cardbus 56K Modem", */ 2164 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM_56K,0, 0 }, 2165 { 0xffff, 0xffff, 0, 0 }, 2166 { 2167 { PUC_PORT_COM, 0x10, 0x0000 }, 2168 }, 2169 }, 2170 { /* "Xircom CBEM56G Modem", */ 2171 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_CBEM56G, 0, 0 }, 2172 { 0xffff, 0xffff, 0, 0 }, 2173 { 2174 { PUC_PORT_COM, 0x10, 0x0000 }, 2175 }, 2176 }, 2177 { /* "Xircom 56k Modem", */ 2178 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM56, 0, 0 }, 2179 { 0xffff, 0xffff, 0, 0 }, 2180 { 2181 { PUC_PORT_COM, 0x10, 0x0000 }, 2182 }, 2183 }, 2184 { /* "WinChipHead CH351 (2S)", */ 2185 { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH351, 0, 0 }, 2186 { 0xffff, 0xffff, 0, 0 }, 2187 { 2188 { PUC_PORT_COM, 0x10, 0x0000 }, 2189 { PUC_PORT_COM, 0x14, 0x0000 }, 2190 }, 2191 }, 2192 { /* "WinChipHead CH352", */ 2193 { PCI_VENDOR_WCH, PCI_PRODUCT_WCH_CH352, 0, 0 }, 2194 { 0xffff, 0xffff, 0, 0 }, 2195 { 2196 { PUC_PORT_COM, 0x10, 0x0000 }, 2197 { PUC_PORT_COM, 0x14, 0x0000 }, 2198 }, 2199 }, 2200 { /* "WinChipHead CH382 (2S)", */ 2201 { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_1, 0, 0 }, 2202 { 0xffff, 0xffff, 0, 0 }, 2203 { 2204 { PUC_PORT_COM, 0x10, 0x00c0 }, 2205 { PUC_PORT_COM, 0x10, 0x00c8 }, 2206 }, 2207 }, 2208 { /* "WinChipHead CH382 (2S1P)", */ 2209 { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_2, 0, 0 }, 2210 { 0xffff, 0xffff, 0, 0 }, 2211 { 2212 { PUC_PORT_COM, 0x10, 0x00c0 }, 2213 { PUC_PORT_COM, 0x10, 0x00c8 }, 2214 }, 2215 }, 2216 { /* "TXIC TX382B (2S)", */ 2217 { PCI_VENDOR_TXIC, PCI_PRODUCT_TXIC_TX382B, 0, 0 }, 2218 { 0xffff, 0xffff, 0, 0 }, 2219 { 2220 { PUC_PORT_COM, 0x10, 0x0000 }, 2221 { PUC_PORT_COM, 0x14, 0x0000 }, 2222 } 2223 }, 2224 { /* "ASIX AX99100", */ 2225 { PCI_VENDOR_ASIX, PCI_PRODUCT_ASIX_AX99100, 0, 0 }, 2226 { 0xffff, 0xffff, 0, 0 }, 2227 { 2228 { PUC_PORT_COM, 0x10, 0x0000 }, 2229 } 2230 }, 2231 { /* "NetMos NM9820 UART" */ 2232 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9820, 0, 0 }, 2233 { 0xffff, 0xffff, 0, 0 }, 2234 { 2235 { PUC_PORT_COM, 0x10, 0x0000 }, 2236 }, 2237 }, 2238 { /* "MosChip MCS9865 Quad Serial Port" */ 2239 { PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x4 }, 2240 { 0xffff, 0xffff, 0xffff, 0xffff }, 2241 { 2242 { PUC_PORT_COM, 0x10, 0x0000 }, 2243 { PUC_PORT_COM, 0x14, 0x0000 }, 2244 { PUC_PORT_COM, 0x18, 0x0000 }, 2245 { PUC_PORT_COM, 0x1c, 0x0000 }, 2246 }, 2247 }, 2248 { /* "MosChip MCS9865 Dual Serial Port" */ 2249 { PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x2 }, 2250 { 0xffff, 0xffff, 0xffff, 0xffff }, 2251 { 2252 { PUC_PORT_COM, 0x10, 0x0000 }, 2253 { PUC_PORT_COM, 0x14, 0x0000 }, 2254 }, 2255 }, 2256 { /* "MosChip MCS9865 Single Serial Port" */ 2257 { PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x1 }, 2258 { 0xffff, 0xffff, 0xffff, 0xffff }, 2259 { 2260 { PUC_PORT_COM, 0x10, 0x0000 }, 2261 }, 2262 }, 2263 { /* "Redhat QEMU PCI Serial" */ 2264 { PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL, 0x0000, 0x0000 }, 2265 { 0xffff, 0xffff, 0x0000, 0x0000 }, 2266 { 2267 { PUC_PORT_COM, 0x10, 0x0000 }, 2268 }, 2269 }, 2270 { /* "Redhat QEMU PCI Serial 2x" */ 2271 { PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL2, 0x0000, 0x0000 }, 2272 { 0xffff, 0xffff, 0x0000, 0x0000 }, 2273 { 2274 { PUC_PORT_COM, 0x10, 0x0000 }, 2275 { PUC_PORT_COM, 0x10, 0x0008 }, 2276 }, 2277 }, 2278 { /* "Redhat QEMU PCI Serial 4x" */ 2279 { PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL4, 0x0000, 0x0000 }, 2280 { 0xffff, 0xffff, 0x0000, 0x0000 }, 2281 { 2282 { PUC_PORT_COM, 0x10, 0x0000 }, 2283 { PUC_PORT_COM, 0x10, 0x0008 }, 2284 { PUC_PORT_COM, 0x10, 0x0010 }, 2285 { PUC_PORT_COM, 0x10, 0x0018 }, 2286 }, 2287 }, 2288 }; 2289 int puc_ndevs = nitems(puc_devs); 2290