|
@@ -63,6 +63,7 @@ enum parport_pc_pci_cards {
|
|
|
timedia_9079b,
|
|
|
timedia_9079c,
|
|
|
wch_ch353_2s1p,
|
|
|
+ sunix_2s1p,
|
|
|
};
|
|
|
|
|
|
/* each element directly indexed from enum list, above */
|
|
@@ -148,8 +149,12 @@ static struct parport_pc_pci cards[] = {
|
|
|
/* timedia_9079b */ { 1, { { 2, 3 }, } },
|
|
|
/* timedia_9079c */ { 1, { { 2, 3 }, } },
|
|
|
/* wch_ch353_2s1p*/ { 1, { { 2, -1}, } },
|
|
|
+ /* sunix_2s1p */ { 1, { { 3, -1 }, } },
|
|
|
};
|
|
|
|
|
|
+#define PCI_VENDOR_ID_SUNIX 0x1fd4
|
|
|
+#define PCI_DEVICE_ID_SUNIX_1999 0x1999
|
|
|
+
|
|
|
static struct pci_device_id parport_serial_pci_tbl[] = {
|
|
|
/* PCI cards */
|
|
|
{ PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_110L,
|
|
@@ -246,8 +251,18 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
|
|
|
{ 0x1409, 0x7168, 0x1409, 0xb079, 0, 0, timedia_9079a },
|
|
|
{ 0x1409, 0x7168, 0x1409, 0xc079, 0, 0, timedia_9079b },
|
|
|
{ 0x1409, 0x7168, 0x1409, 0xd079, 0, 0, timedia_9079c },
|
|
|
+
|
|
|
/* WCH CARDS */
|
|
|
{ 0x4348, 0x7053, 0x4348, 0x3253, 0, 0, wch_ch353_2s1p},
|
|
|
+
|
|
|
+ /*
|
|
|
+ * More SUNIX variations. At least one of these has part number
|
|
|
+ * '5079A but subdevice 0x102. That board reports 0x0708 as
|
|
|
+ * its PCI Class.
|
|
|
+ */
|
|
|
+ { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
|
|
|
+ 0x0102, 0, 0, sunix_2s1p },
|
|
|
+
|
|
|
{ 0, } /* terminate list */
|
|
|
};
|
|
|
MODULE_DEVICE_TABLE(pci,parport_serial_pci_tbl);
|
|
@@ -470,6 +485,12 @@ static struct pciserial_board pci_parport_serial_boards[] = {
|
|
|
.base_baud = 115200,
|
|
|
.uart_offset = 8,
|
|
|
},
|
|
|
+ [sunix_2s1p] = {
|
|
|
+ .flags = FL_BASE0|FL_BASE_BARS,
|
|
|
+ .num_ports = 2,
|
|
|
+ .base_baud = 921600,
|
|
|
+ .uart_offset = 8,
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
struct parport_serial_private {
|