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