lkml.org 
[lkml]   [2016]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.19.y-ckt 074/196] tty: Add support for PCIe WCH382 2S multi-IO card
    Date
    3.19.8-ckt16 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Jeremy McNicoll <jmcnicol@redhat.com>

    commit 7dde55787b43a8f2b4021916db38d90c03a2ec64 upstream.

    WCH382 2S board is a PCIe card with 2 DB9 COM ports detected as
    Serial controller: Device 1c00:3253 (rev 10) (prog-if 05 [16850])

    Signed-off-by: Jeremy McNicoll <jmcnicol@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/tty/serial/8250/8250_pci.c | 21 +++++++++++++++++++++
    1 file changed, 21 insertions(+)

    diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
    index 1ec0cdb..21586e7 100644
    --- a/drivers/tty/serial/8250/8250_pci.c
    +++ b/drivers/tty/serial/8250/8250_pci.c
    @@ -1886,6 +1886,7 @@ pci_wch_ch38x_setup(struct serial_private *priv,
    #define PCIE_VENDOR_ID_WCH 0x1c00
    #define PCIE_DEVICE_ID_WCH_CH382_2S1P 0x3250
    #define PCIE_DEVICE_ID_WCH_CH384_4S 0x3470
    +#define PCIE_DEVICE_ID_WCH_CH382_2S 0x3253

    #define PCI_VENDOR_ID_PERICOM 0x12D8
    #define PCI_DEVICE_ID_PERICOM_PI7C9X7951 0x7951
    @@ -2582,6 +2583,14 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
    .subdevice = PCI_ANY_ID,
    .setup = pci_wch_ch353_setup,
    },
    + /* WCH CH382 2S card (16850 clone) */
    + {
    + .vendor = PCIE_VENDOR_ID_WCH,
    + .device = PCIE_DEVICE_ID_WCH_CH382_2S,
    + .subvendor = PCI_ANY_ID,
    + .subdevice = PCI_ANY_ID,
    + .setup = pci_wch_ch38x_setup,
    + },
    /* WCH CH382 2S1P card (16850 clone) */
    {
    .vendor = PCIE_VENDOR_ID_WCH,
    @@ -2895,6 +2904,7 @@ enum pci_board_num_t {
    pbn_fintek_4,
    pbn_fintek_8,
    pbn_fintek_12,
    + pbn_wch382_2,
    pbn_wch384_4,
    pbn_pericom_PI7C9X7951,
    pbn_pericom_PI7C9X7952,
    @@ -3699,6 +3709,13 @@ static struct pciserial_board pci_boards[] = {
    .base_baud = 115200,
    .first_offset = 0x40,
    },
    + [pbn_wch382_2] = {
    + .flags = FL_BASE0,
    + .num_ports = 2,
    + .base_baud = 115200,
    + .uart_offset = 8,
    + .first_offset = 0xC0,
    + },
    [pbn_wch384_4] = {
    .flags = FL_BASE0,
    .num_ports = 4,
    @@ -5488,6 +5505,10 @@ static struct pci_device_id serial_pci_tbl[] = {
    PCI_ANY_ID, PCI_ANY_ID,
    0, 0, pbn_b0_bt_2_115200 },

    + { PCIE_VENDOR_ID_WCH, PCIE_DEVICE_ID_WCH_CH382_2S,
    + PCI_ANY_ID, PCI_ANY_ID,
    + 0, 0, pbn_wch382_2 },
    +
    { PCIE_VENDOR_ID_WCH, PCIE_DEVICE_ID_WCH_CH384_4S,
    PCI_ANY_ID, PCI_ANY_ID,
    0, 0, pbn_wch384_4 },
    --
    2.7.0
    \
     
     \ /
      Last update: 2016-03-09 02:41    [W:4.057 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site