PERFORCE change 95180 for review
Marcel Moolenaar
marcel at FreeBSD.org
Thu Apr 13 20:30:31 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=95180
Change 95180 by marcel at marcel_nfs on 2006/04/13 20:30:23
Make a big leap and reduce the puc_devices array by a factor
of 10 (i.e. 25K to 2.5K):
o Eliminate PUC_MAX_PORTS. The number and type of ports is
encoded by a single 8-bit entity. For non-standard cards,
use PUC_PORT_NONSTANDARD, which causes the number of ports
and the type of each to be determined at runtime. There's
currently one card that needs PUC_PORT_NONSTANDARD -- it's
a 2S1P2S1P card.
o Specify the RID/BAR and offset for each of the ports by
3 8-bit values. The first value is the RID/BAR of the first
port. The second is a delta value for the RID/BAR and is
added to the RID/BAR for subsequent ports. The third value
is a delta value for the offset of a sub-region of the
resource specified by a RID/BAR. The 2 common configurations
are now encoded as follows:
0x10, 0, 8 - All ports use the same RID, but have
different offsets within the RID.
port 1: 0x10, 0
port 2: 0x10, 8
:
0x14, 4, 0 - All ports have a seperate RID and
use offset 0 within the resource.
port 1: 0x14, 0
port 2: 0x18, 0
:
There are currently 3 cards that cannot directly be encoded
this way and will be handled at runtime.
o Change the type of the ILR related variables to 8-bit
entities.
The details of how the configuration is obtained at runtime
has not yet been fleshed out beyond calling a function. This
will be done when puc.c is brought in sync with these
changes. At this time puc.c cannot be compiled.
Affected files ...
.. //depot/projects/uart/dev/puc/pucdata.c#21 edit
.. //depot/projects/uart/dev/puc/pucvar.h#17 edit
Differences ...
==== //depot/projects/uart/dev/puc/pucdata.c#21 (text+ko) ====
@@ -44,53 +44,37 @@
#include <dev/pci/pcivar.h>
#include <dev/puc/pucvar.h>
-int puc_config_win877(struct puc_softc *);
+static puc_config_f puc_config_cronyx;
+static puc_config_f puc_config_diva;
+static puc_config_f puc_config_syba;
+static puc_config_f puc_config_siig;
+static puc_config_f puc_config_titan;
const struct puc_device_description puc_devices[] = {
{ 0x0009, 0x7168, 0xffff, 0,
"Sunix SUN1889",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- },
+ PUC_PORT_2S, 0x10, 0, 8,
},
{ 0x103c, 0x1048, 0x103c, 0x1282,
"Diva Serial [GSP] Multiport UART",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x38 },
- },
+ PUC_PORT_3S, 0x10, 0, -1,
+ .config_function = puc_config_diva
},
{ 0x10b5, 0x1076, 0x10b5, 0x1076,
"VScom PCI-800",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- { PUC_PORT_TYPE_COM, 0x18, 0x20 },
- { PUC_PORT_TYPE_COM, 0x18, 0x28 },
- { PUC_PORT_TYPE_COM, 0x18, 0x30 },
- { PUC_PORT_TYPE_COM, 0x18, 0x38 },
- },
+ PUC_PORT_8S, 0x18, 0, 8,
},
{ 0x10b5, 0x1077, 0x10b5, 0x1077,
"VScom PCI-400",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- },
+ PUC_PORT_4S, 0x18, 0, 8,
},
/*
@@ -101,27 +85,13 @@
{ 0x10b5, 0x9050, 0x12e0, 0x0021,
"Boca Research Turbo Serial 658",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- { PUC_PORT_TYPE_COM, 0x18, 0x20 },
- { PUC_PORT_TYPE_COM, 0x18, 0x28 },
- { PUC_PORT_TYPE_COM, 0x18, 0x30 },
- { PUC_PORT_TYPE_COM, 0x18, 0x38 },
- },
+ PUC_PORT_8S, 0x18, 0, 8,
},
{ 0x10b5, 0x9050, 0x12e0, 0x0031,
"Boca Research Turbo Serial 654",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- },
+ PUC_PORT_4S, 0x18, 0, 8,
},
/*
@@ -133,10 +103,7 @@
{ 0x10b5, 0x9050, 0xd84d, 0x6808,
"Dolphin Peripherals 4035",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_2S, 0x18, 4, 0,
},
/*
@@ -148,128 +115,67 @@
{ 0x10b5, 0x9050, 0xd84d, 0x6810,
"Dolphin Peripherals 4014",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x24, 0x00 },
- },
+ PUC_PORT_2P, 0x20, 4, 0,
},
{ 0x11fe, 0x8010, 0xffff, 0,
"Comtrol RocketPort 550/8 RJ11 part A",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8011, 0xffff, 0,
"Comtrol RocketPort 550/8 RJ11 part B",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8012, 0xffff, 0,
"Comtrol RocketPort 550/8 Octa part A",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8013, 0xffff, 0,
"Comtrol RocketPort 550/8 Octa part B",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8014, 0xffff, 0,
"Comtrol RocketPort 550/4 RJ45",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8015, 0xffff, 0,
"Comtrol RocketPort 550/Quad",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8016, 0xffff, 0,
"Comtrol RocketPort 550/16 part A",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8017, 0xffff, 0,
"Comtrol RocketPort 550/16 part B",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- { PUC_PORT_TYPE_COM, 0x10, 0x20 },
- { PUC_PORT_TYPE_COM, 0x10, 0x28 },
- { PUC_PORT_TYPE_COM, 0x10, 0x30 },
- { PUC_PORT_TYPE_COM, 0x10, 0x38 },
- { PUC_PORT_TYPE_COM, 0x10, 0x40 },
- { PUC_PORT_TYPE_COM, 0x10, 0x48 },
- { PUC_PORT_TYPE_COM, 0x10, 0x50 },
- { PUC_PORT_TYPE_COM, 0x10, 0x58 },
- },
+ PUC_PORT_12S, 0x10, 0, 8,
},
{ 0x11fe, 0x8018, 0xffff, 0,
"Comtrol RocketPort 550/8 part A",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x11fe, 0x8019, 0xffff, 0,
"Comtrol RocketPort 550/8 part B",
DEFAULT_RCLK * 4,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
/*
@@ -285,414 +191,251 @@
{ 0x131f, 0x1010, 0xffff, 0,
"SIIG Cyber I/O PCI 16C550 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
- },
+ PUC_PORT_1S1P, 0x18, 4, 0,
},
{ 0x131f, 0x1011, 0xffff, 0,
"SIIG Cyber I/O PCI 16C650 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
- },
+ PUC_PORT_1S1P, 0x18, 4, 0,
},
{ 0x131f, 0x1012, 0xffff, 0,
"SIIG Cyber I/O PCI 16C850 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
- },
+ PUC_PORT_1S1P, 0x18, 4, 0,
},
{ 0x131f, 0x1020, 0xffff, 0,
"SIIG Cyber Parallel PCI (10x family)",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- },
+ PUC_PORT_1P, 0x18, 0, 0,
},
{ 0x131f, 0x1021, 0xffff, 0,
"SIIG Cyber Parallel Dual PCI (10x family)",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
- },
+ PUC_PORT_2P, 0x18, 8, 0,
},
{ 0x131f, 0x1030, 0xffff, 0,
"SIIG Cyber Serial Dual PCI 16C550 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_2S, 0x18, 4, 0,
},
{ 0x131f, 0x1031, 0xffff, 0,
"SIIG Cyber Serial Dual PCI 16C650 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_2S, 0x18, 4, 0,
},
{ 0x131f, 0x1032, 0xffff, 0,
"SIIG Cyber Serial Dual PCI 16C850 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_2S, 0x18, 4, 0,
},
{ 0x131f, 0x1034, 0xffff, 0, /* XXX really? */
"SIIG Cyber 2S1P PCI 16C550 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
- },
+ PUC_PORT_2S1P, 0x18, 4, 0,
},
{ 0x131f, 0x1035, 0xffff, 0, /* XXX really? */
"SIIG Cyber 2S1P PCI 16C650 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
- },
+ PUC_PORT_2S1P, 0x18, 4, 0,
},
{ 0x131f, 0x1036, 0xffff, 0, /* XXX really? */
"SIIG Cyber 2S1P PCI 16C850 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
- },
+ PUC_PORT_2S1P, 0x18, 4, 0,
},
{ 0x131f, 0x1050, 0xffff, 0,
"SIIG Cyber 4S PCI 16C550 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_COM, 0x20, 0x00 },
- { PUC_PORT_TYPE_COM, 0x24, 0x00 },
- },
+ PUC_PORT_4S, 0x18, 4, 0,
},
{ 0x131f, 0x1051, 0xffff, 0,
"SIIG Cyber 4S PCI 16C650 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_COM, 0x20, 0x00 },
- { PUC_PORT_TYPE_COM, 0x24, 0x00 },
- },
+ PUC_PORT_4S, 0x18, 4, 0,
},
{ 0x131f, 0x1052, 0xffff, 0,
"SIIG Cyber 4S PCI 16C850 (10x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_COM, 0x20, 0x00 },
- { PUC_PORT_TYPE_COM, 0x24, 0x00 },
- },
+ PUC_PORT_4S, 0x18, 4, 0,
},
{ 0x131f, 0x2010, 0xffff, 0,
"SIIG Cyber I/O PCI 16C550 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
- },
+ PUC_PORT_1S1P, 0x10, 4, 0,
},
{ 0x131f, 0x2011, 0xffff, 0,
"SIIG Cyber I/O PCI 16C650 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
- },
+ PUC_PORT_1S1P, 0x10, 4, 0,
},
{ 0x131f, 0x2012, 0xffff, 0,
"SIIG Cyber I/O PCI 16C850 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
- },
+ PUC_PORT_1S1P, 0x10, 4, 0,
},
{ 0x131f, 0x2020, 0xffff, 0,
"SIIG Cyber Parallel PCI (20x family)",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
- },
+ PUC_PORT_1P, 0x10, 0, 0,
},
{ 0x131f, 0x2021, 0xffff, 0,
"SIIG Cyber Parallel Dual PCI (20x family)",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- },
+ PUC_PORT_2P, 0x10, 8, 0,
},
{ 0x131f, 0x2030, 0xffff, 0,
"SIIG Cyber Serial Dual PCI 16C550 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x131f, 0x2031, 0xffff, 0,
"SIIG Cyber Serial Dual PCI 16C650 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x131f, 0x2032, 0xffff, 0,
"SIIG Cyber Serial Dual PCI 16C850 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x131f, 0x2040, 0xffff, 0,
"SIIG Cyber 2P1S PCI 16C550 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
- },
+ PUC_PORT_1S2P, 0x10, -1, 0,
+ .config_function = puc_config_siig
},
{ 0x131f, 0x2041, 0xffff, 0,
"SIIG Cyber 2P1S PCI 16C650 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
- },
+ PUC_PORT_1S2P, 0x10, -1, 0,
+ .config_function = puc_config_siig
},
{ 0x131f, 0x2042, 0xffff, 0,
"SIIG Cyber 2P1S PCI 16C850 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
- },
+ PUC_PORT_1S2P, 0x10, -1, 0,
+ .config_function = puc_config_siig
},
{ 0x131f, 0x2050, 0xffff, 0,
"SIIG Cyber 4S PCI 16C550 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_4S, 0x10, 4, 0,
},
{ 0x131f, 0x2051, 0xffff, 0,
"SIIG Cyber 4S PCI 16C650 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_4S, 0x10, 4, 0,
},
{ 0x131f, 0x2052, 0xffff, 0,
"SIIG Cyber 4S PCI 16C850 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_4S, 0x10, 4, 0,
},
{ 0x131f, 0x2060, 0xffff, 0,
"SIIG Cyber 2S1P PCI 16C550 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- },
+ PUC_PORT_2S1P, 0x10, 4, 0,
},
{ 0x131f, 0x2061, 0xffff, 0,
"SIIG Cyber 2S1P PCI 16C650 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- },
+ PUC_PORT_2S1P, 0x10, 4, 0,
},
{ 0x131f, 0x2062, 0xffff, 0,
"SIIG Cyber 2S1P PCI 16C850 (20x family)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- },
+ PUC_PORT_2S1P, 0x10, 4, 0,
},
{ 0x1393, 0x1040, 0xffff, 0,
"Moxa Technologies, Smartio C104H/PCI",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- },
+ PUC_PORT_4S, 0x18, 0, 8,
},
{ 0x1393, 0x1041, 0xffff, 0,
"Moxa Technologies, Smartio CP-104UL/PCI",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- },
+ PUC_PORT_4S, 0x18, 0, 8,
},
{ 0x1393, 0x1141, 0xffff, 0,
"Moxa Technologies, Industio CP-114",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- },
+ PUC_PORT_4S, 0x18, 0, 8,
},
{ 0x1393, 0x1680, 0xffff, 0,
"Moxa Technologies, C168H/PCI",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- { PUC_PORT_TYPE_COM, 0x18, 0x20 },
- { PUC_PORT_TYPE_COM, 0x18, 0x28 },
- { PUC_PORT_TYPE_COM, 0x18, 0x30 },
- { PUC_PORT_TYPE_COM, 0x18, 0x38 },
- },
+ PUC_PORT_8S, 0x18, 0, 8,
},
{ 0x1393, 0x1681, 0xffff, 0,
"Moxa Technologies, C168U/PCI",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x08 },
- { PUC_PORT_TYPE_COM, 0x18, 0x10 },
- { PUC_PORT_TYPE_COM, 0x18, 0x18 },
- { PUC_PORT_TYPE_COM, 0x18, 0x20 },
- { PUC_PORT_TYPE_COM, 0x18, 0x28 },
- { PUC_PORT_TYPE_COM, 0x18, 0x30 },
- { PUC_PORT_TYPE_COM, 0x18, 0x38 },
- },
+ PUC_PORT_8S, 0x18, 0, 8,
},
{ 0x13a8, 0x0158, 0xffff, 0,
"Cronyx Omega2-PCI",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x010, 0x000 },
- { PUC_PORT_TYPE_COM, 0x010, 0x200 },
- { PUC_PORT_TYPE_COM, 0x010, 0x400 },
- { PUC_PORT_TYPE_COM, 0x010, 0x600 },
- { PUC_PORT_TYPE_COM, 0x010, 0x800 },
- { PUC_PORT_TYPE_COM, 0x010, 0xA00 },
- { PUC_PORT_TYPE_COM, 0x010, 0xC00 },
- { PUC_PORT_TYPE_COM, 0x010, 0xE00 },
- },
+ PUC_PORT_8S, 0x10, 0, -1,
+ .config_function = puc_config_cronyx
},
{ 0x1407, 0x0100, 0xffff, 0, /* MASK */
"Lava Computers dual serial port",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x1407, 0x0120, 0xffff, 0, /* MASK */
"Lava Computers Quattro-PCI serial port",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x1407, 0x0180, 0xffff, 0, /* MASK */
"Lava Computers Octopus-550 8-port serial",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_4S, 0x10, 4, 0,
},
{ 0x1407, 0x8000, 0xffff, 0,
"Lava Computers 2SP-PCI parallel port",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
- },
+ PUC_PORT_1P, 0x10, 0, 0,
},
/*
@@ -702,10 +445,7 @@
{ 0x1409, 0x7168, 0xffff, 0,
"Dolphin Peripherals 4036",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- },
+ PUC_PORT_2S, 0x10, 0, 8,
},
/*
@@ -721,68 +461,43 @@
{ 0x1415, 0x8403, 0xffff, 0,
"Oxford Semiconductor OX12PCI840 Parallel port",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
- },
+ PUC_PORT_1P, 0x10, 0, 0,
},
{ 0x1415, 0x9501, 0xffff, 0,
"Oxford Semiconductor OX16PCI954 UARTs",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x1415, 0x950a, 0xffff, 0,
"Oxford Semiconductor OX16PCI954 UARTs",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x1415, 0x9511, 0xffff, 0,
"Oxford Semiconductor OX9160/OX16PCI954 UARTs (function 1)",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x1415, 0x9513, 0xffff, 0,
"Oxford Semiconductor OX16PCI954 Parallel port",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
- },
+ PUC_PORT_1P, 0x10, 0, 0,
},
{ 0x14d2, 0x8020, 0xffff, 0,
"VScom PCI-200L",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- },
+ PUC_PORT_2S, 0x14, 4, 0,
},
{ 0x14d2, 0x8028, 0xffff, 0,
"VScom 200Li",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x20, 0x00 },
- { PUC_PORT_TYPE_COM, 0x20, 0x08 },
- },
+ PUC_PORT_2S, 0x20, 0, 8,
},
/*
@@ -797,16 +512,8 @@
{ 0x14d2, 0x8080, 0xffff, 0,
"Titan VScom PCI-800L",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x20, 0x00 },
- { PUC_PORT_TYPE_COM, 0x20, 0x08 },
- { PUC_PORT_TYPE_COM, 0x20, 0x10 },
- { PUC_PORT_TYPE_COM, 0x20, 0x18 },
- { PUC_PORT_TYPE_COM, 0x20, 0x20 },
- { PUC_PORT_TYPE_COM, 0x20, 0x28 },
- },
+ PUC_PORT_8S, 0x14, -1, -1,
+ .config_function = puc_config_titan
},
/*
@@ -817,249 +524,154 @@
{ 0x14d2, 0xa003, 0xffff, 0,
"Titan PCI-800H",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x14d2, 0xa004, 0xffff, 0,
"Titan PCI-800H",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- { PUC_PORT_TYPE_COM, 0x10, 0x10 },
- { PUC_PORT_TYPE_COM, 0x10, 0x18 },
- },
+ PUC_PORT_4S, 0x10, 0, 8,
},
{ 0x14d2, 0xa005, 0xffff, 0,
"Titan PCI-200H",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x10, 0x08 },
- },
+ PUC_PORT_2S, 0x10, 0, 8,
},
{ 0x14d2, 0xe020, 0xffff, 0,
"Titan VScom PCI-200HV2",
DEFAULT_RCLK * 8,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x14db, 0x2130, 0xffff, 0, /* MASK */
"Avlab Technology, PCI IO 2S",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- },
+ PUC_PORT_2S, 0x10, 4, 0,
},
{ 0x14db, 0x2150, 0xffff, 0,
"Avlab Low Profile PCI 4 Serial",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_4S, 0x10, 4, 0,
},
{ 0x1592, 0x0781, 0xffff, 0,
"Syba Tech Ltd. PCI-4S2P-550-ECP",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x2e8 },
- { PUC_PORT_TYPE_COM, 0x10, 0x2f8 },
- { PUC_PORT_TYPE_LPT, 0x10, 0x000 },
- { PUC_PORT_TYPE_COM, 0x10, 0x3e8 },
- { PUC_PORT_TYPE_COM, 0x10, 0x3f8 },
- { PUC_PORT_TYPE_LPT, 0x10, 0x000 },
- },
- .init = puc_config_win877,
+ PUC_PORT_NONSTANDARD, 0x10, 0, -1,
+ .config_function = puc_config_syba
},
{ 0x6666, 0x0001, 0xffff, 0,
"Decision Computer Inc, PCCOM 4-port serial",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x08 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x10 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x18 },
- },
+ PUC_PORT_4S, 0x1c, 0, 8,
},
{ 0x6666, 0x0004, 0xffff, 0,
"PCCOM dual port RS232/422/485",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x08 },
- },
+ PUC_PORT_2S, 0x1c, 0, 8,
},
{ 0x9710, 0x9805, 0xffff, 0,
"NetMos NM9805 1284 Printer port",
0,
- {
- { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
- },
+ PUC_PORT_1P, 0x10, 0, 0,
},
{ 0x9710, 0x9835, 0xffff, 0,
"NetMos NM9835 Dual UART and 1284 Printer port",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
- },
+ PUC_PORT_2S1P, 0x10, 4, 0,
},
{ 0x9710, 0x9845, 0xffff, 0,
"NetMos NM9845 Quad UART",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
- { PUC_PORT_TYPE_COM, 0x14, 0x00 },
- { PUC_PORT_TYPE_COM, 0x18, 0x00 },
- { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
- },
+ PUC_PORT_4S, 0x10, 4, 0,
},
{ 0xb00c, 0x021c, 0xffff, 0,
"IC Book Labs Gunboat x4 Lite",
DEFAULT_RCLK,
- {
- { PUC_PORT_TYPE_COM, 0x10, 0x00 },
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list