aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty
diff options
context:
space:
mode:
authorScott Kilau <scottk@digi.com>2011-05-11 16:41:59 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-05-11 18:11:21 -0400
commitaa273ae52118265c5cb0f7026a7f032c765c8b67 (patch)
tree190c9df85cde198eb5207a53bd8d6d1d0b9007d2 /drivers/tty
parented0bd2333cffc3d856db9beb829543c1dfc00982 (diff)
8250_pci: Add support for the Digi/IBM PCIe 2-port Adapter
Add support to the 8250 PCI serial driver for the Digi/IBM PCIe 2-port Async EIA-232 Adapter. Oxford Semiconductor produces a 2/4/8 port UART (OXPCIe952/OXPCIe954/OXPCIe958) chip called the Tornado, that can be used to create a very simple serial board product. The kernel sources currently have just 2 vendors using this chip, which is Oxford and Mainpipe. This new Digi/IBM serial product now uses it as well. Rather than create a long running comment of vendors using the chip, the one changed comment in the patch below now just lists "For Oxford Semiconductor Tornado based devices" to be a more generic comment for all vendors that end up using the Oxford Tornado chip. Cc: Michael Reed <mreed10@us.ibm.com> Signed-off-by: Scott Kilau <scottk@digi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/8250_pci.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/tty/serial/8250_pci.c b/drivers/tty/serial/8250_pci.c
index 98311ac815c7..762db97aecd3 100644
--- a/drivers/tty/serial/8250_pci.c
+++ b/drivers/tty/serial/8250_pci.c
@@ -1010,6 +1010,7 @@ static int skip_tx_en_setup(struct serial_private *priv,
1010#define PCI_DEVICE_ID_TITAN_200EI 0xA016 1010#define PCI_DEVICE_ID_TITAN_200EI 0xA016
1011#define PCI_DEVICE_ID_TITAN_200EISI 0xA017 1011#define PCI_DEVICE_ID_TITAN_200EISI 0xA017
1012#define PCI_DEVICE_ID_OXSEMI_16PCI958 0x9538 1012#define PCI_DEVICE_ID_OXSEMI_16PCI958 0x9538
1013#define PCIE_DEVICE_ID_NEO_2_OX_IBM 0x00F6
1013 1014
1014/* Unknown vendors/cards - this should not be in linux/pci_ids.h */ 1015/* Unknown vendors/cards - this should not be in linux/pci_ids.h */
1015#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 1016#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584
@@ -1410,7 +1411,7 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
1410 .setup = pci_default_setup, 1411 .setup = pci_default_setup,
1411 }, 1412 },
1412 /* 1413 /*
1413 * For Oxford Semiconductor and Mainpine 1414 * For Oxford Semiconductor Tornado based devices
1414 */ 1415 */
1415 { 1416 {
1416 .vendor = PCI_VENDOR_ID_OXSEMI, 1417 .vendor = PCI_VENDOR_ID_OXSEMI,
@@ -1428,6 +1429,14 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
1428 .init = pci_oxsemi_tornado_init, 1429 .init = pci_oxsemi_tornado_init,
1429 .setup = pci_default_setup, 1430 .setup = pci_default_setup,
1430 }, 1431 },
1432 {
1433 .vendor = PCI_VENDOR_ID_DIGI,
1434 .device = PCIE_DEVICE_ID_NEO_2_OX_IBM,
1435 .subvendor = PCI_SUBVENDOR_ID_IBM,
1436 .subdevice = PCI_ANY_ID,
1437 .init = pci_oxsemi_tornado_init,
1438 .setup = pci_default_setup,
1439 },
1431 /* 1440 /*
1432 * Default "match everything" terminator entry 1441 * Default "match everything" terminator entry
1433 */ 1442 */
@@ -3073,6 +3082,14 @@ static struct pci_device_id serial_pci_tbl[] = {
3073 { PCI_VENDOR_ID_MAINPINE, 0x4000, /* IQ Express 8 Port V.34 Super-G3 Fax */ 3082 { PCI_VENDOR_ID_MAINPINE, 0x4000, /* IQ Express 8 Port V.34 Super-G3 Fax */
3074 PCI_VENDOR_ID_MAINPINE, 0x4008, 0, 0, 3083 PCI_VENDOR_ID_MAINPINE, 0x4008, 0, 0,
3075 pbn_oxsemi_8_4000000 }, 3084 pbn_oxsemi_8_4000000 },
3085
3086 /*
3087 * Digi/IBM PCIe 2-port Async EIA-232 Adapter utilizing OxSemi Tornado
3088 */
3089 { PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_2_OX_IBM,
3090 PCI_SUBVENDOR_ID_IBM, PCI_ANY_ID, 0, 0,
3091 pbn_oxsemi_2_4000000 },
3092
3076 /* 3093 /*
3077 * SBS Technologies, Inc. P-Octal and PMC-OCTPRO cards, 3094 * SBS Technologies, Inc. P-Octal and PMC-OCTPRO cards,
3078 * from skokodyn@yahoo.com 3095 * from skokodyn@yahoo.com