1 /* $OpenBSD: pucdata.c,v 1.40 2005/03/07 13:28:26 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_devices[] = { 50 /* 51 * XXX no entry because I have no data: 52 * XXX Dolphin Peripherals 4006 (single parallel) 53 */ 54 55 /* 56 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with 57 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 58 * into the subsystem fields, and claims that it's a 59 * network/misc (0x02/0x80) device. 60 */ 61 { /* "Dolphin Peripherals 4014" */ 62 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6810 }, 63 { 0xffff, 0xffff, 0xffff, 0xffff }, 64 { 65 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 66 { PUC_PORT_TYPE_LPT, 0x24, 0x00 }, 67 }, 68 }, 69 70 /* 71 * XXX no entry because I have no data: 72 * XXX Dolphin Peripherals 4025 (single serial) 73 */ 74 75 /* 76 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with 77 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 78 * into the subsystem fields, and claims that it's a 79 * network/misc (0x02/0x80) device. 80 */ 81 { /* "Dolphin Peripherals 4035" */ 82 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6808 }, 83 { 0xffff, 0xffff, 0xffff, 0xffff }, 84 { 85 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 86 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 87 }, 88 }, 89 90 /* 91 * XXX no entry because I have no data: 92 * XXX Dolphin Peripherals 4078 (dual serial and single parallel) 93 */ 94 95 96 /* 97 * SIIG Boards. 98 * 99 * SIIG provides documentation for their boards at: 100 * <URL:http://www.siig.com/driver.htm> 101 * 102 * Please excuse the weird ordering, it's the order they 103 * use in their documentation. 104 */ 105 106 /* 107 * SIIG "10x" family boards. 108 */ 109 110 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 111 { /* "SIIG Cyber Serial PCI 16C550 (10x family)", */ 112 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000, 0, 0 }, 113 { 0xffff, 0xffff, 0, 0 }, 114 { 115 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 116 }, 117 }, 118 119 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 120 { /* "SIIG Cyber Serial PCI 16C650 (10x family)", */ 121 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001, 0, 0 }, 122 { 0xffff, 0xffff, 0, 0 }, 123 { 124 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 125 }, 126 }, 127 128 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 129 { /* "SIIG Cyber Serial PCI 16C850 (10x family)", */ 130 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002, 0, 0 }, 131 { 0xffff, 0xffff, 0, 0 }, 132 { 133 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 134 }, 135 }, 136 137 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 138 { /* "SIIG Cyber I/O PCI 16C550 (10x family)", */ 139 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010, 0, 0 }, 140 { 0xffff, 0xffff, 0, 0 }, 141 { 142 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 143 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 144 }, 145 }, 146 147 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 148 { /* "SIIG Cyber I/O PCI 16C650 (10x family)", */ 149 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011, 0, 0 }, 150 { 0xffff, 0xffff, 0, 0 }, 151 { 152 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 153 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 154 }, 155 }, 156 157 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 158 { /* "SIIG Cyber I/O PCI 16C850 (10x family)", */ 159 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012, 0, 0 }, 160 { 0xffff, 0xffff, 0, 0 }, 161 { 162 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 163 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 164 }, 165 }, 166 167 /* SIIG Cyber Parallel PCI (10x family): 1P */ 168 { /* "SIIG Cyber Parallel PCI (10x family)", */ 169 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020, 0, 0 }, 170 { 0xffff, 0xffff, 0, 0 }, 171 { 172 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 173 }, 174 }, 175 176 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 177 { /* "SIIG Cyber Parallel Dual PCI (10x family)", */ 178 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021, 0, 0 }, 179 { 0xffff, 0xffff, 0, 0 }, 180 { 181 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 182 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 183 }, 184 }, 185 186 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 187 { /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */ 188 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030, 0, 0 }, 189 { 0xffff, 0xffff, 0, 0 }, 190 { 191 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 192 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 193 }, 194 }, 195 196 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */ 197 { /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */ 198 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031, 0, 0 }, 199 { 0xffff, 0xffff, 0, 0 }, 200 { 201 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 202 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 203 }, 204 }, 205 206 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 207 { /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */ 208 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032, 0, 0 }, 209 { 0xffff, 0xffff, 0, 0 }, 210 { 211 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 212 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 213 }, 214 }, 215 216 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 217 { /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */ 218 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034, 0, 0 }, 219 { 0xffff, 0xffff, 0, 0 }, 220 { 221 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 222 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 223 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 224 }, 225 }, 226 227 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */ 228 { /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */ 229 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035, 0, 0 }, 230 { 0xffff, 0xffff, 0, 0 }, 231 { 232 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 233 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 234 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 235 }, 236 }, 237 238 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */ 239 { /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */ 240 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036, 0, 0 }, 241 { 0xffff, 0xffff, 0, 0 }, 242 { 243 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 244 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 245 { PUC_PORT_TYPE_LPT, 0x20, 0x00 }, 246 }, 247 }, 248 249 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */ 250 { /* "SIIG Cyber 4S PCI 16C550 (10x family)", */ 251 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050, 0, 0 }, 252 { 0xffff, 0xffff, 0, 0 }, 253 { 254 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 255 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 256 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 257 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 258 }, 259 }, 260 261 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 262 { /* "SIIG Cyber 4S PCI 16C650 (10x family)", */ 263 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051, 0, 0 }, 264 { 0xffff, 0xffff, 0, 0 }, 265 { 266 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 267 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 268 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 269 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 270 }, 271 }, 272 273 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 274 { /* "SIIG Cyber 4S PCI 16C850 (10x family)", */ 275 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052, 0, 0 }, 276 { 0xffff, 0xffff, 0, 0 }, 277 { 278 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 279 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 280 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 281 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 282 }, 283 }, 284 285 /* 286 * SIIG "20x" family boards. 287 */ 288 289 /* SIIG Cyber Parallel PCI (20x family): 1P */ 290 { /* "SIIG Cyber Parallel PCI (20x family)", */ 291 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020, 0, 0 }, 292 { 0xffff, 0xffff, 0, 0 }, 293 { 294 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 295 }, 296 }, 297 298 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 299 { /* "SIIG Cyber Parallel Dual PCI (20x family)", */ 300 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021, 0, 0 }, 301 { 0xffff, 0xffff, 0, 0 }, 302 { 303 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 304 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 305 }, 306 }, 307 308 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 309 { /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */ 310 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040, 0, 0 }, 311 { 0xffff, 0xffff, 0, 0 }, 312 { 313 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 314 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 315 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 316 }, 317 }, 318 319 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */ 320 { /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */ 321 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041, 0, 0 }, 322 { 0xffff, 0xffff, 0, 0 }, 323 { 324 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 325 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 326 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 327 }, 328 }, 329 330 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */ 331 { /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */ 332 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042, 0, 0 }, 333 { 0xffff, 0xffff, 0, 0 }, 334 { 335 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 336 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 337 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 338 }, 339 }, 340 341 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */ 342 { /* "SIIG Cyber Serial PCI 16C550 (20x family)", */ 343 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000, 0, 0 }, 344 { 0xffff, 0xffff, 0, 0 }, 345 { 346 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 347 }, 348 }, 349 350 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 351 { /* "SIIG Cyber Serial PCI 16C650 (20x family)", */ 352 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001, 0, 0 }, 353 { 0xffff, 0xffff, 0, 0 }, 354 { 355 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 356 }, 357 }, 358 359 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 360 { /* "SIIG Cyber Serial PCI 16C850 (20x family)", */ 361 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002, 0, 0 }, 362 { 0xffff, 0xffff, 0, 0 }, 363 { 364 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 365 }, 366 }, 367 368 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 369 { /* "SIIG Cyber I/O PCI 16C550 (20x family)", */ 370 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010, 0, 0 }, 371 { 0xffff, 0xffff, 0, 0 }, 372 { 373 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 374 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 375 }, 376 }, 377 378 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 379 { /* "SIIG Cyber I/O PCI 16C650 (20x family)", */ 380 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011, 0, 0 }, 381 { 0xffff, 0xffff, 0, 0 }, 382 { 383 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 384 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 385 }, 386 }, 387 388 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 389 { /* "SIIG Cyber I/O PCI 16C850 (20x family)", */ 390 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012, 0, 0 }, 391 { 0xffff, 0xffff, 0, 0 }, 392 { 393 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 394 { PUC_PORT_TYPE_LPT, 0x14, 0x00 }, 395 }, 396 }, 397 398 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 399 { /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */ 400 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030, 0, 0 }, 401 { 0xffff, 0xffff, 0, 0 }, 402 { 403 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 404 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 405 }, 406 }, 407 408 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */ 409 { /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */ 410 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031, 0, 0 }, 411 { 0xffff, 0xffff, 0, 0 }, 412 { 413 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 414 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 415 }, 416 }, 417 418 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 419 { /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */ 420 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032, 0, 0 }, 421 { 0xffff, 0xffff, 0, 0 }, 422 { 423 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 424 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 425 }, 426 }, 427 428 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 429 { /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */ 430 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060, 0, 0 }, 431 { 0xffff, 0xffff, 0, 0 }, 432 { 433 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 434 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 435 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 436 }, 437 }, 438 439 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */ 440 { /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */ 441 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061, 0, 0 }, 442 { 0xffff, 0xffff, 0, 0 }, 443 { 444 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 445 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 446 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 447 }, 448 }, 449 450 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */ 451 { /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */ 452 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062, 0, 0 }, 453 { 0xffff, 0xffff, 0, 0 }, 454 { 455 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 456 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 457 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 458 }, 459 }, 460 461 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */ 462 { /* "SIIG Cyber 4S PCI 16C550 (20x family)", */ 463 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050, 0, 0 }, 464 { 0xffff, 0xffff, 0, 0 }, 465 { 466 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 467 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 468 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 469 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 470 }, 471 }, 472 473 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 474 { /* "SIIG Cyber 4S PCI 16C650 (20x family)", */ 475 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051, 0, 0 }, 476 { 0xffff, 0xffff, 0, 0 }, 477 { 478 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 479 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 480 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 481 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 482 }, 483 }, 484 485 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 486 { /* "SIIG Cyber 4S PCI 16C850 (20x family)", */ 487 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052, 0, 0 }, 488 { 0xffff, 0xffff, 0, 0 }, 489 { 490 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 491 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 492 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 493 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 494 }, 495 }, 496 497 /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */ 498 { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */ 499 { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081, 0, 0 }, 500 { 0xffff, 0xffff, 0, 0 }, 501 { 502 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 503 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 504 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 505 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 506 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 507 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ }, 508 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ }, 509 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ }, 510 }, 511 }, 512 513 /* 514 * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer 515 */ 516 { /* "VScom PCI-400S", */ 517 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 }, 518 { 0xffff, 0xffff, 0xffff, 0xffff }, 519 { 520 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 521 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 522 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 523 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 524 }, 525 }, 526 527 /* 528 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html. 529 * Some PLX chip. Note: This board has a software selectable(?) 530 * clock multiplier which this driver doesn't support, so you'll 531 * have to use an appropriately scaled baud rate when talking to 532 * the card. 533 */ 534 { /* "VScom PCI-800", */ 535 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1076, 0x10b5, 0x1076 }, 536 { 0xffff, 0xffff, 0xffff, 0xffff }, 537 { 538 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 539 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 540 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ }, 541 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ }, 542 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ }, 543 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ }, 544 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ }, 545 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ }, 546 }, 547 }, 548 549 /* 550 * VScom PCI 011H, 1 lpt. 551 */ 552 { /* "VScom PCI-011H", */ 553 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H, 0, 0 }, 554 { 0xffff, 0xffff, 0, 0 }, 555 { 556 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 557 }, 558 }, 559 560 /* 561 * VScom PCI x10H, 1 lpt. 562 * is the lpt part of VScom 110H, 210H, 410H 563 */ 564 { /* "VScom PCI-x10H", */ 565 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIx10H, 0, 0 }, 566 { 0xffff, 0xffff, 0, 0 }, 567 { 568 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 569 }, 570 }, 571 572 /* 573 * VScom PCI 100H, little sister of 800H, 1 com. 574 * also com part of VScom 110H 575 * The one I have defaults to a fequency of 14.7456 MHz which is 576 * jumper J1 set to 2-3. 577 */ 578 { /* "VScom PCI-100H", */ 579 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H, 0, 0 }, 580 { 0xffff, 0xffff, 0, 0 }, 581 { 582 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 583 }, 584 }, 585 586 /* 587 * VScom PCI 200H, little sister of 800H, 2 com. 588 * also com part of VScom 210H 589 * The one I have defaults to a fequency of 14.7456 MHz which is 590 * jumper J1 set to 2-3. 591 */ 592 593 { /* "VScom PCI-200H", */ 594 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H, 0, 0 }, 595 { 0xffff, 0xffff, 0, 0 }, 596 { 597 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 598 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 599 }, 600 }, 601 602 /* 603 * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips 604 * that offers 4 com port on PCI device 0 (both 400H and 800H) 605 * and 4 on PCI device 1 (800H only). PCI device 0 has 606 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal 607 * instead of the standart 1.8432MHz. 608 * There's a version with a jumper for selecting the crystal frequency, 609 * defaults to 8x as used here. The jumperless version uses 8x, too. 610 */ 611 { /* "VScom PCI-400H/800H", */ 612 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0, 0, 0 }, 613 { 0xffff, 0xffff, 0, 0 }, 614 { 615 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 616 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 617 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 618 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 619 }, 620 }, 621 { /* "VScom PCI-400H/800H", */ 622 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1, 0, 0 }, 623 { 0xffff, 0xffff, 0, 0 }, 624 { 625 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 626 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 627 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 628 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 629 }, 630 }, 631 632 /* 633 * VScom PCI 200HV2, is 200H Version 2. 634 * Sells as 200H 635 */ 636 { /* "VScom PCI-200HV2", */ 637 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2, 0, 0 }, 638 { 0xffff, 0xffff, 0, 0 }, 639 { 640 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 641 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 642 }, 643 }, 644 645 /* 646 * VScom PCI 010L 647 * one lpt 648 * untested 649 */ 650 { /* "VScom PCI-010L", */ 651 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L, 0, 0 }, 652 { 0xffff, 0xffff, 0, 0 }, 653 { 654 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 655 }, 656 }, 657 658 /* 659 * VScom PCI 100L 660 * one com 661 * The one I have defaults to a fequency of 14.7456 MHz which is 662 * jumper J1 set to 2-3. 663 */ 664 { /* "VScom PCI-100L", */ 665 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L, 0, 0 }, 666 { 0xffff, 0xffff, 0, 0 }, 667 { 668 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 669 }, 670 }, 671 672 /* 673 * VScom PCI 110L 674 * one com, one lpt 675 * untested 676 */ 677 { /* "VScom PCI-110L", */ 678 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L, 0, 0 }, 679 { 0xffff, 0xffff, 0, 0 }, 680 { 681 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 682 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 683 }, 684 }, 685 686 /* 687 * VScom PCI-200L has 2 x 16550 UARTS. 688 * The board has a jumper which allows you to select a clock speed 689 * of either 14.7456MHz or 1.8432MHz. By default it runs at 690 * the fast speed. 691 */ 692 { /* "VScom PCI-200L with 2 x 16550 UARTS" */ 693 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L, 0, 0 }, 694 { 0xffff, 0xffff, 0, 0 }, 695 { 696 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8}, 697 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8}, 698 }, 699 }, 700 701 /* 702 * VScom PCI-210L 703 * Has a jumper for frequency selection, defaults to 8x as used here 704 * two com, one lpt 705 */ 706 { /* "VScom PCI-210L" */ 707 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L, 0, 0 }, 708 { 0xffff, 0xffff, 0, 0 }, 709 { 710 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 711 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 712 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 }, 713 }, 714 }, 715 716 /* 717 * VScom PCI 400L 718 * Has a jumper for frequency selection, defaults to 8x as used here 719 * This is equal to J1 in pos 2-3 720 * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex) 721 */ 722 { /* "VScom PCI-400L", */ 723 { PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L, 0, 0 }, 724 { 0xffff, 0xffff, 0, 0 }, 725 { 726 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 727 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 728 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 729 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 730 }, 731 }, 732 733 /* 734 * VScom PCI 800L 735 * Has a jumper for frequency selection, defaults to 8x as used here 736 */ 737 { /* "VScom PCI-800L", */ 738 { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L, 0, 0 }, 739 { 0xffff, 0xffff, 0, 0 }, 740 { 741 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 742 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 743 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 744 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 745 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 }, 746 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 }, 747 { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 }, 748 { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 }, 749 }, 750 }, 751 752 /* 753 * Exsys EX-41098 754 */ 755 { /* "Exsys EX-41098", */ 756 { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 0, 0 }, 757 { 0xffff, 0xffff, 0, 0 }, 758 { 759 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 760 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 761 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 762 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 763 }, 764 }, 765 766 /* 767 * NEC PK-UG-X001 K56flex PCI Modem card. 768 * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. 769 */ 770 { /* "NEC PK-UG-X001 K56flex PCI Modem", */ 771 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_MARTH, 0x1033, 0x8014 }, 772 { 0xffff, 0xffff, 0xffff, 0xffff }, 773 { 774 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 775 }, 776 }, 777 778 /* NEC PK-UG-X008 */ 779 { /* "NEC PK-UG-X008", */ 780 { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUG, 0x1033, 0x8012 }, 781 { 0xffff, 0xffff, 0xffff, 0xffff }, 782 { 783 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 784 }, 785 }, 786 787 /* Lava Computers 2SP-PCI (0x8000-0x8003) */ 788 { /* "Lava Computers 2SP-PCI parallel port", */ 789 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 }, 790 { 0xffff, 0xfffc, 0, 0 }, 791 { 792 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 793 }, 794 }, 795 796 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 797 { /* "Lava Computers dual serial port", */ 798 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 }, 799 { 0xffff, 0xfffc, 0, 0 }, 800 { 801 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 802 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 803 }, 804 }, 805 806 /* 807 * Lava Computers Quattro-PCI serial ports. 808 * A second version of the Quattro-PCI with different PCI ids. 809 */ 810 { /* "Lava Computers Quattro-PCI 4-port serial", */ 811 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 }, 812 { 0xffff, 0xfffe, 0, 0 }, 813 { 814 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 815 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 816 }, 817 }, 818 819 /* 820 * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI 821 * serial ports. 822 */ 823 { /* "Lava Computers high-speed port", */ 824 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0, 0, 0 }, 825 { 0xffff, 0xfffc, 0, 0 }, 826 { 827 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 828 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ*4 }, 829 }, 830 }, 831 832 /* 833 * Lava Computers LavaPort-single serial port. 834 */ 835 { /* "Lava Computers high-speed port", */ 836 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2, 0, 0 }, 837 { 0xffff, 0xfffc, 0, 0 }, 838 { 839 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 840 }, 841 }, 842 843 /* Lava Computers LavaPort-650 */ 844 { /* "Lava Computers high-speed port", */ 845 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650, 0, 0 }, 846 { 0xffff, 0xfffc, 0, 0 }, 847 { 848 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 }, 849 }, 850 }, 851 852 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */ 853 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */ 854 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 }, 855 { 0xffff, 0xfffc, 0, 0 }, 856 { 857 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 858 }, 859 }, 860 861 /* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */ 862 { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */ 863 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1, 0, 0 }, 864 { 0xffff, 0xfffc, 0, 0 }, 865 { 866 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 867 }, 868 }, 869 870 /* Lava Computers Octopus-550 serial ports */ 871 { /* "Lava Computers Octopus-550 8-port serial", */ 872 { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 }, 873 { 0xffff, 0xfffc, 0, 0 }, 874 { 875 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 876 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 877 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 878 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 879 }, 880 }, 881 882 /* US Robotics (3Com) PCI Modems */ 883 { /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */ 884 { PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610, 0, 0 }, 885 { 0xffff, 0xffff, 0, 0 }, 886 { 887 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 888 }, 889 }, 890 891 /* IBM 33L4618: AT&T/Lucent Venus Modem */ 892 { /* "IBM 33L4618: AT&T/Lucent Venus Modem", */ 893 /* "Actiontec 56K PCI Master" */ 894 { PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM, 0, 0 }, 895 { 0xffff, 0xffff, 0, 0 }, 896 { 897 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ }, 898 }, 899 }, 900 901 /* Topic/SmartLink 5634PCV SurfRider */ 902 { /* "Topic/SmartLink 5634PCV SurfRider" */ 903 { PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV, 0, 0 }, 904 { 0xffff, 0xffff, 0, 0 }, 905 { 906 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 907 }, 908 }, 909 910 /* SD-LAB PCI I/O Card 4S */ 911 { /* "Syba Tech Ltd. PCI-4S" */ 912 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S, 0, 0 }, 913 { 0xffff, 0xffff, 0, 0 }, 914 { 915 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 916 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 917 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 918 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 919 }, 920 }, 921 922 /* SD-LAB PCI I/O Card 4S2P */ 923 { /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */ 924 { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P, 0, 0 }, 925 { 0xffff, 0xffff, 0, 0 }, 926 { 927 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 928 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 929 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 930 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 931 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 932 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 933 }, 934 }, 935 936 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 937 { /* "Moxa Technologies, Industio CP-114" */ 938 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114, 0, 0 }, 939 { 0xffff, 0xffff, 0, 0 }, 940 { 941 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 942 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 943 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 944 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 945 }, 946 }, 947 948 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 949 { /* "Moxa Technologies, SmartIO C104H/PCI" */ 950 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H, 0, 0 }, 951 { 0xffff, 0xffff, 0, 0 }, 952 { 953 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 954 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 955 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 956 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 957 }, 958 }, 959 960 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 961 { /* "Moxa Technologies, SmartIO CP104/PCI" */ 962 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104, 0, 0 }, 963 { 0xffff, 0xffff, 0, 0 }, 964 { 965 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 966 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 967 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 968 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 969 }, 970 }, 971 972 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 973 { /* "Moxa Technologies, Industio C168H" */ 974 { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H, 0, 0 }, 975 { 0xffff, 0xffff, 0, 0 }, 976 { 977 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 978 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 979 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 980 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 981 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 982 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 983 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 984 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 985 }, 986 }, 987 988 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 989 { /* "NetMos NM9835 Dual UART and 1284 Printer port" */ 990 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_2S1P, 0, 0 }, 991 { 0xffff, 0xffff, 0, 0 }, 992 { 993 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 994 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 995 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 996 }, 997 }, 998 999 /* NetMos 4S PCI 16C650 : 4S, 0P */ 1000 { /* "NetMos NM9845 Quad UART" */ 1001 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_4S, 0, 0 }, 1002 { 0xffff, 0xffff, 0, 0 }, 1003 { 1004 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1005 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1006 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1007 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1008 }, 1009 }, 1010 1011 /* NetMos 1P PCI: 1P */ 1012 { /* "NetMos NM9805 1284 Printer Port" */ 1013 { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_1P, 0, 0 }, 1014 { 0xffff, 0xffff, 0, 0 }, 1015 { 1016 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1017 }, 1018 }, 1019 { /* Sunix 4018A : 2-port parallel */ 1020 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A, 0, 0 }, 1021 { 0xffff, 0xffff, 0, 0 }, 1022 { 1023 { PUC_PORT_TYPE_LPT, 0x10, 0x00 }, 1024 { PUC_PORT_TYPE_LPT, 0x18, 0x00 }, 1025 }, 1026 }, 1027 1028 /* 1029 * SUNIX 40XX series of serial/parallel combo cards. 1030 * Tested with 4055A and 4065A. 1031 */ 1032 { /* SUNIX 400X 1P */ 1033 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 }, 1034 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1035 { 1036 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1037 }, 1038 }, 1039 1040 { /* SUNIX 401X 2P */ 1041 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 }, 1042 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1043 { 1044 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 1045 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1046 }, 1047 }, 1048 1049 { /* SUNIX 402X 1S */ 1050 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 }, 1051 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1052 { 1053 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1054 }, 1055 }, 1056 1057 { /* SUNIX 403X 2S */ 1058 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 }, 1059 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1060 { 1061 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1062 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1063 }, 1064 }, 1065 1066 { /* SUNIX 405X 4S */ 1067 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 }, 1068 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1069 { 1070 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1071 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1072 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ}, 1073 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ}, 1074 }, 1075 }, 1076 1077 { /* SUNIX 406X 8S */ 1078 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 }, 1079 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1080 { 1081 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1082 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1083 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ}, 1084 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ}, 1085 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ}, 1086 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ}, 1087 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ}, 1088 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ}, 1089 }, 1090 }, 1091 1092 { /* SUNIX 407X 2S/1P */ 1093 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 }, 1094 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1095 { 1096 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1097 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1098 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1099 }, 1100 }, 1101 1102 { /* SUNIX 408X 2S/2P */ 1103 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 }, 1104 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1105 { 1106 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1107 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1108 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1109 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1110 }, 1111 }, 1112 1113 { /* SUNIX 409X 4S/2P */ 1114 { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 }, 1115 { 0xffff, 0xffff, 0xffff, 0xeff0 }, 1116 { 1117 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 1118 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 1119 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ}, 1120 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ}, 1121 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 1122 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 1123 }, 1124 }, 1125 1126 /* 1127 * Boca Research Turbo Serial 654 (4 serial port) card. 1128 * Appears to be the same as Chase Research PLC PCI-FAST4 card, 1129 * same as Perle PCI-FAST4 Multi-Port serial card 1130 */ 1131 { /* "Boca Turbo Serial 654 - IOP654" */ 1132 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031 }, 1133 { 0xffff, 0xffff, 0xffff, 0xffff }, 1134 { 1135 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 }, 1136 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 }, 1137 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 }, 1138 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 }, 1139 }, 1140 }, 1141 1142 /* 1143 * Boca Research Turbo Serial 658 (8 serial port) card. 1144 * Appears to be the same as Chase Research PLC PCI-FAST8 card 1145 * same as Perle PCI-FAST8 Multi-Port serial card 1146 */ 1147 { /* "Boca Turbo Serial 658 - IOP658" */ 1148 { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021 }, 1149 { 0xffff, 0xffff, 0xffff, 0xffff }, 1150 { 1151 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 }, 1152 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 }, 1153 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 }, 1154 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 }, 1155 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 }, 1156 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 }, 1157 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 }, 1158 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 }, 1159 }, 1160 }, 1161 1162 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1163 { /* "Avlab Low Profile PCI 4 Serial" */ 1164 { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 }, 1165 { 0xffff, 0xffff, 0, 0 }, 1166 { 1167 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1168 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1169 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1170 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1171 }, 1172 }, 1173 1174 { /* NULL, */ 1175 1176 { 0, 0, 0, 0 }, 1177 { 0, 0, 0, 0 }, 1178 { 1179 { 0, 0, 0 }, 1180 }, 1181 } 1182 }; 1183