aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Panin <pazke@donpac.ru>2005-07-18 06:38:09 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-07-18 06:38:09 -0400
commitfbc0dc0df54be06586d712ebf6958816e3b1b2b7 (patch)
tree5de8a3c70a3e43af52317ae1df1d94612cba0ba5
parent65cc3370ef3fb56b9b423f282a8204f8cce66e32 (diff)
[PATCH] Serial: Add support for SIIG Quartet serial card
Add support for SIIG Quartet Serial card. This card has Oxford Semiconducor 16954 quad UART which is clocked by 10x faster (18.432 MHz) quartz. Signed-off-by: Andrey Panin <pazke@donpac.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--drivers/serial/8250_pci.c14
-rw-r--r--include/linux/pci_ids.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index de54bdc5398b..c3f55f5a38de 100644
--- a/drivers/serial/8250_pci.c
+++ b/drivers/serial/8250_pci.c
@@ -389,6 +389,9 @@ static void __devexit sbs_exit(struct pci_dev *dev)
389 * - 10x cards have control registers in IO and/or memory space; 389 * - 10x cards have control registers in IO and/or memory space;
390 * - 20x cards have control registers in standard PCI configuration space. 390 * - 20x cards have control registers in standard PCI configuration space.
391 * 391 *
392 * There are also Quartet Serial cards which use Oxford Semiconductor
393 * 16954 quad UART PCI chip clocked by 18.432 MHz quartz.
394 *
392 * Note: some SIIG cards are probed by the parport_serial object. 395 * Note: some SIIG cards are probed by the parport_serial object.
393 */ 396 */
394 397
@@ -1026,6 +1029,8 @@ enum pci_board_num_t {
1026 pbn_b0_2_921600, 1029 pbn_b0_2_921600,
1027 pbn_b0_4_921600, 1030 pbn_b0_4_921600,
1028 1031
1032 pbn_b0_4_1152000,
1033
1029 pbn_b0_bt_1_115200, 1034 pbn_b0_bt_1_115200,
1030 pbn_b0_bt_2_115200, 1035 pbn_b0_bt_2_115200,
1031 pbn_b0_bt_8_115200, 1036 pbn_b0_bt_8_115200,
@@ -1158,6 +1163,12 @@ static struct pci_board pci_boards[] __devinitdata = {
1158 .base_baud = 921600, 1163 .base_baud = 921600,
1159 .uart_offset = 8, 1164 .uart_offset = 8,
1160 }, 1165 },
1166 [pbn_b0_4_1152000] = {
1167 .flags = FL_BASE0,
1168 .num_ports = 4,
1169 .base_baud = 1152000,
1170 .uart_offset = 8,
1171 },
1161 1172
1162 [pbn_b0_bt_1_115200] = { 1173 [pbn_b0_bt_1_115200] = {
1163 .flags = FL_BASE0|FL_BASE_BARS, 1174 .flags = FL_BASE0|FL_BASE_BARS,
@@ -1978,6 +1989,9 @@ static struct pci_device_id serial_pci_tbl[] = {
1978 PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0, 1989 PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0,
1979 pbn_b0_4_921600 }, 1990 pbn_b0_4_921600 },
1980 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, 1991 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
1992 PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0,
1993 pbn_b0_4_1152000 },
1994 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
1981 PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1995 PCI_ANY_ID, PCI_ANY_ID, 0, 0,
1982 pbn_b0_4_115200 }, 1996 pbn_b0_4_115200 },
1983 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952, 1997 { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952,
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
index 27348c22dacb..9a28b312eeb4 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -1872,6 +1872,7 @@
1872#define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001 1872#define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001
1873 1873
1874#define PCI_VENDOR_ID_SIIG 0x131f 1874#define PCI_VENDOR_ID_SIIG 0x131f
1875#define PCI_SUBVENDOR_ID_SIIG 0x131f
1875#define PCI_DEVICE_ID_SIIG_1S_10x_550 0x1000 1876#define PCI_DEVICE_ID_SIIG_1S_10x_550 0x1000
1876#define PCI_DEVICE_ID_SIIG_1S_10x_650 0x1001 1877#define PCI_DEVICE_ID_SIIG_1S_10x_650 0x1001
1877#define PCI_DEVICE_ID_SIIG_1S_10x_850 0x1002 1878#define PCI_DEVICE_ID_SIIG_1S_10x_850 0x1002
@@ -1909,6 +1910,7 @@
1909#define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060 1910#define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060
1910#define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061 1911#define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061
1911#define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062 1912#define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062
1913#define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050
1912 1914
1913#define PCI_VENDOR_ID_RADISYS 0x1331 1915#define PCI_VENDOR_ID_RADISYS 0x1331
1914#define PCI_DEVICE_ID_RADISYS_ENP2611 0x0030 1916#define PCI_DEVICE_ID_RADISYS_ENP2611 0x0030