The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/pci/pucdata.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: pucdata.c,v 1.114 2023/01/29 15:17:51 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 /*
   34  * PCI "universal" communications card driver configuration data (used to
   35  * match/attach the cards).
   36  */
   37 
   38 #include <sys/cdefs.h>
   39 __KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.114 2023/01/29 15:17:51 thorpej Exp $");
   40 
   41 #include <sys/param.h>
   42 #include <sys/systm.h>
   43 #include <sys/device.h>
   44 
   45 #include <dev/pci/pcidevs.h>
   46 #include <dev/pci/pcireg.h>
   47 #include <dev/pci/pcivar.h>
   48 #include <dev/pci/pucvar.h>
   49 #include <dev/ic/comreg.h>
   50 
   51 const struct puc_device_description puc_devices[] = {
   52         /*
   53          * Advantech multi serial cards
   54          */
   55         /* Advantech PCI-1604UP 2 UARTs based on OX16PCI952 */
   56         {   "Advantech PCI-1604UP UARTs",
   57             {   PCI_VENDOR_ADVANTECH,   PCI_PRODUCT_ADVANTECH_PCI1604, 0, 0 },
   58             {   0xffff, 0xffff, 0x0,    0x0 },
   59             {
   60                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
   61                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
   62             },
   63         },
   64 
   65         {   "Advantech PCI-1610 UARTs",
   66             {   PCI_VENDOR_ADVANTECH,   PCI_PRODUCT_ADVANTECH_PCI1600,
   67                 PCI_PRODUCT_ADVANTECH_PCI1610,  0x0 },
   68             {   0xffff, 0xffff, 0xffff, 0x0 },
   69             {
   70                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
   71                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
   72                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
   73                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
   74             },
   75         },
   76 
   77         {   "Advantech PCI-1612 UARTs",
   78             {   PCI_VENDOR_ADVANTECH,   PCI_PRODUCT_ADVANTECH_PCI1600,
   79                 PCI_PRODUCT_ADVANTECH_PCI1612,  0x0 },
   80             {   0xffff, 0xffff, 0xffff, 0x0 },
   81             {
   82                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
   83                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
   84                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
   85                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
   86             },
   87         },
   88 
   89         /* The use of subvendor ID is bit strange... */
   90         {   "Advantech PCI-1620 (1-4) UARTs",
   91             {   PCI_VENDOR_ADVANTECH,   PCI_PRODUCT_ADVANTECH_PCI1600,
   92                 PCI_PRODUCT_ADVANTECH_PCI1620,  0x0 },
   93             {   0xffff, 0xffff, 0xffff, 0x0 },
   94             {
   95                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
   96                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
   97                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
   98                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
   99             },
  100         },
  101 
  102         /* The use of subvendor ID is bit strange... */
  103         {   "Advantech PCI-1620 (5-8) UARTs",
  104             {   PCI_VENDOR_ADVANTECH,   PCI_PRODUCT_ADVANTECH_PCI1620_1,
  105                 PCI_PRODUCT_ADVANTECH_PCI1620,  0x0 },
  106             {   0xffff, 0xffff, 0xffff, 0x0 },
  107             {
  108                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 2 },
  109                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 2 },
  110                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 2 },
  111                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 2 },
  112             },
  113         },
  114 
  115         /*
  116          * Addi-Data APCI-7800 8-port serial card.
  117          * Uses an AMCC chip as PCI bridge.
  118          */
  119         {   "Addi-Data APCI-7800",
  120             {   PCI_VENDOR_AMCIRCUITS, PCI_PRODUCT_AMCIRCUITS_ADDI7800, 0, 0  },
  121             {   0xffff, 0xffff, 0, 0  },
  122             {
  123                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  124                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ },
  125                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  126                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ },
  127                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  128                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ },
  129                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
  130                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
  131             },
  132         },
  133 
  134         /*
  135          * Amazon.com EC2 virtual 16650-compatible PCI serial device.
  136          */
  137         {   "Amazon.com EC2 Serial",
  138             {   PCI_VENDOR_AMAZON, PCI_PRODUCT_AMAZON_UART,     0, 0  },
  139             {   0xffff, 0xffff,                                 0, 0  },
  140             {
  141                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  142             }
  143         },
  144 
  145         /* ASIX PCIe AX99100 : 4S */
  146         {   "ASIX AX99100 UART",
  147             {   PCI_VENDOR_ASIX, PCI_PRODUCT_ASIX_AX99100,      0xa000, 0x1000 },
  148             {   0xffff, 0xffff,                                 0xffff, 0xffff },
  149             {
  150                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  151             },
  152         },
  153 
  154         /* Avlab Technology, Inc. PCI 2 Serial: 2S */
  155         {   "Avlab PCI 2 Serial",
  156             {   PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S,      0, 0  },
  157             {   0xffff, 0xffff,                                 0, 0  },
  158             {
  159                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  160                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  161             },
  162         },
  163 
  164         /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
  165         {   "Avlab Low Profile PCI 4 Serial",
  166             {   PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S,    0, 0 },
  167             {   0xffff, 0xffff, 0,      0       },
  168             {
  169                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  170                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  171                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  172                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  173             },
  174         },
  175 
  176         /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
  177         {   "Avlab Low Profile PCI 4 Serial",
  178             {   PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S_2,  0, 0  },
  179             {   0xffff, 0xffff,                                 0, 0  },
  180             {
  181                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  182                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  183                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  184                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  185             },
  186         },
  187 
  188         /*
  189          * B&B Electronics MIPort Serial cards.
  190          */
  191         {   "BBELEC ISOLATED_2_PORT",
  192             {   PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_2_PORT, 0, 0 },
  193             {   0xffff, 0xffff, 0,      0       },
  194             {
  195                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  196                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  197             },
  198         },
  199         {   "BBELEC ISOLATED_4_PORT",
  200             {   PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_4_PORT, 0, 0 },
  201             {   0xffff, 0xffff, 0,      0       },
  202             {
  203                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  204                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  205                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  206                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  207             },
  208         },
  209         {   "BBELEC ISOLATED_8_PORT",
  210             {   PCI_VENDOR_BBELEC, PCI_PRODUCT_BBELEC_ISOLATED_8_PORT, 0, 0 },
  211             {   0xffff, 0xffff, 0,      0       },
  212             {
  213                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  214                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  215                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  216                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  217                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
  218                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
  219                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
  220                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
  221             },
  222         },
  223 
  224         /*
  225          * Comtrol
  226          */
  227         {   "Comtrol RocketPort 550/8 RJ11 part A",
  228             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT550811A,
  229                 0, 0 },
  230             {   0xffff, 0xffff, 0,      0 },
  231             {
  232                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  233                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  234                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  235                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  236             },
  237         },
  238         {   "Comtrol RocketPort 550/8 RJ11 part B",
  239             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT550811B,
  240                 0, 0 },
  241             {   0xffff, 0xffff, 0,      0 },
  242             {
  243                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  244                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  245                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  246                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  247             },
  248         },
  249         {   "Comtrol RocketPort 550/8 Octa part A",
  250             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508OA,
  251                 0, 0 },
  252             {   0xffff, 0xffff, 0,      0 },
  253             {
  254                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  255                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  256                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  257                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  258             },
  259         },
  260         {   "Comtrol RocketPort 550/8 Octa part B",
  261             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508OB,
  262                 0, 0 },
  263             {   0xffff, 0xffff, 0,      0 },
  264             {
  265                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  266                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  267                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  268                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  269             },
  270         },
  271         {   "Comtrol RocketPort 550/4 RJ45",
  272             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5504, 0, 0 },
  273             {   0xffff, 0xffff, 0,      0 },
  274             {
  275                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  276                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  277                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  278                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  279             },
  280         },
  281         {   "Comtrol RocketPort 550/Quad",
  282             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT550Q, 0, 0 },
  283             {   0xffff, 0xffff, 0,      0 },
  284             {
  285                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  286                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  287                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  288                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  289             },
  290         },
  291         {   "Comtrol RocketPort 550/16 part A",
  292             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT55016A,
  293                 0, 0 },
  294             {   0xffff, 0xffff, 0,      0 },
  295             {
  296                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  297                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  298                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  299                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  300             },
  301         },
  302         {   "Comtrol RocketPort 550/16 part B",
  303             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT55016B,
  304                 0, 0 },
  305             {   0xffff, 0xffff, 0,      0 },
  306             {
  307                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  308                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  309                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  310                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  311                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ * 4},
  312                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ * 4},
  313                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ * 4},
  314                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ * 4},
  315                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x40, COM_FREQ * 4},
  316                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x48, COM_FREQ * 4},
  317                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x50, COM_FREQ * 4},
  318                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x58, COM_FREQ * 4},
  319             },
  320         },
  321         {   "Comtrol RocketPort 550/8 part A",
  322             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508A,
  323                 0, 0 },
  324             {   0xffff, 0xffff, 0,      0 },
  325             {
  326                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  327                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  328                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  329                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  330             },
  331         },
  332         {   "Comtrol RocketPort 550/8 part B",
  333             {   PCI_VENDOR_COMTROL, PCI_PRODUCT_COMTROL_ROCKETPORT5508B,
  334                 0, 0 },
  335             {   0xffff, 0xffff, 0,      0 },
  336             {
  337                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 4},
  338                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 4},
  339                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 4},
  340                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 4},
  341             },
  342         },
  343 
  344         /*
  345          * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
  346          */
  347         /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
  348         {   "Decision Computer Inc PCCOM 2 Port RS232/422/485",
  349             {   PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2,  0x0,    0x0     },
  350             {   0xffff, 0xffff, 0x0,    0x0     },
  351             {
  352                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
  353                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ},
  354             },
  355         },
  356 
  357         /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
  358         {   "Decision Computer Inc PCCOM 4 Port RS232/422/485",
  359             {   PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4,  0x0,    0x0     },
  360             {   0xffff, 0xffff, 0x0,    0x0     },
  361             {
  362                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
  363                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ},
  364                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x10, COM_FREQ},
  365                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x18, COM_FREQ},
  366             },
  367         },
  368 
  369         /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
  370         {   "Decision Computer Inc PCCOM 8 Port RS232/422/485",
  371             {   PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8,  0x0,    0x0     },
  372             {   0xffff, 0xffff, 0x0,    0x0     },
  373             {
  374                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
  375                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ},
  376                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x10, COM_FREQ},
  377                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x18, COM_FREQ},
  378                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x20, COM_FREQ},
  379                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x28, COM_FREQ},
  380                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x30, COM_FREQ},
  381                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x38, COM_FREQ},
  382             },
  383         },
  384 
  385         /* Digi International Digi Neo 4 Serial */
  386         {   "Digi International Digi Neo 4 Serial",
  387             {   PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4,         0, 0  },
  388             {   0xffff, 0xffff,                                 0, 0  },
  389             {
  390                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  391                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  392                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  393                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  394             },
  395         },
  396 
  397         /* Digi International Digi Neo 8 Serial */
  398         {   "Digi International Digi Neo 8 Serial",
  399             {   PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8,         0, 0  },
  400             {   0xffff, 0xffff,                                 0, 0  },
  401             {
  402                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  403                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  404                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  405                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  406                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
  407                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
  408                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
  409                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
  410             },
  411         },
  412 
  413         /* Digi International Digi Neo 8 Serial (PCIe) */
  414         {   "Digi International Digi Neo 8 Serial (PCIe)",
  415             {   PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8_PCIE,    0, 0  },
  416             {   0xffff, 0xffff,                                 0, 0  },
  417             {
  418                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  419                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  420                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  421                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  422                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
  423                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
  424                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
  425                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
  426             },
  427         },
  428 
  429         {   "EXAR XR17D152",
  430             {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D152, 0,      0       },
  431             {   0xffff, 0xffff, 0,      0       },
  432             {
  433                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  434                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  435             },
  436         },
  437         {   "EXAR XR17D154",
  438             {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D154, 0,      0       },
  439             {   0xffff, 0xffff, 0,      0       },
  440             {
  441                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  442                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  443                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  444                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  445             },
  446         },
  447         {   "EXAR XR17D154",
  448             {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17V354, 0,      0       },
  449             {   0xffff, 0xffff, 0,      0       },
  450             {
  451                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, 125000000 },
  452                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, 125000000 },
  453                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, 125000000 },
  454                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, 125000000 },
  455             },
  456         },
  457 
  458         /*
  459          * Multi-Tech ISI5634PCI/4 4-port modem board.
  460          * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its
  461          * config EEPROM.
  462          */
  463         {   "Multi-Tech ISI5634PCI/4",
  464             {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D158, 0x2205,      0x2003       },
  465             {   0xffff, 0xffff, 0xffff,      0xffff       },
  466             {
  467                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  468                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  469                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  470                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  471             },
  472         },
  473 
  474         {   "EXAR XR17D158",
  475             {   PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17D158, 0,      0       },
  476             {   0xffff, 0xffff, 0,      0       },
  477             {
  478                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0000, COM_FREQ * 8 },
  479                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0200, COM_FREQ * 8 },
  480                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0400, COM_FREQ * 8 },
  481                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0600, COM_FREQ * 8 },
  482                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0800, COM_FREQ * 8 },
  483                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0a00, COM_FREQ * 8 },
  484                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0c00, COM_FREQ * 8 },
  485                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x0e00, COM_FREQ * 8 },
  486             },
  487         },
  488 
  489         /* IBM SurePOS 300 Series (481033H) serial ports */
  490         {   "IBM SurePOS 300 Series (481033H)",
  491             {   PCI_VENDOR_IBM, PCI_PRODUCT_IBM_4810_SCC, 0, 0 },
  492             {   0xffff, 0xffff,                           0, 0 },
  493             {
  494                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ }, /* Port C */
  495                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ }, /* Port D */
  496                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ }, /* Port E */
  497                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ }, /* Port F */
  498             },
  499         },
  500 
  501         /* I-O DATA RSA-PCI: 2S */
  502         {   "I-O DATA RSA-PCI 2-port serial",
  503             {   PCI_VENDOR_IODATA, PCI_PRODUCT_IODATA_RSAPCI, 0, 0 },
  504             {   0xffff, 0xffff, 0, 0 },
  505             {
  506                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  507                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  508             },
  509         },
  510 
  511         /* Lava Computers 2SP-PCI */
  512         {   "Lava Computers 2SP-PCI parallel port",
  513             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 },
  514             {   0xffff, 0xffff, 0,      0       },
  515             {
  516                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
  517             },
  518         },
  519 
  520         /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
  521         {   "Lava Computers dual serial port",
  522             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 },
  523             {   0xffff, 0xfffc, 0,      0       },
  524             {
  525                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  526                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  527             },
  528         },
  529 
  530         /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
  531         {   "Lava Computers Quattro A",
  532             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_QUATTRO_AB, 0, 0 },
  533             {   0xffff, 0xfffc, 0,      0       },
  534             {
  535                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  536                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  537             },
  538         },
  539 
  540         /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
  541         {   "Lava Computers Quattro B",
  542             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_QUATTRO_CD, 0, 0 },
  543             {   0xffff, 0xfffc, 0,      0       },
  544             {
  545                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  546                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  547             },
  548         },
  549 
  550         /* Lava Computers DSerial PCI serial ports */
  551         {   "Lava Computers serial port",
  552             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 },
  553             {   0xffff, 0xfffc, 0,      0       },
  554             {
  555                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  556             },
  557         },
  558 
  559         /* Lava Computers Quattro-PCI serial ports */
  560         {   "Lava Quattro-PCI A 4-port serial",
  561             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 },
  562             {   0xffff, 0xfffc, 0,      0       },
  563             {
  564                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  565                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  566             },
  567         },
  568 
  569         /* Lava Computers Quattro-PCI serial ports */
  570         {   "Lava Quattro-PCI B 4-port serial",
  571             {   PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_CD2, 0, 0 },
  572             {   0xffff, 0xfffc, 0,      0       },
  573             {
  574                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  575                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  576             },
  577         },
  578 
  579         /* Lava Computers Octopus-550 serial ports */
  580         {   "Lava Computers Octopus-550 8-port serial",
  581             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 },
  582             {   0xffff, 0xfffc, 0,      0       },
  583             {
  584                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  585                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  586                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  587                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  588             },
  589         },
  590 
  591         /* Lava Computers Octopus-550 serial ports */
  592         {   "Lava Computers Octopus-550 B 8-port serial",
  593             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_OCTOPUS550_1, 0, 0 },
  594             {   0xffff, 0xfffc, 0,      0       },
  595             {
  596                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  597                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  598                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  599                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  600             },
  601         },
  602 
  603         /* Lava Computers single port serial PCI card */
  604         {   "Lava Computers SSERIAL-PCI",
  605             {   PCI_VENDOR_LAVA,        PCI_PRODUCT_LAVA_SSERIAL, 0, 0 },
  606             {   0xffff, 0xffff, 0,      0       },
  607             {
  608                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  609             },
  610         },
  611 
  612         /* Actiontec  56K PCI Master */
  613         {   "Actiontec 56K PCI Master",
  614             {   PCI_VENDOR_LUCENT,      PCI_PRODUCT_LUCENT_VENUSMODEM,
  615                 0x0, 0x0 },
  616             {   0xffff, 0xffff, 0x0,    0x0     },
  617             {
  618                 { PUC_PORT_TYPE_COM, PCI_BAR1,  0x00, COM_FREQ },
  619             },
  620         },
  621 
  622         /*
  623          * This is the Middle Digital, Inc. PCI-Weasel, which
  624          * uses a PCI interface implemented in FPGA.
  625          */
  626         {   "Middle Digital, Inc. Weasel serial port",
  627             {   PCI_VENDOR_MIDDLE_DIGITAL,
  628                 PCI_PRODUCT_MIDDLE_DIGITAL_WEASEL_SERIAL, 0, 0 },
  629             {   0xffff, 0xffff, 0,      0       },
  630             {
  631                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  632             },
  633         },
  634 
  635         /* Moxa Technologies Co., Ltd. PCI I/O Card 2S RS232 */
  636         {   "Moxa Technologies, SmartIO CP-102/PCI",
  637             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_CP102U, 0, 0 },
  638             {   0xffff, 0xffff, 0,      0       },
  639             {
  640                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  641                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  642             },
  643         },
  644 
  645         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
  646         {   "Moxa Technologies, SmartIO C104H/PCI",
  647             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_C104H, 0, 0 },
  648             {   0xffff, 0xffff, 0,      0       },
  649             {
  650                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  651                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  652                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  653                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  654             },
  655         },
  656 
  657         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
  658         {   "Moxa Technologies, SmartIO CP-104/PCI",
  659             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_CP104, 0, 0 },
  660             {   0xffff, 0xffff, 0,      0       },
  661             {
  662                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  663                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  664                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  665                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  666             },
  667         },
  668 
  669         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
  670         {   "Moxa Technologies, SmartIO CP-104-V2/PCI",
  671             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_CP104V2, 0, 0 },
  672             {   0xffff, 0xffff, 0,      0       },
  673             {
  674                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  675                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  676                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  677                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  678             },
  679         },
  680 
  681         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
  682         {   "Moxa Technologies, SmartIO CP-104-EL/PCIe",
  683             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_CP104EL, 0, 0 },
  684             {   0xffff, 0xffff, 0,      0       },
  685             {
  686                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  687                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  688                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  689                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  690             },
  691         },
  692 
  693         /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
  694         {   "Moxa Technologies, SmartIO CP-114/PCI",
  695             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_CP114, 0, 0 },
  696             {   0xffff, 0xffff, 0,      0       },
  697             {
  698                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  699                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  700                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  701                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  702             },
  703         },
  704 
  705         /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
  706         {   "Moxa Technologies, SmartIO C168H/PCI",
  707             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_C168H, 0, 0 },
  708             {   0xffff, 0xffff, 0,      0       },
  709             {
  710                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  711                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  712                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  713                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  714                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
  715                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
  716                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
  717                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
  718             },
  719         },
  720 
  721         /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
  722         {   "Moxa Technologies, SmartIO C168U/PCI",
  723             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_C168U, 0, 0 },
  724             {   0xffff, 0xffff, 0,      0       },
  725             {
  726                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  727                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  728                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  729                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  730                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
  731                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
  732                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
  733                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
  734             },
  735         },
  736 
  737         /* Moxa Technologies Co., Ltd. PCI-Express I/O Card 8S RS232 */
  738         {   "Moxa Technologies, SmartIO C168EL/PCIe",
  739             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_C168EL, 0, 0 },
  740             {   0xffff, 0xffff, 0,      0       },
  741             {
  742                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
  743                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
  744                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
  745                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
  746                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
  747                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
  748                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
  749                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
  750             },
  751         },
  752         /* Moxa Technologies Co., Ltd. PCI-Express I/O Card 8S RS232 */
  753         {   "Moxa Technologies, SmartIO CP-168EL-A/PCIe",
  754             {   PCI_VENDOR_MOXA,        PCI_PRODUCT_MOXA_C168ELA, 0, 0 },
  755             {   0xffff, 0xffff, 0,      0       },
  756             {
  757                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x000, COM_FREQ * 8 },
  758                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x200, COM_FREQ * 8 },
  759                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x400, COM_FREQ * 8 },
  760                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x600, COM_FREQ * 8 },
  761                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x800, COM_FREQ * 8 },
  762                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0xa00, COM_FREQ * 8 },
  763                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0xc00, COM_FREQ * 8 },
  764                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0xe00, COM_FREQ * 8 },
  765             },
  766         },
  767 
  768         /* NEC PK-UG-X001 K56flex PCI Modem card.
  769            NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
  770         {   "NEC PK-UG-X001 K56flex PCI Modem",
  771             {   PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUGX001, PCI_VENDOR_NEC,
  772                 0x8014 },
  773             {   0xffff, 0xffff, 0xffff, 0xffff  },
  774             {
  775                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  776             },
  777         },
  778 
  779         /* NEC PK-UG-X008 */
  780         {   "NEC PK-UG-X008",
  781             {   PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUGX008, PCI_VENDOR_NEC,
  782                 0x8012 },
  783             {   0xffff, 0xffff, 0xffff, 0xffff  },
  784             {
  785                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ},
  786             },
  787         },
  788 
  789         /* NetMos 1P PCI : 1P */
  790         {   "NetMos NM9805 1284 Printer port",
  791             {   PCI_VENDOR_NETMOS,      PCI_PRODUCT_NETMOS_NM9805, 0, 0 },
  792             {   0xffff, 0xffff, 0,      0       },
  793             {
  794                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
  795             },
  796         },
  797 
  798         /* NetMos 2P PCI : 2P */
  799         {   "NetMos NM9815 Dual 1284 Printer port",
  800             {   PCI_VENDOR_NETMOS,      PCI_PRODUCT_NETMOS_NM9815, 0, 0 },
  801             {   0xffff, 0xffff, 0,      0       },
  802             {
  803                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
  804                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
  805             },
  806         },
  807 
  808         /* NetMos 1S PCI NM9835 : 1S */
  809         {   "NetMos NM9835 UART",
  810             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0x1000, 0x0001 },
  811             {   0xffff, 0xffff, 0xffff, 0xffff  },
  812             {
  813                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  814             },
  815         },
  816 
  817         /* NetMos 2S PCI NM9835 : 2S */
  818         {   "NetMos NM9835 Dual UART",
  819             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0x1000, 0x0002 },
  820             {   0xffff, 0xffff, 0xffff, 0xffff  },
  821             {
  822                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  823                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  824             },
  825         },
  826 
  827         /* NetMos 2S1P PCI 16C650 : 2S, 1P */
  828         {   "NetMos NM9835 Dual UART and 1284 Printer port",
  829             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9835, 0, 0 },
  830             {   0xffff, 0xffff, 0,      0       },
  831             {
  832                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  833                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  834                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
  835             },
  836         },
  837 
  838         /* NetMos 4S0P PCI NM9845 : 4S, 0P */
  839         {   "NetMos NM9845 Quad UART",
  840            {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0004 },
  841            {   0xffff, 0xffff, 0xffff, 0xffff  },
  842            {
  843                { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  844                { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  845                { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  846                { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  847            },
  848         },
  849 
  850         /* NetMos 4S1P PCI NM9845 : 4S, 1P */
  851         {   "NetMos NM9845 Quad UART and 1284 Printer port",
  852             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0014 },
  853             {   0xffff, 0xffff, 0xffff, 0xffff  },
  854             {
  855                { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  856                { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  857                { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  858                { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  859                { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
  860             },
  861         },
  862 
  863         /* NetMos 6S PCI 16C650 : 6S, 0P */
  864         {   "NetMos NM9845 6 UART",
  865             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0x1000, 0x0006 },
  866             {   0xffff, 0xffff, 0xffff, 0xffff  },
  867             {
  868                { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  869                { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  870                { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  871                { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  872                { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
  873                { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ },
  874             },
  875         },
  876 
  877         /* NetMos 4S1P PCI NM9845 : 4S, 1P */
  878         {   "NetMos NM9845 Quad UART and 1284 Printer port (unknown type)",
  879             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9845, 0, 0 },
  880             {   0xffff, 0xffff, 0,      0       },
  881             {
  882                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  883                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  884                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  885                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  886                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
  887             },
  888         },
  889 
  890         /* NetMos 4S1P PCI NM9855 : 4S, 1P */
  891         {   "NetMos NM9855 Quad UART and 1284 Printer port (unknown type)",
  892             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9855, 0x1000, 0x0014 },
  893             {   0xffff, 0xffff, 0xffff, 0xffff  },
  894             {
  895                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
  896                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  897                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  898                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
  899                 { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ },
  900             },
  901         },
  902 
  903         /* NetMos 6S PCI NM9865 : 1S */
  904         {   "NetMos NM9865 1 UART",
  905             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x1000 },
  906             {   0xffff, 0xffff, 0xffff, 0xffff  },
  907             {
  908                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  909             },
  910         },
  911 
  912         /* NetMos PCI NM9865 : 1P */
  913         {   "NetMos NM9865 Single LPT",
  914             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x2000 },
  915             {   0xffff, 0xffff, 0xffff, 0xffff  },
  916             {
  917                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
  918             },
  919         },
  920 
  921         /* NetMos 2S PCI NM9865 : 2S */
  922         {   "NetMos NM9865 2 UART",
  923             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3002 },
  924             {   0xffff, 0xffff, 0xffff, 0xffff  },
  925             {
  926                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  927                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  928             },
  929         },
  930 
  931         /* NetMos 3S PCI NM9865 : 3S */
  932         {   "NetMos NM9865 3 UART",
  933             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3003 },
  934             {   0xffff, 0xffff, 0xffff, 0xffff  },
  935             {
  936                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  937                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  938                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  939             },
  940         },
  941 
  942         /* NetMos 4S PCI NM9865 : 4S */
  943         {   "NetMos NM9865 4 UART",
  944             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3004 },
  945             {   0xffff, 0xffff, 0xffff, 0xffff  },
  946             {
  947                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  948                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  949                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
  950                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
  951             },
  952         },
  953 
  954         /* NetMos PCI NM9865 : 1S 1P */
  955         {   "NetMos NM9865 Single UART and Single LPT",
  956             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3011 },
  957             {   0xffff, 0xffff, 0xffff, 0xffff  },
  958             {
  959                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  960                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
  961             },
  962         },
  963 
  964         /* NetMos PCI NM9865 : 2S 1P */
  965         {   "NetMos NM9865 Dual UART and Single LPT",
  966             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3012 },
  967             {   0xffff, 0xffff, 0xffff, 0xffff  },
  968             {
  969                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  970                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
  971                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
  972             },
  973         },
  974 
  975         /* NetMos PCI NM9865 : 2P */
  976         {   "NetMos NM9865 Dual LPT",
  977             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3020 },
  978             {   0xffff, 0xffff, 0xffff, 0xffff  },
  979             {
  980                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
  981                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
  982             },
  983         },
  984 
  985         /*
  986          * Two 1-port and one 2-port found on a 4-port
  987          * card sold as Sunsway/ST Lab I-430.
  988          */
  989         {   "NetMos NM9865 1S",
  990             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x1000 },
  991             {   0xffff, 0xffff, 0xffff, 0xffff },
  992             {
  993                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
  994             },
  995         },
  996         {   "NetMos NM9865 2S",
  997             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9865, 0xa000, 0x3002 },
  998             {   0xffff, 0xffff, 0xffff, 0xffff },
  999             {
 1000                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1001                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1002             },
 1003         },
 1004 
 1005         /* NetMos PCIe NM9900 : 4S */
 1006         {   "NetMos NM9900 UART",
 1007             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9900, 0xa000, 0x1000 },
 1008             {   0xffff, 0xffff,                               0xffff, 0xffff },
 1009             {
 1010                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1011             },
 1012         },
 1013 
 1014         /* NetMos PCIe NM9900 : 8S */
 1015         {   "NetMos NM9900 UART 8S",
 1016             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9900, 0xa000, 0x3002 },
 1017             {   0xffff, 0xffff,                               0xffff, 0xffff },
 1018             {
 1019                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1020                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1021             },
 1022         },
 1023 
 1024         /* NetMos PCIe Peripheral Controller :UART part */
 1025         {   "NetMos NM9901 UART",
 1026             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x1000 },
 1027             {   0xffff, 0xffff,                               0xffff, 0xffff },
 1028             {
 1029                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1030             },
 1031         },
 1032 
 1033         /* NetMos PCIe NM9901 : 1P */
 1034         {   "NetMos NM9901 LPT",
 1035             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9901, 0xa000, 0x2000 },
 1036             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1037             {
 1038                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 1039             },
 1040         },
 1041 
 1042         /* NetMos PCIe NM9904 (PCI multi function): 4S */
 1043         {   "NetMos NM9904 UART",
 1044             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9904, 0, 0 },
 1045             {   0xffff, 0xffff,                               0, 0 },
 1046             {
 1047                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1048             },
 1049         },
 1050 
 1051         /* NetMos PCIe NM9912 */
 1052         { "NetMos NM9912 Dual PCI-E UART and 1284 Printer Port",
 1053             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9912, 0, 0x1000 },
 1054             {   0xffff, 0xffff, 0, 0xffff },
 1055             {
 1056                 { PUC_PORT_TYPE_COM, 0x10, 0x0000, 0 },
 1057             },
 1058         },
 1059 
 1060         { "NetMos NM9912 Dual PCI-E UART and 1284 Printer Port",
 1061             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9912, 0, 0x2000 },
 1062             {   0xffff, 0xffff, 0, 0xffff },
 1063             {
 1064                 { PUC_PORT_TYPE_LPT, 0x10, 0x0000, 0 },
 1065             },
 1066         },
 1067 
 1068         /* NetMos PCIe NM9922 (PCI multi function): 2S */
 1069         {   "NetMos NM9922 UART",
 1070             {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9922, 0, 0 },
 1071             {   0xffff, 0xffff,                               0, 0 },
 1072             {
 1073                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1074             },
 1075         },
 1076 
 1077         /*
 1078          * Boards with an Oxford Semiconductor chip.
 1079          *
 1080          * Oxford Semiconductor provides documentation for their chip at:
 1081          * <URL:http://www.plxtech.com/products/uart>
 1082          *
 1083          * As sold by Kouwell <URL:http://www.kouwell.com/>.
 1084          * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
 1085          */
 1086 
 1087         /* Oxford Semiconductor OXPCIe952 PCIe 1P */
 1088         {   "Oxford Semiconductor OXPCIe952 LPT",
 1089             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952P,
 1090                 0, 0},
 1091             {   0xffff, 0xffff, 0,      0       },
 1092             {
 1093                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 1094             },
 1095         },
 1096 
 1097         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1098         {   "Oxford Semiconductor OXPCIe952 UART",
 1099             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_0,
 1100                 0, 0 },
 1101             {   0xffff, 0xffff, 0,      0       },
 1102             {
 1103                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1104             },
 1105         },
 1106 
 1107         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1108         {   "Oxford Semiconductor OXPCIe952 UART",
 1109             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_1,
 1110                 0, 0 },
 1111             {   0xffff, 0xffff, 0,      0       },
 1112             {
 1113                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1114             },
 1115         },
 1116 
 1117         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1118         {   "Oxford Semiconductor OXPCIe952 UARTs",
 1119             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_2S,
 1120                 PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_2S },
 1121             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1122             {
 1123                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1124             },
 1125         },
 1126 
 1127         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1128         {   "Oxford Semiconductor OXPCIe952 UART",
 1129             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_2,
 1130                 0, 0 },
 1131             {   0xffff, 0xffff, 0,      0       },
 1132             {
 1133                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1134             },
 1135         },
 1136 
 1137         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1138         {   "Oxford Semiconductor OXPCIe952 UART",
 1139             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_3,
 1140                 0, 0 },
 1141             {   0xffff, 0xffff, 0,      0       },
 1142             {
 1143                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1144             },
 1145         },
 1146 
 1147         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1148         {   "Oxford Semiconductor OXPCIe952 UART",
 1149             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_4,
 1150                 0, 0 },
 1151             {   0xffff, 0xffff, 0,      0       },
 1152             {
 1153                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1154             },
 1155         },
 1156 
 1157         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1158         {   "Oxford Semiconductor OXPCIe952 UART",
 1159             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_5,
 1160                 0, 0 },
 1161             {   0xffff, 0xffff, 0,      0       },
 1162             {
 1163                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1164             },
 1165         },
 1166 
 1167         /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
 1168         {   "Oxford Semiconductor OXPCIe952 UART",
 1169             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_6,
 1170                 0, 0 },
 1171             {   0xffff, 0xffff, 0,      0       },
 1172             {
 1173                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1174             },
 1175         },
 1176 
 1177         /* Oxford Semiconductor OXPCIe954 PCIe UARTs */
 1178         {   "Oxford Semiconductor OXPCIe954 UART",
 1179             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE954,
 1180                 0, 0 },
 1181             {   0xffff, 0xffff, 0,      0       },
 1182             {
 1183                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ * 0x22 },
 1184                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ * 0x22 },
 1185                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ * 0x22 },
 1186                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ * 0x22 },
 1187             },
 1188         },
 1189 
 1190         /* Oxford Semiconductor OXmPCI952 PCI UARTs */
 1191         {   "Oxford Semiconductor OXmPCI952 UARTs",
 1192             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41092,
 1193                 0, 0 },
 1194             {   0xffff, 0xffff, 0,      0       },
 1195             {
 1196                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
 1197                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
 1198             },
 1199         },
 1200 
 1201         /* Oxford Semiconductor OXuPCI952 950 PCI UARTs */
 1202         {   "Oxford Semiconductor OXuPCI952 UARTs",
 1203             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OXUPCI952,
 1204                 0, 0 },
 1205             {   0xffff, 0xffff, 0,      0       },
 1206             {
 1207                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 1208                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 1209             },
 1210         },
 1211 
 1212         /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
 1213         {   "Oxford Semiconductor OX16PCI952 UARTs",
 1214             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OX16PCI952,
 1215                 0, 0 },
 1216             {   0xffff, 0xffff, 0,      0       },
 1217             {
 1218                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1219                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1220             },
 1221         },
 1222 
 1223         /* Oxford Semiconductor OX16PCI952 PCI Parallel port */
 1224         {   "Oxford Semiconductor OX16PCI952 Parallel port",
 1225             {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OX16PCI952P,
 1226                 0, 0 },
 1227             {   0xffff, 0xffff, 0,      0       },
 1228             {
 1229                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 1230             },
 1231         },
 1232 
 1233         /* InnoSys Keyspan SX Pro OX16PCI954 based 4 UARTs */
 1234         {   "InnoSys Keyspan SX Pro Serial Card",
 1235             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1236                 PCI_VENDOR_INNOSYS, 0x5850 },
 1237             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1238             {
 1239                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 1240                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 1241                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 1242                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 1243             },
 1244         },
 1245 
 1246         /* I-O DATA RSA-PCI2 two UARTs based on OX16PCI954 */
 1247         {   "I-O DATA RSA-PCI2 UARTs",
 1248             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1249                 PCI_VENDOR_IODATA, 0xc070 },
 1250             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1251             {
 1252                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 1253                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 1254             },
 1255         },
 1256 
 1257         /* I-O DATA RSA-PCI2 four/eight(1-4) UARTs based on OX16PCI954 */
 1258         {   "I-O DATA RSA-PCI2/P4 or P8 (1-4) UARTs",
 1259             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1260                 PCI_VENDOR_IODATA, 0xd007 },
 1261             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1262             {
 1263                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 1264                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 1265                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 1266                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 1267             },
 1268         },
 1269 
 1270         /* OEM of Oxford Semiconductor PCI UARTs? */
 1271         {   "SIIG Cyber 4 PCI 16550",
 1272             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1273                 PCI_VENDOR_SIIG, 0x2050 },
 1274             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1275             {
 1276                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
 1277                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
 1278                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10 },
 1279                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10 },
 1280             },
 1281         },
 1282 
 1283         /* OEM of Oxford Semiconductor PCI UARTs? */
 1284         {   "SIIG Cyber 4S PCI 16C650 (20x family)",
 1285             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1286                 PCI_VENDOR_SIIG, 0x2051 },
 1287             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1288             {
 1289                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
 1290                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
 1291                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10 },
 1292                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10 },
 1293             },
 1294         },
 1295 
 1296         /* OEM of Oxford Semiconductor PCI UARTs? */
 1297         {   "Avlab LP PCI 4S Quartet",
 1298             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1299                 PCI_VENDOR_AVLAB, 0x2150 },
 1300             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1301             {
 1302                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10 },
 1303                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10 },
 1304                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10 },
 1305                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10 },
 1306             },
 1307         },
 1308 
 1309         /* Oxford Semiconductor OX16PCI954 PCI UARTs */
 1310         {   "Oxford Semiconductor OX16PCI954 UARTs",
 1311             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1312                 PCI_VENDOR_OXFORDSEMI,  0 },
 1313             {   0xffff, 0xffff, 0xffff, 0       },
 1314             {
 1315                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1316                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1317                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
 1318                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
 1319             },
 1320         },
 1321 
 1322         /* Oxford Semiconductor OX16PCI954 PCI UARTs (default for 0x9501) */
 1323         {   "Oxford Semiconductor OX16PCI954 UARTs",
 1324             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954,
 1325                 0, 0 },
 1326             {   0xffff, 0xffff, 0,      0       },
 1327             {
 1328                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ},
 1329                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ},
 1330                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ},
 1331                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ},
 1332             },
 1333         },
 1334 
 1335         /* Oxford Semiconductor Exsys EX-41098 PCI UARTs */
 1336         {   "Oxford Semiconductor Exsys EX-41098 UARTs",
 1337             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41098,
 1338                 PCI_VENDOR_OXFORDSEMI,  0 },
 1339             {   0xffff, 0xffff, 0xffff, 0       },
 1340             {
 1341                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1342                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1343                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
 1344                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
 1345             },
 1346         },
 1347 
 1348         /* I-O DATA RSA-PCI2 eight(5-8) UARTs base on OX16PCI954 */
 1349         {   "I-O DATA RSA-PCI2/P8 (5-8) UARTs",
 1350             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41098,
 1351                 PCI_VENDOR_IODATA, 0xd007 },
 1352             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1353             {
 1354                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 1355                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 1356                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 1357                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 1358             },
 1359         },
 1360 
 1361         /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */
 1362         {   "Exsys EX-41098",
 1363             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41098,
 1364                 PCI_VENDOR_SIIG, 0x2082 },
 1365             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1366             {
 1367                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 10},
 1368                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 10},
 1369                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 10},
 1370                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 10},
 1371             },
 1372         },
 1373 
 1374         /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
 1375         {   "Oxford Semiconductor OX16PCI954 Parallel port",
 1376             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI954P,
 1377                 0, 0 },
 1378             {   0xffff, 0xffff, 0,      0       },
 1379             {
 1380                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 1381             },
 1382         },
 1383 
 1384         /* EXSYS EX-41098-2 UARTs */
 1385         {   "EXSYS EX-41098-2 UARTs",
 1386             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI958,
 1387                 PCI_VENDOR_OXFORDSEMI, 0x0671 },
 1388             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1389             {
 1390                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ},
 1391                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ},
 1392                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ},
 1393                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ},
 1394                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ},
 1395                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ},
 1396                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ},
 1397                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ},
 1398             },
 1399         },
 1400 
 1401         /* Oxford Semiconductor OX16PCI958 UARTs (wildcard)*/
 1402         {   "Oxford Semiconductor OX16PCI958 UARTs",
 1403             {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_OX16PCI958,
 1404                 0, 0 },
 1405             {   0xffff, 0xffff, 0,      0       },
 1406             {
 1407                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 10},
 1408                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 10},
 1409                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 10},
 1410                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 10},
 1411                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 10},
 1412                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 10},
 1413                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 10},
 1414                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 10},
 1415             },
 1416         },
 1417 
 1418         {   "SUNIX 5008 1P",
 1419             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1420                 0x1fd4, 0x0100 },
 1421             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1422             {
 1423                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1424             },
 1425         },
 1426 
 1427         {   "SUNIX 5016 8S",
 1428             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1429                 0x1fd4, 0x0010 },
 1430             {   0xffff, 0xffff, 0xffff, 0xffff },
 1431             {
 1432                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1433                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1434                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
 1435                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
 1436                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8},
 1437                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ * 8},
 1438                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x10, COM_FREQ * 8},
 1439                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x18, COM_FREQ * 8},
 1440                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x20, COM_FREQ * 8},
 1441                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x28, COM_FREQ * 8},
 1442                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x30, COM_FREQ * 8},
 1443                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x38, COM_FREQ * 8},
 1444                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x40, COM_FREQ * 8},
 1445                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x48, COM_FREQ * 8},
 1446                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x50, COM_FREQ * 8},
 1447                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x58, COM_FREQ * 8},
 1448             },
 1449         },
 1450 
 1451         {   "SUNIX 5027 1S",
 1452             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1453                 0x1fd4, 0x0001 },
 1454             {   0xffff, 0xffff, 0xffff, 0xffff },
 1455             {
 1456                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1457             },
 1458         },
 1459 
 1460         {   "SUNIX 5037 2S",
 1461             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1462                 0x1fd4, 0x0002 },
 1463             {   0xffff, 0xffff, 0xffff, 0xffff },
 1464             {
 1465                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1466                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1467             },
 1468         },
 1469 
 1470         {   "SUNIX 5056 4S",
 1471             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1472                 0x1fd4, 0x0004 },
 1473             {   0xffff, 0xffff, 0xffff, 0xffff },
 1474             {
 1475                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1476                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1477                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
 1478                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
 1479             },
 1480         },
 1481 
 1482         {   "SUNIX 5066 8S",
 1483             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1484                 0x1fd4, 0x0008 },
 1485             {   0xffff, 0xffff, 0xffff, 0xffff },
 1486             {
 1487                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1488                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1489                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
 1490                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
 1491                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8},
 1492                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ * 8},
 1493                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x10, COM_FREQ * 8},
 1494                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x18, COM_FREQ * 8},
 1495             },
 1496         },
 1497 
 1498         {   "SUNIX 5069 1S / 1P",
 1499             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1500                 0x1fd4, 0x0101 },
 1501             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 1502             {
 1503                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1504                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1505             },
 1506         },
 1507 
 1508         {   "SUNIX 5079 2S / 1P",
 1509             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1510                 0x1fd4, 0x0102 },
 1511             {   0xffff, 0xffff, 0xffff, 0xffff },
 1512             {
 1513                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1514                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1515                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1516             },
 1517         },
 1518 
 1519         {   "SUNIX 5099 4S / 1P",
 1520             {   PCI_VENDOR_SUNIX2,      PCI_PRODUCT_SUNIX2_SER5XXXX,
 1521                 0x1fd4, 0x0104 },
 1522             {   0xffff, 0xffff, 0xffff, 0xffff },
 1523             {
 1524                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 1525                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 1526                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8},
 1527                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8},
 1528                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1529             },
 1530         },
 1531 
 1532         /*
 1533          * XXX no entry because I have no data:
 1534          * XXX Dolphin Peripherals 4006 (single parallel)
 1535          */
 1536 
 1537         /*
 1538          * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
 1539          * a seemingly-lame EEPROM setup that puts the Dolphin IDs
 1540          * into the subsystem fields, and claims that it's a
 1541          * network/misc (0x02/0x80) device.
 1542          */
 1543         {   "Dolphin Peripherals 4014",
 1544             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,   0xd84d, 0x6810  },
 1545             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1546             {
 1547                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 1548                 { PUC_PORT_TYPE_LPT, PCI_BAR5, 0x00, 0x00 },
 1549             },
 1550         },
 1551 
 1552         /*
 1553          * XXX Dolphin Peripherals 4025 (single serial)
 1554          * (clashes with Dolphin Peripherals  4036 (2s variant)
 1555          */
 1556 
 1557         /*
 1558          * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
 1559          * a seemingly-lame EEPROM setup that puts the Dolphin IDs
 1560          * into the subsystem fields, and claims that it's a
 1561          * network/misc (0x02/0x80) device.
 1562          */
 1563         {   "Dolphin Peripherals 4035",
 1564             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050,   0xd84d, 0x6808  },
 1565             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1566             {
 1567                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1568                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1569             },
 1570         },
 1571 
 1572         /*
 1573          * Nanjing QinHeng Electronics
 1574          * Products based on CH353 chip which can be
 1575          * configured to provide various combinations
 1576          * including 2 serial ports and a parallel port
 1577          * or 4 serial ports (using a CH432 parallel to
 1578          * 2 serial port converter. Product codes from
 1579          * documentation (and physical 2 port serial card)
 1580          */
 1581         {   "Nanjing QinHeng Electronics CH352",
 1582             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_2S,
 1583                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_2S },
 1584             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1585             {
 1586                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1587                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1588             },
 1589         },
 1590 
 1591         {   "Nanjing QinHeng Electronics CH352",
 1592             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_1S1P,
 1593                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_1S1P },
 1594             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1595             {
 1596                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1597                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1598             },
 1599         },
 1600 
 1601         {   "Nanjing QinHeng Electronics CH353",
 1602             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_4S,
 1603                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_4S },
 1604             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1605             {
 1606                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1607                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1608                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1609                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1610             },
 1611         },
 1612 
 1613         {   "Nanjing QinHeng Electronics CH353",
 1614             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1P,
 1615                 PCI_VENDOR_QINHENG, 0x3253 },
 1616             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1617             {
 1618                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1619                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1620                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 1621             },
 1622         },
 1623 
 1624         {   "Nanjing QinHeng Electronics CH353 (fixed address)",
 1625             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1PAR,
 1626                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1PAR },
 1627             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1628             {
 1629                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1630                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1631                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 1632             },
 1633         },
 1634 
 1635         {   "Nanjing QinHeng Electronics CH355",
 1636             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH355_4S,
 1637                 PCI_VENDOR_QINHENG, 0x3473 },
 1638             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1639             {
 1640                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1641                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1642                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1643                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1644             },
 1645         },
 1646 
 1647         {   "Nanjing QinHeng Electronics CH356",
 1648             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_4S1P,
 1649                 PCI_VENDOR_QINHENG, 0x3473 },
 1650             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1651             {
 1652                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1653                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1654                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1655                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1656                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 1657             },
 1658         },
 1659 
 1660         {   "Nanjing QinHeng Electronics CH356",
 1661             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_6S,
 1662                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_6S },
 1663             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1664             {
 1665                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1666                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1667                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1668                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1669                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
 1670                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
 1671             },
 1672         },
 1673 
 1674         {   "Nanjing QinHeng Electronics CH356",
 1675             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_8S,
 1676                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_8S },
 1677             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1678             {
 1679                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1680                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1681                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1682                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1683                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
 1684                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
 1685                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ },
 1686                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ },
 1687             },
 1688         },
 1689 
 1690         {   "Nanjing QinHeng Electronics CH357",
 1691             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH357_4S,
 1692                 PCI_VENDOR_QINHENG, 0x5053 },
 1693             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1694             {
 1695                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1696                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1697                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1698                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1699             },
 1700         },
 1701 
 1702         {   "Nanjing QinHeng Electronics CH358",
 1703             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_4S1P,
 1704                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_4S1P },
 1705             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1706             {
 1707                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1708                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1709                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1710                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1711                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 1712             },
 1713         },
 1714 
 1715         {   "Nanjing QinHeng Electronics CH358",
 1716             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_8S,
 1717                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_8S },
 1718             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1719             {
 1720                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1721                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1722                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1723                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1724                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
 1725                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ },
 1726                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ },
 1727                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ },
 1728             },
 1729         },
 1730 
 1731         {   "Nanjing QinHeng Electronics CH359",
 1732             {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH359_16S,
 1733                 PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH359_16S },
 1734             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1735             {
 1736                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1737                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ },
 1738                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ },
 1739                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ },
 1740                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
 1741                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ },
 1742                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ },
 1743                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x08, COM_FREQ },
 1744                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
 1745                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ },
 1746                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x20, COM_FREQ },
 1747                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x30, COM_FREQ },
 1748                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
 1749                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ },
 1750                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x28, COM_FREQ },
 1751                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x38, COM_FREQ },
 1752             },
 1753         },
 1754 
 1755         {   "Nanjing QinHeng Electronics CH382",
 1756             {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S,
 1757                 PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S },
 1758             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1759             {
 1760                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
 1761                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
 1762             },
 1763         },
 1764 
 1765         {   "Nanjing QinHeng Electronics CH382",
 1766             {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S1P,
 1767                 PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S1P },
 1768             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1769             {
 1770                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
 1771                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
 1772                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1773             },
 1774         },
 1775 
 1776         {   "Nanjing QinHeng Electronics CH384",
 1777             {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S,
 1778                 PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S },
 1779             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1780             {
 1781                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
 1782                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
 1783                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd0, COM_FREQ },
 1784                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd8, COM_FREQ },
 1785             },
 1786         },
 1787 
 1788         {   "Nanjing QinHeng Electronics CH384",
 1789             {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S1P,
 1790                 PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S1P },
 1791             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1792             {
 1793                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
 1794                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
 1795                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd0, COM_FREQ },
 1796                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd8, COM_FREQ },
 1797                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 1798             },
 1799         },
 1800 
 1801         {   "Nanjing QinHeng Electronics CH384",
 1802             {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_8S,
 1803                 PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_8S },
 1804             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1805             {
 1806                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1807                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ },
 1808                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ },
 1809                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ },
 1810                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
 1811                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ },
 1812                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ },
 1813                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ },
 1814             },
 1815         },
 1816 
 1817         {   "Nanjing QinHeng Electronics CH384",
 1818             {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_28S,
 1819                 PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_28S },
 1820             {   0xffff, 0xffff, 0xffff, 0xffff  },
 1821             {
 1822                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc0, COM_FREQ },
 1823                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xc8, COM_FREQ },
 1824                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd0, COM_FREQ },
 1825                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xd8, COM_FREQ },
 1826                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1827                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ },
 1828                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ },
 1829                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ },
 1830                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ },
 1831                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ },
 1832                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ },
 1833                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ },
 1834                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x40, COM_FREQ },
 1835                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x50, COM_FREQ },
 1836                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x60, COM_FREQ },
 1837                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x70, COM_FREQ },
 1838                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x48, COM_FREQ },
 1839                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x58, COM_FREQ },
 1840                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x68, COM_FREQ },
 1841                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x78, COM_FREQ },
 1842                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x80, COM_FREQ },
 1843                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x90, COM_FREQ },
 1844                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xa0, COM_FREQ },
 1845                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xb0, COM_FREQ },
 1846                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x88, COM_FREQ },
 1847                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x98, COM_FREQ },
 1848                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xa8, COM_FREQ },
 1849                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0xb8, COM_FREQ },
 1850             },
 1851         },
 1852 
 1853         /* Intel 82946GZ/GL KT */
 1854         {   "Intel 82946GZ/GL KT",
 1855             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82946GZ_KT, 0, 0 },
 1856             {   0xffff, 0xffff, 0,      0       },
 1857             {
 1858                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1859             },
 1860         },
 1861 
 1862         /* Intel P965/G965 KT */
 1863         {   "Intel P965/G965 KT",
 1864             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82P965_KT, 0, 0 },
 1865             {   0xffff, 0xffff, 0,      0       },
 1866             {
 1867                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1868             },
 1869         },
 1870 
 1871         /* Intel PM965/GM965 KT */
 1872         {   "Intel PM965/GM965 KT",
 1873             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82965PM_KT, 0, 0 },
 1874             {   0xffff, 0xffff, 0,      0       },
 1875             {
 1876                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1877             },
 1878         },
 1879 
 1880         /* Intel GME965/GLE965 KT */
 1881         {   "Intel GME965/GLE965 KT",
 1882             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82965GME_KT, 0, 0 },
 1883             {   0xffff, 0xffff, 0,      0       },
 1884             {
 1885                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1886             },
 1887         },
 1888 
 1889         /* Intel Q963/Q965 KT */
 1890         {   "Intel Q963/Q965 KT",
 1891             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q965_KT, 0, 0 },
 1892             {   0xffff, 0xffff, 0,      0       },
 1893             {
 1894                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1895             },
 1896         },
 1897 
 1898         /* Intel G33/G31/P35/P31 KT */
 1899         {   "Intel G33/G31/P35/P31 KT",
 1900             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82G33_KT, 0, 0 },
 1901             {   0xffff, 0xffff, 0,      0       },
 1902             {
 1903                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1904             },
 1905         },
 1906 
 1907         /* Intel Q35 KT */
 1908         {   "Intel Q35 KT",
 1909             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q35_KT, 0, 0 },
 1910             {   0xffff, 0xffff, 0,      0       },
 1911             {
 1912                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1913             },
 1914         },
 1915 
 1916         /* Intel Q33 KT */
 1917         {   "Intel Q33 KT",
 1918             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q33_KT, 0, 0 },
 1919             {   0xffff, 0xffff, 0,      0       },
 1920             {
 1921                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1922             },
 1923         },
 1924 
 1925         /* Intel X38 KT */
 1926         {   "Intel X38 KT",
 1927             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82X38_KT, 0, 0 },
 1928             {   0xffff, 0xffff, 0,      0       },
 1929             {
 1930                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1931             },
 1932         },
 1933 
 1934         /* Intel 3200 KT */
 1935         {   "Intel 3200 KT",
 1936             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3200_KT, 0, 0 },
 1937             {   0xffff, 0xffff, 0,      0       },
 1938             {
 1939                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1940             },
 1941         },
 1942 
 1943         /* Intel GM45 KT */
 1944         {   "Intel GM45 KT",
 1945             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82GM45_KT, 0, 0 },
 1946             {   0xffff, 0xffff, 0,      0       },
 1947             {
 1948                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1949             },
 1950         },
 1951 
 1952         /* Intel Q45 KT */
 1953         {   "Intel Q45 KT",
 1954             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q45_KT, 0, 0 },
 1955             {   0xffff, 0xffff, 0,      0       },
 1956             {
 1957                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1958             },
 1959         },
 1960 
 1961         /* Intel Q45 KT (again) */
 1962         {   "Intel Q45 KT",
 1963             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82Q45_KT_1, 0, 0 },
 1964             {   0xffff, 0xffff, 0,      0       },
 1965             {
 1966                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1967             },
 1968         },
 1969         /* Intel 5 Series and Intel 3400 Series KT */
 1970         {   "Intel 5 Series KT",
 1971             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3400_KT, 0, 0 },
 1972             {   0xffff, 0xffff, 0,      0       },
 1973             {
 1974                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1975             },
 1976         },
 1977 
 1978         /* Intel 6 Series KT */
 1979         {   "Intel 6 Series KT",
 1980             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_6SERIES_KT, 0, 0 },
 1981             {   0xffff, 0xffff, 0,      0       },
 1982             {
 1983                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1984             },
 1985         },
 1986 
 1987         /* Intel 7 Series KT */
 1988         {   "Intel 7 Series KT",
 1989             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_7SERIES_KT, 0, 0 },
 1990             {   0xffff, 0xffff, 0,      0       },
 1991             {
 1992                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 1993             },
 1994         },
 1995 
 1996         /* Intel 8 Series KT */
 1997         {   "Intel 8 Series KT",
 1998             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_8SERIES_KT, 0, 0 },
 1999             {   0xffff, 0xffff, 0,      0       },
 2000             {
 2001                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2002             },
 2003         },
 2004 
 2005         /* Intel 9 Series KT */
 2006         {   "Intel 9 Series KT",
 2007             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_9SERIES_KT, 0, 0 },
 2008             {   0xffff, 0xffff, 0,      0       },
 2009             {
 2010                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2011             },
 2012         },
 2013 
 2014         /* Intel 100 Series KT */
 2015         {   "Intel 100 Series KT",
 2016             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_KT, 0, 0 },
 2017             {   0xffff, 0xffff, 0,      0       },
 2018             {
 2019                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2020             },
 2021         },
 2022         {   "Intel 100 Series LP KT",
 2023             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_100SERIES_LP_KT, 0, 0 },
 2024             {   0xffff, 0xffff, 0,      0       },
 2025             {
 2026                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2027             },
 2028         },
 2029 
 2030         /* Intel 200 Series KT */
 2031         {   "Intel 200 Series KT",
 2032             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_2HS_KT, 0, 0 },
 2033             {   0xffff, 0xffff, 0,      0       },
 2034             {
 2035                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2036             },
 2037         },
 2038 
 2039         /* Intel 300 Series KT */
 2040         {   "Intel 300 Series KT",
 2041             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_3HS_KT, 0, 0 },
 2042             {   0xffff, 0xffff, 0,      0       },
 2043             {
 2044                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2045             },
 2046         },
 2047 
 2048         /* Intel Comet Lake KT */
 2049         {   "Intel Comet Lake KT",
 2050             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_CMTLK_KT, 0, 0 },
 2051             {   0xffff, 0xffff, 0,      0       },
 2052             {
 2053                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2054             },
 2055         },
 2056 
 2057         /* Intel 400 Series (H) KT */
 2058         {   "Intel 400 Series (H) KT",
 2059             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_4HS_H_KT, 0, 0 },
 2060             {   0xffff, 0xffff, 0,      0       },
 2061             {
 2062                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2063             },
 2064         },
 2065 
 2066         /* Intel 400 Series (V) KT */
 2067         {   "Intel 400 Series (V) KT",
 2068             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_4HS_V_KT, 0, 0 },
 2069             {   0xffff, 0xffff, 0,      0       },
 2070             {
 2071                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2072             },
 2073         },
 2074 
 2075         /* Intel 495 Series KT */
 2076         {   "Intel 495 Series KT",
 2077             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_495_YU_KT, 0, 0 },
 2078             {   0xffff, 0xffff, 0,      0       },
 2079             {
 2080                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2081             },
 2082         },
 2083 
 2084         /* Intel 500 Series (H) KT */
 2085         {   "Intel 500 Series (H) KT",
 2086             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_5HS_H_KT, 0, 0 },
 2087             {   0xffff, 0xffff, 0,      0       },
 2088             {
 2089                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2090             },
 2091         },
 2092         
 2093         /* Intel C600/X79 Series KT */
 2094         {   "Intel C600/X79 Series KT",
 2095             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_C600_KT, 0, 0 },
 2096             {   0xffff, 0xffff, 0,      0       },
 2097             {
 2098                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2099             },
 2100         },
 2101 
 2102         /* Intel Core 4G (mobile) KT */
 2103         {   "Intel Core 4G (mobile) KT",
 2104             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_CORE4G_M_KT, 0, 0 },
 2105             {   0xffff, 0xffff, 0,      0       },
 2106             {
 2107                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2108             },
 2109         },
 2110 
 2111         /* Intel Core 5G (mobile) KT */
 2112         {   "Intel Core 5G (mobile) KT",
 2113             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_CORE5G_M_KT, 0, 0 },
 2114             {   0xffff, 0xffff, 0,      0       },
 2115             {
 2116                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2117             },
 2118         },
 2119 
 2120         /* Intel EG20T UART */
 2121         {   "Intel EG20T UART #0",
 2122             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_0, 0, 0 },
 2123             {   0xffff, 0xffff, 0,      0       },
 2124             {
 2125                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2126             },
 2127         },
 2128 
 2129         /* Intel EG20T UART */
 2130         {   "Intel EG20T UART #1",
 2131             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_1, 0, 0 },
 2132             {   0xffff, 0xffff, 0,      0       },
 2133             {
 2134                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2135             },
 2136         },
 2137 
 2138         /* Intel EG20T UART */
 2139         {   "Intel EG20T UART #2",
 2140             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_2, 0, 0 },
 2141             {   0xffff, 0xffff, 0,      0       },
 2142             {
 2143                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2144             },
 2145         },
 2146 
 2147         /* Intel EG20T UART */
 2148         {   "Intel EG20T UART #3",
 2149             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EG20T_UART_3, 0, 0 },
 2150             {   0xffff, 0xffff, 0,      0       },
 2151             {
 2152                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2153             },
 2154         },
 2155 
 2156         /* Intel Quark X1000 UART */
 2157         {   "Intel Quark X1000 UART",
 2158             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_X1000_HS_UART, 0, 0 },
 2159             {   0xffff, 0xffff, 0,      0       },
 2160             {
 2161                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, 44236800 },
 2162             },
 2163         },
 2164 
 2165         /* Intel S1200 UART */
 2166         {   "Intel S1200 UART",
 2167             {   PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_S1200_UART, 0, 0 },
 2168             {   0xffff, 0xffff, 0,      0       },
 2169             {
 2170                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 2171             },
 2172         },
 2173 
 2174         /* VScom PCI-200: 2S */
 2175         {   "VScom PCI-200",
 2176             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_PCI_200,
 2177                 PCI_VENDOR_PLX, 0x1103 },
 2178             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2179             {
 2180                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2181                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2182             },
 2183         },
 2184 
 2185         /* VScom PCI-400: 4S */
 2186         {   "VScom PCI-400",
 2187             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_PCI_400,
 2188                 PCI_VENDOR_PLX, 0x1077  },
 2189             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2190             {
 2191                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2192                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
 2193                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
 2194                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
 2195             },
 2196         },
 2197 
 2198         /* VScom PCI-800: 8S */
 2199         {   "VScom PCI-800",
 2200             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_PCI_800,
 2201                 PCI_VENDOR_PLX, 0x1076  },
 2202             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2203             {
 2204                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2205                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 8 },
 2206                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 8 },
 2207                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 8 },
 2208                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 8 },
 2209                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 8 },
 2210                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 8 },
 2211                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 8 },
 2212             },
 2213         },
 2214 
 2215         /*
 2216          * Perle PCI-RAS 4 Modem ports
 2217          */
 2218         {   "Perle Systems PCI-RAS 4 modem ports",
 2219             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9030, 0x155f, 0xf001    },
 2220             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2221             {
 2222                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
 2223                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
 2224                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
 2225                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
 2226             },
 2227         },
 2228 
 2229         /*
 2230          * Perle PCI-RASV92 4 Modem ports
 2231          */
 2232         {   "Perle Systems PCI-RASV92 4 modem ports",
 2233             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x155f, 0xf001    },
 2234             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2235             {
 2236                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
 2237                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
 2238                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
 2239                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
 2240             },
 2241         },
 2242 
 2243         /*
 2244          * Perle PCI-RAS 8 Modem ports
 2245          */
 2246         {   "Perle Systems PCI-RAS 8 modem ports",
 2247             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9030, 0x155f, 0xf010    },
 2248             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2249             {
 2250                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
 2251                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
 2252                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
 2253                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
 2254                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 4 },
 2255                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 4 },
 2256                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 4 },
 2257                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 4 },
 2258             },
 2259         },
 2260 
 2261         /*
 2262          * Perle PCI-RASV92 8 Modem ports
 2263          */
 2264         {   "Perle Systems PCI-RASV92 8 modem ports",
 2265             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x155f, 0xf010    },
 2266             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2267             {
 2268                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
 2269                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
 2270                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
 2271                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
 2272                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 4 },
 2273                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 4 },
 2274                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 4 },
 2275                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 4 },
 2276             },
 2277         },
 2278 
 2279         /*
 2280          * Boca Research Turbo Serial 654 (4 serial port) card.
 2281          * Appears to be the same as Chase Research PLC PCI-FAST4
 2282          * and Perle PCI-FAST4 Multi-Port serial cards.
 2283          */
 2284         {   "Boca Research Turbo Serial 654",
 2285             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031  },
 2286             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2287             {
 2288                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
 2289                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
 2290                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
 2291                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
 2292             },
 2293         },
 2294 
 2295         /*
 2296          * Boca Research Turbo Serial 658 (8 serial port) card.
 2297          * Appears to be the same as Chase Research PLC PCI-FAST8
 2298          * and Perle PCI-FAST8 Multi-Port serial cards.
 2299          */
 2300         {   "Boca Research Turbo Serial 658",
 2301             {   PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021  },
 2302             {   0xffff, 0xffff, 0xffff, 0xffff  },
 2303             {
 2304                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 4 },
 2305                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x08, COM_FREQ * 4 },
 2306                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x10, COM_FREQ * 4 },
 2307                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x18, COM_FREQ * 4 },
 2308                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x20, COM_FREQ * 4 },
 2309                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x28, COM_FREQ * 4 },
 2310                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x30, COM_FREQ * 4 },
 2311                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x38, COM_FREQ * 4 },
 2312             },
 2313         },
 2314 
 2315         /*
 2316          * SIIG Boards.
 2317          *
 2318          * SIIG provides documentation for their boards at:
 2319          * <URL:http://www.siig.com/driver.htm>
 2320          *
 2321          * Please excuse the weird ordering, it's the order they
 2322          * use in their documentation.
 2323          */
 2324 
 2325         /*
 2326          * SIIG "10x" family boards.
 2327          */
 2328 
 2329         /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
 2330         {   "SIIG Cyber Serial PCI 16C550 (10x family)",
 2331             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_S550, 0, 0 },
 2332             {   0xffff, 0xffff, 0,      0       },
 2333             {
 2334                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2335                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
 2336             },
 2337         },
 2338 
 2339         /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
 2340         {   "SIIG Cyber Serial PCI 16C650 (10x family)",
 2341             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_S650, 0, 0 },
 2342             {   0xffff, 0xffff, 0,      0       },
 2343             {
 2344                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2345                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
 2346             },
 2347         },
 2348 
 2349         /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
 2350         {   "SIIG Cyber Serial PCI 16C850 (10x family)",
 2351             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_S850, 0, 0 },
 2352             {   0xffff, 0xffff, 0,      0       },
 2353             {
 2354                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2355                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR1 },
 2356             },
 2357         },
 2358 
 2359         /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
 2360         {   "SIIG Cyber I/O PCI 16C550 (10x family)",
 2361             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_IO550, 0, 0 },
 2362             {   0xffff, 0xffff, 0,      0       },
 2363             {
 2364                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2365                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
 2366                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 2367             },
 2368         },
 2369 
 2370         /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
 2371         {   "SIIG Cyber I/O PCI 16C650 (10x family)",
 2372             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_IO650, 0, 0 },
 2373             {   0xffff, 0xffff, 0,      0       },
 2374             {
 2375                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2376                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
 2377                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 2378             },
 2379         },
 2380 
 2381         /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
 2382         {   "SIIG Cyber I/O PCI 16C850 (10x family)",
 2383             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_IO850, 0, 0 },
 2384             {   0xffff, 0xffff, 0,      0       },
 2385             {
 2386                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2387                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
 2388                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 2389             },
 2390         },
 2391 
 2392         /* SIIG Cyber Parallel PCI (10x family): 1P */
 2393         {   "SIIG Cyber Parallel PCI (10x family)",
 2394             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_P, 0, 0 },
 2395             {   0xffff, 0xffff, 0,      0       },
 2396             {
 2397                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2398             },
 2399         },
 2400 
 2401         /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
 2402         {   "SIIG Cyber Parallel Dual PCI (10x family)",
 2403             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2P, 0, 0 },
 2404             {   0xffff, 0xffff, 0,      0       },
 2405             {
 2406                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2407                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 2408             },
 2409         },
 2410 
 2411         /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
 2412         {   "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
 2413             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2S550, 0, 0 },
 2414             {   0xffff, 0xffff, 0,      0       },
 2415             {
 2416                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2417                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
 2418                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
 2419                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
 2420             },
 2421         },
 2422 
 2423         /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
 2424         {   "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
 2425             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2S650, 0, 0 },
 2426             {   0xffff, 0xffff, 0,      0       },
 2427             {
 2428                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2429                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
 2430                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
 2431                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
 2432             },
 2433         },
 2434 
 2435         /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
 2436         {   "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
 2437             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2S850, 0, 0 },
 2438             {   0xffff, 0xffff, 0,      0       },
 2439             {
 2440                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2441                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
 2442                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
 2443                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
 2444             },
 2445         },
 2446 
 2447         /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
 2448         {   "SIIG Cyber 2S1P PCI 16C550 (10x family)",
 2449             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2S1P550,
 2450                 0, 0 },
 2451             {   0xffff, 0xffff, 0,      0       },
 2452             {
 2453                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2454                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
 2455                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
 2456                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
 2457                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 2458             },
 2459         },
 2460 
 2461         /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
 2462         {   "SIIG Cyber 2S1P PCI 16C650 (10x family)",
 2463             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2S1P650,
 2464                 0, 0 },
 2465             {   0xffff, 0xffff, 0,      0       },
 2466             {
 2467                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2468                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
 2469                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
 2470                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
 2471                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 2472             },
 2473         },
 2474 
 2475         /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
 2476         {   "SIIG Cyber 2S1P PCI 16C850 (10x family)",
 2477             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_2S1P850,
 2478                 0, 0 },
 2479             {   0xffff, 0xffff, 0,      0       },
 2480             {
 2481                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2482                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR2 },
 2483                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00,
 2484                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR3 },
 2485                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 2486             },
 2487         },
 2488 
 2489         /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
 2490         {   "SIIG Cyber 4S PCI 16C550 (10x family)",
 2491             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_4S550, 0, 0 },
 2492             {   0xffff, 0xffff, 0,      0       },
 2493             {
 2494                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2495                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
 2496                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2497                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 2498                 { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ * 8 },
 2499             },
 2500         },
 2501 
 2502         /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
 2503         {   "SIIG Cyber 4S PCI 16C650 (10x family)",
 2504             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_4S650, 0, 0 },
 2505             {   0xffff, 0xffff, 0,      0       },
 2506             {
 2507                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2508                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
 2509                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2510                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 2511                 { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ * 8 },
 2512             },
 2513         },
 2514 
 2515         /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
 2516         {   "SIIG Cyber 4S PCI 16C850 (10x family)",
 2517             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER10_4S850, 0, 0 },
 2518             {   0xffff, 0xffff, 0,      0       },
 2519             {
 2520                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00,
 2521                     (COM_FREQ * 8)|PUC_COM_SIIG10x|PUC_PORT_USR0 },
 2522                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2523                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 2524                 { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ * 8 },
 2525             },
 2526         },
 2527 
 2528         /*
 2529          * SIIG "20x" family boards.
 2530          */
 2531 
 2532         /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
 2533         {   "SIIG Cyber Serial PCI 16C550 (20x family)",
 2534             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_S550, 0, 0 },
 2535             {   0xffff, 0xffff, 0,      0       },
 2536             {
 2537                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2538                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2539             },
 2540         },
 2541 
 2542         /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
 2543         {   "SIIG Cyber Serial PCI 16C650 (20x family)",
 2544             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_S650, 0, 0 },
 2545             {   0xffff, 0xffff, 0,      0       },
 2546             {
 2547                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2548                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2549             },
 2550         },
 2551 
 2552         /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
 2553         {   "SIIG Cyber Serial PCI 16C850 (20x family)",
 2554             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_S850, 0, 0 },
 2555             {   0xffff, 0xffff, 0,      0       },
 2556             {
 2557                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2558                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2559             },
 2560         },
 2561 
 2562         /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
 2563         {   "SIIG Cyber I/O PCI 16C550 (20x family)",
 2564             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_IO550, 0, 0 },
 2565             {   0xffff, 0xffff, 0,      0       },
 2566             {
 2567                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2568                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2569                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 2570             },
 2571         },
 2572 
 2573         /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
 2574         {   "SIIG Cyber I/O PCI 16C650 (20x family)",
 2575             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_IO650, 0, 0 },
 2576             {   0xffff, 0xffff, 0,      0       },
 2577             {
 2578                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2579                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2580                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 2581             },
 2582         },
 2583 
 2584         /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
 2585         {   "SIIG Cyber I/O PCI 16C850 (20x family)",
 2586             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_IO850, 0, 0 },
 2587             {   0xffff, 0xffff, 0,      0       },
 2588             {
 2589                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2590                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2591                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 2592             },
 2593         },
 2594 
 2595         /* SIIG Cyber Parallel PCI (20x family): 1P */
 2596         {   "SIIG Cyber Parallel PCI (20x family)",
 2597             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_P, 0, 0 },
 2598             {   0xffff, 0xffff, 0,      0       },
 2599             {
 2600                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 2601             },
 2602         },
 2603 
 2604         /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
 2605         {   "SIIG Cyber Parallel Dual PCI (20x family)",
 2606             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2P, 0, 0 },
 2607             {   0xffff, 0xffff, 0,      0       },
 2608             {
 2609                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 2610                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2611             },
 2612         },
 2613 
 2614         /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
 2615         {   "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
 2616             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2S550, 0, 0 },
 2617             {   0xffff, 0xffff, 0,      0       },
 2618             {
 2619                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2620                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2621                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
 2622                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
 2623             },
 2624         },
 2625 
 2626         /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
 2627         {   "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
 2628             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2S650, 0, 0 },
 2629             {   0xffff, 0xffff, 0,      0       },
 2630             {
 2631                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2632                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2633                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
 2634                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
 2635             },
 2636         },
 2637 
 2638         /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
 2639         {   "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
 2640             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2S850, 0, 0 },
 2641             {   0xffff, 0xffff, 0,      0       },
 2642             {
 2643                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2644                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2645                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
 2646                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
 2647             },
 2648         },
 2649 
 2650         /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
 2651         {   "SIIG Cyber 2P1S PCI 16C550 (20x family)",
 2652             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2P1S550,
 2653                 0, 0 },
 2654             {   0xffff, 0xffff, 0,      0       },
 2655             {
 2656                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2657                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2658                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 2659                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 2660             },
 2661         },
 2662 
 2663         /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
 2664         {   "SIIG Cyber 2P1S PCI 16C650 (20x family)",
 2665             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2P1S650,
 2666                 0, 0 },
 2667             {   0xffff, 0xffff, 0,      0       },
 2668             {
 2669                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2670                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2671                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 2672                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 2673             },
 2674         },
 2675 
 2676         /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
 2677         {   "SIIG Cyber 2P1S PCI 16C850 (20x family)",
 2678             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2P1S850,
 2679                 0, 0 },
 2680             {   0xffff, 0xffff, 0,      0       },
 2681             {
 2682                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2683                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2684                 { PUC_PORT_TYPE_LPT, PCI_BAR1, 0x00, 0x00 },
 2685                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 2686             },
 2687         },
 2688 
 2689         /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
 2690         {   "SIIG Cyber 4S PCI 16C550 (20x family)",
 2691             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_4S550, 0, 0 },
 2692             {   0xffff, 0xffff, 0,      0       },
 2693             {
 2694                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2695                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2696                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 2697                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2698                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2699             },
 2700         },
 2701 
 2702         /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
 2703         {   "SIIG Cyber 4S PCI 16C650 (20x family)",
 2704             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_4S650, 0, 0 },
 2705             {   0xffff, 0xffff, 0,      0       },
 2706             {
 2707                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2708                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2709                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 2710                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2711                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2712             },
 2713         },
 2714 
 2715         /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
 2716         {   "SIIG Cyber 4S PCI 16C850 (20x family)",
 2717             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_4S850, 0, 0 },
 2718             {   0xffff, 0xffff, 0,      0       },
 2719             {
 2720                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2721                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2722                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 2723                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2724                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2725             },
 2726         },
 2727 
 2728         /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
 2729         {   "SIIG Cyber 2S1P PCI 16C550 (20x family)",
 2730             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2S1P550,
 2731                 0, 0 },
 2732             {   0xffff, 0xffff, 0,      0       },
 2733             {
 2734                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2735                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2736                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
 2737                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
 2738                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2739             },
 2740         },
 2741 
 2742         /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
 2743         {   "SIIG Cyber 2S1P PCI 16C650 (20x family)",
 2744             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2S1P650,
 2745                 0, 0 },
 2746             {   0xffff, 0xffff, 0,      0       },
 2747             {
 2748                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2749                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2750                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
 2751                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
 2752                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2753             },
 2754         },
 2755 
 2756         /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
 2757         {   "SIIG Cyber 2S1P PCI 16C850 (20x family)",
 2758             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_CYBER20_2S1P850,
 2759                 0, 0 },
 2760             {   0xffff, 0xffff, 0,      0       },
 2761             {
 2762                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2763                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2764                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00,
 2765                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR1 },
 2766                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2767             },
 2768         },
 2769 
 2770         /* SIIG PS8000 PCI 8S 16C550 (20x family): 8S - 16 Byte FIFOs */
 2771         {   "SIIG PS8000 PCI 8S 16C550 (20x family)",
 2772             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_PS8000P550, 0, 0 },
 2773             {   0xffff, 0xffff, 0,      0       },
 2774             {
 2775                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2776                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2777                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 2778                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2779                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2780                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 2781                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
 2782                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
 2783                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
 2784             },
 2785         },
 2786 
 2787         /* SIIG PS8000 PCI 8S 16C650 (20x family): 8S - 32 Byte FIFOs */
 2788         {   "SIIG PS8000 PCI 8S 16C650 (20x family)",
 2789             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_PS8000P650, 0, 0 },
 2790             {   0xffff, 0xffff, 0,      0       },
 2791             {
 2792                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2793                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2794                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 2795                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2796                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2797                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 2798                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
 2799                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
 2800                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
 2801             },
 2802         },
 2803 
 2804         /* SIIG PS8000 PCI 8S 16C850 (20x family): 8S - 128 Byte FIFOs */
 2805         {   "SIIG PS8000 PCI 8S 16C850 (20x family)",
 2806             {   PCI_VENDOR_SIIG,        PCI_PRODUCT_SIIG_PS8000P850, 0, 0 },
 2807             {   0xffff, 0xffff, 0,      0       },
 2808             {
 2809                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00,
 2810                     (COM_FREQ * 8)|PUC_COM_SIIG20x|PUC_PORT_USR0 },
 2811                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 2812                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 2813                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ * 8 },
 2814                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 2815                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
 2816                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
 2817                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
 2818             },
 2819         },
 2820 
 2821         /*
 2822          * SUNIX 40XX series of serial/parallel combo cards.
 2823          * Tested with 4055A and 4065A.
 2824          */
 2825         {   "SUNIX 400X 1P",
 2826             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2827                 PCI_VENDOR_SUNIX, 0x4000 },
 2828             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2829             {
 2830                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 2831             },
 2832         },
 2833 
 2834         {   "SUNIX 401X 2P",
 2835             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2836                 PCI_VENDOR_SUNIX, 0x4010 },
 2837             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2838             {
 2839                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 2840                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2841             },
 2842         },
 2843 
 2844         {   "SUNIX 402X 1S",
 2845             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2846                 PCI_VENDOR_SUNIX, 0x4020 },
 2847             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2848             {
 2849                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2850             },
 2851         },
 2852 
 2853         {   "SUNIX 403X 2S",
 2854             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2855                 PCI_VENDOR_SUNIX, 0x4030 },
 2856             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2857             {
 2858                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2859                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2860             },
 2861         },
 2862 
 2863         {   "SUNIX 4036 2S",
 2864             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2865                 PCI_VENDOR_SUNIX, 0x0002 },
 2866             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2867             {
 2868                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2869                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2870             },
 2871         },
 2872 
 2873         {   "SUNIX 405X 4S",
 2874             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2875                 PCI_VENDOR_SUNIX, 0x4050 },
 2876             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2877             {
 2878                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2879                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2880                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ},
 2881                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ},
 2882             },
 2883         },
 2884 
 2885         {   "SUNIX 406X 8S",
 2886             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2887                 PCI_VENDOR_SUNIX, 0x4060 },
 2888             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2889             {
 2890                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2891                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2892                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ},
 2893                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ},
 2894                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ},
 2895                 { PUC_PORT_TYPE_COM, PCI_BAR3, 0x00, COM_FREQ},
 2896                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ},
 2897                 { PUC_PORT_TYPE_COM, PCI_BAR5, 0x00, COM_FREQ},
 2898             },
 2899         },
 2900 
 2901         {   "SUNIX 407X 2S/1P",
 2902             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2903                 PCI_VENDOR_SUNIX, 0x4070 },
 2904             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2905             {
 2906                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2907                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2908                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2909             },
 2910         },
 2911 
 2912         {   "SUNIX 408X 2S/2P",
 2913             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2914                 PCI_VENDOR_SUNIX, 0x4080 },
 2915             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2916             {
 2917                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2918                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2919                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2920                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 2921             },
 2922         },
 2923 
 2924         {   "SUNIX 409X 4S/2P",
 2925             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2926                 PCI_VENDOR_SUNIX, 0x4090 },
 2927             {   0xffff, 0xffff, 0xffff, 0xeff0 },
 2928             {
 2929                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2930                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2931                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ},
 2932                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x08, COM_FREQ},
 2933                 { PUC_PORT_TYPE_LPT, PCI_BAR2, 0x00, 0x00 },
 2934                 { PUC_PORT_TYPE_LPT, PCI_BAR4, 0x00, 0x00 },
 2935             },
 2936         },
 2937 
 2938         /*
 2939          * Dolphin Peripherals 4036 (dual serial port) card.
 2940          * (Dolpin 4025 has the same ID but only one port)
 2941          */
 2942         {   "Dolphin Peripherals 4036",
 2943             {   PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_PCI2S550,
 2944                 0x0,    0x0     },
 2945             {   0xffff, 0xffff, 0x0,    0x0     },
 2946             {
 2947                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2948                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2949             },
 2950         },
 2951 
 2952         /*
 2953          * XXX no entry because I have no data:
 2954          * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
 2955          */
 2956 
 2957         /* SD-LAB PCI I/O Card 4S */
 2958         {   "Syba Tech Ltd. PCI-4S",
 2959             {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S,           0, 0    },
 2960             {   0xffff, 0xffff,                                 0, 0    },
 2961             {
 2962                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3e8, COM_FREQ },
 2963                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2e8, COM_FREQ },
 2964                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3f8, COM_FREQ },
 2965                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2f8, COM_FREQ },
 2966             },
 2967         },
 2968 
 2969         /* SD-LAB PCI I/O Card 4S2P */
 2970         {   "Syba Tech Ltd. PCI-4S2P-550-ECP",
 2971             {   PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P,         0, 0    },
 2972             {   0xffff, 0xffff,                                 0, 0    },
 2973             {
 2974                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2e8, COM_FREQ },
 2975                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x2f8, COM_FREQ },
 2976                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x000, 0x00 },
 2977                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3e8, COM_FREQ },
 2978                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x3f8, COM_FREQ },
 2979                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x000, 0x00 },
 2980             },
 2981         },
 2982 
 2983         /* SystemBase SB16C1050 UARTs */
 2984         {   "SystemBase SB16C1050",
 2985             {   PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1050, 0, 0 },
 2986             {   0xffff, 0xffff,                                          0, 0 },
 2987             {
 2988                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8},
 2989                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8},
 2990             },
 2991         },
 2992 
 2993         /* SystemBase SB16C1054 UARTs */
 2994         {   "SystemBase SB16C1054",
 2995             {   PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1054, 0, 0 },
 2996             {   0xffff, 0xffff,                                          0, 0 },
 2997             {
 2998                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 2999                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 3000                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 3001                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 3002             },
 3003         },
 3004 
 3005         /* SystemBase SB16C1058 UARTs */
 3006         {   "SystemBase SB16C1058",
 3007             {   PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1058, 0, 0 },
 3008             {   0xffff, 0xffff,                                          0, 0 },
 3009             {
 3010                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 3011                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 3012                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 3013                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 3014                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x20, COM_FREQ * 8 },
 3015                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x28, COM_FREQ * 8 },
 3016                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x30, COM_FREQ * 8 },
 3017                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x38, COM_FREQ * 8 },
 3018             },
 3019         },
 3020 
 3021         /*
 3022          * VScom PCI 010L
 3023          * one lpt
 3024          * untested
 3025          */
 3026         {   "VScom PCI-010L",
 3027             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI010L,    0, 0 },
 3028             {   0xffff, 0xffff,                                 0, 0 },
 3029             {
 3030                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 3031             },
 3032         },
 3033 
 3034         /*
 3035          * VScom PCI 100L
 3036          * one com
 3037          * The one I have defaults to a fequency of 14.7456 MHz which is
 3038          * jumper J1 set to 2-3.
 3039          */
 3040         {   "VScom PCI-100L",
 3041             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI100L,      0, 0 },
 3042             {   0xffff, 0xffff,                                         0, 0 },
 3043             {
 3044                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3045             },
 3046         },
 3047 
 3048         /*
 3049          * VScom PCI 110L
 3050          * one com, one lpt
 3051          * untested
 3052          */
 3053         {   "VScom PCI-110L",
 3054             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI110L,      0, 0 },
 3055             {   0xffff, 0xffff,                                         0, 0 },
 3056             {
 3057                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3058                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 3059             },
 3060         },
 3061 
 3062         /*
 3063          * VScom PCI-200L has 2 x 16550 UARTS.
 3064          * The board has a jumper which allows you to select a clock speed
 3065          * of either 14.7456MHz or 1.8432MHz. By default it runs at
 3066          * the fast speed.
 3067          */
 3068         {   "VScom PCI-200L with 2 x 16550 UARTS",
 3069             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200L,      0, 0 },
 3070             {   0xffff, 0xffff,                                         0, 0 },
 3071             {
 3072                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3073                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 3074             },
 3075         },
 3076 
 3077         /*
 3078          * VScom PCI-210L
 3079          * Has a jumper for frequency selection, defaults to 8x as used here
 3080          * two com, one lpt
 3081          */
 3082         {   "VScom PCI-210L",
 3083             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI210L,      0, 0 },
 3084             {   0xffff, 0xffff,                                 0, 0 },
 3085             {
 3086                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3087                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 3088                 { PUC_PORT_TYPE_LPT, PCI_BAR3, 0x00, 0x00 },
 3089             },
 3090         },
 3091 
 3092         /* VScom PCI-200Li */
 3093         {   "VScom PCI-200Li",
 3094             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200LI,     0, 0 },
 3095             {   0xffff, 0xffff,                                         0, 0 },
 3096             {
 3097                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ },
 3098                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ },
 3099             },
 3100         },
 3101 
 3102         /* PCI-400L: VendorID is reported to be 0x10d2 instead of 0x14d2. */
 3103         {   "VScom PCI-400L",
 3104             {   PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L,      0, 0 },
 3105             {   0xffff, 0xffff,                                 0, 0 },
 3106             {
 3107                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3108                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 3109                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 3110                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
 3111             },
 3112         },
 3113 
 3114         {   "VScom PCI-800L",
 3115             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800L,      0, 0 },
 3116             {   0xffff, 0xffff, 0,      0       },
 3117             {
 3118                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3119                 { PUC_PORT_TYPE_COM, PCI_BAR2, 0x00, COM_FREQ * 8 },
 3120                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x00, COM_FREQ * 8 },
 3121                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x08, COM_FREQ * 8 },
 3122                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x10, COM_FREQ * 8 },
 3123                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x18, COM_FREQ * 8 },
 3124                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x20, COM_FREQ * 8 },
 3125                 { PUC_PORT_TYPE_COM, PCI_BAR4, 0x28, COM_FREQ * 8 },
 3126             },
 3127         },
 3128 
 3129         {   "VScom PCI-011H",
 3130             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI011H,      0, 0 },
 3131             {   0xffff, 0xffff,                                 0, 0 },
 3132             {
 3133                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 3134             },
 3135         },
 3136 
 3137         /*
 3138          * VScom PCI x10H, 1 lpt.
 3139          * is the lpt part of VScom 110H, 210H, 410H
 3140          */
 3141         {   "VScom PCI-x10H",
 3142             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCIx10H,      0, 0 },
 3143             {   0xffff, 0xffff,                                 0, 0 },
 3144             {
 3145                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 3146             },
 3147         },
 3148 
 3149         /*
 3150          * VScom PCI 100H, little sister of 800H, 1 com.
 3151          * also com part of VScom 110H
 3152          * The one I have defaults to a fequency of 14.7456 MHz which is
 3153          * jumper J1 set to 2-3.
 3154          */
 3155         {   "VScom PCI-100H",
 3156             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI100H,      0, 0 },
 3157             {   0xffff, 0xffff,                                 0, 0 },
 3158             {
 3159                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 3160             },
 3161         },
 3162 
 3163         /*
 3164          * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
 3165          * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
 3166          * device ID 3 and PCI device 1 device ID 4.
 3167          */
 3168         {   "VScom PCI-800H",
 3169             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800H,      0, 0 },
 3170             {   0xffff, 0xffff, 0,      0       },
 3171             {
 3172                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 3173                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 3174                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 3175                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 3176             },
 3177         },
 3178         {   "VScom PCI-800H",
 3179             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI800H_1,    0, 0 },
 3180             {   0xffff, 0xffff, 0,      0       },
 3181             {
 3182                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 3183                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 3184                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x10, COM_FREQ * 8 },
 3185                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x18, COM_FREQ * 8 },
 3186             },
 3187         },
 3188         {   "VScom PCI-200H",
 3189             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200H, 0, 0 },
 3190             {   0xffff, 0xffff, 0,      0       },
 3191             {
 3192                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 3193                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x08, COM_FREQ * 8 },
 3194             },
 3195         },
 3196 
 3197         {   "VScom PCI-010HV2",
 3198             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI010HV2,    0, 0 },
 3199             {   0xffff, 0xffff, 0,      0       },
 3200             {
 3201                 { PUC_PORT_TYPE_LPT, PCI_BAR0, 0x00, 0x00 },
 3202             },
 3203         },
 3204         {   "VScom PCI-200HV2",
 3205             {   PCI_VENDOR_TITAN, PCI_PRODUCT_TITAN_VSCOM_PCI200HV2,    0, 0 },
 3206             {   0xffff, 0xffff, 0,      0       },
 3207             {
 3208                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ * 8 },
 3209                 { PUC_PORT_TYPE_COM, PCI_BAR1, 0x00, COM_FREQ * 8 },
 3210             },
 3211         },
 3212 
 3213         /* US Robotics (3Com) PCI Modems */
 3214         {   "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
 3215             {   PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5609, 0, 0 },
 3216             {   0xffff, 0xffff, 0,      0       },
 3217             {
 3218                 { PUC_PORT_TYPE_COM, PCI_BAR0, 0x00, COM_FREQ },
 3219             },
 3220         },
 3221 
 3222         { .name = NULL },
 3223 };

Cache object: 66e6478133d89d00c858a0a00181c265


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.