1 /* $NetBSD: pucdata.c,v 1.20 2001/08/06 22:25:36 soren Exp $ */ 2 3 /* 4 * Copyright (c) 1998, 1999 Christopher G. Demetriou. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 1. Redistributions of source code must retain the above copyright 10 * notice, this list of conditions and the following disclaimer. 11 * 2. Redistributions in binary form must reproduce the above copyright 12 * notice, this list of conditions and the following disclaimer in the 13 * documentation and/or other materials provided with the distribution. 14 * 3. All advertising materials mentioning features or use of this software 15 * must display the following acknowledgement: 16 * This product includes software developed by Christopher G. Demetriou 17 * for the NetBSD Project. 18 * 4. The name of the author may not be used to endorse or promote products 19 * derived from this software without specific prior written permission 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 */ 32 33 /* 34 * PCI "universal" communications card driver configuration data (used to 35 * match/attach the cards). 36 */ 37 38 #include <sys/param.h> 39 #include <sys/systm.h> 40 #include <sys/device.h> 41 42 #include <dev/pci/pcireg.h> 43 #include <dev/pci/pcivar.h> 44 #include <dev/pci/pucvar.h> 45 #include <dev/ic/comreg.h> 46 47 const struct puc_device_description puc_devices[] = { 48 /* 49 * XXX no entry because I have no data: 50 * XXX Dolphin Peripherals 4006 (single parallel) 51 */ 52 53 /* 54 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with 55 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 56 * into the subsystem fields, and claims that it's a 57 * network/misc (0x02/0x80) device. 58 */ 59 { "Dolphin Peripherals 4014", 60 { 0x10b5, 0x9050, 0xd84d, 0x6810 }, 61 { 0xffff, 0xffff, 0xffff, 0xffff }, 62 { 63 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 64 { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 }, 65 }, 66 }, 67 68 /* 69 * XXX no entry because I have no data: 70 * XXX Dolphin Peripherals 4025 (single serial) 71 */ 72 73 /* 74 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with 75 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 76 * into the subsystem fields, and claims that it's a 77 * network/misc (0x02/0x80) device. 78 */ 79 { "Dolphin Peripherals 4035", 80 { 0x10b5, 0x9050, 0xd84d, 0x6808 }, 81 { 0xffff, 0xffff, 0xffff, 0xffff }, 82 { 83 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 84 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 85 }, 86 }, 87 88 /* 89 * XXX no entry because I have no data: 90 * XXX Dolphin Peripherals 4078 (dual serial and single parallel) 91 */ 92 93 94 /* 95 * SIIG Boards. 96 * 97 * SIIG provides documentation for their boards at: 98 * <URL:http://www.siig.com/driver.htm> 99 * 100 * Please excuse the weird ordering, it's the order they 101 * use in their documentation. 102 */ 103 104 /* 105 * SIIG "10x" family boards. 106 */ 107 108 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 109 { "SIIG Cyber Serial PCI 16C550 (10x family)", 110 { 0x131f, 0x1000, 0, 0 }, 111 { 0xffff, 0xffff, 0, 0 }, 112 { 113 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 114 }, 115 }, 116 117 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 118 { "SIIG Cyber Serial PCI 16C650 (10x family)", 119 { 0x131f, 0x1001, 0, 0 }, 120 { 0xffff, 0xffff, 0, 0 }, 121 { 122 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 123 }, 124 }, 125 126 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 127 { "SIIG Cyber Serial PCI 16C850 (10x family)", 128 { 0x131f, 0x1002, 0, 0 }, 129 { 0xffff, 0xffff, 0, 0 }, 130 { 131 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 132 }, 133 }, 134 135 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 136 { "SIIG Cyber I/O PCI 16C550 (10x family)", 137 { 0x131f, 0x1010, 0, 0 }, 138 { 0xffff, 0xffff, 0, 0 }, 139 { 140 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 141 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 142 }, 143 }, 144 145 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 146 { "SIIG Cyber I/O PCI 16C650 (10x family)", 147 { 0x131f, 0x1011, 0, 0 }, 148 { 0xffff, 0xffff, 0, 0 }, 149 { 150 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 151 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 152 }, 153 }, 154 155 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 156 { "SIIG Cyber I/O PCI 16C850 (10x family)", 157 { 0x131f, 0x1012, 0, 0 }, 158 { 0xffff, 0xffff, 0, 0 }, 159 { 160 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 161 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 162 }, 163 }, 164 165 /* SIIG Cyber Parallel PCI (10x family): 1P */ 166 { "SIIG Cyber Parallel PCI (10x family)", 167 { 0x131f, 0x1020, 0, 0 }, 168 { 0xffff, 0xffff, 0, 0 }, 169 { 170 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 171 }, 172 }, 173 174 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 175 { "SIIG Cyber Parallel Dual PCI (10x family)", 176 { 0x131f, 0x1021, 0, 0 }, 177 { 0xffff, 0xffff, 0, 0 }, 178 { 179 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 180 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 181 }, 182 }, 183 184 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 185 { "SIIG Cyber Serial Dual PCI 16C550 (10x family)", 186 { 0x131f, 0x1030, 0, 0 }, 187 { 0xffff, 0xffff, 0, 0 }, 188 { 189 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 190 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 191 }, 192 }, 193 194 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */ 195 { "SIIG Cyber Serial Dual PCI 16C650 (10x family)", 196 { 0x131f, 0x1031, 0, 0 }, 197 { 0xffff, 0xffff, 0, 0 }, 198 { 199 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 200 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 201 }, 202 }, 203 204 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 205 { "SIIG Cyber Serial Dual PCI 16C850 (10x family)", 206 { 0x131f, 0x1032, 0, 0 }, 207 { 0xffff, 0xffff, 0, 0 }, 208 { 209 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 210 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 211 }, 212 }, 213 214 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 215 { "SIIG Cyber 2S1P PCI 16C550 (10x family)", 216 { 0x131f, 0x1034, 0, 0 }, /* XXX really? */ 217 { 0xffff, 0xffff, 0, 0 }, 218 { 219 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 220 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 221 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 222 }, 223 }, 224 225 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */ 226 { "SIIG Cyber 2S1P PCI 16C650 (10x family)", 227 { 0x131f, 0x1035, 0, 0 }, /* XXX really? */ 228 { 0xffff, 0xffff, 0, 0 }, 229 { 230 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 231 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 232 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 233 }, 234 }, 235 236 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */ 237 { "SIIG Cyber 2S1P PCI 16C850 (10x family)", 238 { 0x131f, 0x1036, 0, 0 }, /* XXX really? */ 239 { 0xffff, 0xffff, 0, 0 }, 240 { 241 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 242 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 243 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 244 }, 245 }, 246 247 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */ 248 { "SIIG Cyber 4S PCI 16C550 (10x family)", 249 { 0x131f, 0x1050, 0, 0 }, 250 { 0xffff, 0xffff, 0, 0 }, 251 { 252 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 253 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 254 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 255 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 256 }, 257 }, 258 259 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 260 { "SIIG Cyber 4S PCI 16C650 (10x family)", 261 { 0x131f, 0x1051, 0, 0 }, 262 { 0xffff, 0xffff, 0, 0 }, 263 { 264 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 265 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 266 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 267 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 268 }, 269 }, 270 271 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 272 { "SIIG Cyber 4S PCI 16C850 (10x family)", 273 { 0x131f, 0x1052, 0, 0 }, 274 { 0xffff, 0xffff, 0, 0 }, 275 { 276 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 277 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 278 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 279 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 280 }, 281 }, 282 283 /* 284 * SIIG "20x" family boards. 285 */ 286 287 /* SIIG Cyber Parallel PCI (20x family): 1P */ 288 { "SIIG Cyber Parallel PCI (20x family)", 289 { 0x131f, 0x2020, 0, 0 }, 290 { 0xffff, 0xffff, 0, 0 }, 291 { 292 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 293 }, 294 }, 295 296 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 297 { "SIIG Cyber Parallel Dual PCI (20x family)", 298 { 0x131f, 0x2021, 0, 0 }, 299 { 0xffff, 0xffff, 0, 0 }, 300 { 301 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 302 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 303 }, 304 }, 305 306 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 307 { "SIIG Cyber 2P1S PCI 16C550 (20x family)", 308 { 0x131f, 0x2040, 0, 0 }, 309 { 0xffff, 0xffff, 0, 0 }, 310 { 311 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 312 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 313 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 314 }, 315 }, 316 317 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */ 318 { "SIIG Cyber 2P1S PCI 16C650 (20x family)", 319 { 0x131f, 0x2041, 0, 0 }, 320 { 0xffff, 0xffff, 0, 0 }, 321 { 322 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 323 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 324 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 325 }, 326 }, 327 328 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */ 329 { "SIIG Cyber 2P1S PCI 16C850 (20x family)", 330 { 0x131f, 0x2042, 0, 0 }, 331 { 0xffff, 0xffff, 0, 0 }, 332 { 333 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 334 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 335 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 336 }, 337 }, 338 339 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */ 340 { "SIIG Cyber Serial PCI 16C550 (20x family)", 341 { 0x131f, 0x2000, 0, 0 }, 342 { 0xffff, 0xffff, 0, 0 }, 343 { 344 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 345 }, 346 }, 347 348 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 349 { "SIIG Cyber Serial PCI 16C650 (20x family)", 350 { 0x131f, 0x2001, 0, 0 }, 351 { 0xffff, 0xffff, 0, 0 }, 352 { 353 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 354 }, 355 }, 356 357 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 358 { "SIIG Cyber Serial PCI 16C850 (20x family)", 359 { 0x131f, 0x2002, 0, 0 }, 360 { 0xffff, 0xffff, 0, 0 }, 361 { 362 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 363 }, 364 }, 365 366 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 367 { "SIIG Cyber I/O PCI 16C550 (20x family)", 368 { 0x131f, 0x2010, 0, 0 }, 369 { 0xffff, 0xffff, 0, 0 }, 370 { 371 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 372 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 373 }, 374 }, 375 376 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 377 { "SIIG Cyber I/O PCI 16C650 (20x family)", 378 { 0x131f, 0x2011, 0, 0 }, 379 { 0xffff, 0xffff, 0, 0 }, 380 { 381 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 382 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 383 }, 384 }, 385 386 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 387 { "SIIG Cyber I/O PCI 16C850 (20x family)", 388 { 0x131f, 0x2012, 0, 0 }, 389 { 0xffff, 0xffff, 0, 0 }, 390 { 391 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 392 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 393 }, 394 }, 395 396 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 397 { "SIIG Cyber Serial Dual PCI 16C550 (20x family)", 398 { 0x131f, 0x2030, 0, 0 }, 399 { 0xffff, 0xffff, 0, 0 }, 400 { 401 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 402 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 403 }, 404 }, 405 406 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */ 407 { "SIIG Cyber Serial Dual PCI 16C650 (20x family)", 408 { 0x131f, 0x2031, 0, 0 }, 409 { 0xffff, 0xffff, 0, 0 }, 410 { 411 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 412 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 413 }, 414 }, 415 416 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 417 { "SIIG Cyber Serial Dual PCI 16C850 (20x family)", 418 { 0x131f, 0x2032, 0, 0 }, 419 { 0xffff, 0xffff, 0, 0 }, 420 { 421 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 422 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 423 }, 424 }, 425 426 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 427 { "SIIG Cyber 2S1P PCI 16C550 (20x family)", 428 { 0x131f, 0x2060, 0, 0 }, 429 { 0xffff, 0xffff, 0, 0 }, 430 { 431 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 432 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 433 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 434 }, 435 }, 436 437 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */ 438 { "SIIG Cyber 2S1P PCI 16C650 (20x family)", 439 { 0x131f, 0x2061, 0, 0 }, 440 { 0xffff, 0xffff, 0, 0 }, 441 { 442 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 443 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 444 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 445 }, 446 }, 447 448 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */ 449 { "SIIG Cyber 2S1P PCI 16C850 (20x family)", 450 { 0x131f, 0x2062, 0, 0 }, 451 { 0xffff, 0xffff, 0, 0 }, 452 { 453 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 454 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 455 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 456 }, 457 }, 458 459 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */ 460 { "SIIG Cyber 4S PCI 16C550 (20x family)", 461 { 0x131f, 0x2050, 0, 0 }, 462 { 0xffff, 0xffff, 0, 0 }, 463 { 464 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 465 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 466 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 467 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 468 }, 469 }, 470 471 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 472 { "SIIG Cyber 4S PCI 16C650 (20x family)", 473 { 0x131f, 0x2051, 0, 0 }, 474 { 0xffff, 0xffff, 0, 0 }, 475 { 476 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 477 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 478 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 479 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 480 }, 481 }, 482 483 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 484 { "SIIG Cyber 4S PCI 16C850 (20x family)", 485 { 0x131f, 0x2052, 0, 0 }, 486 { 0xffff, 0xffff, 0, 0 }, 487 { 488 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 489 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 490 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 491 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 492 }, 493 }, 494 495 /* VScom PCI-400: 4S */ 496 { "VScom PCI-400", 497 { 0x10b5, 0x1077, 0x10b5, 0x1077 }, 498 { 0xffff, 0xffff, 0xffff, 0xffff }, 499 { 500 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 501 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 502 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 503 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 504 }, 505 }, 506 507 /* VScom PCI-800: 8S */ 508 { "VScom PCI-800", 509 { 0x10b5, 0x1076, 0x10b5, 0x1076 }, 510 { 0xffff, 0xffff, 0xffff, 0xffff }, 511 { 512 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 513 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 514 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 515 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 516 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 517 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 518 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 519 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 520 }, 521 }, 522 /* 523 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers 524 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has 525 * device ID 3 and PCI device 1 device ID 4. 526 */ 527 { "Titan PCI-800H", 528 { 0x14d2, 0xa003, 0, 0 }, 529 { 0xffff, 0xffff, 0, 0 }, 530 { 531 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 532 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 533 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 534 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 535 }, 536 }, 537 { "Titan PCI-800H", 538 { 0x14d2, 0xa004, 0, 0 }, 539 { 0xffff, 0xffff, 0, 0 }, 540 { 541 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 542 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 543 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 544 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 545 }, 546 }, 547 548 /* NEC PK-UG-X001 K56flex PCI Modem card. 549 NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */ 550 { "NEC PK-UG-X001 K56flex PCI Modem", 551 { 0x1033, 0x0074, 0x1033, 0x8014 }, 552 { 0xffff, 0xffff, 0xffff, 0xffff }, 553 { 554 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 555 }, 556 }, 557 558 /* NEC PK-UG-X008 */ 559 { "NEC PK-UG-X008", 560 { 0x1033, 0x007d, 0x1033, 0x8012 }, 561 { 0xffff, 0xffff, 0xffff, 0xffff }, 562 { 563 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ}, 564 }, 565 }, 566 567 /* Lava Computers 2SP-PCI */ 568 { "Lava Computers 2SP-PCI parallel port", 569 { 0x1407, 0x8000, 0, 0 }, 570 { 0xffff, 0xffff, 0, 0 }, 571 { 572 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 573 }, 574 }, 575 576 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 577 { "Lava Computers dual serial port", 578 { 0x1407, 0x0100, 0, 0 }, 579 { 0xffff, 0xfffc, 0, 0 }, 580 { 581 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 582 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 583 }, 584 }, 585 586 /* Lava Computers DSerial PCI serial ports */ 587 { "Lava Computers serial port", 588 { 0x1407, 0x0110, 0, 0 }, 589 { 0xffff, 0xfffc, 0, 0 }, 590 { 591 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 592 }, 593 }, 594 595 /* Lava Computers Octopus-550 serial ports */ 596 { "Lava Computers Octopus-550 8-port serial", 597 { 0x1407, 0x0180, 0, 0 }, 598 { 0xffff, 0xfffc, 0, 0 }, 599 { 600 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 601 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 602 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 603 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 604 }, 605 }, 606 607 /* US Robotics (3Com) PCI Modems */ 608 { "US Robotics (3Com) 3CP5609 PCI 16550 Modem", 609 { 0x12b9, 0x1008, 0, 0 }, 610 { 0xffff, 0xffff, 0, 0 }, 611 { 612 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 613 }, 614 }, 615 616 /* Actiontec 56K PCI Master */ 617 { "Actiontec 56K PCI Master", 618 { 0x11c1, 0x0480, 0x0, 0x0 }, 619 { 0xffff, 0xffff, 0x0, 0x0 }, 620 { 621 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 622 }, 623 }, 624 625 /* 626 * Boards with an Oxford Semiconductor chip. 627 * 628 * Oxford Semiconductor provides documentation for their chip at: 629 * <URL:http://www.oxsemi.com/products/uarts/index.html> 630 * 631 * As sold by Kouwell <URL:http://www.kouwell.com/>. 632 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports. 633 */ 634 635 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 636 { "Qxford Semiconductor OX16PCI954 UARTs", 637 { 0x1415, 0x9501, 0, 0 }, 638 { 0xffff, 0xffff, 0, 0 }, 639 { 640 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 641 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 642 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 643 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 644 }, 645 }, 646 647 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ 648 { "Qxford Semiconductor OX16PCI954 Parallel port", 649 { 0x1415, 0x9513, 0, 0 }, 650 { 0xffff, 0xffff, 0, 0 }, 651 { 652 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 653 }, 654 }, 655 656 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 657 { "NetMos NM9835 Dual UART and 1284 Printer port", 658 { 0x9710, 0x9835, 0, 0 }, 659 { 0xffff, 0xffff, 0, 0 }, 660 { 661 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 662 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 663 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 664 }, 665 }, 666 667 { 0 } 668 }; 669