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