jcs's openbsd hax
openbsd
at jcs 2384 lines 69 kB view raw
1/* $OpenBSD: pucdata.c,v 1.122 2025/07/04 04:31:48 tb 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 48const 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 NM9900 UART" */ 1669 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9900, 0xa000, 0x1000 }, 1670 { 0xffff, 0xffff, 0xffff, 0xffff }, 1671 { 1672 { PUC_PORT_COM, 0x10, 0x0000 }, 1673 }, 1674 }, 1675 1676 /* NetMos PCIe Peripheral Controller :UART part */ 1677 { /* "NetMos NM9901 UART" */ 1678 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x1000 }, 1679 { 0xffff, 0xffff, 0xffff, 0xffff }, 1680 { 1681 { PUC_PORT_COM, 0x10, 0x0000 }, 1682 }, 1683 }, 1684 1685 /* NetMos PCIe Peripheral Controller :parallel part */ 1686 { /* "NetMos NM9901 UART" */ 1687 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x2000 }, 1688 { 0xffff, 0xffff, 0xffff, 0xffff }, 1689 { 1690 { PUC_PORT_LPT, 0x10, 0x0000 }, 1691 }, 1692 }, 1693 1694 { /* NetMos NM9922: 2S */ 1695 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9922, 0xa000, 0x1000 }, 1696 { 0xffff, 0xffff, 0xffff, 0xffff }, 1697 { 1698 { PUC_PORT_COM, 0x10, 0x0000 }, 1699 }, 1700 }, 1701 1702 /* 1703 * Perle Speed8 LE. 1704 * Based on an Oxford Semiconductor OX16PCI954 chip, using the 1705 * 8-bit pass-through Local Bus function to hook up 4 1706 * additional UARTs. 1707 */ 1708 { /* OX16PCI954 internal UARTs */ 1709 { PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_SPEED8_LE, 1710 PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954 }, 1711 { 0xffff, 0xffff, 0xffff, 0xffff }, 1712 { 1713 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1714 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1715 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1716 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1717 }, 1718 }, 1719 { /* OX16PCI954 8-bit pass-through Local Bus */ 1720 { PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_SPEED8_LE, 1721 PCI_VENDOR_OXFORD2, 0x9511 }, 1722 { 0xffff, 0xffff, 0xffff, 0xffff }, 1723 { 1724 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1725 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1726 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1727 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1728 }, 1729 }, 1730 1731 { /* Sunix 4018A : 2-port parallel */ 1732 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A, 0, 0 }, 1733 { 0xffff, 0xffff, 0, 0 }, 1734 { 1735 { PUC_PORT_LPT, 0x10, 0x0000 }, 1736 { PUC_PORT_LPT, 0x18, 0x0000 }, 1737 }, 1738 }, 1739 1740 /* 1741 * SUNIX 40XX series of serial/parallel combo cards. 1742 * Tested with 4055A and 4065A. 1743 */ 1744 { /* SUNIX 400X 1P */ 1745 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 }, 1746 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1747 { 1748 { PUC_PORT_LPT, 0x10, 0x0000 }, 1749 }, 1750 }, 1751 1752 { /* SUNIX 401X 2P */ 1753 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 }, 1754 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1755 { 1756 { PUC_PORT_LPT, 0x10, 0x0000 }, 1757 { PUC_PORT_LPT, 0x18, 0x0000 }, 1758 }, 1759 }, 1760 1761 { /* SUNIX 402X 1S */ 1762 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 }, 1763 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1764 { 1765 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1766 }, 1767 }, 1768 1769 { /* SUNIX 403X 2S */ 1770 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 }, 1771 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1772 { 1773 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1774 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1775 }, 1776 }, 1777 1778 { /* SUNIX 4036 2S */ 1779 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x0002 }, 1780 { 0xffff, 0xffff, 0xffff, 0xffff }, 1781 { 1782 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1783 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1784 }, 1785 }, 1786 1787 { /* SUNIX 405X 4S */ 1788 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 }, 1789 { 0xffff, 0xffff, 0xffff, 0xe0f0 }, 1790 { 1791 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1792 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1793 { PUC_PORT_COM, 0x14, 0x0000 }, 1794 { PUC_PORT_COM, 0x14, 0x0008 }, 1795 }, 1796 }, 1797 1798 { /* SUNIX 406X 8S */ 1799 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x5066 }, 1800 { 0xffff, 0xffff, 0xffff, 0xffff }, 1801 { 1802 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1803 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1804 { PUC_PORT_COM, 0x14, 0x0000 }, 1805 { PUC_PORT_COM, 0x14, 0x0008 }, 1806 { PUC_PORT_COM, 0x18, 0x0000 }, 1807 { PUC_PORT_COM, 0x1c, 0x0000 }, 1808 { PUC_PORT_COM, 0x20, 0x0000 }, 1809 { PUC_PORT_COM, 0x24, 0x0000 }, 1810 }, 1811 }, 1812 1813 { /* SUNIX 406X 8S */ 1814 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 }, 1815 { 0xffff, 0xffff, 0xffff, 0xe0f0 }, 1816 { 1817 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1818 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1819 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1820 { PUC_PORT_COM_MUL8, 0x14, 0x0008 }, 1821 { PUC_PORT_COM_MUL8, 0x18, 0x0000 }, 1822 { PUC_PORT_COM_MUL8, 0x1c, 0x0000 }, 1823 { PUC_PORT_COM_MUL8, 0x20, 0x0000 }, 1824 { PUC_PORT_COM_MUL8, 0x24, 0x0000 }, 1825 }, 1826 }, 1827 1828 { /* SUNIX 407X 2S/1P */ 1829 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 }, 1830 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1831 { 1832 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1833 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1834 { PUC_PORT_LPT, 0x18, 0x0000 }, 1835 }, 1836 }, 1837 1838 { /* SUNIX 408X 2S/2P */ 1839 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 }, 1840 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1841 { 1842 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1843 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1844 { PUC_PORT_LPT, 0x18, 0x0000 }, 1845 { PUC_PORT_LPT, 0x20, 0x0000 }, 1846 }, 1847 }, 1848 1849 { /* SUNIX 409X 4S/2P */ 1850 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 }, 1851 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1852 { 1853 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1854 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1855 { PUC_PORT_COM, 0x14, 0x0000 }, 1856 { PUC_PORT_COM, 0x14, 0x0008 }, 1857 { PUC_PORT_LPT, 0x18, 0x0000 }, 1858 { PUC_PORT_LPT, 0x20, 0x0000 }, 1859 }, 1860 }, 1861 1862 /* 1863 * SUNIX 50XX series of serial/parallel combo cards. 1864 * Tested with 5066A. 1865 */ 1866 { /* SUNIX 5008 1P */ 1867 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0100 }, 1868 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1869 { 1870 { PUC_PORT_LPT, 0x14, 0x0000 }, 1871 }, 1872 }, 1873 1874 { /* SUNIX 5016 16S */ 1875 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0010 }, 1876 { 0xffff, 0xffff, 0xffff, 0xffff }, 1877 { 1878 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1879 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1880 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1881 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1882 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1883 { PUC_PORT_COM_MUL8, 0x14, 0x0008 }, 1884 { PUC_PORT_COM_MUL8, 0x14, 0x0010 }, 1885 { PUC_PORT_COM_MUL8, 0x14, 0x0018 }, 1886 { PUC_PORT_COM_MUL8, 0x14, 0x0020 }, 1887 { PUC_PORT_COM_MUL8, 0x14, 0x0028 }, 1888 { PUC_PORT_COM_MUL8, 0x14, 0x0030 }, 1889 { PUC_PORT_COM_MUL8, 0x14, 0x0038 }, 1890 { PUC_PORT_COM_MUL8, 0x14, 0x0040 }, 1891 { PUC_PORT_COM_MUL8, 0x14, 0x0048 }, 1892 { PUC_PORT_COM_MUL8, 0x14, 0x0050 }, 1893 { PUC_PORT_COM_MUL8, 0x14, 0x0058 }, 1894 }, 1895 }, 1896 1897 { /* SUNIX 5027 1S */ 1898 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0001 }, 1899 { 0xffff, 0xffff, 0xffff, 0xffff }, 1900 { 1901 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1902 }, 1903 }, 1904 1905 { /* SUNIX 5037 2S */ 1906 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0002 }, 1907 { 0xffff, 0xffff, 0xffff, 0xffff }, 1908 { 1909 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1910 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1911 }, 1912 }, 1913 1914 { /* SUNIX 5056 4S */ 1915 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0004 }, 1916 { 0xffff, 0xffff, 0xffff, 0xffff }, 1917 { 1918 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1919 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1920 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1921 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1922 }, 1923 }, 1924 1925 { /* SUNIX 5066 8S */ 1926 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0008 }, 1927 { 0xffff, 0xffff, 0xffff, 0xffff }, 1928 { 1929 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1930 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1931 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1932 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1933 { PUC_PORT_COM_MUL8, 0x14, 0x0000 }, 1934 { PUC_PORT_COM_MUL8, 0x14, 0x0008 }, 1935 { PUC_PORT_COM_MUL8, 0x14, 0x0010 }, 1936 { PUC_PORT_COM_MUL8, 0x14, 0x0018 }, 1937 }, 1938 }, 1939 1940 { /* SUNIX 5069 1S / 1P */ 1941 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0101 }, 1942 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1943 { 1944 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1945 { PUC_PORT_LPT, 0x14, 0x0000 }, 1946 }, 1947 }, 1948 1949 { /* SUNIX 5079 2S / 1P */ 1950 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0102 }, 1951 { 0xffff, 0xffff, 0xffff, 0xffff }, 1952 { 1953 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1954 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1955 { PUC_PORT_LPT, 0x14, 0x0000 }, 1956 }, 1957 }, 1958 1959 { /* SUNIX 5099 4S / 1P */ 1960 { PCI_VENDOR_SUNIX2, PCI_PRODUCT_SUNIX2_50XX, 0x1fd4, 0x0104 }, 1961 { 0xffff, 0xffff, 0xffff, 0xffff }, 1962 { 1963 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 1964 { PUC_PORT_COM_MUL8, 0x10, 0x0008 }, 1965 { PUC_PORT_COM_MUL8, 0x10, 0x0010 }, 1966 { PUC_PORT_COM_MUL8, 0x10, 0x0018 }, 1967 { PUC_PORT_LPT, 0x14, 0x0000 }, 1968 }, 1969 }, 1970 1971 /* 1972 * Boca Research Turbo Serial 654 (4 serial port) card. 1973 * Appears to be the same as Chase Research PLC PCI-FAST4 card, 1974 * same as Perle PCI-FAST4 Multi-Port serial card 1975 */ 1976 { /* "Boca Turbo Serial 654 - IOP654" */ 1977 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031 }, 1978 { 0xffff, 0xffff, 0xffff, 0xffff }, 1979 { 1980 { PUC_PORT_COM_MUL4, 0x18, 0x0000 }, 1981 { PUC_PORT_COM_MUL4, 0x18, 0x0008 }, 1982 { PUC_PORT_COM_MUL4, 0x18, 0x0010 }, 1983 { PUC_PORT_COM_MUL4, 0x18, 0x0018 }, 1984 }, 1985 }, 1986 1987 /* 1988 * Boca Research Turbo Serial 658 (8 serial port) card. 1989 * Appears to be the same as Chase Research PLC PCI-FAST8 card 1990 * same as Perle PCI-FAST8 Multi-Port serial card 1991 */ 1992 { /* "Boca Turbo Serial 658 - IOP658" */ 1993 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021 }, 1994 { 0xffff, 0xffff, 0xffff, 0xffff }, 1995 { 1996 { PUC_PORT_COM_MUL4, 0x18, 0x0000 }, 1997 { PUC_PORT_COM_MUL4, 0x18, 0x0008 }, 1998 { PUC_PORT_COM_MUL4, 0x18, 0x0010 }, 1999 { PUC_PORT_COM_MUL4, 0x18, 0x0018 }, 2000 { PUC_PORT_COM_MUL4, 0x18, 0x0020 }, 2001 { PUC_PORT_COM_MUL4, 0x18, 0x0028 }, 2002 { PUC_PORT_COM_MUL4, 0x18, 0x0030 }, 2003 { PUC_PORT_COM_MUL4, 0x18, 0x0038 }, 2004 }, 2005 }, 2006 2007 /* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */ 2008 { /* "Cronyx Omega-PCI" */ 2009 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_CRONYX_OMEGA, 0, 0 }, 2010 { 0xffff, 0xffff, 0, 0 }, 2011 { 2012 { PUC_PORT_COM, 0x18, 0x0000 }, 2013 { PUC_PORT_COM, 0x18, 0x0008 }, 2014 { PUC_PORT_COM, 0x18, 0x0010 }, 2015 { PUC_PORT_COM, 0x18, 0x0018 }, 2016 { PUC_PORT_COM, 0x18, 0x0020 }, 2017 { PUC_PORT_COM, 0x18, 0x0028 }, 2018 { PUC_PORT_COM, 0x18, 0x0030 }, 2019 { PUC_PORT_COM, 0x18, 0x0038 }, 2020 }, 2021 }, 2022 2023 /* PLX 9016 8 port serial card. (i.e. Syba) */ 2024 { /* "PLX 9016 - Syba" */ 2025 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9016, 0, 0 }, 2026 { 0xffff, 0xffff, 0, 0 }, 2027 { 2028 { PUC_PORT_COM_MUL4, 0x10, 0x0000 }, 2029 { PUC_PORT_COM_MUL4, 0x10, 0x0008 }, 2030 { PUC_PORT_COM_MUL4, 0x10, 0x0010 }, 2031 { PUC_PORT_COM_MUL4, 0x10, 0x0018 }, 2032 { PUC_PORT_COM_MUL4, 0x10, 0x0020 }, 2033 { PUC_PORT_COM_MUL4, 0x10, 0x0028 }, 2034 { PUC_PORT_COM_MUL4, 0x10, 0x0030 }, 2035 { PUC_PORT_COM_MUL4, 0x10, 0x0038 }, 2036 }, 2037 }, 2038 2039 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 2040 { /* "Avlab Low Profile PCI 4 Serial" */ 2041 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2, 0, 0 }, 2042 { 0xffff, 0xffff, 0, 0 }, 2043 { 2044 { PUC_PORT_COM, 0x10, 0x0000 }, 2045 { PUC_PORT_COM, 0x14, 0x0000 }, 2046 { PUC_PORT_COM, 0x18, 0x0000 }, 2047 { PUC_PORT_COM, 0x1c, 0x0000 }, 2048 }, 2049 }, 2050 2051 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 2052 { /* "Avlab Low Profile PCI 4 Serial" */ 2053 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 }, 2054 { 0xffff, 0xffff, 0, 0 }, 2055 { 2056 { PUC_PORT_COM, 0x10, 0x0000 }, 2057 { PUC_PORT_COM, 0x14, 0x0000 }, 2058 { PUC_PORT_COM, 0x18, 0x0000 }, 2059 { PUC_PORT_COM, 0x1c, 0x0000 }, 2060 }, 2061 }, 2062 2063 /* Avlab Technology, Inc. PCI 2 Serial: 2S */ 2064 { /* "Avlab PCI 2 Serial" */ 2065 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S, 0, 0 }, 2066 { 0xffff, 0xffff, 0, 0 }, 2067 { 2068 { PUC_PORT_COM, 0x10, 0x0000 }, 2069 { PUC_PORT_COM, 0x14, 0x0000 }, 2070 }, 2071 }, 2072 2073 /* Digi International Digi Neo 4 Serial */ 2074 { 2075 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 }, 2076 { 0xffff, 0xffff, 0, 0 }, 2077 { 2078 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2079 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2080 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2081 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2082 }, 2083 }, 2084 2085 /* Digi International Digi Neo 8 Serial */ 2086 { 2087 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8, 0, 0 }, 2088 { 0xffff, 0xffff, 0, 0 }, 2089 { 2090 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2091 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2092 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2093 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2094 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2095 { PUC_PORT_COM_MUL8, 0x10, 0x0a00 }, 2096 { PUC_PORT_COM_MUL8, 0x10, 0x0c00 }, 2097 { PUC_PORT_COM_MUL8, 0x10, 0x0e00 }, 2098 }, 2099 }, 2100 2101 /* Digi International Digi Neo 8 PCIe Serial */ 2102 { 2103 { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8_PCIE, 0, 0 }, 2104 { 0xffff, 0xffff, 0, 0 }, 2105 { 2106 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2107 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2108 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2109 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2110 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2111 { PUC_PORT_COM_MUL8, 0x10, 0x0a00 }, 2112 { PUC_PORT_COM_MUL8, 0x10, 0x0c00 }, 2113 { PUC_PORT_COM_MUL8, 0x10, 0x0e00 }, 2114 }, 2115 }, 2116 2117 /* 2118 * Multi-Tech ISI5634PCI/4 4-port modem board. 2119 * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its 2120 * config EEPROM. 2121 */ 2122 { 2123 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 }, 2124 { 0xffff, 0xffff, 0xffff, 0xffff }, 2125 { 2126 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2127 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2128 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2129 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2130 }, 2131 }, 2132 2133 { /* EXAR XR17C152 Dual UART */ 2134 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152, 0, 0 }, 2135 { 0xffff, 0xffff, 0, 0 }, 2136 { 2137 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2138 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2139 }, 2140 }, 2141 2142 { /* Exar XR17C154 Quad UART */ 2143 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154, 0, 0 }, 2144 { 0xffff, 0xffff, 0, 0 }, 2145 { 2146 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2147 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2148 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2149 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2150 }, 2151 }, 2152 2153 { /* Exar XR17C158 Eight Channel UART */ 2154 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0, 0 }, 2155 { 0xffff, 0xffff, 0, 0 }, 2156 { 2157 { PUC_PORT_COM_MUL8, 0x10, 0x0000 }, 2158 { PUC_PORT_COM_MUL8, 0x10, 0x0200 }, 2159 { PUC_PORT_COM_MUL8, 0x10, 0x0400 }, 2160 { PUC_PORT_COM_MUL8, 0x10, 0x0600 }, 2161 { PUC_PORT_COM_MUL8, 0x10, 0x0800 }, 2162 { PUC_PORT_COM_MUL8, 0x10, 0x0a00 }, 2163 { PUC_PORT_COM_MUL8, 0x10, 0x0c00 }, 2164 { PUC_PORT_COM_MUL8, 0x10, 0x0e00 }, 2165 }, 2166 }, 2167 2168 { /* Exar XR17V352 Dual UART */ 2169 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V352, 0, 0 }, 2170 { 0xffff, 0xffff, 0, 0 }, 2171 { 2172 { PUC_PORT_COM_XR17V35X, 0x10, 0x0000 }, 2173 { PUC_PORT_COM_XR17V35X, 0x10, 0x0400 }, 2174 }, 2175 }, 2176 2177 { /* Exar XR17V354 Quad UART */ 2178 { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V354, 0, 0 }, 2179 { 0xffff, 0xffff, 0, 0 }, 2180 { 2181 { PUC_PORT_COM_XR17V35X, 0x10, 0x0000 }, 2182 { PUC_PORT_COM_XR17V35X, 0x10, 0x0400 }, 2183 { PUC_PORT_COM_XR17V35X, 0x10, 0x0800 }, 2184 { PUC_PORT_COM_XR17V35X, 0x10, 0x0C00 }, 2185 }, 2186 }, 2187 2188 { /* Dell DRAC 3 Virtual UART */ 2189 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_3_VUART, 0, 0 }, 2190 { 0xffff, 0xffff, 0, 0 }, 2191 { 2192 { PUC_PORT_COM_MUL128, 0x14, 0x0000 }, 2193 }, 2194 }, 2195 { /* Dell DRAC 4 Virtual UART */ 2196 { PCI_VENDOR_DELL, PCI_PRODUCT_DELL_DRAC_4_VUART, 0, 0 }, 2197 { 0xffff, 0xffff, 0, 0 }, 2198 { 2199 { PUC_PORT_COM_MUL128, 0x14, 0x0000 }, 2200 }, 2201 }, 2202 2203 /* 2204 * Cardbus devices which can potentially show up because of 2205 * Expresscard adapters 2206 * XXX Keep this list synchronized with cardbus/com_cardbus.c 2207 */ 2208 2209 { /* "", */ 2210 { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_GLOBALMODEM56,0, 0 }, 2211 { 0xffff, 0xffff, 0, 0 }, 2212 { 2213 { PUC_PORT_COM, 0x10, 0x0000 }, 2214 }, 2215 }, 2216 { /* "", */ 2217 { PCI_VENDOR_3COM, PCI_PRODUCT_3COM_MODEM56, 0, 0 }, 2218 { 0xffff, 0xffff, 0, 0 }, 2219 { 2220 { PUC_PORT_COM, 0x10, 0x0000 }, 2221 }, 2222 }, 2223 { /* "", */ 2224 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL,0, 0 }, 2225 { 0xffff, 0xffff, 0, 0 }, 2226 { 2227 { PUC_PORT_COM, 0x10, 0x0000 }, 2228 }, 2229 }, 2230 { /* "", */ 2231 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_2,0, 0 }, 2232 { 0xffff, 0xffff, 0, 0 }, 2233 { 2234 { PUC_PORT_COM, 0x10, 0x0000 }, 2235 }, 2236 }, 2237 { /* "", */ 2238 { PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_SERIAL_GC,0, 0 }, 2239 { 0xffff, 0xffff, 0, 0 }, 2240 { 2241 { PUC_PORT_COM, 0x10, 0x0000 }, 2242 }, 2243 }, 2244 { /* "", */ 2245 { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MODEM56, 0, 0 }, 2246 { 0xffff, 0xffff, 0, 0 }, 2247 { 2248 { PUC_PORT_COM, 0x10, 0x0000 }, 2249 }, 2250 }, 2251 { /* "", */ 2252 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OXCB950,0, 0 }, 2253 { 0xffff, 0xffff, 0, 0 }, 2254 { 2255 { PUC_PORT_COM, 0x10, 0x0000 }, 2256 }, 2257 }, 2258 { /* "Xircom Cardbus 56K Modem", */ 2259 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM_56K,0, 0 }, 2260 { 0xffff, 0xffff, 0, 0 }, 2261 { 2262 { PUC_PORT_COM, 0x10, 0x0000 }, 2263 }, 2264 }, 2265 { /* "Xircom CBEM56G Modem", */ 2266 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_CBEM56G, 0, 0 }, 2267 { 0xffff, 0xffff, 0, 0 }, 2268 { 2269 { PUC_PORT_COM, 0x10, 0x0000 }, 2270 }, 2271 }, 2272 { /* "Xircom 56k Modem", */ 2273 { PCI_VENDOR_XIRCOM, PCI_PRODUCT_XIRCOM_MODEM56, 0, 0 }, 2274 { 0xffff, 0xffff, 0, 0 }, 2275 { 2276 { PUC_PORT_COM, 0x10, 0x0000 }, 2277 }, 2278 }, 2279 { /* "WinChipHead CH351 (2S)", */ 2280 { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH351, 0, 0 }, 2281 { 0xffff, 0xffff, 0, 0 }, 2282 { 2283 { PUC_PORT_COM, 0x10, 0x0000 }, 2284 { PUC_PORT_COM, 0x14, 0x0000 }, 2285 }, 2286 }, 2287 { /* "WinChipHead CH352", */ 2288 { PCI_VENDOR_WCH, PCI_PRODUCT_WCH_CH352, 0, 0 }, 2289 { 0xffff, 0xffff, 0, 0 }, 2290 { 2291 { PUC_PORT_COM, 0x10, 0x0000 }, 2292 { PUC_PORT_COM, 0x14, 0x0000 }, 2293 }, 2294 }, 2295 { /* "WinChipHead CH382 (2S)", */ 2296 { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_1, 0, 0 }, 2297 { 0xffff, 0xffff, 0, 0 }, 2298 { 2299 { PUC_PORT_COM, 0x10, 0x00c0 }, 2300 { PUC_PORT_COM, 0x10, 0x00c8 }, 2301 }, 2302 }, 2303 { /* "WinChipHead CH382 (2S1P)", */ 2304 { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_2, 0, 0 }, 2305 { 0xffff, 0xffff, 0, 0 }, 2306 { 2307 { PUC_PORT_COM, 0x10, 0x00c0 }, 2308 { PUC_PORT_COM, 0x10, 0x00c8 }, 2309 }, 2310 }, 2311 { /* "TXIC TX382B (2S)", */ 2312 { PCI_VENDOR_TXIC, PCI_PRODUCT_TXIC_TX382B, 0, 0 }, 2313 { 0xffff, 0xffff, 0, 0 }, 2314 { 2315 { PUC_PORT_COM, 0x10, 0x0000 }, 2316 { PUC_PORT_COM, 0x14, 0x0000 }, 2317 } 2318 }, 2319 { /* "ASIX AX99100", */ 2320 { PCI_VENDOR_ASIX, PCI_PRODUCT_ASIX_AX99100, 0, 0 }, 2321 { 0xffff, 0xffff, 0, 0 }, 2322 { 2323 { PUC_PORT_COM, 0x10, 0x0000 }, 2324 } 2325 }, 2326 { /* "NetMos NM9820 UART" */ 2327 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9820, 0, 0 }, 2328 { 0xffff, 0xffff, 0, 0 }, 2329 { 2330 { PUC_PORT_COM, 0x10, 0x0000 }, 2331 }, 2332 }, 2333 { /* "MosChip MCS9865 Quad Serial Port" */ 2334 { PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x4 }, 2335 { 0xffff, 0xffff, 0xffff, 0xffff }, 2336 { 2337 { PUC_PORT_COM, 0x10, 0x0000 }, 2338 { PUC_PORT_COM, 0x14, 0x0000 }, 2339 { PUC_PORT_COM, 0x18, 0x0000 }, 2340 { PUC_PORT_COM, 0x1c, 0x0000 }, 2341 }, 2342 }, 2343 { /* "MosChip MCS9865 Dual Serial Port" */ 2344 { PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x2 }, 2345 { 0xffff, 0xffff, 0xffff, 0xffff }, 2346 { 2347 { PUC_PORT_COM, 0x10, 0x0000 }, 2348 { PUC_PORT_COM, 0x14, 0x0000 }, 2349 }, 2350 }, 2351 { /* "MosChip MCS9865 Single Serial Port" */ 2352 { PCI_VENDOR_MOSCHIP, PCI_PRODUCT_MOSCHIP_MCS9865, 0x1000, 0x1 }, 2353 { 0xffff, 0xffff, 0xffff, 0xffff }, 2354 { 2355 { PUC_PORT_COM, 0x10, 0x0000 }, 2356 }, 2357 }, 2358 { /* "Redhat QEMU PCI Serial" */ 2359 { PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL, 0x0000, 0x0000 }, 2360 { 0xffff, 0xffff, 0x0000, 0x0000 }, 2361 { 2362 { PUC_PORT_COM, 0x10, 0x0000 }, 2363 }, 2364 }, 2365 { /* "Redhat QEMU PCI Serial 2x" */ 2366 { PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL2, 0x0000, 0x0000 }, 2367 { 0xffff, 0xffff, 0x0000, 0x0000 }, 2368 { 2369 { PUC_PORT_COM, 0x10, 0x0000 }, 2370 { PUC_PORT_COM, 0x10, 0x0008 }, 2371 }, 2372 }, 2373 { /* "Redhat QEMU PCI Serial 4x" */ 2374 { PCI_VENDOR_REDHAT, PCI_PRODUCT_REDHAT_SERIAL4, 0x0000, 0x0000 }, 2375 { 0xffff, 0xffff, 0x0000, 0x0000 }, 2376 { 2377 { PUC_PORT_COM, 0x10, 0x0000 }, 2378 { PUC_PORT_COM, 0x10, 0x0008 }, 2379 { PUC_PORT_COM, 0x10, 0x0010 }, 2380 { PUC_PORT_COM, 0x10, 0x0018 }, 2381 }, 2382 }, 2383}; 2384int puc_ndevs = nitems(puc_devs);