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