[PATCH] Serial: Add support for SIIG Quartet serial card
authorAndrey Panin <pazke@donpac.ru>
Mon, 18 Jul 2005 10:38:09 +0000 (11:38 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 18 Jul 2005 10:38:09 +0000 (11:38 +0100)
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>
drivers/serial/8250_pci.c
include/linux/pci_ids.h

index de54bdc5398b96b6c44b01c881c91a5a1010a296..c3f55f5a38de9fccaf627246c33df92e000bb5de 100644 (file)
@@ -389,6 +389,9 @@ static void __devexit sbs_exit(struct pci_dev *dev)
  *     - 10x cards have control registers in IO and/or memory space;
  *     - 20x cards have control registers in standard PCI configuration space.
  *
+ * There are also Quartet Serial cards which use Oxford Semiconductor
+ * 16954 quad UART PCI chip clocked by 18.432 MHz quartz.
+ *
  * Note: some SIIG cards are probed by the parport_serial object.
  */
 
@@ -1026,6 +1029,8 @@ enum pci_board_num_t {
        pbn_b0_2_921600,
        pbn_b0_4_921600,
 
+       pbn_b0_4_1152000,
+
        pbn_b0_bt_1_115200,
        pbn_b0_bt_2_115200,
        pbn_b0_bt_8_115200,
@@ -1158,6 +1163,12 @@ static struct pci_board pci_boards[] __devinitdata = {
                .base_baud      = 921600,
                .uart_offset    = 8,
        },
+       [pbn_b0_4_1152000] = {
+               .flags          = FL_BASE0,
+               .num_ports      = 4,
+               .base_baud      = 1152000,
+               .uart_offset    = 8,
+       },
 
        [pbn_b0_bt_1_115200] = {
                .flags          = FL_BASE0|FL_BASE_BARS,
@@ -1977,6 +1988,9 @@ static struct pci_device_id serial_pci_tbl[] = {
        {       PCI_VENDOR_ID_SPECIALIX, PCI_DEVICE_ID_OXSEMI_16PCI954,
                PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0,
                pbn_b0_4_921600 },
+       {       PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
+               PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0,
+               pbn_b0_4_1152000 },
        {       PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
                PCI_ANY_ID, PCI_ANY_ID, 0, 0,
                pbn_b0_4_115200 },
index 27348c22dacbf7da96db46dbe84c9ff850029f64..9a28b312eeb4905dc102e006c1f118552883384e 100644 (file)
 #define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001
 
 #define PCI_VENDOR_ID_SIIG             0x131f
+#define PCI_SUBVENDOR_ID_SIIG          0x131f
 #define PCI_DEVICE_ID_SIIG_1S_10x_550  0x1000
 #define PCI_DEVICE_ID_SIIG_1S_10x_650  0x1001
 #define PCI_DEVICE_ID_SIIG_1S_10x_850  0x1002
 #define PCI_DEVICE_ID_SIIG_2S1P_20x_550        0x2060
 #define PCI_DEVICE_ID_SIIG_2S1P_20x_650        0x2061
 #define PCI_DEVICE_ID_SIIG_2S1P_20x_850        0x2062
+#define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL   0x2050
 
 #define PCI_VENDOR_ID_RADISYS          0x1331
 #define PCI_DEVICE_ID_RADISYS_ENP2611  0x0030