pucdata.c revision 128387
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: head/sys/dev/puc/pucdata.c 128387 2004-04-18 05:52:35Z bde $"); 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 50int puc_config_win877(struct puc_softc *); 51 52const struct puc_device_description puc_devices[] = { 53 54 { "Sunix SUN1889", 55 NULL, 56 { 0x0009, 0x7168, 0, 0 }, 57 { 0xffff, 0xffff, 0, 0 }, 58 { 59 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 60 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 61 }, 62 }, 63 64 { "Diva Serial [GSP] Multiport UART", 65 NULL, 66 { 0x103c, 0x1048, 0x103c, 0x1282 }, 67 { 0xffff, 0xffff, 0xffff, 0xffff }, 68 { 69 { PUC_PORT_TYPE_UART, 0x10, 0x00, 0, PUC_FLAGS_MEMORY }, 70 { PUC_PORT_TYPE_UART, 0x10, 0x10, 0, PUC_FLAGS_MEMORY }, 71 { PUC_PORT_TYPE_UART, 0x10, 0x38, 0, PUC_FLAGS_MEMORY }, 72 }, 73 }, 74 75 { "Comtrol RocketPort 550/4 RJ45", 76 NULL, 77 { 0x11fe, 0x8014, 0, 0 }, 78 { 0xffff, 0xffff, 0, 0 }, 79 { 80 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 81 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 82 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 83 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 84 }, 85 }, 86 87 { "Comtrol RocketPort 550/Quad", 88 NULL, 89 { 0x11fe, 0x8015, 0, 0 }, 90 { 0xffff, 0xffff, 0, 0 }, 91 { 92 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 93 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 94 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 95 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 96 }, 97 }, 98 99 { "Comtrol RocketPort 550/8 RJ11 part A", 100 NULL, 101 { 0x11fe, 0x8010, 0, 0 }, 102 { 0xffff, 0xffff, 0, 0 }, 103 { 104 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 105 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 106 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 107 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 108 }, 109 }, 110 { "Comtrol RocketPort 550/8 RJ11 part B", 111 NULL, 112 { 0x11fe, 0x8011, 0, 0 }, 113 { 0xffff, 0xffff, 0, 0 }, 114 { 115 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 116 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 117 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 118 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 119 }, 120 }, 121 122 { "Comtrol RocketPort 550/8 Octa part A", 123 NULL, 124 { 0x11fe, 0x8012, 0, 0 }, 125 { 0xffff, 0xffff, 0, 0 }, 126 { 127 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 128 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 129 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 130 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 131 }, 132 }, 133 { "Comtrol RocketPort 550/8 Octa part B", 134 NULL, 135 { 0x11fe, 0x8013, 0, 0 }, 136 { 0xffff, 0xffff, 0, 0 }, 137 { 138 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 139 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 140 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 141 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 142 }, 143 }, 144 145 { "Comtrol RocketPort 550/8 part A", 146 NULL, 147 { 0x11fe, 0x8018, 0, 0 }, 148 { 0xffff, 0xffff, 0, 0 }, 149 { 150 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 151 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 152 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 153 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 154 }, 155 }, 156 { "Comtrol RocketPort 550/8 part B", 157 NULL, 158 { 0x11fe, 0x8019, 0, 0 }, 159 { 0xffff, 0xffff, 0, 0 }, 160 { 161 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 162 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 163 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 164 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 165 }, 166 }, 167 168 { "Comtrol RocketPort 550/16 part A", 169 NULL, 170 { 0x11fe, 0x8016, 0, 0 }, 171 { 0xffff, 0xffff, 0, 0 }, 172 { 173 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 174 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 175 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 176 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 177 }, 178 }, 179 { "Comtrol RocketPort 550/16 part B", 180 NULL, 181 { 0x11fe, 0x8017, 0, 0 }, 182 { 0xffff, 0xffff, 0, 0 }, 183 { 184 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 4 }, 185 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 4 }, 186 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 4 }, 187 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 4 }, 188 { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ * 4 }, 189 { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ * 4 }, 190 { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ * 4 }, 191 { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ * 4 }, 192 { PUC_PORT_TYPE_COM, 0x10, 0x40, COM_FREQ * 4 }, 193 { PUC_PORT_TYPE_COM, 0x10, 0x48, COM_FREQ * 4 }, 194 { PUC_PORT_TYPE_COM, 0x10, 0x50, COM_FREQ * 4 }, 195 { PUC_PORT_TYPE_COM, 0x10, 0x58, COM_FREQ * 4 }, 196 }, 197 }, 198 199 /* 200 * XXX no entry because I have no data: 201 * XXX Dolphin Peripherals 4006 (single parallel) 202 */ 203 204 /* 205 * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with 206 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 207 * into the subsystem fields, and claims that it's a 208 * network/misc (0x02/0x80) device. 209 */ 210 { "Dolphin Peripherals 4014", 211 NULL, 212 { 0x10b5, 0x9050, 0xd84d, 0x6810 }, 213 { 0xffff, 0xffff, 0xffff, 0xffff }, 214 { 215 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 216 { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 }, 217 }, 218 }, 219 220 /* 221 * XXX Dolphin Peripherals 4025 (single serial) 222 * (clashes with Dolphin Peripherals 4036 (2s variant) 223 */ 224 225 /* 226 * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with 227 * a seemingly-lame EEPROM setup that puts the Dolphin IDs 228 * into the subsystem fields, and claims that it's a 229 * network/misc (0x02/0x80) device. 230 */ 231 { "Dolphin Peripherals 4035", 232 NULL, 233 { 0x10b5, 0x9050, 0xd84d, 0x6808 }, 234 { 0xffff, 0xffff, 0xffff, 0xffff }, 235 { 236 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 237 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 238 }, 239 }, 240 241 /* 242 * Dolphin Peripherals 4036 (dual serial port) card. 243 * (Dolpin 4025 has the same ID but only one port) 244 */ 245 { "Dolphin Peripherals 4036", 246 NULL, 247 { 0x1409, 0x7168, 0x0, 0x0 }, 248 { 0xffff, 0xffff, 0x0, 0x0 }, 249 { 250 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, 251 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, 252 }, 253 }, 254 255 /* 256 * XXX no entry because I have no data: 257 * XXX Dolphin Peripherals 4078 (dual serial and single parallel) 258 */ 259 260 261 /* 262 * SIIG Boards. 263 * 264 * SIIG provides documentation for their boards at: 265 * <URL:http://www.siig.com/driver.htm> 266 * 267 * Please excuse the weird ordering, it's the order they 268 * use in their documentation. 269 */ 270 271 /* 272 * SIIG "10x" family boards. 273 */ 274 275 /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */ 276 { "SIIG Cyber Serial PCI 16C550 (10x family)", 277 NULL, 278 { 0x131f, 0x1000, 0, 0 }, 279 { 0xffff, 0xffff, 0, 0 }, 280 { 281 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 282 }, 283 }, 284 285 /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */ 286 { "SIIG Cyber Serial PCI 16C650 (10x family)", 287 NULL, 288 { 0x131f, 0x1001, 0, 0 }, 289 { 0xffff, 0xffff, 0, 0 }, 290 { 291 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 292 }, 293 }, 294 295 /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */ 296 { "SIIG Cyber Serial PCI 16C850 (10x family)", 297 NULL, 298 { 0x131f, 0x1002, 0, 0 }, 299 { 0xffff, 0xffff, 0, 0 }, 300 { 301 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 302 }, 303 }, 304 305 /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */ 306 { "SIIG Cyber I/O PCI 16C550 (10x family)", 307 NULL, 308 { 0x131f, 0x1010, 0, 0 }, 309 { 0xffff, 0xffff, 0, 0 }, 310 { 311 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 312 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 313 }, 314 }, 315 316 /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */ 317 { "SIIG Cyber I/O PCI 16C650 (10x family)", 318 NULL, 319 { 0x131f, 0x1011, 0, 0 }, 320 { 0xffff, 0xffff, 0, 0 }, 321 { 322 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 323 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 324 }, 325 }, 326 327 /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */ 328 { "SIIG Cyber I/O PCI 16C850 (10x family)", 329 NULL, 330 { 0x131f, 0x1012, 0, 0 }, 331 { 0xffff, 0xffff, 0, 0 }, 332 { 333 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 334 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 335 }, 336 }, 337 338 /* SIIG Cyber Parallel PCI (10x family): 1P */ 339 { "SIIG Cyber Parallel PCI (10x family)", 340 NULL, 341 { 0x131f, 0x1020, 0, 0 }, 342 { 0xffff, 0xffff, 0, 0 }, 343 { 344 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 345 }, 346 }, 347 348 /* SIIG Cyber Parallel Dual PCI (10x family): 2P */ 349 { "SIIG Cyber Parallel Dual PCI (10x family)", 350 NULL, 351 { 0x131f, 0x1021, 0, 0 }, 352 { 0xffff, 0xffff, 0, 0 }, 353 { 354 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 355 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 356 }, 357 }, 358 359 /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */ 360 { "SIIG Cyber Serial Dual PCI 16C550 (10x family)", 361 NULL, 362 { 0x131f, 0x1030, 0, 0 }, 363 { 0xffff, 0xffff, 0, 0 }, 364 { 365 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 366 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 367 }, 368 }, 369 370 /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */ 371 { "SIIG Cyber Serial Dual PCI 16C650 (10x family)", 372 NULL, 373 { 0x131f, 0x1031, 0, 0 }, 374 { 0xffff, 0xffff, 0, 0 }, 375 { 376 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 377 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 378 }, 379 }, 380 381 /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */ 382 { "SIIG Cyber Serial Dual PCI 16C850 (10x family)", 383 NULL, 384 { 0x131f, 0x1032, 0, 0 }, 385 { 0xffff, 0xffff, 0, 0 }, 386 { 387 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 388 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 389 }, 390 }, 391 392 /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */ 393 { "SIIG Cyber 2S1P PCI 16C550 (10x family)", 394 NULL, 395 { 0x131f, 0x1034, 0, 0 }, /* XXX really? */ 396 { 0xffff, 0xffff, 0, 0 }, 397 { 398 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 399 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 400 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 401 }, 402 }, 403 404 /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */ 405 { "SIIG Cyber 2S1P PCI 16C650 (10x family)", 406 NULL, 407 { 0x131f, 0x1035, 0, 0 }, /* XXX really? */ 408 { 0xffff, 0xffff, 0, 0 }, 409 { 410 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 411 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 412 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 413 }, 414 }, 415 416 /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */ 417 { "SIIG Cyber 2S1P PCI 16C850 (10x family)", 418 NULL, 419 { 0x131f, 0x1036, 0, 0 }, /* XXX really? */ 420 { 0xffff, 0xffff, 0, 0 }, 421 { 422 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 423 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 424 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 }, 425 }, 426 }, 427 428 /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */ 429 { "SIIG Cyber 4S PCI 16C550 (10x family)", 430 NULL, 431 { 0x131f, 0x1050, 0, 0 }, 432 { 0xffff, 0xffff, 0, 0 }, 433 { 434 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 435 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 436 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 437 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 438 }, 439 }, 440 441 /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */ 442 { "SIIG Cyber 4S PCI 16C650 (10x family)", 443 NULL, 444 { 0x131f, 0x1051, 0, 0 }, 445 { 0xffff, 0xffff, 0, 0 }, 446 { 447 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 448 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 449 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 450 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 451 }, 452 }, 453 454 /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */ 455 { "SIIG Cyber 4S PCI 16C850 (10x family)", 456 NULL, 457 { 0x131f, 0x1052, 0, 0 }, 458 { 0xffff, 0xffff, 0, 0 }, 459 { 460 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 461 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 462 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ }, 463 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ }, 464 }, 465 }, 466 467 /* 468 * SIIG "20x" family boards. 469 */ 470 471 /* SIIG Cyber Parallel PCI (20x family): 1P */ 472 { "SIIG Cyber Parallel PCI (20x family)", 473 NULL, 474 { 0x131f, 0x2020, 0, 0 }, 475 { 0xffff, 0xffff, 0, 0 }, 476 { 477 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 478 }, 479 }, 480 481 /* SIIG Cyber Parallel Dual PCI (20x family): 2P */ 482 { "SIIG Cyber Parallel Dual PCI (20x family)", 483 NULL, 484 { 0x131f, 0x2021, 0, 0 }, 485 { 0xffff, 0xffff, 0, 0 }, 486 { 487 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 488 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 489 }, 490 }, 491 492 /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */ 493 { "SIIG Cyber 2P1S PCI 16C550 (20x family)", 494 NULL, 495 { 0x131f, 0x2040, 0, 0 }, 496 { 0xffff, 0xffff, 0, 0 }, 497 { 498 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 499 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 500 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 501 }, 502 }, 503 504 /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */ 505 { "SIIG Cyber 2P1S PCI 16C650 (20x family)", 506 NULL, 507 { 0x131f, 0x2041, 0, 0 }, 508 { 0xffff, 0xffff, 0, 0 }, 509 { 510 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 511 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 512 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 513 }, 514 }, 515 516 /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */ 517 { "SIIG Cyber 2P1S PCI 16C850 (20x family)", 518 NULL, 519 { 0x131f, 0x2042, 0, 0 }, 520 { 0xffff, 0xffff, 0, 0 }, 521 { 522 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 523 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 524 { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 }, 525 }, 526 }, 527 528 /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */ 529 { "SIIG Cyber Serial PCI 16C550 (20x family)", 530 NULL, 531 { 0x131f, 0x2000, 0, 0 }, 532 { 0xffff, 0xffff, 0, 0 }, 533 { 534 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 535 }, 536 }, 537 538 /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */ 539 { "SIIG Cyber Serial PCI 16C650 (20x family)", 540 NULL, 541 { 0x131f, 0x2001, 0, 0 }, 542 { 0xffff, 0xffff, 0, 0 }, 543 { 544 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 545 }, 546 }, 547 548 /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */ 549 { "SIIG Cyber Serial PCI 16C850 (20x family)", 550 NULL, 551 { 0x131f, 0x2002, 0, 0 }, 552 { 0xffff, 0xffff, 0, 0 }, 553 { 554 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 555 }, 556 }, 557 558 /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */ 559 { "SIIG Cyber I/O PCI 16C550 (20x family)", 560 NULL, 561 { 0x131f, 0x2010, 0, 0 }, 562 { 0xffff, 0xffff, 0, 0 }, 563 { 564 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 565 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 566 }, 567 }, 568 569 /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */ 570 { "SIIG Cyber I/O PCI 16C650 (20x family)", 571 NULL, 572 { 0x131f, 0x2011, 0, 0 }, 573 { 0xffff, 0xffff, 0, 0 }, 574 { 575 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 576 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 577 }, 578 }, 579 580 /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */ 581 { "SIIG Cyber I/O PCI 16C850 (20x family)", 582 NULL, 583 { 0x131f, 0x2012, 0, 0 }, 584 { 0xffff, 0xffff, 0, 0 }, 585 { 586 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 587 { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 }, 588 }, 589 }, 590 591 /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */ 592 { "SIIG Cyber Serial Dual PCI 16C550 (20x family)", 593 NULL, 594 { 0x131f, 0x2030, 0, 0 }, 595 { 0xffff, 0xffff, 0, 0 }, 596 { 597 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 598 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 599 }, 600 }, 601 602 /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */ 603 { "SIIG Cyber Serial Dual PCI 16C650 (20x family)", 604 NULL, 605 { 0x131f, 0x2031, 0, 0 }, 606 { 0xffff, 0xffff, 0, 0 }, 607 { 608 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 609 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 610 }, 611 }, 612 613 /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */ 614 { "SIIG Cyber Serial Dual PCI 16C850 (20x family)", 615 NULL, 616 { 0x131f, 0x2032, 0, 0 }, 617 { 0xffff, 0xffff, 0, 0 }, 618 { 619 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 620 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 621 }, 622 }, 623 624 /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */ 625 { "SIIG Cyber 2S1P PCI 16C550 (20x family)", 626 NULL, 627 { 0x131f, 0x2060, 0, 0 }, 628 { 0xffff, 0xffff, 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_LPT, 0x18, 0x00, 0x00 }, 633 }, 634 }, 635 636 /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */ 637 { "SIIG Cyber 2S1P PCI 16C650 (20x family)", 638 NULL, 639 { 0x131f, 0x2061, 0, 0 }, 640 { 0xffff, 0xffff, 0, 0 }, 641 { 642 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 643 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 644 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 645 }, 646 }, 647 648 /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */ 649 { "SIIG Cyber 2S1P PCI 16C850 (20x family)", 650 NULL, 651 { 0x131f, 0x2062, 0, 0 }, 652 { 0xffff, 0xffff, 0, 0 }, 653 { 654 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 655 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 656 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 657 }, 658 }, 659 660 /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */ 661 { "SIIG Cyber 4S PCI 16C550 (20x family)", 662 NULL, 663 { 0x131f, 0x2050, 0, 0 }, 664 { 0xffff, 0xffff, 0, 0 }, 665 { 666 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 667 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 668 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 669 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 670 }, 671 }, 672 673 /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */ 674 { "SIIG Cyber 4S PCI 16C650 (20x family)", 675 NULL, 676 { 0x131f, 0x2051, 0, 0 }, 677 { 0xffff, 0xffff, 0, 0 }, 678 { 679 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 680 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 681 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 682 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 683 }, 684 }, 685 686 /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */ 687 { "SIIG Cyber 4S PCI 16C850 (20x family)", 688 NULL, 689 { 0x131f, 0x2052, 0, 0 }, 690 { 0xffff, 0xffff, 0, 0 }, 691 { 692 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 693 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 694 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 695 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 696 }, 697 }, 698 699 /* VScom PCI-200L: 2S */ 700 { "VScom PCI-200L", 701 NULL, 702 { 0x14d2, 0x8020, 0, 0 }, 703 { 0xffff, 0xffff, 0, 0 }, 704 { 705 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8}, 706 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8}, 707 }, 708 }, 709 710 /* VScom PCI-400: 4S */ 711 { "VScom PCI-400", 712 NULL, 713 { 0x10b5, 0x1077, 0x10b5, 0x1077 }, 714 { 0xffff, 0xffff, 0xffff, 0xffff }, 715 { 716 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 717 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 718 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 719 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 720 }, 721 }, 722 723 /* VScom PCI-800: 8S */ 724 { "VScom PCI-800", 725 NULL, 726 { 0x10b5, 0x1076, 0x10b5, 0x1076 }, 727 { 0xffff, 0xffff, 0xffff, 0xffff }, 728 { 729 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 730 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 731 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 732 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 733 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 734 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 735 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 736 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 737 }, 738 }, 739 /* 740 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers 741 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has 742 * device ID 3 and PCI device 1 device ID 4. 743 */ 744 { "Titan PCI-800H", 745 NULL, 746 { 0x14d2, 0xa003, 0, 0 }, 747 { 0xffff, 0xffff, 0, 0 }, 748 { 749 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 750 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 751 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 752 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 753 }, 754 }, 755 { "Titan PCI-800H", 756 NULL, 757 { 0x14d2, 0xa004, 0, 0 }, 758 { 0xffff, 0xffff, 0, 0 }, 759 { 760 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 761 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 762 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, 763 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, 764 }, 765 }, 766 { "Titan PCI-200H", 767 NULL, 768 { 0x14d2, 0xa005, 0, 0 }, 769 { 0xffff, 0xffff, 0, 0 }, 770 { 771 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 772 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, 773 }, 774 }, 775 776 { "Titan VScom PCI-200HV2", /* 2S */ 777 NULL, 778 { 0x14d2, 0xe020, 0, 0 }, 779 { 0xffff, 0xffff, 0, 0 }, 780 { 781 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, 782 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 783 }, 784 }, 785 /* 786 * VScom (Titan?) PCI-800L. More modern variant of the 787 * PCI-800. Uses 6 discrete 16550 UARTs, plus another 788 * two of them obviously implemented as macro cells in 789 * the ASIC. This causes the weird port access pattern 790 * below, where two of the IO port ranges each access 791 * one of the ASIC UARTs, and a block of IO addresses 792 * access the external UARTs. 793 */ 794 { "Titan VScom PCI-800L", 795 NULL, 796 { 0x14d2, 0x8080, 0, 0 }, 797 { 0xffff, 0xffff, 0, 0 }, 798 { 799 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 }, 800 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 801 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 }, 802 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 }, 803 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 }, 804 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 }, 805 { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 }, 806 { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 }, 807 }, 808 }, 809 810 /* NEC PK-UG-X001 K56flex PCI Modem card. 811 NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */ 812 { "NEC PK-UG-X001 K56flex PCI Modem", 813 NULL, 814 { 0x1033, 0x0074, 0x1033, 0x8014 }, 815 { 0xffff, 0xffff, 0xffff, 0xffff }, 816 { 817 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 818 }, 819 }, 820 821 /* NEC PK-UG-X008 */ 822 { "NEC PK-UG-X008", 823 NULL, 824 { 0x1033, 0x007d, 0x1033, 0x8012 }, 825 { 0xffff, 0xffff, 0xffff, 0xffff }, 826 { 827 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ}, 828 }, 829 }, 830 831 /* Lava Computers 2SP-PCI */ 832 { "Lava Computers 2SP-PCI parallel port", 833 NULL, 834 { 0x1407, 0x8000, 0, 0 }, 835 { 0xffff, 0xffff, 0, 0 }, 836 { 837 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 838 }, 839 }, 840 841 /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */ 842 { "Lava Computers dual serial port", 843 NULL, 844 { 0x1407, 0x0100, 0, 0 }, 845 { 0xffff, 0xfffc, 0, 0 }, 846 { 847 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 848 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 849 }, 850 }, 851 852 /* Lava Computers newer Quattro-PCI serial ports */ 853 { "Lava Computers Quattro-PCI serial port", 854 NULL, 855 { 0x1407, 0x0120, 0, 0 }, 856 { 0xffff, 0xfffc, 0, 0 }, 857 { 858 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 859 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 860 }, 861 }, 862 863 /* Lava Computers DSerial PCI serial ports */ 864 { "Lava Computers serial port", 865 NULL, 866 { 0x1407, 0x0110, 0, 0 }, 867 { 0xffff, 0xfffc, 0, 0 }, 868 { 869 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 870 }, 871 }, 872 873 /* Lava Computers Octopus-550 serial ports */ 874 { "Lava Computers Octopus-550 8-port serial", 875 NULL, 876 { 0x1407, 0x0180, 0, 0 }, 877 { 0xffff, 0xfffc, 0, 0 }, 878 { 879 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 880 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 881 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 882 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 883 }, 884 }, 885 886 /* US Robotics (3Com) PCI Modems */ 887 { "US Robotics (3Com) 3CP5609 PCI 16550 Modem", 888 NULL, 889 { 0x12b9, 0x1008, 0, 0 }, 890 { 0xffff, 0xffff, 0, 0 }, 891 { 892 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 893 }, 894 }, 895 896 /* Actiontec 56K PCI Master */ 897 { "Actiontec 56K PCI Master", 898 NULL, 899 { 0x11c1, 0x0480, 0x0, 0x0 }, 900 { 0xffff, 0xffff, 0x0, 0x0 }, 901 { 902 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 903 }, 904 }, 905 906 /* 907 * Boards with an Oxford Semiconductor chip. 908 * 909 * Oxford Semiconductor provides documentation for their chip at: 910 * <URL:http://www.oxsemi.com/products/uarts/index.html> 911 * 912 * As sold by Kouwell <URL:http://www.kouwell.com/>. 913 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports. 914 */ 915 916 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 917 { "Oxford Semiconductor OX16PCI954 UARTs", 918 NULL, 919 { 0x1415, 0x9501, 0, 0 }, 920 { 0xffff, 0xffff, 0, 0 }, 921 { 922 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 923 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 924 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 925 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 926 }, 927 }, 928 929 /* Oxford Semiconductor OX16PCI954 PCI UARTs */ 930 { "Oxford Semiconductor OX16PCI954 UARTs", 931 NULL, 932 { 0x1415, 0x950a, 0, 0 }, 933 { 0xffff, 0xffff, 0, 0 }, 934 { 935 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 936 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 937 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 938 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 939 }, 940 }, 941 942 /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ 943 { "Oxford Semiconductor OX16PCI954 Parallel port", 944 NULL, 945 { 0x1415, 0x9513, 0, 0 }, 946 { 0xffff, 0xffff, 0, 0 }, 947 { 948 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 949 }, 950 }, 951 952 /* Oxford Semiconductor OX12PCI840 PCI Parallel port */ 953 { "Oxford Semiconductor OX12PCI840 Parallel port", 954 NULL, 955 { 0x1415, 0x8403, 0, 0 }, 956 { 0xffff, 0xffff, 0, 0 }, 957 { 958 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, 959 }, 960 }, 961 962 /* 963 * Oxford Semiconductor OX9160/OX16PCI954 PCI UARTS 964 * Second chip on Exsys EX-41098 8x cards 965 */ 966 { "Oxford Semiconductor OX9160/OX16PCI954 UARTs (function 1)", 967 NULL, 968 { 0x1415, 0x9511, 0, 0 }, 969 { 0xffff, 0xffff, 0, 0 }, 970 { 971 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 972 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 973 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 974 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 975 }, 976 }, 977 978 /* NetMos 2S1P PCI 16C650 : 2S, 1P */ 979 { "NetMos NM9835 Dual UART and 1284 Printer port", 980 NULL, 981 { 0x9710, 0x9835, 0, 0 }, 982 { 0xffff, 0xffff, 0, 0 }, 983 { 984 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 985 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 986 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 }, 987 }, 988 }, 989 990 /* NetMos 4S0P PCI: 4S, 0P */ 991 { "NetMos NM9845 Quad UART", 992 NULL, 993 { 0x9710, 0x9845, 0, 0 }, 994 { 0xffff, 0xffff, 0, 0 }, 995 { 996 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 997 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 998 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 999 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1000 }, 1001 }, 1002 1003 /* 1004 * This is the Middle Digital, Inc. PCI-Weasel, which 1005 * uses a PCI interface implemented in FPGA. 1006 */ 1007 { "Middle Digital, Inc. Weasel serial port", 1008 NULL, 1009 { 0xdeaf, 0x9051, 0, 0 }, 1010 { 0xffff, 0xffff, 0, 0 }, 1011 { 1012 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1013 }, 1014 }, 1015 1016 /* SD-LAB PCI I/O Card 4S2P */ 1017 { "Syba Tech Ltd. PCI-4S2P-550-ECP", 1018 puc_config_win877, 1019 { 0x1592, 0x0781, 0, 0 }, 1020 { 0xffff, 0xffff, 0, 0 }, 1021 { 1022 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ }, 1023 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ }, 1024 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 1025 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ }, 1026 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ }, 1027 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 }, 1028 }, 1029 }, 1030 1031 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1032 { "Moxa Technologies, Smartio C104H/PCI", 1033 NULL, 1034 { 0x1393, 0x1040, 0, 0 }, 1035 { 0xffff, 0xffff, 0, 0, }, 1036 { 1037 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1038 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1039 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1040 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1041 }, 1042 }, 1043 1044 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ 1045 { "Moxa Technologies, Smartio CP-104UL/PCI", 1046 NULL, 1047 { 0x1393, 0x1041, 0, 0 }, 1048 { 0xffff, 0xffff, 0, 0, }, 1049 { 1050 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1051 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1052 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1053 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1054 }, 1055 }, 1056 1057 /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ 1058 { "Moxa Technologies, Industio CP-114", 1059 NULL, 1060 { 0x1393, 0x1141, 0, 0 }, 1061 { 0xffff, 0xffff, 0, 0, }, 1062 { 1063 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1064 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1065 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1066 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1067 }, 1068 }, 1069 1070 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 1071 { "Moxa Technologies, C168H/PCI", 1072 NULL, 1073 { 0x1393, 0x1680, 0, 0 }, 1074 { 0xffff, 0xffff, 0, 0, }, 1075 { 1076 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1077 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1078 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1079 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1080 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 1081 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 1082 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 1083 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 1084 }, 1085 }, 1086 1087 /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ 1088 { "Moxa Technologies, C168U/PCI", 1089 NULL, 1090 { 0x1393, 0x1681, 0, 0 }, 1091 { 0xffff, 0xffff, 0, 0, }, 1092 { 1093 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, 1094 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, 1095 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, 1096 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, 1097 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, 1098 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, 1099 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, 1100 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, 1101 }, 1102 }, 1103 1104 { "Avlab Technology, PCI IO 2S", 1105 NULL, 1106 { 0x14db, 0x2130, 0, 0 }, 1107 { 0xffff, 0xfffc, 0, 0 }, 1108 { 1109 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1110 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1111 }, 1112 }, 1113 1114 /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */ 1115 { "Avlab Low Profile PCI 4 Serial", 1116 NULL, 1117 { 0x14db, 0x2150, 0, 0 }, 1118 { 0xffff, 0xffff, 0, 0 }, 1119 { 1120 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1121 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, 1122 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, 1123 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1124 }, 1125 }, 1126 1127 /* Decision Computer Inc, serial ports */ 1128 { "Decision Computer Inc, PCCOM 4-port serial", 1129 NULL, 1130 { 0x6666, 0x0001, 0, 0 }, 1131 { 0xffff, 0xffff, 0, 0 }, 1132 { 1133 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1134 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ }, 1135 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ }, 1136 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ }, 1137 }, 1138 }, 1139 1140 { "PCCOM dual port RS232/422/485", 1141 NULL, 1142 { 0x6666, 0x0004, 0, 0 }, 1143 { 0xffff, 0xffff, 0, 0 }, 1144 { 1145 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, 1146 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ }, 1147 }, 1148 }, 1149 1150 { "IC Book Labs Ironclad x8 Lite", 1151 NULL, 1152 { 0xb00c, 0x041c, 0, 0 }, 1153 { 0xffff, 0xffff, 0, 0 }, 1154 { 1155 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1156 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 1157 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 1158 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 1159 { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ }, 1160 { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ }, 1161 { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ }, 1162 { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ } 1163 }, 1164 PUC_ILR_TYPE_DIGI, { 0x07 }, 1165 }, 1166 1167 { "IC Book Labs Ironclad x8 Pro", 1168 NULL, 1169 { 0xb00c, 0x051c, 0, 0 }, 1170 { 0xffff, 0xffff, 0, 0 }, 1171 { 1172 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1173 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 1174 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 1175 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 1176 { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ }, 1177 { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ }, 1178 { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ }, 1179 { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ } 1180 }, 1181 PUC_ILR_TYPE_DIGI, { 0x07 }, 1182 }, 1183 1184 { "IC Book Labs Dreadnought x16 Lite", 1185 NULL, 1186 { 0xb00c, 0x091c, 0, 0 }, 1187 { 0xffff, 0xffff, 0, 0 }, 1188 { 1189 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, 1190 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ }, 1191 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ }, 1192 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ }, 1193 { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ }, 1194 { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ }, 1195 { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ }, 1196 { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ }, 1197 { PUC_PORT_TYPE_COM, 0x10, 0x40, COM_FREQ }, 1198 { PUC_PORT_TYPE_COM, 0x10, 0x48, COM_FREQ }, 1199 { PUC_PORT_TYPE_COM, 0x10, 0x50, COM_FREQ }, 1200 { PUC_PORT_TYPE_COM, 0x10, 0x58, COM_FREQ }, 1201 { PUC_PORT_TYPE_COM, 0x10, 0x60, COM_FREQ }, 1202 { PUC_PORT_TYPE_COM, 0x10, 0x68, COM_FREQ }, 1203 { PUC_PORT_TYPE_COM, 0x10, 0x70, COM_FREQ }, 1204 { PUC_PORT_TYPE_COM, 0x10, 0x78, COM_FREQ }, 1205 }, 1206 PUC_ILR_TYPE_DIGI, { 0x07, 0x47 }, 1207 }, 1208 1209 { "IC Book Labs Dreadnought x16 Pro", 1210 NULL, 1211 { 0xb00c, 0x081c, 0, 0 }, 1212 { 0xffff, 0xffff, 0, 0 }, 1213 { 1214 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8, 0x200000 }, 1215 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8, 0x200000 }, 1216 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8, 0x200000 }, 1217 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8, 0x200000 }, 1218 { PUC_PORT_TYPE_COM, 0x10, 0x20, COM_FREQ * 8, 0x200000 }, 1219 { PUC_PORT_TYPE_COM, 0x10, 0x28, COM_FREQ * 8, 0x200000 }, 1220 { PUC_PORT_TYPE_COM, 0x10, 0x30, COM_FREQ * 8, 0x200000 }, 1221 { PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ * 8, 0x200000 }, 1222 { PUC_PORT_TYPE_COM, 0x10, 0x40, COM_FREQ * 8, 0x200000 }, 1223 { PUC_PORT_TYPE_COM, 0x10, 0x48, COM_FREQ * 8, 0x200000 }, 1224 { PUC_PORT_TYPE_COM, 0x10, 0x50, COM_FREQ * 8, 0x200000 }, 1225 { PUC_PORT_TYPE_COM, 0x10, 0x58, COM_FREQ * 8, 0x200000 }, 1226 { PUC_PORT_TYPE_COM, 0x10, 0x60, COM_FREQ * 8, 0x200000 }, 1227 { PUC_PORT_TYPE_COM, 0x10, 0x68, COM_FREQ * 8, 0x200000 }, 1228 { PUC_PORT_TYPE_COM, 0x10, 0x70, COM_FREQ * 8, 0x200000 }, 1229 { PUC_PORT_TYPE_COM, 0x10, 0x78, COM_FREQ * 8, 0x200000 }, 1230 }, 1231 PUC_ILR_TYPE_DIGI, { 0x07, 0x47 }, 1232 }, 1233 1234 { 0 } 1235}; 1236