root/dev/pci/pucdata.c

/* [<][>][^][v][top][bottom][index][help] */
    1 /*      $OpenBSD: pucdata.c,v 1.48 2007/06/08 12:44:41 mbalmer Exp $    */
    2 /*      $NetBSD: pucdata.c,v 1.6 1999/07/03 05:55:23 cgd Exp $  */
    3 
    4 /*
    5  * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  * 3. All advertising materials mentioning features or use of this software
   16  *    must display the following acknowledgement:
   17  *      This product includes software developed by Christopher G. Demetriou
   18  *      for the NetBSD Project.
   19  * 4. The name of the author may not be used to endorse or promote products
   20  *    derived from this software without specific prior written permission
   21  *
   22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   23  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   24  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   25  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   27  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   28  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   29  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   30  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   31  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   32  */
   33 
   34 /*
   35  * PCI "universal" communications card driver configuration data (used to
   36  * match/attach the cards).
   37  */
   38 
   39 #include <sys/param.h>
   40 #include <sys/systm.h>
   41 #include <sys/device.h>
   42 
   43 #include <dev/pci/pcireg.h>
   44 #include <dev/pci/pcivar.h>
   45 #include <dev/pci/pucvar.h>
   46 #include <dev/pci/pcidevs.h>
   47 #include <dev/ic/comreg.h>
   48 
   49 const struct puc_device_description puc_devices[] = {
   50         /*
   51          * XXX no entry because I have no data:
   52          * XXX Dolphin Peripherals 4006 (single parallel)
   53          */
   54 
   55         /*
   56          * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
   57          * a seemingly-lame EEPROM setup that puts the Dolphin IDs
   58          * into the subsystem fields, and claims that it's a
   59          * network/misc (0x02/0x80) device.
   60          */
   61         {   /* "Dolphin Peripherals 4014" */
   62             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,   0xd84d, 0x6810  },
   63             {   0xffff, 0xffff,                         0xffff, 0xffff  },
   64             {
   65                 { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
   66                 { PUC_PORT_TYPE_LPT, 0x24, 0x00 },
   67             },
   68         },
   69 
   70         /*
   71          * XXX no entry because I have no data:
   72          * XXX Dolphin Peripherals 4025 (single serial)
   73          */
   74 
   75         /*
   76          * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
   77          * a seemingly-lame EEPROM setup that puts the Dolphin IDs
   78          * into the subsystem fields, and claims that it's a
   79          * network/misc (0x02/0x80) device.
   80          */
   81         {   /* "Dolphin Peripherals 4035" */
   82             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,   0xd84d, 0x6808  },
   83             {   0xffff, 0xffff,                         0xffff, 0xffff  },
   84             {
   85                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
   86                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
   87             },
   88         },
   89 
   90         /*
   91          * XXX no entry because I have no data:
   92          * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
   93          */
   94 
   95         /*
   96          * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
   97          */
   98 
   99         /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
  100         {   /* "Decision Computer Inc PCCOM 2 Port RS232/422/485", */ 
  101             {   PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2,          0, 0    },
  102             {   0xffff, 0xffff,                                 0, 0    },
  103             {
  104                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  105                 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
  106             },
  107         },
  108 
  109         /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
  110         {   /* "Decision Computer Inc PCCOM 4 Port RS232/422/485", */ 
  111             {   PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4,          0, 0    },
  112             {   0xffff, 0xffff,                                 0, 0    },
  113             {
  114                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  115                 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
  116                 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
  117                 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
  118             },
  119         },
  120 
  121         /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
  122         {   /* "Decision Computer Inc PCCOM 8 Port RS232/422/485", */ 
  123             {   PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8,          0, 0    },
  124             {   0xffff, 0xffff,                                 0, 0    },
  125             {
  126                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  127                 { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
  128                 { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
  129                 { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
  130                 { PUC_PORT_TYPE_COM, 0x1c, 0x20, COM_FREQ },
  131                 { PUC_PORT_TYPE_COM, 0x1c, 0x28, COM_FREQ },
  132                 { PUC_PORT_TYPE_COM, 0x1c, 0x30, COM_FREQ },
  133                 { PUC_PORT_TYPE_COM, 0x1c, 0x38, COM_FREQ },
  134             },
  135         },
  136 
  137         /*
  138          * SIIG Boards.
  139          *
  140          * SIIG provides documentation for their boards at:
  141          * <URL:http://www.siig.com/driver.htm>
  142          *
  143          * Please excuse the weird ordering, it's the order they
  144          * use in their documentation.
  145          */
  146 
  147         /*
  148          * SIIG "10x" family boards.
  149          */
  150 
  151         /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
  152         {   /* "SIIG Cyber Serial PCI 16C550 (10x family)", */
  153             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000,         0, 0    },
  154             {   0xffff, 0xffff,                                 0, 0    },
  155             {
  156                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  157             },
  158         },
  159 
  160         /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
  161         {   /* "SIIG Cyber Serial PCI 16C650 (10x family)", */
  162             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001,         0, 0    },
  163             {   0xffff, 0xffff,                                 0, 0    },
  164             {
  165                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  166             },
  167         },
  168 
  169         /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
  170         {   /* "SIIG Cyber Serial PCI 16C850 (10x family)", */
  171             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002,         0, 0    },
  172             {   0xffff, 0xffff,                                 0, 0    },
  173             {
  174                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  175             },
  176         },
  177 
  178         /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
  179         {   /* "SIIG Cyber I/O PCI 16C550 (10x family)", */
  180             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010,         0, 0    },
  181             {   0xffff, 0xffff,                                 0, 0    },
  182             {
  183                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  184                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  185             },
  186         },
  187 
  188         /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
  189         {   /* "SIIG Cyber I/O PCI 16C650 (10x family)", */
  190             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011,         0, 0    },
  191             {   0xffff, 0xffff,                                 0, 0    },
  192             {
  193                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  194                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  195             },
  196         },
  197 
  198         /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
  199         {   /* "SIIG Cyber I/O PCI 16C850 (10x family)", */
  200             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012,         0, 0    },
  201             {   0xffff, 0xffff,                                 0, 0    },
  202             {
  203                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  204                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  205             },
  206         },
  207 
  208         /* SIIG Cyber Parallel PCI (10x family): 1P */
  209         {   /* "SIIG Cyber Parallel PCI (10x family)", */
  210             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020,         0, 0    },
  211             {   0xffff, 0xffff,                                 0, 0    },
  212             {
  213                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
  214             },
  215         },
  216 
  217         /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
  218         {   /* "SIIG Cyber Parallel Dual PCI (10x family)", */
  219             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021,         0, 0    },
  220             {   0xffff, 0xffff,                                 0, 0    },
  221             {
  222                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
  223                 { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
  224             },
  225         },
  226 
  227         /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
  228         {   /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */
  229             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030,         0, 0    },
  230             {   0xffff, 0xffff,                                 0, 0    },
  231             {
  232                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  233                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  234             },
  235         },
  236 
  237         /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
  238         {   /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */
  239             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031,         0, 0    },
  240             {   0xffff, 0xffff,                                 0, 0    },
  241             {
  242                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  243                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  244             },
  245         },
  246 
  247         /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
  248         {   /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */
  249             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032,         0, 0    },
  250             {   0xffff, 0xffff,                                 0, 0    },
  251             {
  252                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  253                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  254             },
  255         },
  256 
  257         /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
  258         {   /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */
  259             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034,         0, 0    },
  260             {   0xffff, 0xffff,                                 0, 0    },
  261             {
  262                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  263                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  264                 { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
  265             },
  266         },
  267 
  268         /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
  269         {   /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */
  270             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035,         0, 0    },
  271             {   0xffff, 0xffff,                                 0, 0    },
  272             {
  273                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  274                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  275                 { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
  276             },
  277         },
  278 
  279         /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
  280         {   /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */
  281             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036,         0, 0    },
  282             {   0xffff, 0xffff,                                 0, 0    },
  283             {
  284                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  285                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  286                 { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
  287             },
  288         },
  289 
  290         /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
  291         {   /* "SIIG Cyber 4S PCI 16C550 (10x family)", */
  292             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050,         0, 0    },
  293             {   0xffff, 0xffff,                                 0, 0    },
  294             {
  295                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  296                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  297                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
  298                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
  299             },
  300         },
  301 
  302         /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
  303         {   /* "SIIG Cyber 4S PCI 16C650 (10x family)", */
  304             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051,         0, 0    },
  305             {   0xffff, 0xffff,                                 0, 0    },
  306             {
  307                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  308                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  309                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
  310                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
  311             },
  312         },
  313 
  314         /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
  315         {   /* "SIIG Cyber 4S PCI 16C850 (10x family)", */
  316             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052,         0, 0    },
  317             {   0xffff, 0xffff,                                 0, 0    },
  318             {
  319                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  320                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  321                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
  322                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
  323             },
  324         },
  325 
  326         /*
  327          * SIIG "20x" family boards.
  328          */
  329 
  330         /* SIIG Cyber Parallel PCI (20x family): 1P */
  331         {   /* "SIIG Cyber Parallel PCI (20x family)", */
  332             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020,         0, 0    },
  333             {   0xffff, 0xffff,                                 0, 0    },
  334             {
  335                 { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
  336             },
  337         },
  338 
  339         /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
  340         {   /* "SIIG Cyber Parallel Dual PCI (20x family)", */
  341             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021,         0, 0    },
  342             {   0xffff, 0xffff,                                 0, 0    },
  343             {
  344                 { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
  345                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
  346             },
  347         },
  348 
  349         /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
  350         {   /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */
  351             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040,         0, 0    },
  352             {   0xffff, 0xffff,                                 0, 0    },
  353             {
  354                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  355                 { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
  356                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  357             },
  358         },
  359 
  360         /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
  361         {   /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */
  362             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041,         0, 0    },
  363             {   0xffff, 0xffff,                                 0, 0    },
  364             {
  365                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  366                 { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
  367                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  368             },
  369         },
  370 
  371         /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
  372         {   /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */
  373             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042,         0, 0    },
  374             {   0xffff, 0xffff,                                 0, 0    },
  375             {
  376                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  377                 { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
  378                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  379             },
  380         },
  381 
  382         /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
  383         {   /* "SIIG Cyber Serial PCI 16C550 (20x family)", */
  384             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000,         0, 0    },
  385             {   0xffff, 0xffff,                                 0, 0    },
  386             {
  387                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  388             },
  389         },
  390 
  391         /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
  392         {   /* "SIIG Cyber Serial PCI 16C650 (20x family)", */
  393             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001,         0, 0    },
  394             {   0xffff, 0xffff,                                 0, 0    },
  395             {
  396                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  397             },
  398         },
  399 
  400         /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
  401         {   /* "SIIG Cyber Serial PCI 16C850 (20x family)", */
  402             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002,         0, 0    },
  403             {   0xffff, 0xffff,                                 0, 0    },
  404             {
  405                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  406             },
  407         },
  408 
  409         /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
  410         {   /* "SIIG Cyber I/O PCI 16C550 (20x family)", */
  411             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010,         0, 0    },
  412             {   0xffff, 0xffff,                                 0, 0    },
  413             {
  414                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  415                 { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
  416             },
  417         },
  418 
  419         /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
  420         {   /* "SIIG Cyber I/O PCI 16C650 (20x family)", */
  421             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011,         0, 0    },
  422             {   0xffff, 0xffff,                                 0, 0    },
  423             {
  424                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  425                 { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
  426             },
  427         },
  428 
  429         /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
  430         {   /* "SIIG Cyber I/O PCI 16C850 (20x family)", */
  431             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012,         0, 0    },
  432             {   0xffff, 0xffff,                                 0, 0    },
  433             {
  434                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  435                 { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
  436             },
  437         },
  438 
  439         /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
  440         {   /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */
  441             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030,         0, 0    },
  442             {   0xffff, 0xffff,                                 0, 0    },
  443             {
  444                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  445                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  446             },
  447         },
  448 
  449         /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
  450         {   /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */
  451             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031,         0, 0    },
  452             {   0xffff, 0xffff,                                 0, 0    },
  453             {
  454                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  455                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  456             },
  457         },
  458 
  459         /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
  460         {   /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */
  461             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032,         0, 0    },
  462             {   0xffff, 0xffff,                                 0, 0    },
  463             {
  464                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  465                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  466             },
  467         },
  468 
  469         /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
  470         {   /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */
  471             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060,         0, 0    },
  472             {   0xffff, 0xffff,                                 0, 0    },
  473             {
  474                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  475                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  476                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
  477             },
  478         },
  479 
  480         /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
  481         {   /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */
  482             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061,         0, 0    },
  483             {   0xffff, 0xffff,                                 0, 0    },
  484             {
  485                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  486                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  487                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
  488             },
  489         },
  490 
  491         /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
  492         {   /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */
  493             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062,         0, 0    },
  494             {   0xffff, 0xffff,                                 0, 0    },
  495             {
  496                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  497                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  498                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
  499             },
  500         },
  501 
  502         /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
  503         {   /* "SIIG Cyber 4S PCI 16C550 (20x family)", */
  504             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050,         0, 0    },
  505             {   0xffff, 0xffff,                                 0, 0    },
  506             {
  507                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  508                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  509                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  510                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  511             },
  512         },
  513 
  514         /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
  515         {   /* "SIIG Cyber 4S PCI 16C650 (20x family)", */
  516             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051,         0, 0    },
  517             {   0xffff, 0xffff,                                 0, 0    },
  518             {
  519                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  520                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  521                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  522                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  523             },
  524         },
  525 
  526         /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
  527         {   /* "SIIG Cyber 4S PCI 16C850 (20x family)", */
  528             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052,         0, 0    },
  529             {   0xffff, 0xffff,                                 0, 0    },
  530             {
  531                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  532                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  533                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  534                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  535             },
  536         },
  537 
  538         /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */
  539         {   /* "SIIG Cyber 8S PCI 16C850 (20x family)", */
  540             {   PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081,         0, 0    },
  541             {   0xffff, 0xffff,                                 0, 0    },
  542             {
  543                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  544                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  545                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  546                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  547                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
  548                 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
  549                 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ },
  550                 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ },
  551             },
  552         },
  553 
  554         /*
  555          * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer
  556          */
  557         { /* "VScom PCI-400S", */
  558             { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 },
  559             { 0xffff, 0xffff, 0xffff, 0xffff },
  560             {
  561                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
  562                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
  563                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
  564                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
  565             },
  566         },
  567 
  568         /*
  569          * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html.
  570          * Some PLX chip.  Note: This board has a software selectable(?)
  571          * clock multiplier which this driver doesn't support, so you'll
  572          * have to use an appropriately scaled baud rate when talking to
  573          * the card.
  574          */
  575         {   /* "VScom PCI-800", */
  576             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1076,   0x10b5, 0x1076  },
  577             {   0xffff, 0xffff,                         0xffff, 0xffff  },
  578             {
  579                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  580                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
  581                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
  582                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
  583                 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
  584                 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
  585                 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
  586                 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
  587             },
  588         },
  589 
  590         /*
  591         * VScom PCI 011H, 1 lpt.
  592         */
  593         {   /* "VScom PCI-011H", */
  594             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H,  0, 0 },
  595             {   0xffff, 0xffff,                                         0, 0 },
  596             {
  597                 { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
  598             },
  599         },
  600 
  601         /*
  602          * VScom PCI x10H, 1 lpt.
  603          * is the lpt part of VScom 110H, 210H, 410H
  604          */
  605         {   /* "VScom PCI-x10H", */
  606             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIx10H,    0, 0 },
  607             {   0xffff, 0xffff,                                         0, 0 },
  608             {
  609                 { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
  610             },
  611         },
  612 
  613         /*
  614          * VScom PCI 100H, little sister of 800H, 1 com.
  615          * also com part of VScom 110H
  616          * The one I have defaults to a fequency of 14.7456 MHz which is
  617          * jumper J1 set to 2-3.
  618          */
  619         {   /* "VScom PCI-100H", */
  620             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H,    0, 0 },
  621             {   0xffff, 0xffff,                                         0, 0 },
  622             {
  623                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
  624             },
  625         },
  626 
  627         /*
  628          * VScom PCI 200H, little sister of 800H, 2 com.
  629          * also com part of VScom 210H
  630          * The one I have defaults to a fequency of 14.7456 MHz which is
  631          * jumper J1 set to 2-3.
  632          */
  633 
  634         {   /* "VScom PCI-200H", */
  635             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H,    0, 0 },
  636             {   0xffff, 0xffff,                                         0, 0 },
  637             {
  638                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
  639                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
  640             },
  641         },
  642 
  643         /*
  644          * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips
  645          * that offers 4 com port on PCI device 0 (both 400H and 800H)
  646          * and 4 on PCI device 1 (800H only). PCI device 0 has
  647          * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal
  648          * instead of the standart 1.8432MHz.
  649          * There's a version with a jumper for selecting the crystal frequency,
  650          * defaults to 8x as used here. The jumperless version uses 8x, too.
  651          */
  652         {   /* "VScom PCI-400H/800H", */
  653             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0,  0, 0 },
  654             {   0xffff, 0xffff,                                         0, 0 },
  655             {
  656                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
  657                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
  658                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
  659                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
  660             },
  661         },
  662         {   /* "VScom PCI-400H/800H", */
  663             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1,  0, 0 },
  664             {   0xffff, 0xffff,                                         0, 0 },
  665             {
  666                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
  667                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
  668                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
  669                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
  670             },
  671         },
  672 
  673         /*
  674          * VScom PCI 200HV2, is 200H Version 2.
  675          * Sells as 200H
  676          */
  677         {   /* "VScom PCI-200HV2", */
  678             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2,  0, 0 },
  679             {   0xffff, 0xffff,                                         0, 0 },
  680             {
  681                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
  682                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
  683             },
  684         },
  685 
  686         /*
  687          * VScom PCI 010L
  688          * one lpt
  689          * untested
  690          */
  691         {   /* "VScom PCI-010L", */
  692             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L,    0, 0 },
  693             {   0xffff, 0xffff,                                         0, 0 },
  694             {
  695                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  696             },
  697         },
  698 
  699         /*
  700          * VScom PCI 100L
  701          * one com
  702          * The one I have defaults to a fequency of 14.7456 MHz which is
  703          * jumper J1 set to 2-3.
  704          */
  705         {   /* "VScom PCI-100L", */
  706             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L,    0, 0 },
  707             {   0xffff, 0xffff,                                         0, 0 },
  708             {
  709                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
  710             },
  711         },
  712 
  713         /*
  714          * VScom PCI 110L
  715          * one com, one lpt
  716          * untested
  717          */
  718         {   /* "VScom PCI-110L", */
  719             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L,    0, 0 },
  720             {   0xffff, 0xffff,                                         0, 0 },
  721             {
  722                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
  723                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  724             },
  725         },
  726 
  727         /*
  728          * VScom PCI-200L has 2 x 16550 UARTS.
  729          * The board has a jumper which allows you to select a clock speed
  730          * of either 14.7456MHz or 1.8432MHz. By default it runs at
  731          * the fast speed.
  732          */
  733         {   /* "VScom PCI-200L with 2 x 16550 UARTS" */
  734             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L,    0, 0 },
  735             {   0xffff, 0xffff,                                         0, 0 },
  736             {
  737                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8},
  738                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8},
  739             },
  740         },
  741 
  742         /*
  743          * VScom PCI-210L
  744          * Has a jumper for frequency selection, defaults to 8x as used here
  745          * two com, one lpt
  746          */
  747         {   /* "VScom PCI-210L" */
  748             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L,    0, 0 },
  749             {   0xffff, 0xffff,                                         0, 0 },
  750             {
  751                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
  752                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
  753                 { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
  754             },
  755         },
  756 
  757         /*
  758          * VScom PCI 400L
  759          * Has a jumper for frequency selection, defaults to 8x as used here
  760          * This is equal to J1 in pos 2-3
  761          * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex)
  762          */
  763         {   /* "VScom PCI-400L", */
  764             {   PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L,      0, 0 },
  765             {   0xffff, 0xffff,                                         0, 0 },
  766             {
  767                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
  768                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
  769                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
  770                 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
  771             },
  772         },
  773 
  774         /*
  775          * VScom PCI 800L
  776          * Has a jumper for frequency selection, defaults to 8x as used here
  777          */
  778         {   /* "VScom PCI-800L", */
  779             {   PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L,    0, 0 },
  780             {   0xffff, 0xffff,                                         0, 0 },
  781             {
  782                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
  783                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
  784                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
  785                 { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
  786                 { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
  787                 { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
  788                 { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 },
  789                 { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 },
  790             },
  791         },
  792 
  793         /*
  794          * Exsys EX-41098
  795          */
  796         {   /* "Exsys EX-41098", */
  797             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098,  0, 0 },
  798             {   0xffff, 0xffff,                                         0, 0 },
  799             {
  800                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  801                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
  802                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
  803                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
  804             },
  805         },
  806 
  807         /*
  808          * Boards with an Oxford Semiconductor chip.
  809          *
  810          * Oxford Semiconductor provides documentation for their chip at:
  811          * <URL:http://www.oxsemi.com/products/uarts/index.html>
  812          *
  813          * As sold by Kouwell <URL:http://www.kouwell.com/>.
  814          * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
  815          */
  816 
  817         /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
  818         {   /* "Oxford Semiconductor OX16PCI952 UARTs", */
  819             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952,     0, 0 },
  820             {   0xffff, 0xffff,                                         0, 0 },
  821             {
  822                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  823                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  824             },
  825         },
  826 
  827         /* Oxford Semiconductor OX16PCI952 PCI Parallel port */
  828         {   /* "Oxford Semiconductor OX16PCI952 Parallel port", */
  829             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P,    0, 0 },
  830             {   0xffff, 0xffff,                                         0, 0 },
  831             {
  832                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
  833             },
  834         },
  835 
  836         /* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */
  837         {   /* "Oxford Semiconductor OX16PCI954 UARTs", */
  838             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
  839                 PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 },
  840             {   0xffff, 0xffff, 0xffff, 0xffff },
  841             {
  842                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
  843                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
  844                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
  845                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
  846             },
  847         },
  848 
  849         /* Oxford Semiconductor OX16PCI954 PCI UARTs */
  850         {   /* "Oxford Semiconductor OX16PCI954 UARTs", */
  851             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,     0, 0 },
  852             {   0xffff, 0xffff,                                         0, 0 },
  853             {
  854                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  855                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
  856                 { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
  857                 { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
  858             },
  859         },
  860 
  861         /* Oxford Semiconductor OX16PCI954K PCI UARTs */
  862         {   /* "Oxford Semiconductor OX16PCI954K UARTs", */
  863             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K,    0, 0 },
  864             {   0xffff, 0xffff,                                         0, 0 },
  865             {
  866                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  867                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  868                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  869                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  870             },
  871         },
  872 
  873         /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
  874         {   /* "Oxford Semiconductor OX16PCI954 Parallel port", */
  875             {   PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P,    0, 0 },
  876             {   0xffff, 0xffff,                                         0, 0 },
  877             {
  878                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
  879             },
  880         },
  881 
  882         /*
  883          * NEC PK-UG-X001 K56flex PCI Modem card.
  884          * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using.
  885          */
  886         {   /* "NEC PK-UG-X001 K56flex PCI Modem", */
  887             {   PCI_VENDOR_NEC, PCI_PRODUCT_NEC_MARTH,  0x1033, 0x8014  },
  888             {   0xffff, 0xffff,                         0xffff, 0xffff  },
  889             {
  890                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  891             },
  892         },
  893 
  894         /* NEC PK-UG-X008 */
  895         {   /* "NEC PK-UG-X008", */
  896             {   PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUG,   0x1033, 0x8012  },
  897             {   0xffff, 0xffff,                         0xffff, 0xffff  },
  898             {
  899                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  900             },
  901         },
  902 
  903         /* Lava Computers 2SP-PCI (0x8000-0x8003) */
  904         {   /* "Lava Computers 2SP-PCI parallel port", */
  905             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P,     0, 0    },
  906             {   0xffff, 0xfffc,                                 0, 0    },
  907             {
  908                 { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
  909             },
  910         },
  911 
  912         /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
  913         {   /* "Lava Computers dual serial port", */
  914             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S,     0, 0    },
  915             {   0xffff, 0xfffc,                                 0, 0    },
  916             {
  917                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  918                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  919             },
  920         },
  921 
  922         /*
  923          * Lava Computers Quattro-PCI serial ports.
  924          * A second version of the Quattro-PCI with different PCI ids.
  925          */
  926         {   /* "Lava Computers Quattro-PCI 4-port serial", */
  927             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2,  0, 0    },
  928             {   0xffff, 0xfffe,                                 0, 0    },
  929             {
  930                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  931                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  932             },
  933         },
  934 
  935         /*
  936          * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI
  937          * serial ports.
  938          */
  939         {   /* "Lava Computers high-speed port", */
  940             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0,   0, 0    },
  941             {   0xffff, 0xfffc,                                 0, 0    },
  942             {
  943                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 },
  944                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ*4 },
  945             },
  946         },
  947 
  948         /*
  949          * Lava Computers LavaPort-single serial port.
  950          */
  951         {   /* "Lava Computers high-speed port", */
  952             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2,   0, 0    },
  953             {   0xffff, 0xfffc,                                 0, 0    },
  954             {
  955                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 },
  956             },
  957         },
  958 
  959         /* Lava Computers LavaPort-650 */
  960         {   /* "Lava Computers high-speed port", */
  961             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650,          0, 0    },
  962             {   0xffff, 0xfffc,                                 0, 0    },
  963             {
  964                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 },
  965             },
  966         },
  967 
  968         /* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */
  969         {   /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */
  970             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0,  0, 0    },
  971             {   0xffff, 0xfffc,                                 0, 0    },
  972             {
  973                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  974             },
  975         },
  976 
  977         /* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */
  978         {   /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */
  979             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1,  0, 0    },
  980             {   0xffff, 0xfffc,                                 0, 0    },
  981             {
  982                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  983             },
  984         },
  985 
  986         /* Lava Computers Octopus-550 serial ports */
  987         {   /* "Lava Computers Octopus-550 8-port serial", */
  988             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0    },
  989             {   0xffff, 0xfffc,                                 0, 0    },
  990             {
  991                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
  992                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
  993                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
  994                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
  995             },
  996         },
  997 
  998         /* US Robotics (3Com) PCI Modems */
  999         {   /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */
 1000             {   PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610,        0, 0    },
 1001             {   0xffff, 0xffff,                                 0, 0    },
 1002             {
 1003                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
 1004             },
 1005         },
 1006 
 1007         /* IBM 33L4618: AT&T/Lucent Venus Modem */
 1008         {   /* "IBM 33L4618: AT&T/Lucent Venus Modem", */
 1009             /* "Actiontec 56K PCI Master" */
 1010             {   PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM,       0, 0 },
 1011             {   0xffff, 0xffff,                                         0, 0 },
 1012             {
 1013                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
 1014             },
 1015         },
 1016 
 1017         /* Topic/SmartLink 5634PCV SurfRider */
 1018         {   /* "Topic/SmartLink 5634PCV SurfRider" */
 1019             {   PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV,    0, 0    },
 1020             {   0xffff, 0xffff,                                 0, 0    },
 1021             {
 1022                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
 1023             },
 1024         },
 1025 
 1026         /* SD-LAB PCI I/O Card 4S */
 1027         {   /* "Syba Tech Ltd. PCI-4S" */
 1028             {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S,           0, 0    },
 1029             {   0xffff, 0xffff,                                 0, 0    },
 1030             {
 1031                 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
 1032                 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
 1033                 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
 1034                 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
 1035             },
 1036         },
 1037 
 1038         /* SD-LAB PCI I/O Card 4S2P */
 1039         {   /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */
 1040             {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P,         0, 0    },
 1041             {   0xffff, 0xffff,                                 0, 0    },
 1042             {
 1043                 { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
 1044                 { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
 1045                 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
 1046                 { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
 1047                 { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
 1048                 { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
 1049             },
 1050         },
 1051 
 1052         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
 1053         {   /* "Moxa Technologies, Industio CP-114" */
 1054             {   PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114,        0, 0    },
 1055             {   0xffff, 0xffff,                                 0, 0    },
 1056             {
 1057                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
 1058                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
 1059                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
 1060                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
 1061             },
 1062         },
 1063 
 1064         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
 1065         {   /* "Moxa Technologies, SmartIO C104H/PCI" */
 1066             {   PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H,        0, 0    },
 1067             {   0xffff, 0xffff,                                 0, 0    },
 1068             {
 1069                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
 1070                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
 1071                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
 1072                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
 1073             },
 1074         },
 1075 
 1076         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
 1077         {   /* "Moxa Technologies, SmartIO CP104/PCI" */
 1078             {   PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104,        0, 0    },
 1079             {   0xffff, 0xffff,                                 0, 0    },
 1080             {
 1081                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
 1082                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
 1083                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
 1084                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
 1085             },
 1086         },
 1087 
 1088         /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
 1089         {   /* "Moxa Technologies, Industio C168H" */
 1090             {   PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H,        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         /* NetMos 2S1P PCI 16C650 : 2S, 1P */
 1105         {   /* "NetMos NM9835 Dual UART and 1284 Printer port" */
 1106             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_2S1P,     0, 0    },
 1107             {   0xffff, 0xffff,                                 0, 0    },
 1108             {
 1109                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
 1110                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
 1111                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
 1112             },
 1113         },
 1114 
 1115         /* NetMos 4S PCI 16C650 : 4S, 0P */
 1116         {   /* "NetMos NM9845 Quad UART" */
 1117             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_4S,       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         /* NetMos 1P PCI: 1P */
 1128         {   /* "NetMos NM9805 1284 Printer Port" */
 1129             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_1P,       0, 0    },
 1130             {   0xffff, 0xffff,                                 0, 0    },
 1131             {
 1132                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
 1133             },
 1134         },
 1135         { /* Sunix 4018A : 2-port parallel */
 1136             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A,      0, 0    },
 1137             {   0xffff, 0xffff,                                 0, 0    },
 1138             {
 1139                 { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
 1140                 { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
 1141             },
 1142         },
 1143 
 1144         /*
 1145          * SUNIX 40XX series of serial/parallel combo cards.
 1146          * Tested with 4055A and 4065A.
 1147          */
 1148         {   /* SUNIX 400X 1P */
 1149             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 },
 1150             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1151             {
 1152                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
 1153             },
 1154         },
 1155 
 1156         {   /* SUNIX 401X 2P */
 1157             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 },
 1158             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1159             {
 1160                 { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
 1161                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
 1162             },
 1163         },
 1164 
 1165         {   /* SUNIX 402X 1S */
 1166             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 },
 1167             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1168             {
 1169                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1170             },
 1171         },
 1172 
 1173         {   /* SUNIX 403X 2S */
 1174             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 },
 1175             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1176             {
 1177                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1178                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
 1179             },
 1180         },
 1181 
 1182         {   /* SUNIX 405X 4S */
 1183             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 },
 1184             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1185             {
 1186                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1187                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
 1188                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
 1189                 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
 1190             },
 1191         },
 1192 
 1193         {   /* SUNIX 406X 8S */
 1194             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 },
 1195             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1196             {
 1197                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1198                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
 1199                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
 1200                 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
 1201                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ},
 1202                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
 1203                 { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ},
 1204                 { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ},
 1205             },
 1206         },
 1207 
 1208         {   /* SUNIX 407X 2S/1P */
 1209             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 },
 1210             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1211             {
 1212                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1213                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
 1214                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
 1215             },
 1216         },
 1217 
 1218         {   /* SUNIX 408X 2S/2P */
 1219             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 },
 1220             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1221             {
 1222                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1223                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
 1224                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
 1225                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
 1226             },
 1227         },
 1228 
 1229         {   /* SUNIX 409X 4S/2P */
 1230             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 },
 1231             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1232             {
 1233                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
 1234                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
 1235                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
 1236                 { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
 1237                 { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
 1238                 { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
 1239             },
 1240         },
 1241 
 1242         /*
 1243          * Boca Research Turbo Serial 654 (4 serial port) card.
 1244          * Appears to be the same as Chase Research PLC PCI-FAST4 card,
 1245          * same as Perle PCI-FAST4 Multi-Port serial card
 1246          */
 1247         {   /* "Boca Turbo Serial 654 - IOP654" */
 1248             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,   0x12e0, 0x0031  },
 1249             {   0xffff, 0xffff,                         0xffff, 0xffff  },
 1250             {
 1251                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
 1252                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
 1253                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
 1254                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
 1255             },
 1256         },
 1257 
 1258         /*
 1259          * Boca Research Turbo Serial 658 (8 serial port) card.
 1260          * Appears to be the same as Chase Research PLC PCI-FAST8 card
 1261          * same as Perle PCI-FAST8 Multi-Port serial card
 1262          */
 1263         {   /* "Boca Turbo Serial 658 - IOP658" */
 1264             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,   0x12e0, 0x0021  },
 1265             {   0xffff, 0xffff,                         0xffff, 0xffff  },
 1266             {
 1267                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
 1268                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
 1269                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
 1270                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
 1271                 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
 1272                 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
 1273                 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
 1274                 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
 1275             },
 1276         },
 1277 
 1278         /* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */
 1279         {    /* "Cronyx Omega-PCI" */
 1280             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_CRONYX_OMEGA,   0, 0 },
 1281             {   0xffff, 0xffff,                                 0, 0 },
 1282             {
 1283                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
 1284                 { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
 1285                 { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
 1286                 { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
 1287                 { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
 1288                 { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
 1289                 { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
 1290                 { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
 1291             },
 1292         },
 1293 
 1294         /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
 1295         {   /* "Avlab Low Profile PCI 4 Serial" */
 1296             {   PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S,    0, 0  },
 1297             {   0xffff, 0xffff,                                 0, 0  },
 1298             {
 1299                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
 1300                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
 1301                 { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
 1302                 { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
 1303             },
 1304         },
 1305 
 1306         /* Avlab Technology, Inc. PCI 2 Serial: 2S */
 1307         {   /* "Avlab PCI 2 Serial" */
 1308             {   PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S,      0, 0  },
 1309             {   0xffff, 0xffff,                                 0, 0  },
 1310             {
 1311                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
 1312                 { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
 1313             },
 1314         },
 1315 
 1316         /* Digi International Digi Neo 4 Serial */
 1317         {
 1318             {   PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4,         0, 0  },
 1319             {   0xffff, 0xffff,                                 0, 0  },
 1320             {
 1321                 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
 1322                 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
 1323                 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
 1324                 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
 1325             },
 1326         },
 1327 
 1328         /* Digi International Digi Neo 8 Serial */
 1329         {
 1330             {   PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8,         0, 0  },
 1331             {   0xffff, 0xffff,                                 0, 0  },
 1332             {
 1333                 { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
 1334                 { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
 1335                 { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
 1336                 { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
 1337                 { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
 1338                 { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
 1339                 { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
 1340                 { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
 1341             },
 1342         },
 1343         {   /* NULL, */
 1344 
 1345             {   0,      0,              0, 0    },
 1346             {   0,      0,              0, 0    },
 1347             {
 1348                 { 0, 0, 0 },
 1349             },
 1350         }
 1351 };

/* [<][>][^][v][top][bottom][index][help] */