Annotation of sys/dev/pci/pucdata.c, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: pucdata.c,v 1.48 2007/06/08 12:44:41 mbalmer Exp $ */
2: /* $NetBSD: pucdata.c,v 1.6 1999/07/03 05:55:23 cgd Exp $ */
3:
4: /*
5: * Copyright (c) 1998, 1999 Christopher G. Demetriou. All rights reserved.
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: * 3. All advertising materials mentioning features or use of this software
16: * must display the following acknowledgement:
17: * This product includes software developed by Christopher G. Demetriou
18: * for the NetBSD Project.
19: * 4. The name of the author may not be used to endorse or promote products
20: * derived from this software without specific prior written permission
21: *
22: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32: */
33:
34: /*
35: * PCI "universal" communications card driver configuration data (used to
36: * match/attach the cards).
37: */
38:
39: #include <sys/param.h>
40: #include <sys/systm.h>
41: #include <sys/device.h>
42:
43: #include <dev/pci/pcireg.h>
44: #include <dev/pci/pcivar.h>
45: #include <dev/pci/pucvar.h>
46: #include <dev/pci/pcidevs.h>
47: #include <dev/ic/comreg.h>
48:
49: const struct puc_device_description puc_devices[] = {
50: /*
51: * XXX no entry because I have no data:
52: * XXX Dolphin Peripherals 4006 (single parallel)
53: */
54:
55: /*
56: * Dolphin Peripherals 4014 (dual parallel port) card. PLX 9050, with
57: * a seemingly-lame EEPROM setup that puts the Dolphin IDs
58: * into the subsystem fields, and claims that it's a
59: * network/misc (0x02/0x80) device.
60: */
61: { /* "Dolphin Peripherals 4014" */
62: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6810 },
63: { 0xffff, 0xffff, 0xffff, 0xffff },
64: {
65: { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
66: { PUC_PORT_TYPE_LPT, 0x24, 0x00 },
67: },
68: },
69:
70: /*
71: * XXX no entry because I have no data:
72: * XXX Dolphin Peripherals 4025 (single serial)
73: */
74:
75: /*
76: * Dolphin Peripherals 4035 (dual serial port) card. PLX 9050, with
77: * a seemingly-lame EEPROM setup that puts the Dolphin IDs
78: * into the subsystem fields, and claims that it's a
79: * network/misc (0x02/0x80) device.
80: */
81: { /* "Dolphin Peripherals 4035" */
82: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0xd84d, 0x6808 },
83: { 0xffff, 0xffff, 0xffff, 0xffff },
84: {
85: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
86: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
87: },
88: },
89:
90: /*
91: * XXX no entry because I have no data:
92: * XXX Dolphin Peripherals 4078 (dual serial and single parallel)
93: */
94:
95: /*
96: * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS
97: */
98:
99: /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */
100: { /* "Decision Computer Inc PCCOM 2 Port RS232/422/485", */
101: { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2, 0, 0 },
102: { 0xffff, 0xffff, 0, 0 },
103: {
104: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
105: { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
106: },
107: },
108:
109: /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */
110: { /* "Decision Computer Inc PCCOM 4 Port RS232/422/485", */
111: { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4, 0, 0 },
112: { 0xffff, 0xffff, 0, 0 },
113: {
114: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
115: { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
116: { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
117: { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
118: },
119: },
120:
121: /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */
122: { /* "Decision Computer Inc PCCOM 8 Port RS232/422/485", */
123: { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8, 0, 0 },
124: { 0xffff, 0xffff, 0, 0 },
125: {
126: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
127: { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
128: { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ },
129: { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ },
130: { PUC_PORT_TYPE_COM, 0x1c, 0x20, COM_FREQ },
131: { PUC_PORT_TYPE_COM, 0x1c, 0x28, COM_FREQ },
132: { PUC_PORT_TYPE_COM, 0x1c, 0x30, COM_FREQ },
133: { PUC_PORT_TYPE_COM, 0x1c, 0x38, COM_FREQ },
134: },
135: },
136:
137: /*
138: * SIIG Boards.
139: *
140: * SIIG provides documentation for their boards at:
141: * <URL:http://www.siig.com/driver.htm>
142: *
143: * Please excuse the weird ordering, it's the order they
144: * use in their documentation.
145: */
146:
147: /*
148: * SIIG "10x" family boards.
149: */
150:
151: /* SIIG Cyber Serial PCI 16C550 (10x family): 1S */
152: { /* "SIIG Cyber Serial PCI 16C550 (10x family)", */
153: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1000, 0, 0 },
154: { 0xffff, 0xffff, 0, 0 },
155: {
156: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
157: },
158: },
159:
160: /* SIIG Cyber Serial PCI 16C650 (10x family): 1S */
161: { /* "SIIG Cyber Serial PCI 16C650 (10x family)", */
162: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1001, 0, 0 },
163: { 0xffff, 0xffff, 0, 0 },
164: {
165: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
166: },
167: },
168:
169: /* SIIG Cyber Serial PCI 16C850 (10x family): 1S */
170: { /* "SIIG Cyber Serial PCI 16C850 (10x family)", */
171: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1002, 0, 0 },
172: { 0xffff, 0xffff, 0, 0 },
173: {
174: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
175: },
176: },
177:
178: /* SIIG Cyber I/O PCI 16C550 (10x family): 1S, 1P */
179: { /* "SIIG Cyber I/O PCI 16C550 (10x family)", */
180: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1010, 0, 0 },
181: { 0xffff, 0xffff, 0, 0 },
182: {
183: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
184: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
185: },
186: },
187:
188: /* SIIG Cyber I/O PCI 16C650 (10x family): 1S, 1P */
189: { /* "SIIG Cyber I/O PCI 16C650 (10x family)", */
190: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1011, 0, 0 },
191: { 0xffff, 0xffff, 0, 0 },
192: {
193: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
194: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
195: },
196: },
197:
198: /* SIIG Cyber I/O PCI 16C850 (10x family): 1S, 1P */
199: { /* "SIIG Cyber I/O PCI 16C850 (10x family)", */
200: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1012, 0, 0 },
201: { 0xffff, 0xffff, 0, 0 },
202: {
203: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
204: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
205: },
206: },
207:
208: /* SIIG Cyber Parallel PCI (10x family): 1P */
209: { /* "SIIG Cyber Parallel PCI (10x family)", */
210: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1020, 0, 0 },
211: { 0xffff, 0xffff, 0, 0 },
212: {
213: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
214: },
215: },
216:
217: /* SIIG Cyber Parallel Dual PCI (10x family): 2P */
218: { /* "SIIG Cyber Parallel Dual PCI (10x family)", */
219: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1021, 0, 0 },
220: { 0xffff, 0xffff, 0, 0 },
221: {
222: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
223: { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
224: },
225: },
226:
227: /* SIIG Cyber Serial Dual PCI 16C550 (10x family): 2S */
228: { /* "SIIG Cyber Serial Dual PCI 16C550 (10x family)", */
229: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1030, 0, 0 },
230: { 0xffff, 0xffff, 0, 0 },
231: {
232: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
233: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
234: },
235: },
236:
237: /* SIIG Cyber Serial Dual PCI 16C650 (10x family): 2S */
238: { /* "SIIG Cyber Serial Dual PCI 16C650 (10x family)", */
239: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1031, 0, 0 },
240: { 0xffff, 0xffff, 0, 0 },
241: {
242: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
243: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
244: },
245: },
246:
247: /* SIIG Cyber Serial Dual PCI 16C850 (10x family): 2S */
248: { /* "SIIG Cyber Serial Dual PCI 16C850 (10x family)", */
249: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1032, 0, 0 },
250: { 0xffff, 0xffff, 0, 0 },
251: {
252: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
253: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
254: },
255: },
256:
257: /* SIIG Cyber 2S1P PCI 16C550 (10x family): 2S, 1P */
258: { /* "SIIG Cyber 2S1P PCI 16C550 (10x family)", */
259: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1034, 0, 0 },
260: { 0xffff, 0xffff, 0, 0 },
261: {
262: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
263: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
264: { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
265: },
266: },
267:
268: /* SIIG Cyber 2S1P PCI 16C650 (10x family): 2S, 1P */
269: { /* "SIIG Cyber 2S1P PCI 16C650 (10x family)", */
270: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1035, 0, 0 },
271: { 0xffff, 0xffff, 0, 0 },
272: {
273: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
274: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
275: { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
276: },
277: },
278:
279: /* SIIG Cyber 2S1P PCI 16C850 (10x family): 2S, 1P */
280: { /* "SIIG Cyber 2S1P PCI 16C850 (10x family)", */
281: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1036, 0, 0 },
282: { 0xffff, 0xffff, 0, 0 },
283: {
284: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
285: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
286: { PUC_PORT_TYPE_LPT, 0x20, 0x00 },
287: },
288: },
289:
290: /* SIIG Cyber 4S PCI 16C550 (10x family): 4S */
291: { /* "SIIG Cyber 4S PCI 16C550 (10x family)", */
292: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1050, 0, 0 },
293: { 0xffff, 0xffff, 0, 0 },
294: {
295: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
296: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
297: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
298: { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
299: },
300: },
301:
302: /* SIIG Cyber 4S PCI 16C650 (10x family): 4S */
303: { /* "SIIG Cyber 4S PCI 16C650 (10x family)", */
304: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1051, 0, 0 },
305: { 0xffff, 0xffff, 0, 0 },
306: {
307: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
308: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
309: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
310: { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
311: },
312: },
313:
314: /* SIIG Cyber 4S PCI 16C850 (10x family): 4S */
315: { /* "SIIG Cyber 4S PCI 16C850 (10x family)", */
316: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_1052, 0, 0 },
317: { 0xffff, 0xffff, 0, 0 },
318: {
319: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
320: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
321: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
322: { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ },
323: },
324: },
325:
326: /*
327: * SIIG "20x" family boards.
328: */
329:
330: /* SIIG Cyber Parallel PCI (20x family): 1P */
331: { /* "SIIG Cyber Parallel PCI (20x family)", */
332: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2020, 0, 0 },
333: { 0xffff, 0xffff, 0, 0 },
334: {
335: { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
336: },
337: },
338:
339: /* SIIG Cyber Parallel Dual PCI (20x family): 2P */
340: { /* "SIIG Cyber Parallel Dual PCI (20x family)", */
341: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2021, 0, 0 },
342: { 0xffff, 0xffff, 0, 0 },
343: {
344: { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
345: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
346: },
347: },
348:
349: /* SIIG Cyber 2P1S PCI 16C550 (20x family): 1S, 2P */
350: { /* "SIIG Cyber 2P1S PCI 16C550 (20x family)", */
351: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2040, 0, 0 },
352: { 0xffff, 0xffff, 0, 0 },
353: {
354: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
355: { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
356: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
357: },
358: },
359:
360: /* SIIG Cyber 2P1S PCI 16C650 (20x family): 1S, 2P */
361: { /* "SIIG Cyber 2P1S PCI 16C650 (20x family)", */
362: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2041, 0, 0 },
363: { 0xffff, 0xffff, 0, 0 },
364: {
365: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
366: { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
367: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
368: },
369: },
370:
371: /* SIIG Cyber 2P1S PCI 16C850 (20x family): 1S, 2P */
372: { /* "SIIG Cyber 2P1S PCI 16C850 (20x family)", */
373: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2042, 0, 0 },
374: { 0xffff, 0xffff, 0, 0 },
375: {
376: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
377: { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
378: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
379: },
380: },
381:
382: /* SIIG Cyber Serial PCI 16C550 (20x family): 1S */
383: { /* "SIIG Cyber Serial PCI 16C550 (20x family)", */
384: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2000, 0, 0 },
385: { 0xffff, 0xffff, 0, 0 },
386: {
387: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
388: },
389: },
390:
391: /* SIIG Cyber Serial PCI 16C650 (20x family): 1S */
392: { /* "SIIG Cyber Serial PCI 16C650 (20x family)", */
393: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2001, 0, 0 },
394: { 0xffff, 0xffff, 0, 0 },
395: {
396: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
397: },
398: },
399:
400: /* SIIG Cyber Serial PCI 16C850 (20x family): 1S */
401: { /* "SIIG Cyber Serial PCI 16C850 (20x family)", */
402: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2002, 0, 0 },
403: { 0xffff, 0xffff, 0, 0 },
404: {
405: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
406: },
407: },
408:
409: /* SIIG Cyber I/O PCI 16C550 (20x family): 1S, 1P */
410: { /* "SIIG Cyber I/O PCI 16C550 (20x family)", */
411: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2010, 0, 0 },
412: { 0xffff, 0xffff, 0, 0 },
413: {
414: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
415: { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
416: },
417: },
418:
419: /* SIIG Cyber I/O PCI 16C650 (20x family): 1S, 1P */
420: { /* "SIIG Cyber I/O PCI 16C650 (20x family)", */
421: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2011, 0, 0 },
422: { 0xffff, 0xffff, 0, 0 },
423: {
424: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
425: { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
426: },
427: },
428:
429: /* SIIG Cyber I/O PCI 16C850 (20x family): 1S, 1P */
430: { /* "SIIG Cyber I/O PCI 16C850 (20x family)", */
431: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2012, 0, 0 },
432: { 0xffff, 0xffff, 0, 0 },
433: {
434: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
435: { PUC_PORT_TYPE_LPT, 0x14, 0x00 },
436: },
437: },
438:
439: /* SIIG Cyber Serial Dual PCI 16C550 (20x family): 2S */
440: { /* "SIIG Cyber Serial Dual PCI 16C550 (20x family)", */
441: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2030, 0, 0 },
442: { 0xffff, 0xffff, 0, 0 },
443: {
444: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
445: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
446: },
447: },
448:
449: /* SIIG Cyber Serial Dual PCI 16C650 (20x family): 2S */
450: { /* "SIIG Cyber Serial Dual PCI 16C650 (20x family)", */
451: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2031, 0, 0 },
452: { 0xffff, 0xffff, 0, 0 },
453: {
454: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
455: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
456: },
457: },
458:
459: /* SIIG Cyber Serial Dual PCI 16C850 (20x family): 2S */
460: { /* "SIIG Cyber Serial Dual PCI 16C850 (20x family)", */
461: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2032, 0, 0 },
462: { 0xffff, 0xffff, 0, 0 },
463: {
464: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
465: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
466: },
467: },
468:
469: /* SIIG Cyber 2S1P PCI 16C550 (20x family): 2S, 1P */
470: { /* "SIIG Cyber 2S1P PCI 16C550 (20x family)", */
471: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2060, 0, 0 },
472: { 0xffff, 0xffff, 0, 0 },
473: {
474: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
475: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
476: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
477: },
478: },
479:
480: /* SIIG Cyber 2S1P PCI 16C650 (20x family): 2S, 1P */
481: { /* "SIIG Cyber 2S1P PCI 16C650 (20x family)", */
482: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2061, 0, 0 },
483: { 0xffff, 0xffff, 0, 0 },
484: {
485: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
486: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
487: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
488: },
489: },
490:
491: /* SIIG Cyber 2S1P PCI 16C850 (20x family): 2S, 1P */
492: { /* "SIIG Cyber 2S1P PCI 16C850 (20x family)", */
493: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2062, 0, 0 },
494: { 0xffff, 0xffff, 0, 0 },
495: {
496: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
497: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
498: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
499: },
500: },
501:
502: /* SIIG Cyber 4S PCI 16C550 (20x family): 4S */
503: { /* "SIIG Cyber 4S PCI 16C550 (20x family)", */
504: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050, 0, 0 },
505: { 0xffff, 0xffff, 0, 0 },
506: {
507: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
508: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
509: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
510: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
511: },
512: },
513:
514: /* SIIG Cyber 4S PCI 16C650 (20x family): 4S */
515: { /* "SIIG Cyber 4S PCI 16C650 (20x family)", */
516: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2051, 0, 0 },
517: { 0xffff, 0xffff, 0, 0 },
518: {
519: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
520: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
521: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
522: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
523: },
524: },
525:
526: /* SIIG Cyber 4S PCI 16C850 (20x family): 4S */
527: { /* "SIIG Cyber 4S PCI 16C850 (20x family)", */
528: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2052, 0, 0 },
529: { 0xffff, 0xffff, 0, 0 },
530: {
531: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
532: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
533: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
534: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
535: },
536: },
537:
538: /* SIIG Cyber 8S PCI 16C850 (20x family): 8S */
539: { /* "SIIG Cyber 8S PCI 16C850 (20x family)", */
540: { PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2081, 0, 0 },
541: { 0xffff, 0xffff, 0, 0 },
542: {
543: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
544: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
545: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
546: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
547: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
548: { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
549: { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ },
550: { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ },
551: },
552: },
553:
554: /*
555: * VScom PCI-400S, based on PLX 9050 Chip, 16k buffer
556: */
557: { /* "VScom PCI-400S", */
558: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1077, 0x10b5, 0x1077 },
559: { 0xffff, 0xffff, 0xffff, 0xffff },
560: {
561: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
562: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
563: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
564: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
565: },
566: },
567:
568: /*
569: * VScom PCI-800, as sold on http://www.swann.com.au/isp/titan.html.
570: * Some PLX chip. Note: This board has a software selectable(?)
571: * clock multiplier which this driver doesn't support, so you'll
572: * have to use an appropriately scaled baud rate when talking to
573: * the card.
574: */
575: { /* "VScom PCI-800", */
576: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_1076, 0x10b5, 0x1076 },
577: { 0xffff, 0xffff, 0xffff, 0xffff },
578: {
579: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
580: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
581: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
582: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
583: { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
584: { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
585: { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
586: { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
587: },
588: },
589:
590: /*
591: * VScom PCI 011H, 1 lpt.
592: */
593: { /* "VScom PCI-011H", */
594: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_VSCOM_PCI011H, 0, 0 },
595: { 0xffff, 0xffff, 0, 0 },
596: {
597: { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
598: },
599: },
600:
601: /*
602: * VScom PCI x10H, 1 lpt.
603: * is the lpt part of VScom 110H, 210H, 410H
604: */
605: { /* "VScom PCI-x10H", */
606: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCIx10H, 0, 0 },
607: { 0xffff, 0xffff, 0, 0 },
608: {
609: { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
610: },
611: },
612:
613: /*
614: * VScom PCI 100H, little sister of 800H, 1 com.
615: * also com part of VScom 110H
616: * The one I have defaults to a fequency of 14.7456 MHz which is
617: * jumper J1 set to 2-3.
618: */
619: { /* "VScom PCI-100H", */
620: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100H, 0, 0 },
621: { 0xffff, 0xffff, 0, 0 },
622: {
623: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
624: },
625: },
626:
627: /*
628: * VScom PCI 200H, little sister of 800H, 2 com.
629: * also com part of VScom 210H
630: * The one I have defaults to a fequency of 14.7456 MHz which is
631: * jumper J1 set to 2-3.
632: */
633:
634: { /* "VScom PCI-200H", */
635: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200H, 0, 0 },
636: { 0xffff, 0xffff, 0, 0 },
637: {
638: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
639: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
640: },
641: },
642:
643: /*
644: * VScom PCI 400H and 800H. Uses 4/8 16950 UART, behind a PCI chips
645: * that offers 4 com port on PCI device 0 (both 400H and 800H)
646: * and 4 on PCI device 1 (800H only). PCI device 0 has
647: * device ID 3 and PCI device 1 device ID 4. Uses a 14.7456 MHz crystal
648: * instead of the standart 1.8432MHz.
649: * There's a version with a jumper for selecting the crystal frequency,
650: * defaults to 8x as used here. The jumperless version uses 8x, too.
651: */
652: { /* "VScom PCI-400H/800H", */
653: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_0, 0, 0 },
654: { 0xffff, 0xffff, 0, 0 },
655: {
656: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
657: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
658: { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
659: { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
660: },
661: },
662: { /* "VScom PCI-400H/800H", */
663: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800H_1, 0, 0 },
664: { 0xffff, 0xffff, 0, 0 },
665: {
666: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
667: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
668: { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 },
669: { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 },
670: },
671: },
672:
673: /*
674: * VScom PCI 200HV2, is 200H Version 2.
675: * Sells as 200H
676: */
677: { /* "VScom PCI-200HV2", */
678: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200HV2, 0, 0 },
679: { 0xffff, 0xffff, 0, 0 },
680: {
681: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
682: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
683: },
684: },
685:
686: /*
687: * VScom PCI 010L
688: * one lpt
689: * untested
690: */
691: { /* "VScom PCI-010L", */
692: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI010L, 0, 0 },
693: { 0xffff, 0xffff, 0, 0 },
694: {
695: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
696: },
697: },
698:
699: /*
700: * VScom PCI 100L
701: * one com
702: * The one I have defaults to a fequency of 14.7456 MHz which is
703: * jumper J1 set to 2-3.
704: */
705: { /* "VScom PCI-100L", */
706: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI100L, 0, 0 },
707: { 0xffff, 0xffff, 0, 0 },
708: {
709: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
710: },
711: },
712:
713: /*
714: * VScom PCI 110L
715: * one com, one lpt
716: * untested
717: */
718: { /* "VScom PCI-110L", */
719: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI110L, 0, 0 },
720: { 0xffff, 0xffff, 0, 0 },
721: {
722: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
723: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
724: },
725: },
726:
727: /*
728: * VScom PCI-200L has 2 x 16550 UARTS.
729: * The board has a jumper which allows you to select a clock speed
730: * of either 14.7456MHz or 1.8432MHz. By default it runs at
731: * the fast speed.
732: */
733: { /* "VScom PCI-200L with 2 x 16550 UARTS" */
734: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI200L, 0, 0 },
735: { 0xffff, 0xffff, 0, 0 },
736: {
737: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8},
738: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8},
739: },
740: },
741:
742: /*
743: * VScom PCI-210L
744: * Has a jumper for frequency selection, defaults to 8x as used here
745: * two com, one lpt
746: */
747: { /* "VScom PCI-210L" */
748: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI210L, 0, 0 },
749: { 0xffff, 0xffff, 0, 0 },
750: {
751: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
752: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
753: { PUC_PORT_TYPE_LPT, 0x1c, 0x00 },
754: },
755: },
756:
757: /*
758: * VScom PCI 400L
759: * Has a jumper for frequency selection, defaults to 8x as used here
760: * This is equal to J1 in pos 2-3
761: * VendorID mismatch with docs, should be 14d2 (oxford), is 10d2 (molex)
762: */
763: { /* "VScom PCI-400L", */
764: { PCI_VENDOR_MOLEX, PCI_PRODUCT_MOLEX_VSCOM_PCI400L, 0, 0 },
765: { 0xffff, 0xffff, 0, 0 },
766: {
767: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
768: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
769: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
770: { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
771: },
772: },
773:
774: /*
775: * VScom PCI 800L
776: * Has a jumper for frequency selection, defaults to 8x as used here
777: */
778: { /* "VScom PCI-800L", */
779: { PCI_VENDOR_OXFORD, PCI_PRODUCT_OXFORD_VSCOM_PCI800L, 0, 0 },
780: { 0xffff, 0xffff, 0, 0 },
781: {
782: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 8 },
783: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
784: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ * 8 },
785: { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ * 8 },
786: { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ * 8 },
787: { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ * 8 },
788: { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ * 8 },
789: { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ * 8 },
790: },
791: },
792:
793: /*
794: * Exsys EX-41098
795: */
796: { /* "Exsys EX-41098", */
797: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_EXSYS_EX41098, 0, 0 },
798: { 0xffff, 0xffff, 0, 0 },
799: {
800: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
801: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
802: { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
803: { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
804: },
805: },
806:
807: /*
808: * Boards with an Oxford Semiconductor chip.
809: *
810: * Oxford Semiconductor provides documentation for their chip at:
811: * <URL:http://www.oxsemi.com/products/uarts/index.html>
812: *
813: * As sold by Kouwell <URL:http://www.kouwell.com/>.
814: * I/O Flex PCI I/O Card Model-223 with 4 serial and 1 parallel ports.
815: */
816:
817: /* Oxford Semiconductor OX16PCI952 PCI `950 UARTs - 128 byte FIFOs */
818: { /* "Oxford Semiconductor OX16PCI952 UARTs", */
819: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952, 0, 0 },
820: { 0xffff, 0xffff, 0, 0 },
821: {
822: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
823: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
824: },
825: },
826:
827: /* Oxford Semiconductor OX16PCI952 PCI Parallel port */
828: { /* "Oxford Semiconductor OX16PCI952 Parallel port", */
829: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI952P, 0, 0 },
830: { 0xffff, 0xffff, 0, 0 },
831: {
832: { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
833: },
834: },
835:
836: /* SIIG 2050 (uses Oxford 16PCI954 and a 10x clock) */
837: { /* "Oxford Semiconductor OX16PCI954 UARTs", */
838: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954,
839: PCI_VENDOR_SIIG, PCI_PRODUCT_SIIG_2050 },
840: { 0xffff, 0xffff, 0xffff, 0xffff },
841: {
842: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 },
843: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 },
844: { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 },
845: { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 },
846: },
847: },
848:
849: /* Oxford Semiconductor OX16PCI954 PCI UARTs */
850: { /* "Oxford Semiconductor OX16PCI954 UARTs", */
851: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954, 0, 0 },
852: { 0xffff, 0xffff, 0, 0 },
853: {
854: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
855: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
856: { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ },
857: { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ },
858: },
859: },
860:
861: /* Oxford Semiconductor OX16PCI954K PCI UARTs */
862: { /* "Oxford Semiconductor OX16PCI954K UARTs", */
863: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954K, 0, 0 },
864: { 0xffff, 0xffff, 0, 0 },
865: {
866: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
867: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
868: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
869: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
870: },
871: },
872:
873: /* Oxford Semiconductor OX16PCI954 PCI Parallel port */
874: { /* "Oxford Semiconductor OX16PCI954 Parallel port", */
875: { PCI_VENDOR_OXFORD2, PCI_PRODUCT_OXFORD2_OX16PCI954P, 0, 0 },
876: { 0xffff, 0xffff, 0, 0 },
877: {
878: { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
879: },
880: },
881:
882: /*
883: * NEC PK-UG-X001 K56flex PCI Modem card.
884: * NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using.
885: */
886: { /* "NEC PK-UG-X001 K56flex PCI Modem", */
887: { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_MARTH, 0x1033, 0x8014 },
888: { 0xffff, 0xffff, 0xffff, 0xffff },
889: {
890: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
891: },
892: },
893:
894: /* NEC PK-UG-X008 */
895: { /* "NEC PK-UG-X008", */
896: { PCI_VENDOR_NEC, PCI_PRODUCT_NEC_PKUG, 0x1033, 0x8012 },
897: { 0xffff, 0xffff, 0xffff, 0xffff },
898: {
899: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
900: },
901: },
902:
903: /* Lava Computers 2SP-PCI (0x8000-0x8003) */
904: { /* "Lava Computers 2SP-PCI parallel port", */
905: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_1P, 0, 0 },
906: { 0xffff, 0xfffc, 0, 0 },
907: {
908: { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
909: },
910: },
911:
912: /* Lava Computers 2SP-PCI and Quattro-PCI serial ports */
913: { /* "Lava Computers dual serial port", */
914: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_TWOSP_2S, 0, 0 },
915: { 0xffff, 0xfffc, 0, 0 },
916: {
917: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
918: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
919: },
920: },
921:
922: /*
923: * Lava Computers Quattro-PCI serial ports.
924: * A second version of the Quattro-PCI with different PCI ids.
925: */
926: { /* "Lava Computers Quattro-PCI 4-port serial", */
927: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_QUATTRO_AB2, 0, 0 },
928: { 0xffff, 0xfffe, 0, 0 },
929: {
930: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
931: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
932: },
933: },
934:
935: /*
936: * Lava Computers LavaPort-Dual and LavaPort-Quad 4*clock PCI
937: * serial ports.
938: */
939: { /* "Lava Computers high-speed port", */
940: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_0, 0, 0 },
941: { 0xffff, 0xfffc, 0, 0 },
942: {
943: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 },
944: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ*4 },
945: },
946: },
947:
948: /*
949: * Lava Computers LavaPort-single serial port.
950: */
951: { /* "Lava Computers high-speed port", */
952: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_LAVAPORT_2, 0, 0 },
953: { 0xffff, 0xfffc, 0, 0 },
954: {
955: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 },
956: },
957: },
958:
959: /* Lava Computers LavaPort-650 */
960: { /* "Lava Computers high-speed port", */
961: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_650, 0, 0 },
962: { 0xffff, 0xfffc, 0, 0 },
963: {
964: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ*4 },
965: },
966: },
967:
968: /* Koutech IOFLEX-2S PCI Dual Port Serial, port 1 */
969: { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 1", */
970: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_0, 0, 0 },
971: { 0xffff, 0xfffc, 0, 0 },
972: {
973: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
974: },
975: },
976:
977: /* Koutech IOFLEX-2S PCI Dual Port Serial, port 2 */
978: { /* "Koutech IOFLEX-2S PCI Dual Port Serial, port 2", */
979: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_IOFLEX_2S_1, 0, 0 },
980: { 0xffff, 0xfffc, 0, 0 },
981: {
982: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
983: },
984: },
985:
986: /* Lava Computers Octopus-550 serial ports */
987: { /* "Lava Computers Octopus-550 8-port serial", */
988: { PCI_VENDOR_LAVA, PCI_PRODUCT_LAVA_OCTOPUS550_0, 0, 0 },
989: { 0xffff, 0xfffc, 0, 0 },
990: {
991: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
992: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
993: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
994: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
995: },
996: },
997:
998: /* US Robotics (3Com) PCI Modems */
999: { /* "US Robotics (3Com) 3CP5610 PCI 16550 Modem", */
1000: { PCI_VENDOR_USR, PCI_PRODUCT_USR_3CP5610, 0, 0 },
1001: { 0xffff, 0xffff, 0, 0 },
1002: {
1003: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1004: },
1005: },
1006:
1007: /* IBM 33L4618: AT&T/Lucent Venus Modem */
1008: { /* "IBM 33L4618: AT&T/Lucent Venus Modem", */
1009: /* "Actiontec 56K PCI Master" */
1010: { PCI_VENDOR_LUCENT, PCI_PRODUCT_LUCENT_VENUSMODEM, 0, 0 },
1011: { 0xffff, 0xffff, 0, 0 },
1012: {
1013: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
1014: },
1015: },
1016:
1017: /* Topic/SmartLink 5634PCV SurfRider */
1018: { /* "Topic/SmartLink 5634PCV SurfRider" */
1019: { PCI_VENDOR_TOPIC, PCI_PRODUCT_TOPIC_5634PCV, 0, 0 },
1020: { 0xffff, 0xffff, 0, 0 },
1021: {
1022: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1023: },
1024: },
1025:
1026: /* SD-LAB PCI I/O Card 4S */
1027: { /* "Syba Tech Ltd. PCI-4S" */
1028: { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S, 0, 0 },
1029: { 0xffff, 0xffff, 0, 0 },
1030: {
1031: { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
1032: { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
1033: { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
1034: { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
1035: },
1036: },
1037:
1038: /* SD-LAB PCI I/O Card 4S2P */
1039: { /* "Syba Tech Ltd. PCI-4S2P-550-ECP" */
1040: { PCI_VENDOR_SYBA, PCI_PRODUCT_SYBA_4S2P, 0, 0 },
1041: { 0xffff, 0xffff, 0, 0 },
1042: {
1043: { PUC_PORT_TYPE_COM, 0x10, 0x2e8, COM_FREQ },
1044: { PUC_PORT_TYPE_COM, 0x10, 0x2f8, COM_FREQ },
1045: { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
1046: { PUC_PORT_TYPE_COM, 0x10, 0x3e8, COM_FREQ },
1047: { PUC_PORT_TYPE_COM, 0x10, 0x3f8, COM_FREQ },
1048: { PUC_PORT_TYPE_LPT, 0x10, 0x000, 0x00 },
1049: },
1050: },
1051:
1052: /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1053: { /* "Moxa Technologies, Industio CP-114" */
1054: { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP114, 0, 0 },
1055: { 0xffff, 0xffff, 0, 0 },
1056: {
1057: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1058: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1059: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1060: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1061: },
1062: },
1063:
1064: /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */
1065: { /* "Moxa Technologies, SmartIO C104H/PCI" */
1066: { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C104H, 0, 0 },
1067: { 0xffff, 0xffff, 0, 0 },
1068: {
1069: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1070: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1071: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1072: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1073: },
1074: },
1075:
1076: /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */
1077: { /* "Moxa Technologies, SmartIO CP104/PCI" */
1078: { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_CP104, 0, 0 },
1079: { 0xffff, 0xffff, 0, 0 },
1080: {
1081: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1082: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1083: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1084: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1085: },
1086: },
1087:
1088: /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */
1089: { /* "Moxa Technologies, Industio C168H" */
1090: { PCI_VENDOR_MOXA, PCI_PRODUCT_MOXA_C168H, 0, 0 },
1091: { 0xffff, 0xffff, 0, 0 },
1092: {
1093: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 },
1094: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 },
1095: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 },
1096: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 },
1097: { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 },
1098: { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 },
1099: { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 },
1100: { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 },
1101: },
1102: },
1103:
1104: /* NetMos 2S1P PCI 16C650 : 2S, 1P */
1105: { /* "NetMos NM9835 Dual UART and 1284 Printer port" */
1106: { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_2S1P, 0, 0 },
1107: { 0xffff, 0xffff, 0, 0 },
1108: {
1109: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1110: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1111: { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1112: },
1113: },
1114:
1115: /* NetMos 4S PCI 16C650 : 4S, 0P */
1116: { /* "NetMos NM9845 Quad UART" */
1117: { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_4S, 0, 0 },
1118: { 0xffff, 0xffff, 0, 0 },
1119: {
1120: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1121: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1122: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1123: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1124: },
1125: },
1126:
1127: /* NetMos 1P PCI: 1P */
1128: { /* "NetMos NM9805 1284 Printer Port" */
1129: { PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_1P, 0, 0 },
1130: { 0xffff, 0xffff, 0, 0 },
1131: {
1132: { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1133: },
1134: },
1135: { /* Sunix 4018A : 2-port parallel */
1136: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_4018A, 0, 0 },
1137: { 0xffff, 0xffff, 0, 0 },
1138: {
1139: { PUC_PORT_TYPE_LPT, 0x10, 0x00 },
1140: { PUC_PORT_TYPE_LPT, 0x18, 0x00 },
1141: },
1142: },
1143:
1144: /*
1145: * SUNIX 40XX series of serial/parallel combo cards.
1146: * Tested with 4055A and 4065A.
1147: */
1148: { /* SUNIX 400X 1P */
1149: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4000 },
1150: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1151: {
1152: { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1153: },
1154: },
1155:
1156: { /* SUNIX 401X 2P */
1157: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4010 },
1158: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1159: {
1160: { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 },
1161: { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1162: },
1163: },
1164:
1165: { /* SUNIX 402X 1S */
1166: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4020 },
1167: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1168: {
1169: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1170: },
1171: },
1172:
1173: { /* SUNIX 403X 2S */
1174: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4030 },
1175: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1176: {
1177: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1178: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1179: },
1180: },
1181:
1182: { /* SUNIX 405X 4S */
1183: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4050 },
1184: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1185: {
1186: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1187: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1188: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
1189: { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
1190: },
1191: },
1192:
1193: { /* SUNIX 406X 8S */
1194: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4060 },
1195: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1196: {
1197: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1198: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1199: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
1200: { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
1201: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ},
1202: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ},
1203: { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ},
1204: { PUC_PORT_TYPE_COM, 0x24, 0x00, COM_FREQ},
1205: },
1206: },
1207:
1208: { /* SUNIX 407X 2S/1P */
1209: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4070 },
1210: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1211: {
1212: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1213: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1214: { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1215: },
1216: },
1217:
1218: { /* SUNIX 408X 2S/2P */
1219: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4080 },
1220: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1221: {
1222: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1223: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1224: { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1225: { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1226: },
1227: },
1228:
1229: { /* SUNIX 409X 4S/2P */
1230: { PCI_VENDOR_SUNIX, PCI_PRODUCT_SUNIX_40XX, 0x1409, 0x4090 },
1231: { 0xffff, 0xffff, 0xffff, 0xeff0 },
1232: {
1233: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
1234: { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
1235: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ},
1236: { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ},
1237: { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
1238: { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
1239: },
1240: },
1241:
1242: /*
1243: * Boca Research Turbo Serial 654 (4 serial port) card.
1244: * Appears to be the same as Chase Research PLC PCI-FAST4 card,
1245: * same as Perle PCI-FAST4 Multi-Port serial card
1246: */
1247: { /* "Boca Turbo Serial 654 - IOP654" */
1248: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0031 },
1249: { 0xffff, 0xffff, 0xffff, 0xffff },
1250: {
1251: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1252: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1253: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1254: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1255: },
1256: },
1257:
1258: /*
1259: * Boca Research Turbo Serial 658 (8 serial port) card.
1260: * Appears to be the same as Chase Research PLC PCI-FAST8 card
1261: * same as Perle PCI-FAST8 Multi-Port serial card
1262: */
1263: { /* "Boca Turbo Serial 658 - IOP658" */
1264: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_9050, 0x12e0, 0x0021 },
1265: { 0xffff, 0xffff, 0xffff, 0xffff },
1266: {
1267: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 4 },
1268: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 4 },
1269: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 4 },
1270: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 4 },
1271: { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 4 },
1272: { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 4 },
1273: { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 4 },
1274: { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 4 },
1275: },
1276: },
1277:
1278: /* Cronyx Engineering Ltd. Omega-PCI (8 serial port) card. */
1279: { /* "Cronyx Omega-PCI" */
1280: { PCI_VENDOR_PLX, PCI_PRODUCT_PLX_CRONYX_OMEGA, 0, 0 },
1281: { 0xffff, 0xffff, 0, 0 },
1282: {
1283: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1284: { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
1285: { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ },
1286: { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ },
1287: { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ },
1288: { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ },
1289: { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ },
1290: { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ },
1291: },
1292: },
1293:
1294: /* Avlab Technology, Inc. Low Profile PCI 4 Serial: 4S */
1295: { /* "Avlab Low Profile PCI 4 Serial" */
1296: { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_LPPCI4S, 0, 0 },
1297: { 0xffff, 0xffff, 0, 0 },
1298: {
1299: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1300: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1301: { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
1302: { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
1303: },
1304: },
1305:
1306: /* Avlab Technology, Inc. PCI 2 Serial: 2S */
1307: { /* "Avlab PCI 2 Serial" */
1308: { PCI_VENDOR_AVLAB, PCI_PRODUCT_AVLAB_PCI2S, 0, 0 },
1309: { 0xffff, 0xffff, 0, 0 },
1310: {
1311: { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
1312: { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
1313: },
1314: },
1315:
1316: /* Digi International Digi Neo 4 Serial */
1317: {
1318: { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 },
1319: { 0xffff, 0xffff, 0, 0 },
1320: {
1321: { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1322: { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1323: { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1324: { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1325: },
1326: },
1327:
1328: /* Digi International Digi Neo 8 Serial */
1329: {
1330: { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO8, 0, 0 },
1331: { 0xffff, 0xffff, 0, 0 },
1332: {
1333: { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
1334: { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
1335: { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
1336: { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
1337: { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
1338: { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
1339: { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
1340: { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
1341: },
1342: },
1343: { /* NULL, */
1344:
1345: { 0, 0, 0, 0 },
1346: { 0, 0, 0, 0 },
1347: {
1348: { 0, 0, 0 },
1349: },
1350: }
1351: };
CVSweb