pucdata.c revision 1.24 1 1.24 thorpej /* $NetBSD: pucdata.c,v 1.24 2001/12/16 22:22:04 thorpej 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.21 lukem
38 1.21 lukem #include <sys/cdefs.h>
39 1.24 thorpej __KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.24 2001/12/16 22:22:04 thorpej Exp $");
40 1.1 cgd
41 1.1 cgd #include <sys/param.h>
42 1.1 cgd #include <sys/systm.h>
43 1.1 cgd #include <sys/device.h>
44 1.1 cgd
45 1.1 cgd #include <dev/pci/pcireg.h>
46 1.1 cgd #include <dev/pci/pcivar.h>
47 1.1 cgd #include <dev/pci/pucvar.h>
48 1.11 bouyer #include <dev/ic/comreg.h>
49 1.1 cgd
50 1.1 cgd const struct puc_device_description puc_devices[] = {
51 1.1 cgd /*
52 1.1 cgd * XXX no entry because I have no data:
53 1.6 cgd * XXX Dolphin Peripherals 4006 (single parallel)
54 1.1 cgd */
55 1.1 cgd
56 1.1 cgd /*
57 1.6 cgd * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with
58 1.1 cgd * a seemingly-lame EEPROM setup that puts the Dolphin IDs
59 1.1 cgd * into the subsystem fields, and claims that it's a
60 1.1 cgd * network/misc (0x02/0x80) device.
61 1.1 cgd */
62 1.6 cgd { "Dolphin Peripherals 4014",
63 1.1 cgd { 0x10b5, 0x9050, 0xd84d, 0x6810 },
64 1.1 cgd { 0xffff, 0xffff, 0xffff, 0xffff },
65 1.1 cgd {
66 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
67 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x24, 0x00, 0x00 },
68 1.1 cgd },
69 1.1 cgd },
70 1.1 cgd
71 1.1 cgd /*
72 1.6 cgd * XXX Dolphin Peripherals 4025 (single serial)
73 1.23 jonathan * (clashes with Dolphin Peripherals 4036 (2s variant)
74 1.1 cgd */
75 1.1 cgd
76 1.1 cgd /*
77 1.6 cgd * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with
78 1.1 cgd * a seemingly-lame EEPROM setup that puts the Dolphin IDs
79 1.1 cgd * into the subsystem fields, and claims that it's a
80 1.1 cgd * network/misc (0x02/0x80) device.
81 1.1 cgd */
82 1.6 cgd { "Dolphin Peripherals 4035",
83 1.1 cgd { 0x10b5, 0x9050, 0xd84d, 0x6808 },
84 1.1 cgd { 0xffff, 0xffff, 0xffff, 0xffff },
85 1.1 cgd {
86 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
87 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
88 1.23 jonathan },
89 1.23 jonathan },
90 1.23 jonathan
91 1.23 jonathan /*
92 1.23 jonathan * Dolphin Peripherals 4036 (dual serial port) card.
93 1.23 jonathan * (Dolpin 4025 has the same ID but only one port)
94 1.23 jonathan */
95 1.23 jonathan { "Dolphin Peripherals 4036",
96 1.23 jonathan { 0x1409, 0x7168, 0x0, 0x0 },
97 1.23 jonathan { 0xffff, 0xffff, 0x0, 0x0 },
98 1.23 jonathan {
99 1.23 jonathan { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
100 1.23 jonathan { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
101 1.1 cgd },
102 1.1 cgd },
103 1.1 cgd
104 1.1 cgd /*
105 1.1 cgd * XXX no entry because I have no data:
106 1.6 cgd * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
107 1.2 cgd */
108 1.2 cgd
109 1.5 cgd
110 1.2 cgd /*
111 1.5 cgd * SIIG Boards.
112 1.5 cgd *
113 1.5 cgd * SIIG provides documentation for their boards at:
114 1.5 cgd * <URL:http://www.siig.com/driver.htm>
115 1.5 cgd *
116 1.5 cgd * Please excuse the weird ordering, it's the order they
117 1.5 cgd * use in their documentation.
118 1.1 cgd */
119 1.1 cgd
120 1.1 cgd /*
121 1.5 cgd * SIIG "10x" family boards.
122 1.2 cgd */
123 1.2 cgd
124 1.5 cgd /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
125 1.5 cgd { "SIIG Cyber Serial PCI 16C550 (10x family)",
126 1.1 cgd { 0x131f, 0x1000, 0, 0 },
127 1.1 cgd { 0xffff, 0xffff, 0, 0 },
128 1.1 cgd {
129 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
130 1.1 cgd },
131 1.1 cgd },
132 1.2 cgd
133 1.5 cgd /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
134 1.5 cgd { "SIIG Cyber Serial PCI 16C650 (10x family)",
135 1.5 cgd { 0x131f, 0x1001, 0, 0 },
136 1.5 cgd { 0xffff, 0xffff, 0, 0 },
137 1.5 cgd {
138 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
139 1.5 cgd },
140 1.5 cgd },
141 1.5 cgd
142 1.5 cgd /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
143 1.5 cgd { "SIIG Cyber Serial PCI 16C850 (10x family)",
144 1.5 cgd { 0x131f, 0x1002, 0, 0 },
145 1.5 cgd { 0xffff, 0xffff, 0, 0 },
146 1.5 cgd {
147 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
148 1.5 cgd },
149 1.5 cgd },
150 1.5 cgd
151 1.5 cgd /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
152 1.5 cgd { "SIIG Cyber I/O PCI 16C550 (10x family)",
153 1.5 cgd { 0x131f, 0x1010, 0, 0 },
154 1.5 cgd { 0xffff, 0xffff, 0, 0 },
155 1.5 cgd {
156 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
157 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
158 1.5 cgd },
159 1.5 cgd },
160 1.5 cgd
161 1.5 cgd /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
162 1.5 cgd { "SIIG Cyber I/O PCI 16C650 (10x family)",
163 1.5 cgd { 0x131f, 0x1011, 0, 0 },
164 1.5 cgd { 0xffff, 0xffff, 0, 0 },
165 1.5 cgd {
166 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
167 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
168 1.5 cgd },
169 1.5 cgd },
170 1.5 cgd
171 1.5 cgd /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
172 1.5 cgd { "SIIG Cyber I/O PCI 16C850 (10x family)",
173 1.5 cgd { 0x131f, 0x1012, 0, 0 },
174 1.5 cgd { 0xffff, 0xffff, 0, 0 },
175 1.5 cgd {
176 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
177 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
178 1.5 cgd },
179 1.5 cgd },
180 1.5 cgd
181 1.5 cgd /* SIIG Cyber Parallel PCI (10x family): 1P */
182 1.5 cgd { "SIIG Cyber Parallel PCI (10x family)",
183 1.5 cgd { 0x131f, 0x1020, 0, 0 },
184 1.5 cgd { 0xffff, 0xffff, 0, 0 },
185 1.5 cgd {
186 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
187 1.5 cgd },
188 1.5 cgd },
189 1.5 cgd
190 1.5 cgd /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
191 1.5 cgd { "SIIG Cyber Parallel Dual PCI (10x family)",
192 1.5 cgd { 0x131f, 0x1021, 0, 0 },
193 1.5 cgd { 0xffff, 0xffff, 0, 0 },
194 1.5 cgd {
195 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
196 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
197 1.5 cgd },
198 1.5 cgd },
199 1.5 cgd
200 1.5 cgd /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
201 1.5 cgd { "SIIG Cyber Serial Dual PCI 16C550 (10x family)",
202 1.5 cgd { 0x131f, 0x1030, 0, 0 },
203 1.5 cgd { 0xffff, 0xffff, 0, 0 },
204 1.5 cgd {
205 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
206 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
207 1.5 cgd },
208 1.5 cgd },
209 1.5 cgd
210 1.5 cgd /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
211 1.5 cgd { "SIIG Cyber Serial Dual PCI 16C650 (10x family)",
212 1.5 cgd { 0x131f, 0x1031, 0, 0 },
213 1.5 cgd { 0xffff, 0xffff, 0, 0 },
214 1.5 cgd {
215 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
216 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
217 1.5 cgd },
218 1.5 cgd },
219 1.5 cgd
220 1.5 cgd /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
221 1.5 cgd { "SIIG Cyber Serial Dual PCI 16C850 (10x family)",
222 1.5 cgd { 0x131f, 0x1032, 0, 0 },
223 1.5 cgd { 0xffff, 0xffff, 0, 0 },
224 1.5 cgd {
225 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
226 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
227 1.5 cgd },
228 1.5 cgd },
229 1.5 cgd
230 1.5 cgd /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
231 1.5 cgd { "SIIG Cyber 2S1P PCI 16C550 (10x family)",
232 1.5 cgd { 0x131f, 0x1034, 0, 0 }, /* XXX really? */
233 1.5 cgd { 0xffff, 0xffff, 0, 0 },
234 1.5 cgd {
235 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
236 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
237 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
238 1.5 cgd },
239 1.5 cgd },
240 1.5 cgd
241 1.5 cgd /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
242 1.5 cgd { "SIIG Cyber 2S1P PCI 16C650 (10x family)",
243 1.5 cgd { 0x131f, 0x1035, 0, 0 }, /* XXX really? */
244 1.5 cgd { 0xffff, 0xffff, 0, 0 },
245 1.5 cgd {
246 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
247 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
248 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
249 1.5 cgd },
250 1.5 cgd },
251 1.5 cgd
252 1.5 cgd /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
253 1.5 cgd { "SIIG Cyber 2S1P PCI 16C850 (10x family)",
254 1.5 cgd { 0x131f, 0x1036, 0, 0 }, /* XXX really? */
255 1.5 cgd { 0xffff, 0xffff, 0, 0 },
256 1.5 cgd {
257 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
258 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
259 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
260 1.5 cgd },
261 1.5 cgd },
262 1.5 cgd
263 1.5 cgd /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
264 1.5 cgd { "SIIG Cyber 4S PCI 16C550 (10x family)",
265 1.5 cgd { 0x131f, 0x1050, 0, 0 },
266 1.5 cgd { 0xffff, 0xffff, 0, 0 },
267 1.5 cgd {
268 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
269 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
270 1.11 bouyer { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
271 1.11 bouyer { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
272 1.5 cgd },
273 1.5 cgd },
274 1.5 cgd
275 1.5 cgd /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
276 1.5 cgd { "SIIG Cyber 4S PCI 16C650 (10x family)",
277 1.5 cgd { 0x131f, 0x1051, 0, 0 },
278 1.5 cgd { 0xffff, 0xffff, 0, 0 },
279 1.5 cgd {
280 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
281 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
282 1.11 bouyer { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
283 1.11 bouyer { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
284 1.5 cgd },
285 1.5 cgd },
286 1.5 cgd
287 1.5 cgd /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
288 1.5 cgd { "SIIG Cyber 4S PCI 16C850 (10x family)",
289 1.5 cgd { 0x131f, 0x1052, 0, 0 },
290 1.5 cgd { 0xffff, 0xffff, 0, 0 },
291 1.5 cgd {
292 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
293 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
294 1.11 bouyer { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
295 1.11 bouyer { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
296 1.5 cgd },
297 1.5 cgd },
298 1.5 cgd
299 1.2 cgd /*
300 1.5 cgd * SIIG "20x" family boards.
301 1.2 cgd */
302 1.5 cgd
303 1.5 cgd /* SIIG Cyber Parallel PCI (20x family): 1P */
304 1.5 cgd { "SIIG Cyber Parallel PCI (20x family)",
305 1.5 cgd { 0x131f, 0x2020, 0, 0 },
306 1.5 cgd { 0xffff, 0xffff, 0, 0 },
307 1.5 cgd {
308 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
309 1.5 cgd },
310 1.5 cgd },
311 1.5 cgd
312 1.5 cgd /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
313 1.5 cgd { "SIIG Cyber Parallel Dual PCI (20x family)",
314 1.5 cgd { 0x131f, 0x2021, 0, 0 },
315 1.5 cgd { 0xffff, 0xffff, 0, 0 },
316 1.5 cgd {
317 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
318 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
319 1.5 cgd },
320 1.5 cgd },
321 1.5 cgd
322 1.5 cgd /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
323 1.5 cgd { "SIIG Cyber 2P1S PCI 16C550 (20x family)",
324 1.5 cgd { 0x131f, 0x2040, 0, 0 },
325 1.5 cgd { 0xffff, 0xffff, 0, 0 },
326 1.5 cgd {
327 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
328 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
329 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
330 1.5 cgd },
331 1.5 cgd },
332 1.5 cgd
333 1.5 cgd /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
334 1.5 cgd { "SIIG Cyber 2P1S PCI 16C650 (20x family)",
335 1.5 cgd { 0x131f, 0x2041, 0, 0 },
336 1.5 cgd { 0xffff, 0xffff, 0, 0 },
337 1.5 cgd {
338 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
339 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
340 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
341 1.5 cgd },
342 1.5 cgd },
343 1.5 cgd
344 1.5 cgd /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
345 1.5 cgd { "SIIG Cyber 2P1S PCI 16C850 (20x family)",
346 1.5 cgd { 0x131f, 0x2042, 0, 0 },
347 1.5 cgd { 0xffff, 0xffff, 0, 0 },
348 1.5 cgd {
349 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
350 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
351 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x1c, 0x00, 0x00 },
352 1.5 cgd },
353 1.5 cgd },
354 1.5 cgd
355 1.5 cgd /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
356 1.5 cgd { "SIIG Cyber Serial PCI 16C550 (20x family)",
357 1.5 cgd { 0x131f, 0x2000, 0, 0 },
358 1.5 cgd { 0xffff, 0xffff, 0, 0 },
359 1.5 cgd {
360 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
361 1.5 cgd },
362 1.5 cgd },
363 1.5 cgd
364 1.5 cgd /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
365 1.5 cgd { "SIIG Cyber Serial PCI 16C650 (20x family)",
366 1.5 cgd { 0x131f, 0x2001, 0, 0 },
367 1.5 cgd { 0xffff, 0xffff, 0, 0 },
368 1.5 cgd {
369 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
370 1.5 cgd },
371 1.5 cgd },
372 1.5 cgd
373 1.5 cgd /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
374 1.5 cgd { "SIIG Cyber Serial PCI 16C850 (20x family)",
375 1.5 cgd { 0x131f, 0x2002, 0, 0 },
376 1.5 cgd { 0xffff, 0xffff, 0, 0 },
377 1.5 cgd {
378 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
379 1.5 cgd },
380 1.5 cgd },
381 1.5 cgd
382 1.5 cgd /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
383 1.5 cgd { "SIIG Cyber I/O PCI 16C550 (20x family)",
384 1.5 cgd { 0x131f, 0x2010, 0, 0 },
385 1.5 cgd { 0xffff, 0xffff, 0, 0 },
386 1.5 cgd {
387 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
388 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
389 1.5 cgd },
390 1.5 cgd },
391 1.5 cgd
392 1.5 cgd /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
393 1.5 cgd { "SIIG Cyber I/O PCI 16C650 (20x family)",
394 1.5 cgd { 0x131f, 0x2011, 0, 0 },
395 1.5 cgd { 0xffff, 0xffff, 0, 0 },
396 1.5 cgd {
397 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
398 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
399 1.5 cgd },
400 1.5 cgd },
401 1.5 cgd
402 1.5 cgd /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
403 1.5 cgd { "SIIG Cyber I/O PCI 16C850 (20x family)",
404 1.5 cgd { 0x131f, 0x2012, 0, 0 },
405 1.5 cgd { 0xffff, 0xffff, 0, 0 },
406 1.5 cgd {
407 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
408 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
409 1.5 cgd },
410 1.5 cgd },
411 1.5 cgd
412 1.5 cgd /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
413 1.5 cgd { "SIIG Cyber Serial Dual PCI 16C550 (20x family)",
414 1.5 cgd { 0x131f, 0x2030, 0, 0 },
415 1.5 cgd { 0xffff, 0xffff, 0, 0 },
416 1.5 cgd {
417 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
418 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
419 1.5 cgd },
420 1.5 cgd },
421 1.5 cgd
422 1.5 cgd /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
423 1.5 cgd { "SIIG Cyber Serial Dual PCI 16C650 (20x family)",
424 1.5 cgd { 0x131f, 0x2031, 0, 0 },
425 1.5 cgd { 0xffff, 0xffff, 0, 0 },
426 1.5 cgd {
427 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
428 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
429 1.5 cgd },
430 1.5 cgd },
431 1.5 cgd
432 1.5 cgd /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
433 1.5 cgd { "SIIG Cyber Serial Dual PCI 16C850 (20x family)",
434 1.5 cgd { 0x131f, 0x2032, 0, 0 },
435 1.5 cgd { 0xffff, 0xffff, 0, 0 },
436 1.5 cgd {
437 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
438 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
439 1.5 cgd },
440 1.5 cgd },
441 1.5 cgd
442 1.5 cgd /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
443 1.5 cgd { "SIIG Cyber 2S1P PCI 16C550 (20x family)",
444 1.5 cgd { 0x131f, 0x2060, 0, 0 },
445 1.5 cgd { 0xffff, 0xffff, 0, 0 },
446 1.5 cgd {
447 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
448 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
449 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
450 1.5 cgd },
451 1.5 cgd },
452 1.5 cgd
453 1.5 cgd /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
454 1.5 cgd { "SIIG Cyber 2S1P PCI 16C650 (20x family)",
455 1.5 cgd { 0x131f, 0x2061, 0, 0 },
456 1.5 cgd { 0xffff, 0xffff, 0, 0 },
457 1.5 cgd {
458 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
459 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
460 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
461 1.5 cgd },
462 1.5 cgd },
463 1.5 cgd
464 1.5 cgd /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
465 1.5 cgd { "SIIG Cyber 2S1P PCI 16C850 (20x family)",
466 1.5 cgd { 0x131f, 0x2062, 0, 0 },
467 1.5 cgd { 0xffff, 0xffff, 0, 0 },
468 1.5 cgd {
469 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
470 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
471 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
472 1.5 cgd },
473 1.5 cgd },
474 1.5 cgd
475 1.5 cgd /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
476 1.5 cgd { "SIIG Cyber 4S PCI 16C550 (20x family)",
477 1.5 cgd { 0x131f, 0x2050, 0, 0 },
478 1.5 cgd { 0xffff, 0xffff, 0, 0 },
479 1.5 cgd {
480 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
481 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
482 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
483 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
484 1.5 cgd },
485 1.5 cgd },
486 1.5 cgd
487 1.5 cgd /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
488 1.5 cgd { "SIIG Cyber 4S PCI 16C650 (20x family)",
489 1.5 cgd { 0x131f, 0x2051, 0, 0 },
490 1.5 cgd { 0xffff, 0xffff, 0, 0 },
491 1.5 cgd {
492 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
493 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
494 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
495 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
496 1.5 cgd },
497 1.5 cgd },
498 1.5 cgd
499 1.5 cgd /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
500 1.5 cgd { "SIIG Cyber 4S PCI 16C850 (20x family)",
501 1.5 cgd { 0x131f, 0x2052, 0, 0 },
502 1.5 cgd { 0xffff, 0xffff, 0, 0 },
503 1.5 cgd {
504 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
505 1.11 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
506 1.11 bouyer { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
507 1.11 bouyer { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
508 1.5 cgd },
509 1.5 cgd },
510 1.5 cgd
511 1.20 soren /* VScom PCI-400: 4S */
512 1.20 soren { "VScom PCI-400",
513 1.20 soren { 0x10b5, 0x1077, 0x10b5, 0x1077 },
514 1.20 soren { 0xffff, 0xffff, 0xffff, 0xffff },
515 1.20 soren {
516 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
517 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
518 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
519 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
520 1.20 soren },
521 1.20 soren },
522 1.3 cgd
523 1.20 soren /* VScom PCI-800: 8S */
524 1.4 cgd { "VScom PCI-800",
525 1.3 cgd { 0x10b5, 0x1076, 0x10b5, 0x1076 },
526 1.3 cgd { 0xffff, 0xffff, 0xffff, 0xffff },
527 1.3 cgd {
528 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
529 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
530 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
531 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
532 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
533 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
534 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
535 1.20 soren { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
536 1.11 bouyer },
537 1.11 bouyer },
538 1.11 bouyer /*
539 1.11 bouyer * VScom PCI-800H. Uses 8 16950 UART, behind a PCI chips that offers
540 1.11 bouyer * 4 com port on PCI device 0 and 4 on PCI device 1. PCI device 0 has
541 1.20 soren * device ID 3 and PCI device 1 device ID 4.
542 1.11 bouyer */
543 1.18 bouyer { "Titan PCI-800H",
544 1.11 bouyer { 0x14d2, 0xa003, 0, 0 },
545 1.11 bouyer { 0xffff, 0xffff, 0, 0 },
546 1.11 bouyer {
547 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
548 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
549 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
550 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
551 1.11 bouyer },
552 1.11 bouyer },
553 1.18 bouyer { "Titan PCI-800H",
554 1.11 bouyer { 0x14d2, 0xa004, 0, 0 },
555 1.11 bouyer { 0xffff, 0xffff, 0, 0 },
556 1.11 bouyer {
557 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
558 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
559 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
560 1.20 soren { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
561 1.7 jun },
562 1.7 jun },
563 1.22 christos { "Titan PCI-200H",
564 1.22 christos { 0x14d2, 0xa005, 0, 0 },
565 1.22 christos { 0xffff, 0xffff, 0, 0 },
566 1.22 christos {
567 1.22 christos { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
568 1.22 christos { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
569 1.22 christos },
570 1.22 christos },
571 1.7 jun
572 1.7 jun /* NEC PK-UG-X001 K56flex PCI Modem card.
573 1.7 jun NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */
574 1.7 jun { "NEC PK-UG-X001 K56flex PCI Modem",
575 1.7 jun { 0x1033, 0x0074, 0x1033, 0x8014 },
576 1.7 jun { 0xffff, 0xffff, 0xffff, 0xffff },
577 1.7 jun {
578 1.11 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
579 1.7 jun },
580 1.7 jun },
581 1.7 jun
582 1.20 soren /* NEC PK-UG-X008 */
583 1.7 jun { "NEC PK-UG-X008",
584 1.7 jun { 0x1033, 0x007d, 0x1033, 0x8012 },
585 1.7 jun { 0xffff, 0xffff, 0xffff, 0xffff },
586 1.7 jun {
587 1.14 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ},
588 1.8 castor },
589 1.8 castor },
590 1.8 castor
591 1.8 castor /* Lava Computers 2SP-PCI */
592 1.8 castor { "Lava Computers 2SP-PCI parallel port",
593 1.8 castor { 0x1407, 0x8000, 0, 0 },
594 1.8 castor { 0xffff, 0xffff, 0, 0 },
595 1.8 castor {
596 1.11 bouyer { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
597 1.8 castor },
598 1.8 castor },
599 1.8 castor
600 1.8 castor /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
601 1.8 castor { "Lava Computers dual serial port",
602 1.8 castor { 0x1407, 0x0100, 0, 0 },
603 1.8 castor { 0xffff, 0xfffc, 0, 0 },
604 1.8 castor {
605 1.14 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
606 1.14 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
607 1.19 thorpej },
608 1.19 thorpej },
609 1.19 thorpej
610 1.19 thorpej /* Lava Computers DSerial PCI serial ports */
611 1.19 thorpej { "Lava Computers serial port",
612 1.19 thorpej { 0x1407, 0x0110, 0, 0 },
613 1.19 thorpej { 0xffff, 0xfffc, 0, 0 },
614 1.19 thorpej {
615 1.19 thorpej { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
616 1.15 christos },
617 1.15 christos },
618 1.15 christos
619 1.15 christos /* Lava Computers Octopus-550 serial ports */
620 1.15 christos { "Lava Computers Octopus-550 8-port serial",
621 1.15 christos { 0x1407, 0x0180, 0, 0 },
622 1.15 christos { 0xffff, 0xfffc, 0, 0 },
623 1.15 christos {
624 1.16 christos { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
625 1.16 christos { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
626 1.16 christos { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
627 1.16 christos { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
628 1.9 bouyer },
629 1.9 bouyer },
630 1.9 bouyer
631 1.9 bouyer /* US Robotics (3Com) PCI Modems */
632 1.9 bouyer { "US Robotics (3Com) 3CP5609 PCI 16550 Modem",
633 1.9 bouyer { 0x12b9, 0x1008, 0, 0 },
634 1.9 bouyer { 0xffff, 0xffff, 0, 0 },
635 1.9 bouyer {
636 1.14 bouyer { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
637 1.10 bouyer },
638 1.10 bouyer },
639 1.10 bouyer
640 1.10 bouyer /* Actiontec 56K PCI Master */
641 1.10 bouyer { "Actiontec 56K PCI Master",
642 1.10 bouyer { 0x11c1, 0x0480, 0x0, 0x0 },
643 1.10 bouyer { 0xffff, 0xffff, 0x0, 0x0 },
644 1.10 bouyer {
645 1.14 bouyer { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
646 1.12 veego },
647 1.12 veego },
648 1.12 veego
649 1.12 veego /*
650 1.12 veego * Boards with an Oxford Semiconductor chip.
651 1.12 veego *
652 1.12 veego * Oxford Semiconductor provides documentation for their chip at:
653 1.12 veego * <URL:http://www.oxsemi.com/products/uarts/index.html>
654 1.12 veego *
655 1.12 veego * As sold by Kouwell <URL:http://www.kouwell.com/>.
656 1.12 veego * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
657 1.12 veego */
658 1.12 veego
659 1.12 veego /* Oxford Semiconductor OX16PCI954 PCI UARTs */
660 1.12 veego { "Qxford Semiconductor OX16PCI954 UARTs",
661 1.12 veego { 0x1415, 0x9501, 0, 0 },
662 1.12 veego { 0xffff, 0xffff, 0, 0 },
663 1.12 veego {
664 1.13 veego { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
665 1.13 veego { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
666 1.13 veego { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
667 1.13 veego { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
668 1.12 veego },
669 1.12 veego },
670 1.12 veego
671 1.12 veego /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
672 1.12 veego { "Qxford Semiconductor OX16PCI954 Parallel port",
673 1.12 veego { 0x1415, 0x9513, 0, 0 },
674 1.12 veego { 0xffff, 0xffff, 0, 0 },
675 1.12 veego {
676 1.12 veego { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
677 1.17 msaitoh },
678 1.17 msaitoh },
679 1.17 msaitoh
680 1.17 msaitoh /* NetMos 2S1P PCI 16C650 : 2S, 1P */
681 1.17 msaitoh { "NetMos NM9835 Dual UART and 1284 Printer port",
682 1.17 msaitoh { 0x9710, 0x9835, 0, 0 },
683 1.17 msaitoh { 0xffff, 0xffff, 0, 0 },
684 1.17 msaitoh {
685 1.17 msaitoh { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
686 1.17 msaitoh { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
687 1.17 msaitoh { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
688 1.24 thorpej },
689 1.24 thorpej },
690 1.24 thorpej
691 1.24 thorpej /*
692 1.24 thorpej * This is the Middle Digital, Inc. PCI-Weasel, which
693 1.24 thorpej * uses a PCI interface implemented in FPGA.
694 1.24 thorpej */
695 1.24 thorpej { "Middle Digital, Inc. Weasel Serial port",
696 1.24 thorpej { 0xdeaf, 0x9051, 0, 0 },
697 1.24 thorpej { 0xffff, 0xffff, 0, 0 },
698 1.24 thorpej {
699 1.24 thorpej { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
700 1.3 cgd },
701 1.3 cgd },
702 1.1 cgd
703 1.1 cgd { 0 }
704 1.1 cgd };
705