pucdata.c revision 1.4 1 1.4 cgd /* $NetBSD: pucdata.c,v 1.4 1999/02/06 06:55:15 cgd 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 * Author: Christopher G. Demetriou, May 14, 1998.
38 1.1 cgd */
39 1.1 cgd
40 1.1 cgd #include <sys/param.h>
41 1.1 cgd #include <sys/systm.h>
42 1.1 cgd #include <sys/device.h>
43 1.1 cgd
44 1.1 cgd #include <dev/pci/pcireg.h>
45 1.1 cgd #include <dev/pci/pcivar.h>
46 1.1 cgd #include <dev/pci/pucvar.h>
47 1.1 cgd
48 1.1 cgd const struct puc_device_description puc_devices[] = {
49 1.1 cgd /*
50 1.1 cgd * XXX no entry because I have no data:
51 1.1 cgd * XXX Dolphin 4006 (single parallel)
52 1.1 cgd */
53 1.1 cgd
54 1.1 cgd /*
55 1.1 cgd * Dolphin 4014 (dual parallel port) card. PLX 9050, with
56 1.1 cgd * a seemingly-lame EEPROM setup that puts the Dolphin IDs
57 1.1 cgd * into the subsystem fields, and claims that it's a
58 1.1 cgd * network/misc (0x02/0x80) device.
59 1.1 cgd */
60 1.1 cgd { "Dolphin 4014",
61 1.1 cgd { 0x10b5, 0x9050, 0xd84d, 0x6810 },
62 1.1 cgd { 0xffff, 0xffff, 0xffff, 0xffff },
63 1.1 cgd {
64 1.3 cgd { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
65 1.3 cgd { PUC_PORT_TYPE_LPT, 0x24, 0x00 },
66 1.1 cgd },
67 1.1 cgd },
68 1.1 cgd
69 1.1 cgd /*
70 1.1 cgd * XXX no entry because I have no data:
71 1.1 cgd * XXX Dolphin 4025 (single serial)
72 1.1 cgd */
73 1.1 cgd
74 1.1 cgd /*
75 1.1 cgd * Dolphin 4035 (dual serial port) card. PLX 9050, with
76 1.1 cgd * a seemingly-lame EEPROM setup that puts the Dolphin IDs
77 1.1 cgd * into the subsystem fields, and claims that it's a
78 1.1 cgd * network/misc (0x02/0x80) device.
79 1.1 cgd */
80 1.1 cgd { "Dolphin 4035",
81 1.1 cgd { 0x10b5, 0x9050, 0xd84d, 0x6808 },
82 1.1 cgd { 0xffff, 0xffff, 0xffff, 0xffff },
83 1.1 cgd {
84 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x00 },
85 1.3 cgd { PUC_PORT_TYPE_COM, 0x1c, 0x00 },
86 1.1 cgd },
87 1.1 cgd },
88 1.1 cgd
89 1.1 cgd /*
90 1.1 cgd * XXX no entry because I have no data:
91 1.2 cgd * XXX Dolphin 4078 (dual serial and single parallel)
92 1.2 cgd */
93 1.2 cgd
94 1.2 cgd /*
95 1.2 cgd * XXX no entry because I have no data:
96 1.1 cgd * XXX SIIG CyberParallel PCI (single parallel)
97 1.1 cgd */
98 1.1 cgd
99 1.1 cgd /*
100 1.2 cgd * XXX no entry because I have no data:
101 1.2 cgd * XXX SIIG CyberParallel Dual PCI (dual parallel)
102 1.2 cgd */
103 1.2 cgd
104 1.2 cgd /*
105 1.1 cgd * SIIG CyberSerial PCI (single serial port) card. PLX 9052, with
106 1.1 cgd * a more sensible EEPROM setup that reports "normal"-looking
107 1.1 cgd * vendor and product IDs, and sensible class/subclass info,
108 1.1 cgd * communications/serial (0x07/0x00), interface 0x02.
109 1.1 cgd */
110 1.1 cgd { "SIIG CyberSerial PCI",
111 1.1 cgd { 0x131f, 0x1000, 0, 0 },
112 1.1 cgd { 0xffff, 0xffff, 0, 0 },
113 1.1 cgd {
114 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x00 },
115 1.1 cgd },
116 1.1 cgd },
117 1.2 cgd
118 1.2 cgd /*
119 1.2 cgd * XXX no entry because I have no data:
120 1.2 cgd * XXX SIIG Cyber 2S1P PCI (dual serial and single parallel)
121 1.2 cgd */
122 1.3 cgd
123 1.3 cgd /*
124 1.4 cgd * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html.
125 1.4 cgd * Some PLX chip. Note: This board has a software selectable(?)
126 1.4 cgd * clock multiplier which this driver doesn't support, so you'll
127 1.4 cgd * have to use an appropriately scaled baud rate when talking to
128 1.4 cgd * the card.
129 1.3 cgd */
130 1.4 cgd { "VScom PCI-800",
131 1.3 cgd { 0x10b5, 0x1076, 0x10b5, 0x1076 },
132 1.3 cgd { 0xffff, 0xffff, 0xffff, 0xffff },
133 1.3 cgd {
134 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x00 },
135 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x08 },
136 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x10 },
137 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x18 },
138 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x20 },
139 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x28 },
140 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x30 },
141 1.3 cgd { PUC_PORT_TYPE_COM, 0x18, 0x38 },
142 1.3 cgd },
143 1.3 cgd },
144 1.1 cgd
145 1.1 cgd { 0 }
146 1.1 cgd };
147