diff options
| author | msaitoh <msaitoh@NetBSD.org> | 2010-07-08 00:59:47 +0000 |
|---|---|---|
| committer | msaitoh <msaitoh@NetBSD.org> | 2010-07-08 00:59:47 +0000 |
| commit | ea4a091fa0ee2c91a0a07784678adc00a5d3a50e (patch) | |
| tree | 154f43c00d8fb0f6152539928aad9df1a3b454f4 /sys/dev/pci/pucdata.c | |
| parent | 76a4e851458f72886dfaa7a57c7add3c79293efa (diff) | |
- revert pucdata.c rev. 1.60 and add a new entry which checks subvendor code.
- Add the following cards' support (include fixing for PR#37566 and PR#39288):
Advantech PCI-1620A-AE (8-port serial)
Decision Computer Inc PCCOM PCI 2 Port (2 port serial)
Decision Computer Inc PCCOM PCI 4 Port (4 port serial)
Decision Computer Inc PCCOM PCI 8 Port (8 port serial)
Exsys EX-41098 (4 port serial)
IO-DATA RSA-PCI2 (8 port serial)
Moxa Technologies SmartIO C168EL-A/PCI (8-port serial)
Moxa Technologies SmartIO C168EL/PCIe (8-port serial)
Moxa Technologies SmartIO C168U/PCI (8-port serial)
Moxa Technologies SmartIO CP104-EL/PCIe (4-port serial)
Multi-Tech ISI5634PCI/4 (4 port serial)
NetMos NM9835 UART (1 port serial)
NetMos NM9865 4 UART (4 port serial)
NetMos NM9865 UART (1 port serial)
NetMos NM9901 PCIe (single parallel)
Oxford OX16PCI958 (8 port serial)
SIIG Cyber 4 PCI 16550 (4-port serial)
SIIG Cyber 4S PCI 16C650 (20x family) (4-port serial)
Diffstat (limited to 'sys/dev/pci/pucdata.c')
| -rw-r--r-- | sys/dev/pci/pucdata.c | 279 |
1 files changed, 275 insertions, 4 deletions
diff --git a/sys/dev/pci/pucdata.c b/sys/dev/pci/pucdata.c index 6cf01e01485..0506a581147 100644 --- a/sys/dev/pci/pucdata.c +++ b/sys/dev/pci/pucdata.c @@ -1,4 +1,4 @@ -/* $NetBSD: pucdata.c,v 1.61 2010/07/08 00:03:31 msaitoh Exp $ */ +/* $NetBSD: pucdata.c,v 1.62 2010/07/08 00:59:47 msaitoh Exp $ */ /* * Copyright (c) 1998, 1999 Christopher G. Demetriou. All rights reserved. @@ -36,7 +36,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.61 2010/07/08 00:03:31 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.62 2010/07/08 00:59:47 msaitoh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -50,6 +50,33 @@ __KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.61 2010/07/08 00:03:31 msaitoh Exp $") const struct puc_device_description puc_devices[] = { /* + * Advantech multi serial cards + */ + { "Advantech PCI-1620A-AE (1-4) UARTs", + { PCI_VENDOR_ADVANTECH, PCI_PRODUCT_ADVANTECH_PCI1620AAE0, + 0x0, 0x0 }, + { 0xffff, 0xffff, 0x0, 0x0 }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, + }, + }, + + { "Advantech PCI-1620A-AE (5-8) UARTs", + { PCI_VENDOR_ADVANTECH, PCI_PRODUCT_ADVANTECH_PCI1620AAE1, + 0x0, 0x0 }, + { 0xffff, 0xffff, 0x0, 0x0 }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, + }, + }, + + /* * Addi-Data APCI-7800 8-port serial card. * Uses an AMCC chip as PCI bridge. */ @@ -116,6 +143,47 @@ const struct puc_device_description puc_devices[] = { }, }, + /* + * Decision PCCOM PCI series. PLX 9052 with 1 or 2 16554 UARTS + */ + /* Decision Computer Inc PCCOM 2 Port RS232/422/485: 2S */ + { "Decision Computer Inc PCCOM 2 Port RS232/422/485", + { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI2, 0x0, 0x0 }, + { 0xffff, 0xffff, 0x0, 0x0 }, + { + { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ}, + }, + }, + + /* Decision Computer Inc PCCOM 4 Port RS232/422/485: 4S */ + { "Decision Computer Inc PCCOM 4 Port RS232/422/485", + { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI4, 0x0, 0x0 }, + { 0xffff, 0xffff, 0x0, 0x0 }, + { + { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ}, + }, + }, + + /* Decision Computer Inc PCCOM 8 Port RS232/422/485: 8S */ + { "Decision Computer Inc PCCOM 8 Port RS232/422/485", + { PCI_VENDOR_DCI, PCI_PRODUCT_DCI_APCI8, 0x0, 0x0 }, + { 0xffff, 0xffff, 0x0, 0x0 }, + { + { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x10, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x18, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x20, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x28, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x30, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x1c, 0x38, COM_FREQ}, + }, + }, + /* Digi International Digi Neo 4 Serial */ { "Digi International Digi Neo 4 Serial", { PCI_VENDOR_DIGI, PCI_PRODUCT_DIGI_NEO4, 0, 0 }, @@ -162,6 +230,23 @@ const struct puc_device_description puc_devices[] = { { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, }, }, + + /* + * Multi-Tech ISI5634PCI/4 4-port modem board. + * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its + * config EEPROM. + */ + { "Multi-Tech ISI5634PCI/4", + { PCI_VENDOR_EXAR, 0x0158, 0x2205, 0x2003 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 }, + }, + }, + { "EXAR XR17D158", { PCI_VENDOR_EXAR, 0x0158, 0, 0 }, { 0xffff, 0xffff, 0, 0 }, @@ -306,6 +391,18 @@ const struct puc_device_description puc_devices[] = { }, }, + /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232 */ + { "Moxa Technologies, SmartIO CP104-EL/PCIe", + { PCI_VENDOR_MOXA, 0x1043, 0, 0 }, + { 0xffff, 0xffff, 0, 0 }, + { + { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, + }, + }, + /* Moxa Technologies Co., Ltd. PCI I/O Card 4S RS232/422/485 */ { "Moxa Technologies, SmartIO CP-114/PCI", { PCI_VENDOR_MOXA, 0x1141, 0, 0 }, @@ -334,6 +431,53 @@ const struct puc_device_description puc_devices[] = { }, }, + /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ + { "Moxa Technologies, SmartIO C168U/PCI", + { PCI_VENDOR_MOXA, 0x1681, 0, 0 }, + { 0xffff, 0xffff, 0, 0 }, + { + { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, + }, + }, + + /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ + { "Moxa Technologies, SmartIO C168EL/PCIe", + { PCI_VENDOR_MOXA, 0x1682, 0, 0 }, + { 0xffff, 0xffff, 0, 0 }, + { + { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, + }, + }, + /* Moxa Technologies Co., Ltd. PCI I/O Card 8S RS232 */ + { "Moxa Technologies, SmartIO C168EL-A/PCI", + { PCI_VENDOR_MOXA, 0x1683, 0, 0 }, + { 0xffff, 0xffff, 0, 0 }, + { + { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 8 }, + }, + }, + /* NEC PK-UG-X001 K56flex PCI Modem card. NEC MARTH bridge chip and Rockwell RCVDL56ACF/SP using. */ { "NEC PK-UG-X001 K56flex PCI Modem", @@ -372,6 +516,15 @@ const struct puc_device_description puc_devices[] = { }, }, + /* NetMos 1S PCI NM9835 : 1S */ + { "NetMos NM9835 UART", + { PCI_VENDOR_NETMOS, 0x9835, 0x1000, 0x0001 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, + }, + }, + /* NetMos 2S PCI NM9835 : 2S */ { "NetMos NM9835 Dual UART", { PCI_VENDOR_NETMOS, 0x9835, 0x1000, 0x0002 }, @@ -458,6 +611,36 @@ const struct puc_device_description puc_devices[] = { }, }, + /* NetMos 6S PCI NM9865 : 1S */ + { "NetMos NM9865 1 UART", + { PCI_VENDOR_NETMOS, 0x9865, 0xa000, 0x1000 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, + }, + }, + + /* NetMos 6S PCI NM9865 : 4S */ + { "NetMos NM9865 4 UART", + { PCI_VENDOR_NETMOS, 0x9865, 0xa000, 0x3004 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, + { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ }, + { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ }, + { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ }, + }, + }, + + /* NetMos PCIe NM9901 : 1P */ + { "NetMos NM9901 LPT", + { PCI_VENDOR_NETMOS, 0x9901, 0xa000, 0x2000 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_LPT, 0x10, 0x00, 0x00 }, + }, + }, + /* * Boards with an Oxford Semiconductor chip. * @@ -497,6 +680,42 @@ const struct puc_device_description puc_devices[] = { }, }, + /* I-O DATA RSA-PCI2 four/eight(1-4) UARTs based on OX16PCI954 */ + { "IO-DATA RSA-PCI2/P4 or P8 (1-4) UARTs", + { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_IODATA, 0xd007 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, + }, + }, + + /* OEM of Oxford Semiconductor PCI UARTs? */ + { "SIIG Cyber 4 PCI 16550", + { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_SIIG, 0x2050 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, + }, + }, + + /* OEM of Oxford Semiconductor PCI UARTs? */ + { "SIIG Cyber 4S PCI 16C650 (20x family)", + { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_SIIG, 0x2051 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10 }, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10 }, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10 }, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10 }, + }, + }, + /* OEM of Oxford Semiconductor PCI UARTs? */ { "Avlab LP PCI 4S Quartet", { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_AVLAB, 0x2150 }, @@ -511,8 +730,8 @@ const struct puc_device_description puc_devices[] = { /* Oxford Semiconductor OX16PCI954 PCI UARTs */ { "Oxford Semiconductor OX16PCI954 UARTs", - { PCI_VENDOR_OXFORDSEMI, 0x9501, 0, 0 }, - { 0xffff, 0xffff, 0, 0 }, + { PCI_VENDOR_OXFORDSEMI, 0x9501, PCI_VENDOR_OXFORDSEMI, 0 }, + { 0xffff, 0xffff, 0xffff, 0 }, { { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8}, { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8}, @@ -521,6 +740,42 @@ const struct puc_device_description puc_devices[] = { }, }, + /* Oxford Semiconductor OX16PCI954 PCI UARTs (default for 0x9501) */ + { "Oxford Semiconductor OX16PCI954 UARTs", + { PCI_VENDOR_OXFORDSEMI, 0x9501, 0, 0 }, + { 0xffff, 0xffff, 0, 0 }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ}, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ}, + }, + }, + + /* I-O DATA RSA-PCI2 eight(5-8) UARTs base on OX16PCI954 */ + { "IO-DATA RSA-PCI2/P8 (5-8) UARTs", + { PCI_VENDOR_OXFORDSEMI, 0x9511, PCI_VENDOR_IODATA, 0xd007 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 8 }, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 8 }, + }, + }, + + /* Exsys EX-41098, second part of SIIG Cyber 8S PCI Card */ + { "Exsys EX-41098", + { PCI_VENDOR_OXFORDSEMI, 0x9511, PCI_VENDOR_SIIG, 0x2082 }, + { 0xffff, 0xffff, 0xffff, 0xffff }, + { + { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x10, 0x10, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x10, 0x18, COM_FREQ * 10}, + }, + }, + /* Oxford Semiconductor OX16PCI954 PCI Parallel port */ { "Oxford Semiconductor OX16PCI954 Parallel port", { PCI_VENDOR_OXFORDSEMI, 0x9513, 0, 0 }, @@ -530,6 +785,22 @@ const struct puc_device_description puc_devices[] = { }, }, + /* Oxford Semiconductor OX16PCI958 UARTs */ + { "Oxford Semiconductor OX16PCI958 UARTs", + { PCI_VENDOR_OXFORDSEMI, 0x9538, 0, 0 }, + { 0xffff, 0xffff, 0, 0 }, + { + { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x10, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x18, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x20, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x28, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x30, COM_FREQ * 10}, + { PUC_PORT_TYPE_COM, 0x18, 0x38, COM_FREQ * 10}, + }, + }, + /* * XXX no entry because I have no data: * XXX Dolphin Peripherals 4006 (single parallel) |
