1 /* $NetBSD: pucdata.c,v 1.25 2001/12/16 22:23:01 thorpej 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 #include <sys/cdefs.h> 34 __FBSDID("$FreeBSD$"); 35 36 /* 37 * PCI "universal" communications card driver configuration data (used to 38 * match/attach the cards). 39 */ 40 41 #include <sys/param.h> 42 43 #if __FreeBSD_version < 500000 44 #include <pci/pcireg.h> 45 #include <pci/pcivar.h> 46 #include <isa/sioreg.h> 47 #else 48 #include <dev/pci/pcireg.h> 49 #include <dev/pci/pcivar.h> 50 #include <dev/sio/sioreg.h> 51 #endif 52 #include <dev/puc/pucvar.h> 53 54 #define COM_FREQ DEFAULT_RCLK 55 56 const struct puc_device_description puc_devices[] = { 57 /* 58 * XXX no entry because I have no data: 59 * XXX Dolphin Peripherals 4006 (single parallel) 60 */ 61 62 /* 63 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with 64 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 65 * into the subsystem fields, and claims that it's a 66 * network/misc (0x02/0x80) device. 67 */ 68 { "Dolphin Peripherals 4014", 69 { 0x10b5, 0x9050, 0xd84d, 0x6810 }, 70 { 0xffff, 0xffff, 0xffff, 0xffff }, 71 { 72 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 73 { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 }, 74 }, 75 }, 76 77 /* 78 * XXX Dolphin Peripherals 4025 (single serial) 79 * (clashes with Dolphin Peripherals 4036 (2s variant) 80 */ 81 82 /* 83 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with 84 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 85 * into the subsystem fields, and claims that it's a 86 * network/misc (0x02/0x80) device. 87 */ 88 { "Dolphin Peripherals 4035", 89 { 0x10b5, 0x9050, 0xd84d, 0x6808 }, 90 { 0xffff, 0xffff, 0xffff, 0xffff }, 91 { 92 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 93 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 94 }, 95 }, 96 97 /* 98 * Dolphin Peripherals 4036 (dual serial port) card. 99 * (Dolpin 4025 has the same ID but only one port) 100 */ 101 { "Dolphin Peripherals 4036", 102 { 0x1409, 0x7168, 0x0, 0x0 }, 103 { 0xffff, 0xffff, 0x0, 0x0 }, 104 { 105 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 106 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 107 }, 108 }, 109 110 /* 111 * XXX no entry because I have no data: 112 * XXX Dolphin Peripherals 4078 (dual serial and single parallel) 113 */ 114 115 116 /* 117 * SIIG Boards. 118 * 119 * SIIG provides documentation for their boards at: 120 * <URL:http://www.siig.com/driver.htm> 121 * 122 * Please excuse the weird ordering, it's the order they 123 * use in their documentation. 124 */ 125 126 /* 127 * SIIG "10x" family boards. 128 */ 129 130 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 131 { "SIIG Cyber Serial PCI 16C550 (10x family)", 132 { 0x131f, 0x1000, 0, 0 }, 133 { 0xffff, 0xffff, 0, 0 }, 134 { 135 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 136 }, 137 }, 138 139 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 140 { "SIIG Cyber Serial PCI 16C650 (10x family)", 141 { 0x131f, 0x1001, 0, 0 }, 142 { 0xffff, 0xffff, 0, 0 }, 143 { 144 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 145 }, 146 }, 147 148 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 149 { "SIIG Cyber Serial PCI 16C850 (10x family)", 150 { 0x131f, 0x1002, 0, 0 }, 151 { 0xffff, 0xffff, 0, 0 }, 152 { 153 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 154 }, 155 }, 156 157 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 158 { "SIIG Cyber I/O PCI 16C550 (10x family)", 159 { 0x131f, 0x1010, 0, 0 }, 160 { 0xffff, 0xffff, 0, 0 }, 161 { 162 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 163 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 164 }, 165 }, 166 167 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 168 { "SIIG Cyber I/O PCI 16C650 (10x family)", 169 { 0x131f, 0x1011, 0, 0 }, 170 { 0xffff, 0xffff, 0, 0 }, 171 { 172 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 173 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 174 }, 175 }, 176 177 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 178 { "SIIG Cyber I/O PCI 16C850 (10x family)", 179 { 0x131f, 0x1012, 0, 0 }, 180 { 0xffff, 0xffff, 0, 0 }, 181 { 182 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 183 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 184 }, 185 }, 186 187 /* SIIG Cyber Parallel PCI (10x family): 1P */ 188 { "SIIG Cyber Parallel PCI (10x family)", 189 { 0x131f, 0x1020, 0, 0 }, 190 { 0xffff, 0xffff, 0, 0 }, 191 { 192 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 193 }, 194 }, 195 196 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 197 { "SIIG Cyber Parallel Dual PCI (10x family)", 198 { 0x131f, 0x1021, 0, 0 }, 199 { 0xffff, 0xffff, 0, 0 }, 200 { 201 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 202 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 203 }, 204 }, 205 206 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 207 { "SIIG Cyber Serial Dual PCI 16C550 (10x family)", 208 { 0x131f, 0x1030, 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 Serial Dual PCI 16C650 (10x family): 2S */ 217 { "SIIG Cyber Serial Dual PCI 16C650 (10x family)", 218 { 0x131f, 0x1031, 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 }, 224 }, 225 226 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 227 { "SIIG Cyber Serial Dual PCI 16C850 (10x family)", 228 { 0x131f, 0x1032, 0, 0 }, 229 { 0xffff, 0xffff, 0, 0 }, 230 { 231 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 232 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 233 }, 234 }, 235 236 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 237 { "SIIG Cyber 2S1P PCI 16C550 (10x family)", 238 { 0x131f, 0x1034, 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 2S1P PCI 16C650 (10x family): 2S, 1P */ 248 { "SIIG Cyber 2S1P PCI 16C650 (10x family)", 249 { 0x131f, 0x1035, 0, 0 }, /* XXX really? */ 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_LPT, 0x20, 0x00, 0x00 }, 255 }, 256 }, 257 258 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */ 259 { "SIIG Cyber 2S1P PCI 16C850 (10x family)", 260 { 0x131f, 0x1036, 0, 0 }, /* XXX really? */ 261 { 0xffff, 0xffff, 0, 0 }, 262 { 263 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 264 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 265 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 266 }, 267 }, 268 269 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */ 270 { "SIIG Cyber 4S PCI 16C550 (10x family)", 271 { 0x131f, 0x1050, 0, 0 }, 272 { 0xffff, 0xffff, 0, 0 }, 273 { 274 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 275 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 276 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 277 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 278 }, 279 }, 280 281 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 282 { "SIIG Cyber 4S PCI 16C650 (10x family)", 283 { 0x131f, 0x1051, 0, 0 }, 284 { 0xffff, 0xffff, 0, 0 }, 285 { 286 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 287 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 288 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 289 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 290 }, 291 }, 292 293 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 294 { "SIIG Cyber 4S PCI 16C850 (10x family)", 295 { 0x131f, 0x1052, 0, 0 }, 296 { 0xffff, 0xffff, 0, 0 }, 297 { 298 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 299 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 300 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 301 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 302 }, 303 }, 304 305 /* 306 * SIIG "20x" family boards. 307 */ 308 309 /* SIIG Cyber Parallel PCI (20x family): 1P */ 310 { "SIIG Cyber Parallel PCI (20x family)", 311 { 0x131f, 0x2020, 0, 0 }, 312 { 0xffff, 0xffff, 0, 0 }, 313 { 314 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 315 }, 316 }, 317 318 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 319 { "SIIG Cyber Parallel Dual PCI (20x family)", 320 { 0x131f, 0x2021, 0, 0 }, 321 { 0xffff, 0xffff, 0, 0 }, 322 { 323 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 324 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 325 }, 326 }, 327 328 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 329 { "SIIG Cyber 2P1S PCI 16C550 (20x family)", 330 { 0x131f, 0x2040, 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 2P1S PCI 16C650 (20x family): 1S, 2P */ 340 { "SIIG Cyber 2P1S PCI 16C650 (20x family)", 341 { 0x131f, 0x2041, 0, 0 }, 342 { 0xffff, 0xffff, 0, 0 }, 343 { 344 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 345 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 346 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 347 }, 348 }, 349 350 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */ 351 { "SIIG Cyber 2P1S PCI 16C850 (20x family)", 352 { 0x131f, 0x2042, 0, 0 }, 353 { 0xffff, 0xffff, 0, 0 }, 354 { 355 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 356 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 357 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 358 }, 359 }, 360 361 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */ 362 { "SIIG Cyber Serial PCI 16C550 (20x family)", 363 { 0x131f, 0x2000, 0, 0 }, 364 { 0xffff, 0xffff, 0, 0 }, 365 { 366 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 367 }, 368 }, 369 370 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 371 { "SIIG Cyber Serial PCI 16C650 (20x family)", 372 { 0x131f, 0x2001, 0, 0 }, 373 { 0xffff, 0xffff, 0, 0 }, 374 { 375 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 376 }, 377 }, 378 379 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 380 { "SIIG Cyber Serial PCI 16C850 (20x family)", 381 { 0x131f, 0x2002, 0, 0 }, 382 { 0xffff, 0xffff, 0, 0 }, 383 { 384 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 385 }, 386 }, 387 388 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 389 { "SIIG Cyber I/O PCI 16C550 (20x family)", 390 { 0x131f, 0x2010, 0, 0 }, 391 { 0xffff, 0xffff, 0, 0 }, 392 { 393 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 394 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 395 }, 396 }, 397 398 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 399 { "SIIG Cyber I/O PCI 16C650 (20x family)", 400 { 0x131f, 0x2011, 0, 0 }, 401 { 0xffff, 0xffff, 0, 0 }, 402 { 403 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 404 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 405 }, 406 }, 407 408 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 409 { "SIIG Cyber I/O PCI 16C850 (20x family)", 410 { 0x131f, 0x2012, 0, 0 }, 411 { 0xffff, 0xffff, 0, 0 }, 412 { 413 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 414 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 415 }, 416 }, 417 418 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 419 { "SIIG Cyber Serial Dual PCI 16C550 (20x family)", 420 { 0x131f, 0x2030, 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 Serial Dual PCI 16C650 (20x family): 2S */ 429 { "SIIG Cyber Serial Dual PCI 16C650 (20x family)", 430 { 0x131f, 0x2031, 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 }, 436 }, 437 438 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 439 { "SIIG Cyber Serial Dual PCI 16C850 (20x family)", 440 { 0x131f, 0x2032, 0, 0 }, 441 { 0xffff, 0xffff, 0, 0 }, 442 { 443 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 444 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 445 }, 446 }, 447 448 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 449 { "SIIG Cyber 2S1P PCI 16C550 (20x family)", 450 { 0x131f, 0x2060, 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 2S1P PCI 16C650 (20x family): 2S, 1P */ 460 { "SIIG Cyber 2S1P PCI 16C650 (20x family)", 461 { 0x131f, 0x2061, 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_LPT, 0x18, 0x00, 0x00 }, 467 }, 468 }, 469 470 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */ 471 { "SIIG Cyber 2S1P PCI 16C850 (20x family)", 472 { 0x131f, 0x2062, 0, 0 }, 473 { 0xffff, 0xffff, 0, 0 }, 474 { 475 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 476 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 477 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 478 }, 479 }, 480 481 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */ 482 { "SIIG Cyber 4S PCI 16C550 (20x family)", 483 { 0x131f, 0x2050, 0, 0 }, 484 { 0xffff, 0xffff, 0, 0 }, 485 { 486 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 487 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 488 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 489 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 490 }, 491 }, 492 493 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 494 { "SIIG Cyber 4S PCI 16C650 (20x family)", 495 { 0x131f, 0x2051, 0, 0 }, 496 { 0xffff, 0xffff, 0, 0 }, 497 { 498 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 499 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 500 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 501 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 502 }, 503 }, 504 505 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 506 { "SIIG Cyber 4S PCI 16C850 (20x family)", 507 { 0x131f, 0x2052, 0, 0 }, 508 { 0xffff, 0xffff, 0, 0 }, 509 { 510 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 511 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 512 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 513 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 514 }, 515 }, 516 517 /* VScom PCI-400: 4S */ 518 { "VScom PCI-400", 519 { 0x10b5, 0x1077, 0x10b5, 0x1077 }, 520 { 0xffff, 0xffff, 0xffff, 0xffff }, 521 { 522 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 523 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 524 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 525 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 526 }, 527 }, 528 529 /* VScom PCI-800: 8S */ 530 { "VScom PCI-800", 531 { 0x10b5, 0x1076, 0x10b5, 0x1076 }, 532 { 0xffff, 0xffff, 0xffff, 0xffff }, 533 { 534 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 535 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 536 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 537 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 538 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 539 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 540 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 541 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 542 }, 543 }, 544 /* 545 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers 546 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has 547 * device ID 3 and PCI device 1 device ID 4. 548 */ 549 { "Titan PCI-800H", 550 { 0x14d2, 0xa003, 0, 0 }, 551 { 0xffff, 0xffff, 0, 0 }, 552 { 553 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 554 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 555 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 556 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 557 }, 558 }, 559 { "Titan PCI-800H", 560 { 0x14d2, 0xa004, 0, 0 }, 561 { 0xffff, 0xffff, 0, 0 }, 562 { 563 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 564 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 565 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 566 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 567 }, 568 }, 569 { "Titan PCI-200H", 570 { 0x14d2, 0xa005, 0, 0 }, 571 { 0xffff, 0xffff, 0, 0 }, 572 { 573 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 574 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 575 }, 576 }, 577 578 /* NEC PK-UG-X001 K56flex PCI Modem card. 579 NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */ 580 { "NEC PK-UG-X001 K56flex PCI Modem", 581 { 0x1033, 0x0074, 0x1033, 0x8014 }, 582 { 0xffff, 0xffff, 0xffff, 0xffff }, 583 { 584 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 585 }, 586 }, 587 588 /* NEC PK-UG-X008 */ 589 { "NEC PK-UG-X008", 590 { 0x1033, 0x007d, 0x1033, 0x8012 }, 591 { 0xffff, 0xffff, 0xffff, 0xffff }, 592 { 593 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ}, 594 }, 595 }, 596 597 /* Lava Computers 2SP-PCI */ 598 { "Lava Computers 2SP-PCI parallel port", 599 { 0x1407, 0x8000, 0, 0 }, 600 { 0xffff, 0xffff, 0, 0 }, 601 { 602 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 603 }, 604 }, 605 606 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 607 { "Lava Computers dual serial port", 608 { 0x1407, 0x0100, 0, 0 }, 609 { 0xffff, 0xfffc, 0, 0 }, 610 { 611 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 612 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 613 }, 614 }, 615 616 /* Lava Computers DSerial PCI serial ports */ 617 { "Lava Computers serial port", 618 { 0x1407, 0x0110, 0, 0 }, 619 { 0xffff, 0xfffc, 0, 0 }, 620 { 621 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 622 }, 623 }, 624 625 /* Lava Computers Octopus-550 serial ports */ 626 { "Lava Computers Octopus-550 8-port serial", 627 { 0x1407, 0x0180, 0, 0 }, 628 { 0xffff, 0xfffc, 0, 0 }, 629 { 630 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 631 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 632 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 633 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 634 }, 635 }, 636 637 /* US Robotics (3Com) PCI Modems */ 638 { "US Robotics (3Com) 3CP5609 PCI 16550 Modem", 639 { 0x12b9, 0x1008, 0, 0 }, 640 { 0xffff, 0xffff, 0, 0 }, 641 { 642 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 643 }, 644 }, 645 646 /* Actiontec 56K PCI Master */ 647 { "Actiontec 56K PCI Master", 648 { 0x11c1, 0x0480, 0x0, 0x0 }, 649 { 0xffff, 0xffff, 0x0, 0x0 }, 650 { 651 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 652 }, 653 }, 654 655 /* 656 * Boards with an Oxford Semiconductor chip. 657 * 658 * Oxford Semiconductor provides documentation for their chip at: 659 * <URL:http://www.oxsemi.com/products/uarts/index.html> 660 * 661 * As sold by Kouwell <URL:http://www.kouwell.com/>. 662 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports. 663 */ 664 665 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 666 { "Qxford Semiconductor OX16PCI954 UARTs", 667 { 0x1415, 0x9501, 0, 0 }, 668 { 0xffff, 0xffff, 0, 0 }, 669 { 670 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 671 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 672 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 673 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 674 }, 675 }, 676 677 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ 678 { "Qxford Semiconductor OX16PCI954 Parallel port", 679 { 0x1415, 0x9513, 0, 0 }, 680 { 0xffff, 0xffff, 0, 0 }, 681 { 682 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 683 }, 684 }, 685 686 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 687 { "NetMos NM9835 Dual UART and 1284 Printer port", 688 { 0x9710, 0x9835, 0, 0 }, 689 { 0xffff, 0xffff, 0, 0 }, 690 { 691 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 692 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 693 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 694 }, 695 }, 696 697 /* 698 * This is the Middle Digital, Inc. PCI-Weasel, which 699 * uses a PCI interface implemented in FPGA. 700 */ 701 { "Middle Digital, Inc. Weasel serial port", 702 { 0xdeaf, 0x9051, 0, 0 }, 703 { 0xffff, 0xffff, 0, 0 }, 704 { 705 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 706 }, 707 }, 708 709 /* SD-LAB PCI I/O Card 4S2P */ 710 { "Syba Tech Ltd. PCI-4S2P-550-ECP", 711 { 0x1592, 0x0781, 0, 0 }, 712 { 0xffff, 0xffff, 0, 0 }, 713 { 714 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 715 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 716 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 717 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 718 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 719 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 720 }, 721 }, 722 723 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 724 { "Moxa Technologies, Industio CP-114", 725 { 0x1393, 0x1141, 0, 0 }, 726 { 0xffff, 0xffff, 0, 0, }, 727 { 728 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 729 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 730 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 731 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 732 }, 733 }, 734 735 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 736 { "Moxa Technologies, C168H/PCI", 737 { 0x1393, 0x1680, 0, 0 }, 738 { 0xffff, 0xffff, 0, 0, }, 739 { 740 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 741 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 742 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 743 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 744 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 745 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 746 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 747 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 748 }, 749 }, 750 751 { 0 } 752 }; 753