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