Add support for the Intashield IS-300/IS-500, Brainboxes UC-203, UC-257,
UC-414, UC-475 and PX-263/295 parallel/serial cards.
Signed-off-by: Cameron Williams <[email protected]>
---
drivers/parport/parport_serial.c | 64 ++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c
index 9f5d784cd95d..c6fbee528493 100644
--- a/drivers/parport/parport_serial.c
+++ b/drivers/parport/parport_serial.c
@@ -65,6 +65,10 @@ enum parport_pc_pci_cards {
sunix_5069a,
sunix_5079a,
sunix_5099a,
+ brainboxes_uc257,
+ brainboxes_is300,
+ brainboxes_uc414,
+ brainboxes_px263,
};
/* each element directly indexed from enum list, above */
@@ -158,6 +162,10 @@ static struct parport_pc_pci cards[] = {
/* sunix_5069a */ { 1, { { 1, 2 }, } },
/* sunix_5079a */ { 1, { { 1, 2 }, } },
/* sunix_5099a */ { 1, { { 1, 2 }, } },
+ /* brainboxes_uc257 */ { 1, { { 3, -1 }, } },
+ /* brainboxes_is300 */ { 1, { { 3, -1 }, } },
+ /* brainboxes_uc414 */ { 1, { { 3, -1 }, } },
+ /* brainboxes_px263 */ { 1, { { 3, -1 }, } },
};
static struct pci_device_id parport_serial_pci_tbl[] = {
@@ -276,6 +284,38 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
0x0102, 0, 0, sunix_5079a },
{ 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, PCI_DEVICE_ID_INTASHIELD_UC203,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC203R3,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+
+ /* Brainboxes UC-257 */
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257R3,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257R4,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+
+ /* Brainboxes UC-414 */
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC414,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc414 },
+
+ /* Brainboxes UC-475 */
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC475,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC475R3,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
+
+ /* Brainboxes IS-300/IS-500 */
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_IS300,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_is300 },
+
+ /* Brainboxes PX-263/PX-295 */
+ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_PX263,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_px263 },
{ 0, } /* terminate list */
};
@@ -542,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 {
--
2.42.0
Please disregard this patch. It will be re-sent using raw hexadecimal IDs
for the device IDs.
On Thu, Sep 21, 2023 at 10:11:29PM +0100, Cameron Williams wrote:
> Add support for the Intashield IS-300/IS-500, Brainboxes UC-203, UC-257,
> UC-414, UC-475 and PX-263/295 parallel/serial cards.
>
> Signed-off-by: Cameron Williams <[email protected]>
> ---
> drivers/parport/parport_serial.c | 64 ++++++++++++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c
> index 9f5d784cd95d..c6fbee528493 100644
> --- a/drivers/parport/parport_serial.c
> +++ b/drivers/parport/parport_serial.c
> @@ -65,6 +65,10 @@ enum parport_pc_pci_cards {
> sunix_5069a,
> sunix_5079a,
> sunix_5099a,
> + brainboxes_uc257,
> + brainboxes_is300,
> + brainboxes_uc414,
> + brainboxes_px263,
> };
>
> /* each element directly indexed from enum list, above */
> @@ -158,6 +162,10 @@ static struct parport_pc_pci cards[] = {
> /* sunix_5069a */ { 1, { { 1, 2 }, } },
> /* sunix_5079a */ { 1, { { 1, 2 }, } },
> /* sunix_5099a */ { 1, { { 1, 2 }, } },
> + /* brainboxes_uc257 */ { 1, { { 3, -1 }, } },
> + /* brainboxes_is300 */ { 1, { { 3, -1 }, } },
> + /* brainboxes_uc414 */ { 1, { { 3, -1 }, } },
> + /* brainboxes_px263 */ { 1, { { 3, -1 }, } },
> };
>
> static struct pci_device_id parport_serial_pci_tbl[] = {
> @@ -276,6 +284,38 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
> 0x0102, 0, 0, sunix_5079a },
> { 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, PCI_DEVICE_ID_INTASHIELD_UC203,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC203R3,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> +
> + /* Brainboxes UC-257 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257R3,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257R4,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> +
> + /* Brainboxes UC-414 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC414,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc414 },
> +
> + /* Brainboxes UC-475 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC475,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC475R3,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> +
> + /* Brainboxes IS-300/IS-500 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_IS300,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_is300 },
> +
> + /* Brainboxes PX-263/PX-295 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_PX263,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_px263 },
>
> { 0, } /* terminate list */
> };
> @@ -542,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 {
> --
> 2.42.0
>