aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorDavid Ranson <spam.david.trap@unsolicited.net>2005-07-27 14:43:55 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-27 19:25:53 -0400
commitdb1de1595d03d3ddea3e0548b20decb0a32e4258 (patch)
treee1c6da0f4112d30f6306054c78a912bca15e10e0 /drivers/serial
parent7e8c9e14e8fdce0af9f5eed7ce6dd26b91fc8f4e (diff)
[PATCH] serial: MRi MRI-PCIDS1 dual port serial card
Add support for the MRi PCIDS1 dual port serial card. This card is a little controversial since it is the subject of a PCI vendor/device ID clash. (See http://www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0516.html). I have for now just used the hex ID 0x950a. The divisor was part calculated part iterated, so may not be exactly correct (but works for me at all settings between 300 - 115300 bps). Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/8250_pci.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index 356f5556759a..07f05e9d0955 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -1029,6 +1029,8 @@ enum pci_board_num_t {
1029 pbn_b0_2_921600, 1029 pbn_b0_2_921600,
1030 pbn_b0_4_921600, 1030 pbn_b0_4_921600,
1031 1031
1032 pbn_b0_2_1130000,
1033
1032 pbn_b0_4_1152000, 1034 pbn_b0_4_1152000,
1033 1035
1034 pbn_b0_bt_1_115200, 1036 pbn_b0_bt_1_115200,
@@ -1163,6 +1165,14 @@ static struct pci_board pci_boards[] __devinitdata = {
1163 .base_baud = 921600, 1165 .base_baud = 921600,
1164 .uart_offset = 8, 1166 .uart_offset = 8,
1165 }, 1167 },
1168
1169 [pbn_b0_2_1130000] = {
1170 .flags = FL_BASE0,
1171 .num_ports = 2,
1172 .base_baud = 1130000,
1173 .uart_offset = 8,
1174 },
1175
1166 [pbn_b0_4_1152000] = { 1176 [pbn_b0_4_1152000] = {
1167 .flags = FL_BASE0, 1177 .flags = FL_BASE0,
1168 .num_ports = 4, 1178 .num_ports = 4,
@@ -1988,6 +1998,16 @@ static struct pci_device_id serial_pci_tbl[] = {
1988 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, 1998 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
1989 PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0, 1999 PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0,
1990 pbn_b0_4_1152000 }, 2000 pbn_b0_4_1152000 },
2001
2002 /*
2003 * The below card is a little controversial since it is the
2004 * subject of a PCI vendor/device ID clash. (See
2005 * www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0516.html).
2006 * For now just used the hex ID 0x950a.
2007 */
2008 { PCI_VENDOR_ID_OXSEMI, 0x950a,
2009 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
2010 pbn_b0_2_1130000 },
1991 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, 2011 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
1992 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2012 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
1993 pbn_b0_4_115200 }, 2013 pbn_b0_4_115200 },