parport: parport_serial: Add Brainboxes device IDs and geometry
authorCameron Williams <cang1@live.co.uk>
Thu, 2 Nov 2023 21:07:06 +0000 (21:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Jan 2024 10:51:48 +0000 (11:51 +0100)
commit 6aa1fc5a8085bbc01687aa708dcf2dbe637a5ee3 upstream.

Add device IDs for the Brainboxes UC-203, UC-257, UC-414, UC-475,
IS-300/IS-500 and PX-263/PX-295 and define the relevant "geometry"
for the cards.
This patch requires part 1 of this series.

Cc: <stable@vger.kernel.org>
Signed-off-by: Cameron Williams <cang1@live.co.uk>
Acked-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Link: https://lore.kernel.org/r/AS4PR02MB7903A4094564BE28F1F926A6C4A6A@AS4PR02MB7903.eurprd02.prod.outlook.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parport/parport_serial.c

index 1198936..3644997 100644 (file)
@@ -285,6 +285,38 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
        { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
          0x0104, 0, 0, sunix_5099a },
 
+       /* Brainboxes UC-203 */
+       { PCI_VENDOR_ID_INTASHIELD, 0x0bc1,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+       { PCI_VENDOR_ID_INTASHIELD, 0x0bc2,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+
+       /* Brainboxes UC-257 */
+       { PCI_VENDOR_ID_INTASHIELD, 0x0861,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+       { PCI_VENDOR_ID_INTASHIELD, 0x0862,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+       { PCI_VENDOR_ID_INTASHIELD, 0x0863,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+
+       /* Brainboxes UC-414 */
+       { PCI_VENDOR_ID_INTASHIELD, 0x0e61,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc414 },
+
+       /* Brainboxes UC-475 */
+       { PCI_VENDOR_ID_INTASHIELD, 0x0981,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+       { PCI_VENDOR_ID_INTASHIELD, 0x0982,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+
+       /* Brainboxes IS-300/IS-500 */
+       { PCI_VENDOR_ID_INTASHIELD, 0x0da0,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_is300 },
+
+       /* Brainboxes PX-263/PX-295 */
+       { PCI_VENDOR_ID_INTASHIELD, 0x402c,
+         PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_px263 },
+
        { 0, } /* terminate list */
 };
 MODULE_DEVICE_TABLE(pci,parport_serial_pci_tbl);
@@ -550,6 +582,30 @@ static struct pciserial_board pci_parport_serial_boards[] = {
                .base_baud      = 921600,
                .uart_offset    = 0x8,
        },
+       [brainboxes_uc257] = {
+               .flags          = FL_BASE2,
+               .num_ports      = 2,
+               .base_baud      = 115200,
+               .uart_offset    = 8,
+       },
+       [brainboxes_is300] = {
+               .flags          = FL_BASE2,
+               .num_ports      = 1,
+               .base_baud      = 115200,
+               .uart_offset    = 8,
+       },
+       [brainboxes_uc414] = {
+               .flags          = FL_BASE2,
+               .num_ports      = 4,
+               .base_baud      = 115200,
+               .uart_offset    = 8,
+       },
+       [brainboxes_px263] = {
+               .flags          = FL_BASE2,
+               .num_ports      = 4,
+               .base_baud      = 921600,
+               .uart_offset    = 8,
+       },
 };
 
 struct parport_serial_private {