Home | History | Annotate | Line # | Download | only in pci
pucdata.c revision 1.15
      1  1.15  christos /*	$NetBSD: pucdata.c,v 1.15 2001/02/14 15:07:28 christos Exp $	*/
      2   1.1       cgd 
      3   1.1       cgd /*
      4   1.3       cgd  * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
      5   1.1       cgd  *
      6   1.1       cgd  * Redistribution and use in source and binary forms, with or without
      7   1.1       cgd  * modification, are permitted provided that the following conditions
      8   1.1       cgd  * are met:
      9   1.1       cgd  * 1. Redistributions of source code must retain the above copyright
     10   1.1       cgd  *    notice, this list of conditions and the following disclaimer.
     11   1.1       cgd  * 2. Redistributions in binary form must reproduce the above copyright
     12   1.1       cgd  *    notice, this list of conditions and the following disclaimer in the
     13   1.1       cgd  *    documentation and/or other materials provided with the distribution.
     14   1.1       cgd  * 3. All advertising materials mentioning features or use of this software
     15   1.1       cgd  *    must display the following acknowledgement:
     16   1.1       cgd  *      This product includes software developed by Christopher G. Demetriou
     17   1.1       cgd  *	for the NetBSD Project.
     18   1.1       cgd  * 4. The name of the author may not be used to endorse or promote products
     19   1.1       cgd  *    derived from this software without specific prior written permission
     20   1.1       cgd  *
     21   1.1       cgd  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     22   1.1       cgd  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     23   1.1       cgd  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     24   1.1       cgd  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     25   1.1       cgd  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     26   1.1       cgd  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     27   1.1       cgd  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     28   1.1       cgd  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     29   1.1       cgd  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     30   1.1       cgd  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31   1.1       cgd  */
     32   1.1       cgd 
     33   1.1       cgd /*
     34   1.1       cgd  * PCI "universal" communications card driver configuration data (used to
     35   1.1       cgd  * match/attach the cards).
     36   1.1       cgd  */
     37   1.1       cgd 
     38   1.1       cgd #include <sys/param.h>
     39   1.1       cgd #include <sys/systm.h>
     40   1.1       cgd #include <sys/device.h>
     41   1.1       cgd 
     42   1.1       cgd #include <dev/pci/pcireg.h>
     43   1.1       cgd #include <dev/pci/pcivar.h>
     44   1.1       cgd #include <dev/pci/pucvar.h>
     45  1.11    bouyer #include <dev/ic/comreg.h>
     46   1.1       cgd 
     47   1.1       cgd const struct puc_device_description puc_devices[] = {
     48   1.1       cgd 	/*
     49   1.1       cgd 	 * XXX no entry because I have no data:
     50   1.6       cgd 	 * XXX Dolphin Peripherals 4006 (single parallel)
     51   1.1       cgd 	 */
     52   1.1       cgd 
     53   1.1       cgd 	/*
     54   1.6       cgd 	 * Dolphin Peripherals 4014 (dual parallel port) card.  PLX 9050, with
     55   1.1       cgd 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
     56   1.1       cgd 	 * into the subsystem fields, and claims that it's a
     57   1.1       cgd 	 * network/misc (0x02/0x80) device.
     58   1.1       cgd 	 */
     59   1.6       cgd 	{   "Dolphin Peripherals 4014",
     60   1.1       cgd 	    {	0x10b5,	0x9050,	0xd84d,	0x6810	},
     61   1.1       cgd 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
     62   1.1       cgd 	    {
     63  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
     64  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
     65   1.1       cgd 	    },
     66   1.1       cgd 	},
     67   1.1       cgd 
     68   1.1       cgd 	/*
     69   1.1       cgd 	 * XXX no entry because I have no data:
     70   1.6       cgd 	 * XXX Dolphin Peripherals 4025 (single serial)
     71   1.1       cgd 	 */
     72   1.1       cgd 
     73   1.1       cgd 	/*
     74   1.6       cgd 	 * Dolphin Peripherals 4035 (dual serial port) card.  PLX 9050, with
     75   1.1       cgd 	 * a seemingly-lame EEPROM setup that puts the Dolphin IDs
     76   1.1       cgd 	 * into the subsystem fields, and claims that it's a
     77   1.1       cgd 	 * network/misc (0x02/0x80) device.
     78   1.1       cgd 	 */
     79   1.6       cgd 	{   "Dolphin Peripherals 4035",
     80   1.1       cgd 	    {	0x10b5,	0x9050,	0xd84d,	0x6808	},
     81   1.1       cgd 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
     82   1.1       cgd 	    {
     83  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
     84  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
     85   1.1       cgd 	    },
     86   1.1       cgd 	},
     87   1.1       cgd 
     88   1.1       cgd 	/*
     89   1.1       cgd 	 * XXX no entry because I have no data:
     90   1.6       cgd 	 * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
     91   1.2       cgd 	 */
     92   1.2       cgd 
     93   1.5       cgd 
     94   1.2       cgd 	/*
     95   1.5       cgd 	 * SIIG Boards.
     96   1.5       cgd 	 *
     97   1.5       cgd 	 * SIIG provides documentation for their boards at:
     98   1.5       cgd 	 * <URL:http://www.siig.com/driver.htm>
     99   1.5       cgd 	 *
    100   1.5       cgd 	 * Please excuse the weird ordering, it's the order they
    101   1.5       cgd 	 * use in their documentation.
    102   1.1       cgd 	 */
    103   1.1       cgd 
    104   1.1       cgd 	/*
    105   1.5       cgd 	 * SIIG "10x" family boards.
    106   1.2       cgd 	 */
    107   1.2       cgd 
    108   1.5       cgd 	/* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
    109   1.5       cgd 	{   "SIIG Cyber Serial PCI 16C550 (10x family)",
    110   1.1       cgd 	    {	0x131f,	0x1000,	0,	0	},
    111   1.1       cgd 	    {	0xffff,	0xffff,	0,	0	},
    112   1.1       cgd 	    {
    113  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    114   1.1       cgd 	    },
    115   1.1       cgd 	},
    116   1.2       cgd 
    117   1.5       cgd 	/* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
    118   1.5       cgd 	{   "SIIG Cyber Serial PCI 16C650 (10x family)",
    119   1.5       cgd 	    {	0x131f,	0x1001,	0,	0	},
    120   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    121   1.5       cgd 	    {
    122  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    123   1.5       cgd 	    },
    124   1.5       cgd 	},
    125   1.5       cgd 
    126   1.5       cgd 	/* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
    127   1.5       cgd 	{   "SIIG Cyber Serial PCI 16C850 (10x family)",
    128   1.5       cgd 	    {	0x131f,	0x1002,	0,	0	},
    129   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    130   1.5       cgd 	    {
    131  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    132   1.5       cgd 	    },
    133   1.5       cgd 	},
    134   1.5       cgd 
    135   1.5       cgd 	/* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
    136   1.5       cgd 	{   "SIIG Cyber I/O PCI 16C550 (10x family)",
    137   1.5       cgd 	    {	0x131f,	0x1010,	0,	0	},
    138   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    139   1.5       cgd 	    {
    140  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    141  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    142   1.5       cgd 	    },
    143   1.5       cgd 	},
    144   1.5       cgd 
    145   1.5       cgd 	/* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
    146   1.5       cgd 	{   "SIIG Cyber I/O PCI 16C650 (10x family)",
    147   1.5       cgd 	    {	0x131f,	0x1011,	0,	0	},
    148   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    149   1.5       cgd 	    {
    150  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    151  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    152   1.5       cgd 	    },
    153   1.5       cgd 	},
    154   1.5       cgd 
    155   1.5       cgd 	/* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
    156   1.5       cgd 	{   "SIIG Cyber I/O PCI 16C850 (10x family)",
    157   1.5       cgd 	    {	0x131f,	0x1012,	0,	0	},
    158   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    159   1.5       cgd 	    {
    160  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    161  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    162   1.5       cgd 	    },
    163   1.5       cgd 	},
    164   1.5       cgd 
    165   1.5       cgd 	/* SIIG Cyber Parallel PCI (10x family): 1P */
    166   1.5       cgd 	{   "SIIG Cyber Parallel PCI (10x family)",
    167   1.5       cgd 	    {	0x131f,	0x1020,	0,	0	},
    168   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    169   1.5       cgd 	    {
    170  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    171   1.5       cgd 	    },
    172   1.5       cgd 	},
    173   1.5       cgd 
    174   1.5       cgd 	/* SIIG Cyber Parallel Dual PCI (10x family): 2P */
    175   1.5       cgd 	{   "SIIG Cyber Parallel Dual PCI (10x family)",
    176   1.5       cgd 	    {	0x131f,	0x1021,	0,	0	},
    177   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    178   1.5       cgd 	    {
    179  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    180  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    181   1.5       cgd 	    },
    182   1.5       cgd 	},
    183   1.5       cgd 
    184   1.5       cgd 	/* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
    185   1.5       cgd 	{   "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
    186   1.5       cgd 	    {	0x131f,	0x1030,	0,	0	},
    187   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    188   1.5       cgd 	    {
    189  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    190  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    191   1.5       cgd 	    },
    192   1.5       cgd 	},
    193   1.5       cgd 
    194   1.5       cgd 	/* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
    195   1.5       cgd 	{   "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
    196   1.5       cgd 	    {	0x131f,	0x1031,	0,	0	},
    197   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    198   1.5       cgd 	    {
    199  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    200  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    201   1.5       cgd 	    },
    202   1.5       cgd 	},
    203   1.5       cgd 
    204   1.5       cgd 	/* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
    205   1.5       cgd 	{   "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
    206   1.5       cgd 	    {	0x131f,	0x1032,	0,	0	},
    207   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    208   1.5       cgd 	    {
    209  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    210  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    211   1.5       cgd 	    },
    212   1.5       cgd 	},
    213   1.5       cgd 
    214   1.5       cgd 	/* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
    215   1.5       cgd 	{   "SIIG Cyber 2S1P PCI 16C550 (10x family)",
    216   1.5       cgd 	    {	0x131f,	0x1034,	0,	0	},	/* XXX really? */
    217   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    218   1.5       cgd 	    {
    219  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    220  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    221  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    222   1.5       cgd 	    },
    223   1.5       cgd 	},
    224   1.5       cgd 
    225   1.5       cgd 	/* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
    226   1.5       cgd 	{   "SIIG Cyber 2S1P PCI 16C650 (10x family)",
    227   1.5       cgd 	    {	0x131f,	0x1035,	0,	0	},	/* XXX really? */
    228   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    229   1.5       cgd 	    {
    230  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    231  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    232  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    233   1.5       cgd 	    },
    234   1.5       cgd 	},
    235   1.5       cgd 
    236   1.5       cgd 	/* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
    237   1.5       cgd 	{   "SIIG Cyber 2S1P PCI 16C850 (10x family)",
    238   1.5       cgd 	    {	0x131f,	0x1036,	0,	0	},	/* XXX really? */
    239   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    240   1.5       cgd 	    {
    241  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    242  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    243  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
    244   1.5       cgd 	    },
    245   1.5       cgd 	},
    246   1.5       cgd 
    247   1.5       cgd 	/* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
    248   1.5       cgd 	{   "SIIG Cyber 4S PCI 16C550 (10x family)",
    249   1.5       cgd 	    {	0x131f,	0x1050,	0,	0	},
    250   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    251   1.5       cgd 	    {
    252  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    253  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    254  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
    255  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
    256   1.5       cgd 	    },
    257   1.5       cgd 	},
    258   1.5       cgd 
    259   1.5       cgd 	/* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
    260   1.5       cgd 	{   "SIIG Cyber 4S PCI 16C650 (10x family)",
    261   1.5       cgd 	    {	0x131f,	0x1051,	0,	0	},
    262   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    263   1.5       cgd 	    {
    264  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    265  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    266  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
    267  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
    268   1.5       cgd 	    },
    269   1.5       cgd 	},
    270   1.5       cgd 
    271   1.5       cgd 	/* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
    272   1.5       cgd 	{   "SIIG Cyber 4S PCI 16C850 (10x family)",
    273   1.5       cgd 	    {	0x131f,	0x1052,	0,	0	},
    274   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    275   1.5       cgd 	    {
    276  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    277  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    278  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
    279  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
    280   1.5       cgd 	    },
    281   1.5       cgd 	},
    282   1.5       cgd 
    283   1.2       cgd 	/*
    284   1.5       cgd 	 * SIIG "20x" family boards.
    285   1.2       cgd 	 */
    286   1.5       cgd 
    287   1.5       cgd 	/* SIIG Cyber Parallel PCI (20x family): 1P */
    288   1.5       cgd 	{   "SIIG Cyber Parallel PCI (20x family)",
    289   1.5       cgd 	    {	0x131f,	0x2020,	0,	0	},
    290   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    291   1.5       cgd 	    {
    292  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    293   1.5       cgd 	    },
    294   1.5       cgd 	},
    295   1.5       cgd 
    296   1.5       cgd 	/* SIIG Cyber Parallel Dual PCI (20x family): 2P */
    297   1.5       cgd 	{   "SIIG Cyber Parallel Dual PCI (20x family)",
    298   1.5       cgd 	    {	0x131f,	0x2021,	0,	0	},
    299   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    300   1.5       cgd 	    {
    301  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    302  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    303   1.5       cgd 	    },
    304   1.5       cgd 	},
    305   1.5       cgd 
    306   1.5       cgd 	/* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
    307   1.5       cgd 	{   "SIIG Cyber 2P1S PCI 16C550 (20x family)",
    308   1.5       cgd 	    {	0x131f,	0x2040,	0,	0	},
    309   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    310   1.5       cgd 	    {
    311  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    312  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    313  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    314   1.5       cgd 	    },
    315   1.5       cgd 	},
    316   1.5       cgd 
    317   1.5       cgd 	/* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
    318   1.5       cgd 	{   "SIIG Cyber 2P1S PCI 16C650 (20x family)",
    319   1.5       cgd 	    {	0x131f,	0x2041,	0,	0	},
    320   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    321   1.5       cgd 	    {
    322  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    323  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    324  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    325   1.5       cgd 	    },
    326   1.5       cgd 	},
    327   1.5       cgd 
    328   1.5       cgd 	/* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
    329   1.5       cgd 	{   "SIIG Cyber 2P1S PCI 16C850 (20x family)",
    330   1.5       cgd 	    {	0x131f,	0x2042,	0,	0	},
    331   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    332   1.5       cgd 	    {
    333  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    334  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    335  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
    336   1.5       cgd 	    },
    337   1.5       cgd 	},
    338   1.5       cgd 
    339   1.5       cgd 	/* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
    340   1.5       cgd 	{   "SIIG Cyber Serial PCI 16C550 (20x family)",
    341   1.5       cgd 	    {	0x131f,	0x2000,	0,	0	},
    342   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    343   1.5       cgd 	    {
    344  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    345   1.5       cgd 	    },
    346   1.5       cgd 	},
    347   1.5       cgd 
    348   1.5       cgd 	/* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
    349   1.5       cgd 	{   "SIIG Cyber Serial PCI 16C650 (20x family)",
    350   1.5       cgd 	    {	0x131f,	0x2001,	0,	0	},
    351   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    352   1.5       cgd 	    {
    353  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    354   1.5       cgd 	    },
    355   1.5       cgd 	},
    356   1.5       cgd 
    357   1.5       cgd 	/* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
    358   1.5       cgd 	{   "SIIG Cyber Serial PCI 16C850 (20x family)",
    359   1.5       cgd 	    {	0x131f,	0x2002,	0,	0	},
    360   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    361   1.5       cgd 	    {
    362  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    363   1.5       cgd 	    },
    364   1.5       cgd 	},
    365   1.5       cgd 
    366   1.5       cgd 	/* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
    367   1.5       cgd 	{   "SIIG Cyber I/O PCI 16C550 (20x family)",
    368   1.5       cgd 	    {	0x131f,	0x2010,	0,	0	},
    369   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    370   1.5       cgd 	    {
    371  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    372  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    373   1.5       cgd 	    },
    374   1.5       cgd 	},
    375   1.5       cgd 
    376   1.5       cgd 	/* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
    377   1.5       cgd 	{   "SIIG Cyber I/O PCI 16C650 (20x family)",
    378   1.5       cgd 	    {	0x131f,	0x2011,	0,	0	},
    379   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    380   1.5       cgd 	    {
    381  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    382  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    383   1.5       cgd 	    },
    384   1.5       cgd 	},
    385   1.5       cgd 
    386   1.5       cgd 	/* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
    387   1.5       cgd 	{   "SIIG Cyber I/O PCI 16C850 (20x family)",
    388   1.5       cgd 	    {	0x131f,	0x2012,	0,	0	},
    389   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    390   1.5       cgd 	    {
    391  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    392  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
    393   1.5       cgd 	    },
    394   1.5       cgd 	},
    395   1.5       cgd 
    396   1.5       cgd 	/* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
    397   1.5       cgd 	{   "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
    398   1.5       cgd 	    {	0x131f,	0x2030,	0,	0	},
    399   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    400   1.5       cgd 	    {
    401  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    402  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    403   1.5       cgd 	    },
    404   1.5       cgd 	},
    405   1.5       cgd 
    406   1.5       cgd 	/* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
    407   1.5       cgd 	{   "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
    408   1.5       cgd 	    {	0x131f,	0x2031,	0,	0	},
    409   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    410   1.5       cgd 	    {
    411  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    412  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    413   1.5       cgd 	    },
    414   1.5       cgd 	},
    415   1.5       cgd 
    416   1.5       cgd 	/* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
    417   1.5       cgd 	{   "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
    418   1.5       cgd 	    {	0x131f,	0x2032,	0,	0	},
    419   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    420   1.5       cgd 	    {
    421  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    422  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    423   1.5       cgd 	    },
    424   1.5       cgd 	},
    425   1.5       cgd 
    426   1.5       cgd 	/* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
    427   1.5       cgd 	{   "SIIG Cyber 2S1P PCI 16C550 (20x family)",
    428   1.5       cgd 	    {	0x131f,	0x2060,	0,	0	},
    429   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    430   1.5       cgd 	    {
    431  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    432  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    433  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    434   1.5       cgd 	    },
    435   1.5       cgd 	},
    436   1.5       cgd 
    437   1.5       cgd 	/* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
    438   1.5       cgd 	{   "SIIG Cyber 2S1P PCI 16C650 (20x family)",
    439   1.5       cgd 	    {	0x131f,	0x2061,	0,	0	},
    440   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    441   1.5       cgd 	    {
    442  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    443  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    444  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    445   1.5       cgd 	    },
    446   1.5       cgd 	},
    447   1.5       cgd 
    448   1.5       cgd 	/* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
    449   1.5       cgd 	{   "SIIG Cyber 2S1P PCI 16C850 (20x family)",
    450   1.5       cgd 	    {	0x131f,	0x2062,	0,	0	},
    451   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    452   1.5       cgd 	    {
    453  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    454  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    455  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
    456   1.5       cgd 	    },
    457   1.5       cgd 	},
    458   1.5       cgd 
    459   1.5       cgd 	/* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
    460   1.5       cgd 	{   "SIIG Cyber 4S PCI 16C550 (20x family)",
    461   1.5       cgd 	    {	0x131f,	0x2050,	0,	0	},
    462   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    463   1.5       cgd 	    {
    464  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    465  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    466  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    467  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    468   1.5       cgd 	    },
    469   1.5       cgd 	},
    470   1.5       cgd 
    471   1.5       cgd 	/* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
    472   1.5       cgd 	{   "SIIG Cyber 4S PCI 16C650 (20x family)",
    473   1.5       cgd 	    {	0x131f,	0x2051,	0,	0	},
    474   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    475   1.5       cgd 	    {
    476  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    477  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    478  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    479  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    480   1.5       cgd 	    },
    481   1.5       cgd 	},
    482   1.5       cgd 
    483   1.5       cgd 	/* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
    484   1.5       cgd 	{   "SIIG Cyber 4S PCI 16C850 (20x family)",
    485   1.5       cgd 	    {	0x131f,	0x2052,	0,	0	},
    486   1.5       cgd 	    {	0xffff,	0xffff,	0,	0	},
    487   1.5       cgd 	    {
    488  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    489  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    490  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    491  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
    492   1.5       cgd 	    },
    493   1.5       cgd 	},
    494   1.5       cgd 
    495   1.3       cgd 
    496   1.3       cgd 	/*
    497   1.4       cgd 	 * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html.
    498   1.4       cgd 	 * Some PLX chip.  Note: This board has a software selectable(?)
    499   1.4       cgd 	 * clock multiplier which this driver doesn't support, so you'll
    500   1.4       cgd 	 * have to use an appropriately scaled baud rate when talking to
    501   1.4       cgd 	 * the card.
    502   1.3       cgd 	 */
    503   1.4       cgd 	{   "VScom PCI-800",
    504   1.3       cgd 	    {	0x10b5,	0x1076,	0x10b5,	0x1076	},
    505   1.3       cgd 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    506   1.3       cgd 	    {
    507  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
    508  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
    509  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
    510  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
    511  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
    512  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
    513  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
    514  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
    515  1.11    bouyer 	    },
    516  1.11    bouyer 	},
    517  1.11    bouyer 	/*
    518  1.11    bouyer 	 * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
    519  1.11    bouyer 	 * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
    520  1.11    bouyer 	 * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 Mhz crystal
    521  1.11    bouyer 	 * instead of the standart 1.8432Mhz.
    522  1.11    bouyer 	 */
    523  1.11    bouyer 	{   "VScom PCI-800H",
    524  1.11    bouyer 	    {	0x14d2,	0xa003,	0,	0	},
    525  1.11    bouyer 	    {	0xffff,	0xffff,	0,	0	},
    526  1.11    bouyer 	    {
    527  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, 14745600 },
    528  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, 14745600 },
    529  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, 14745600 },
    530  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, 14745600 },
    531  1.11    bouyer 	    },
    532  1.11    bouyer 	},
    533  1.11    bouyer 	{   "VScom PCI-800H",
    534  1.11    bouyer 	    {	0x14d2,	0xa004,	0,	0	},
    535  1.11    bouyer 	    {	0xffff,	0xffff,	0,	0	},
    536  1.11    bouyer 	    {
    537  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, 14745600 },
    538  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, 14745600 },
    539  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, 14745600 },
    540  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, 14745600 },
    541   1.7       jun 	    },
    542   1.7       jun 	},
    543   1.7       jun 
    544   1.7       jun 	/* NEC PK-UG-X001 K56flex PCI Modem card.
    545   1.7       jun 	   NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
    546   1.7       jun 	{   "NEC PK-UG-X001 K56flex PCI Modem",
    547   1.7       jun 	    {	0x1033,	0x0074,	0x1033,	0x8014	},
    548   1.7       jun 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    549   1.7       jun 	    {
    550  1.11    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    551   1.7       jun 	    },
    552   1.7       jun 	},
    553   1.7       jun 
    554   1.7       jun 	/*NEC PK-UG-X008 */
    555   1.7       jun 	{   "NEC PK-UG-X008",
    556   1.7       jun 	    {	0x1033,	0x007d,	0x1033,	0x8012	},
    557   1.7       jun 	    {	0xffff,	0xffff,	0xffff,	0xffff	},
    558   1.7       jun 	    {
    559  1.14    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
    560   1.8    castor 	    },
    561   1.8    castor 	},
    562   1.8    castor 
    563   1.8    castor 	/* Lava Computers 2SP-PCI */
    564   1.8    castor 	{   "Lava Computers 2SP-PCI parallel port",
    565   1.8    castor 	    {	0x1407,	0x8000,	0,	0	},
    566   1.8    castor 	    {	0xffff,	0xffff,	0,	0	},
    567   1.8    castor 	    {
    568  1.11    bouyer 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    569   1.8    castor 	    },
    570   1.8    castor 	},
    571   1.8    castor 
    572   1.8    castor 	/* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
    573   1.8    castor 	{   "Lava Computers dual serial port",
    574   1.8    castor 	    {	0x1407,	0x0100,	0,	0	},
    575   1.8    castor 	    {	0xffff,	0xfffc,	0,	0	},
    576   1.8    castor 	    {
    577  1.14    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    578  1.14    bouyer 		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
    579  1.15  christos 	    },
    580  1.15  christos 	},
    581  1.15  christos 
    582  1.15  christos 	/* Lava Computers Octopus-550 serial ports */
    583  1.15  christos 	{   "Lava Computers Octopus-550 8-port serial",
    584  1.15  christos 	    {	0x1407,	0x0180,	0,	0	},
    585  1.15  christos 	    {	0xffff,	0xfffc,	0,	0	},
    586  1.15  christos 	    {
    587  1.15  christos 		{ PUC_PORT_TYPE_COM, 0x10, 0x00 },
    588  1.15  christos 		{ PUC_PORT_TYPE_COM, 0x14, 0x00 },
    589  1.15  christos 		{ PUC_PORT_TYPE_COM, 0x18, 0x00 },
    590  1.15  christos 		{ PUC_PORT_TYPE_COM, 0x1c, 0x00 },
    591   1.9    bouyer 	    },
    592   1.9    bouyer 	},
    593   1.9    bouyer 
    594   1.9    bouyer 	/* US Robotics (3Com) PCI Modems */
    595   1.9    bouyer 	{   "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
    596   1.9    bouyer 	    {	0x12b9,	0x1008,	0,	0	},
    597   1.9    bouyer 	    {	0xffff,	0xffff,	0,	0	},
    598   1.9    bouyer 	    {
    599  1.14    bouyer 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    600  1.10    bouyer 	    },
    601  1.10    bouyer 	},
    602  1.10    bouyer 
    603  1.10    bouyer 	/* Actiontec  56K PCI Master */
    604  1.10    bouyer 	{   "Actiontec 56K PCI Master",
    605  1.10    bouyer 	    {	0x11c1,	0x0480,	0x0, 	0x0	},
    606  1.10    bouyer 	    {	0xffff,	0xffff,	0x0,	0x0	},
    607  1.10    bouyer 	    {
    608  1.14    bouyer 		{ PUC_PORT_TYPE_COM,	0x14,	0x00, COM_FREQ },
    609  1.12     veego 	    },
    610  1.12     veego 	},
    611  1.12     veego 
    612  1.12     veego 	/*
    613  1.12     veego 	 * Boards with an Oxford Semiconductor chip.
    614  1.12     veego 	 *
    615  1.12     veego 	 * Oxford Semiconductor provides documentation for their chip at:
    616  1.12     veego 	 * <URL:http://www.oxsemi.com/products/uarts/index.html>
    617  1.12     veego 	 *
    618  1.12     veego 	 * As sold by Kouwell <URL:http://www.kouwell.com/>.
    619  1.12     veego 	 * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
    620  1.12     veego 	 */
    621  1.12     veego 
    622  1.12     veego 	/* Oxford Semiconductor OX16PCI954 PCI UARTs */
    623  1.12     veego 	{   "Qxford Semiconductor OX16PCI954 UARTs",
    624  1.12     veego 	    {	0x1415,	0x9501,	0,	0	},
    625  1.12     veego 	    {	0xffff,	0xffff,	0,	0	},
    626  1.12     veego 	    {
    627  1.13     veego 		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
    628  1.13     veego 		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
    629  1.13     veego 		{ PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
    630  1.13     veego 		{ PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
    631  1.12     veego 	    },
    632  1.12     veego 	},
    633  1.12     veego 
    634  1.12     veego 	/* Oxford Semiconductor OX16PCI954 PCI Parallel port */
    635  1.12     veego 	{   "Qxford Semiconductor OX16PCI954 Parallel port",
    636  1.12     veego 	    {	0x1415,	0x9513,	0,	0	},
    637  1.12     veego 	    {	0xffff,	0xffff,	0,	0	},
    638  1.12     veego 	    {
    639  1.12     veego 		{ PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
    640   1.3       cgd 	    },
    641   1.3       cgd 	},
    642   1.1       cgd 
    643   1.1       cgd 	{ 0 }
    644   1.1       cgd };
    645