Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa273ae5 authored by Scott Kilau's avatar Scott Kilau Committed by Greg Kroah-Hartman
Browse files

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: default avatarScott Kilau <scottk@digi.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent ed0bd233
Loading
Loading
Loading
Loading
+18 −1
Original line number Original line Diff line number Diff line
@@ -1010,6 +1010,7 @@ static int skip_tx_en_setup(struct serial_private *priv,
#define PCI_DEVICE_ID_TITAN_200EI	0xA016
#define PCI_DEVICE_ID_TITAN_200EI	0xA016
#define PCI_DEVICE_ID_TITAN_200EISI	0xA017
#define PCI_DEVICE_ID_TITAN_200EISI	0xA017
#define PCI_DEVICE_ID_OXSEMI_16PCI958	0x9538
#define PCI_DEVICE_ID_OXSEMI_16PCI958	0x9538
#define PCIE_DEVICE_ID_NEO_2_OX_IBM	0x00F6


/* Unknown vendors/cards - this should not be in linux/pci_ids.h */
/* Unknown vendors/cards - this should not be in linux/pci_ids.h */
#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584	0x1584
#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584	0x1584
@@ -1410,7 +1411,7 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
		.setup		= pci_default_setup,
		.setup		= pci_default_setup,
	},
	},
	/*
	/*
	 * For Oxford Semiconductor and Mainpine
	 * For Oxford Semiconductor Tornado based devices
	 */
	 */
	{
	{
		.vendor		= PCI_VENDOR_ID_OXSEMI,
		.vendor		= PCI_VENDOR_ID_OXSEMI,
@@ -1428,6 +1429,14 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
		.init		= pci_oxsemi_tornado_init,
		.init		= pci_oxsemi_tornado_init,
		.setup		= pci_default_setup,
		.setup		= pci_default_setup,
	},
	},
	{
		.vendor		= PCI_VENDOR_ID_DIGI,
		.device		= PCIE_DEVICE_ID_NEO_2_OX_IBM,
		.subvendor		= PCI_SUBVENDOR_ID_IBM,
		.subdevice		= PCI_ANY_ID,
		.init			= pci_oxsemi_tornado_init,
		.setup		= pci_default_setup,
	},
	/*
	/*
	 * Default "match everything" terminator entry
	 * Default "match everything" terminator entry
	 */
	 */
@@ -3073,6 +3082,14 @@ static struct pci_device_id serial_pci_tbl[] = {
	{	PCI_VENDOR_ID_MAINPINE, 0x4000,	/* IQ Express 8 Port V.34 Super-G3 Fax */
	{	PCI_VENDOR_ID_MAINPINE, 0x4000,	/* IQ Express 8 Port V.34 Super-G3 Fax */
		PCI_VENDOR_ID_MAINPINE, 0x4008, 0, 0,
		PCI_VENDOR_ID_MAINPINE, 0x4008, 0, 0,
		pbn_oxsemi_8_4000000 },
		pbn_oxsemi_8_4000000 },

	/*
	 * Digi/IBM PCIe 2-port Async EIA-232 Adapter utilizing OxSemi Tornado
	 */
	{	PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_2_OX_IBM,
		PCI_SUBVENDOR_ID_IBM, PCI_ANY_ID, 0, 0,
		pbn_oxsemi_2_4000000 },

	/*
	/*
	 * SBS Technologies, Inc. P-Octal and PMC-OCTPRO cards,
	 * SBS Technologies, Inc. P-Octal and PMC-OCTPRO cards,
	 * from skokodyn@yahoo.com
	 * from skokodyn@yahoo.com