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