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