Hello,

Here is the patch to support Winchiphead CH382 PCIe-UART device.
I found the board at eBay with cheap price tag.

CH382 has three configurations and different PCI device ID.

  - 2 serial (2S)
  - 2 serial and 1 parallel (2S1P)
  - 1 parallel (1P)

I have 2S board the patch does not support parallel port,
2S1P board will work as 2S.

After patching, CH382 is recognized as 16750 like this.

puc0 at pci3 dev 0 function 0 "Nanjing QinHeng Electronics CH382" rev 0x10: port
s: 2 com
com4 at puc0 port 0 apic 5 int 17: ti16750, 64 byte fifo
com5 at puc0 port 1 apic 5 int 17: ti16750, 64 byte fifo

I referred the following pages:
  http://www.spinics.net/lists/linux-serial/msg11744.html
  http://kent-vandervelden.blogspot.jp/2014/08/linux-parallel-port-cards.html

Can I commit?

Regards,
-- 
SASANO Takayoshi <u...@mx5.nisiq.net>

Index: pucdata.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/pucdata.c,v
retrieving revision 1.93
diff -u -p -r1.93 pucdata.c
--- pucdata.c   13 Aug 2014 07:45:37 -0000      1.93
+++ pucdata.c   21 Sep 2014 12:28:26 -0000
@@ -2080,6 +2080,22 @@ const struct puc_device_description puc_
                { PUC_COM_POW2(0), 0x14, 0x0000 },
            },
        },
+       {   /* "WinChipHead CH382 (2S)", */
+           {   PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_1,      0, 0    },
+           {   0xffff, 0xffff,                                 0, 0    },
+           {
+               { PUC_COM_POW2(0), 0x10, 0x00c0 },
+               { PUC_COM_POW2(0), 0x10, 0x00c8 },
+           },
+       },
+       {   /* "WinChipHead CH382 (2S1P)", */
+           {   PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_2,      0, 0    },
+           {   0xffff, 0xffff,                                 0, 0    },
+           {
+               { PUC_COM_POW2(0), 0x10, 0x00c0 },
+               { PUC_COM_POW2(0), 0x10, 0x00c8 },
+           },
+       },
        {   /* "NetMos NM9820 UART" */
            {   PCI_VENDOR_NETMOS, PCI_PRODUCT_NETMOS_NM9820,   0, 0    },
            {   0xffff, 0xffff,                                 0, 0    },

Reply via email to