parport: Add support for BrainBoxes PX272/PX306 MIO card
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 7 Feb 2018 19:47:51 +0000 (19:47 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Mar 2018 16:54:09 +0000 (17:54 +0100)
This adds support for BrainBoxes Multi I/O cards (4+1 serial + 1 parallel port):

02:00.0 0702: 135a:4100 (rev 02)
        Subsystem: 135a:0443
Flags: fast devsel, IRQ 18
Memory at f7d02000 (32-bit, non-prefetchable) [size=128]
I/O ports at e000 [size=128]
I/O ports at e080 [size=64]
I/O ports at e0c0 [size=16]
Memory at f7d01000 (32-bit, non-prefetchable) [size=128]
Memory at f7d00000 (32-bit, non-prefetchable) [size=128]
Capabilities: [50] MSI: Enable- Count=1/4 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 01
Capabilities: [100] Virtual Channel
Capabilities: [800] Advanced Error Reporting

Reported-by: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
Tested-by: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parport/parport_serial.c

index e15b4845f7c6302816f5622fe225761227e770f0..53a3eae65adebcddcdee37c124a523564e4e7f09 100644 (file)
@@ -65,6 +65,7 @@ enum parport_pc_pci_cards {
        wch_ch353_1s1p,
        wch_ch353_2s1p,
        wch_ch382_2s1p,
+       brainboxes_5s1p,
        sunix_2s1p,
 };
 
@@ -153,6 +154,7 @@ static struct parport_pc_pci cards[] = {
        /* wch_ch353_1s1p*/             { 1, { { 1, -1}, } },
        /* wch_ch353_2s1p*/             { 1, { { 2, -1}, } },
        /* wch_ch382_2s1p*/             { 1, { { 2, -1}, } },
+       /* brainboxes_5s1p */           { 1, { { 3, -1 }, } },
        /* sunix_2s1p */                { 1, { { 3, -1 }, } },
 };
 
@@ -261,6 +263,10 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
        { 0x4348, 0x7053, 0x4348, 0x3253, 0, 0, wch_ch353_2s1p},
        { 0x1c00, 0x3250, 0x1c00, 0x3250, 0, 0, wch_ch382_2s1p},
 
+       /* BrainBoxes PX272/PX306 MIO card */
+       { PCI_VENDOR_ID_INTASHIELD, 0x4100,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_5s1p },
+
        /*
         * More SUNIX variations. At least one of these has part number
         * '5079A but subdevice 0x102. That board reports 0x0708 as
@@ -504,6 +510,12 @@ static struct pciserial_board pci_parport_serial_boards[] = {
                .uart_offset    = 8,
                .first_offset   = 0xC0,
        },
+       [brainboxes_5s1p] = {
+               .flags          = FL_BASE2,
+               .num_ports      = 5,
+               .base_baud      = 921600,
+               .uart_offset    = 8,
+       },
        [sunix_2s1p] = {
                .flags          = FL_BASE0|FL_BASE_BARS,
                .num_ports      = 2,