[PATCH] parport_serial: Add support for WCH CH382L PCI-E single parallel port card.

From: Sudip Mukherjee
Date: Sat Jun 17 2017 - 09:03:52 EST


From: Alexander Gerasiov <gq@xxxxxxxxxxx>

WCH CH382L is a PCI-E adapter with 1 parallel port. It is similair to CH382
but serial ports are not soldered on board. Detected as
Serial controller: Device 1c00:3050 (rev 10) (prog-if 05 [16850])

Signed-off-by: Alexander Gerasiov <gq@xxxxxxxxxxx>
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
---
drivers/parport/parport_serial.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c
index e15b484..f26fc87 100644
--- a/drivers/parport/parport_serial.c
+++ b/drivers/parport/parport_serial.c
@@ -65,6 +65,7 @@ enum parport_pc_pci_cards {
wch_ch353_1s1p,
wch_ch353_2s1p,
wch_ch382_2s1p,
+ wch_ch382_0s1p,
sunix_2s1p,
};

@@ -153,6 +154,7 @@ static int netmos_parallel_init(struct pci_dev *dev, struct parport_pc_pci *par,
/* wch_ch353_1s1p*/ { 1, { { 1, -1}, } },
/* wch_ch353_2s1p*/ { 1, { { 2, -1}, } },
/* wch_ch382_2s1p*/ { 1, { { 2, -1}, } },
+ /* wch_ch382_0s1p*/ { 1, { { 2, -1}, } },
/* sunix_2s1p */ { 1, { { 3, -1 }, } },
};

@@ -260,6 +262,7 @@ static int netmos_parallel_init(struct pci_dev *dev, struct parport_pc_pci *par,
{ 0x4348, 0x5053, PCI_ANY_ID, PCI_ANY_ID, 0, 0, wch_ch353_1s1p},
{ 0x4348, 0x7053, 0x4348, 0x3253, 0, 0, wch_ch353_2s1p},
{ 0x1c00, 0x3250, 0x1c00, 0x3250, 0, 0, wch_ch382_2s1p},
+ { 0x1c00, 0x3050, 0x1c00, 0x3050, 0, 0, wch_ch382_0s1p},

/*
* More SUNIX variations. At least one of these has part number
@@ -504,6 +507,12 @@ static int netmos_parallel_init(struct pci_dev *dev, struct parport_pc_pci *par,
.uart_offset = 8,
.first_offset = 0xC0,
},
+ [wch_ch382_0s1p] = {
+ .flags = FL_BASE0,
+ .num_ports = 0,
+ .base_baud = 115200,
+ .uart_offset = 8,
+ },
[sunix_2s1p] = {
.flags = FL_BASE0|FL_BASE_BARS,
.num_ports = 2,
--
1.9.1