> Date: Tue, 23 Sep 2014 05:44:04 +0900
> From: SASANO Takayoshi
>
> 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?
ok kettenis@
> Regards,
> --
> SASANO Takayoshi
>
> 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 - 1.93
> +++ pucdata.c 21 Sep 2014 12:28:26 -
> @@ -2080,6 +2080,22 @@ const struct puc_device_description puc_
> { PUC_COM_POW2(0), 0x14, 0x },
> },
> },
> + { /* "WinChipHead CH382 (2S)", */
> + { PCI_VENDOR_WCH2, PCI_PRODUCT_WCH2_CH382_1, 0, 0},
> + { 0x, 0x, 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},
> + { 0x, 0x, 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},
> { 0x, 0x, 0, 0},
>
>