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