[PATCH 4.7-rc1 1/1] 8250_pci: Adds support for the WCH CH355 4S card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Adds support for the WCH CH355 4S card in the 8250 serial driver.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
         (a) The contribution was created in whole or in part by me and I
             have the right to submit it under the open source license
             indicated in the file; or
         (b) The contribution is based upon previous work that, to the best
             of my knowledge, is covered under an appropriate open source
             license and I have the right under that license to submit that
             work with modifications, whether created in whole or in part
             by me, under the same open source license (unless I am
             permitted to submit under a different license), as indicated
             in the file; or
         (c) The contribution was provided directly to me by some other
             person who certified (a), (b) or (c) and I have not modified
             it.
         (d) I understand and agree that this project and the contribution
             are public and that a record of the contribution (including all
             personal information I submit with it, including my sign-off) is
             maintained indefinitely and may be redistributed consistent with
             this project or the open source license(s) involved.
Signed-off-by: Alexandr Petrenko <petrenkoas83@xxxxxxxxx>
---
--- drivers/tty/serial/8250/8250_pci.c.orig     2016-05-17
15:39:19.504426878 +0300
+++ drivers/tty/serial/8250/8250_pci.c  2016-05-17 15:39:35.976985841 +0300
@@ -1850,6 +1850,16 @@ pci_wch_ch353_setup(struct serial_privat
 }

 static int
+pci_wch_ch355_setup(struct serial_private *priv,
+                    const struct pciserial_board *board,
+                    struct uart_8250_port *port, int idx)
+{
+        port->port.flags |= UPF_FIXED_TYPE;
+        port->port.type = PORT_16550A;
+        return pci_default_setup(priv, board, port, idx);
+}
+
+static int
 pci_wch_ch38x_setup(struct serial_private *priv,
                    const struct pciserial_board *board,
                    struct uart_8250_port *port, int idx)
@@ -1900,6 +1910,7 @@ pci_wch_ch38x_setup(struct serial_privat
 #define PCI_DEVICE_ID_WCH_CH353_2S1PF  0x5046
 #define PCI_DEVICE_ID_WCH_CH353_1S1P   0x5053
 #define PCI_DEVICE_ID_WCH_CH353_2S1P   0x7053
+#define PCI_DEVICE_ID_WCH_CH355_4S      0x7173
 #define PCI_VENDOR_ID_AGESTAR          0x5372
 #define PCI_DEVICE_ID_AGESTAR_9375     0x6872
 #define PCI_VENDOR_ID_ASIX             0x9710
@@ -2603,6 +2614,14 @@ static struct pci_serial_quirk pci_seria
                .subdevice      = PCI_ANY_ID,
                .setup          = pci_wch_ch353_setup,
        },
+       /* WCH CH355 4S card (16550 clone) */
+        {
+                .vendor         = PCI_VENDOR_ID_WCH,
+                .device         = PCI_DEVICE_ID_WCH_CH355_4S,
+                .subvendor      = PCI_ANY_ID,
+                .subdevice      = PCI_ANY_ID,
+                .setup          = pci_wch_ch355_setup,
+        },
        /* WCH CH382 2S card (16850 clone) */
        {
                .vendor         = PCIE_VENDOR_ID_WCH,
@@ -3797,6 +3816,7 @@ static const struct pci_device_id blackl
        /* multi-io cards handled by parport_serial */
        { PCI_DEVICE(0x4348, 0x7053), }, /* WCH CH353 2S1P */
        { PCI_DEVICE(0x4348, 0x5053), }, /* WCH CH353 1S1P */
+        { PCI_DEVICE(0x4348, 0x7173), }, /* WCH CH355 4S */
        { PCI_DEVICE(0x1c00, 0x3250), }, /* WCH CH382 2S1P */
        { PCI_DEVICE(0x1c00, 0x3470), }, /* WCH CH384 4S */

@@ -5552,6 +5572,10 @@ static struct pci_device_id serial_pci_t
                PCI_ANY_ID, PCI_ANY_ID,
                0, 0, pbn_b0_bt_2_115200 },

+       {       PCI_VENDOR_ID_WCH, PCI_DEVICE_ID_WCH_CH355_4S,
+                PCI_ANY_ID, PCI_ANY_ID,
+                0, 0, pbn_b0_bt_4_115200 },
+
        {       PCIE_VENDOR_ID_WCH, PCIE_DEVICE_ID_WCH_CH382_2S,
                PCI_ANY_ID, PCI_ANY_ID,
                0, 0, pbn_wch382_2 },
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux