Merge remote-tracking branch 'lsk/v3.10/topic/arm64-misc' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / drivers / tty / serial / 8250 / 8250_pci.c
index c52948b368d81a1dbd6ea274ffa3058f1128ea37..8d3c0b5e2878b330deee168fe531b54894d079e2 100644 (file)
@@ -1260,10 +1260,10 @@ static int pci_quatech_init(struct pci_dev *dev)
                unsigned long base = pci_resource_start(dev, 0);
                if (base) {
                        u32 tmp;
-                       outl(inl(base + 0x38), base + 0x38);
+                       outl(inl(base + 0x38) | 0x00002000, base + 0x38);
                        tmp = inl(base + 0x3c);
                        outl(tmp | 0x01000000, base + 0x3c);
-                       outl(tmp, base + 0x3c);
+                       outl(tmp &= ~0x01000000, base + 0x3c);
                }
        }
        return 0;
@@ -1545,6 +1545,7 @@ pci_wch_ch353_setup(struct serial_private *priv,
 #define PCI_DEVICE_ID_TITAN_800E       0xA014
 #define PCI_DEVICE_ID_TITAN_200EI      0xA016
 #define PCI_DEVICE_ID_TITAN_200EISI    0xA017
+#define PCI_DEVICE_ID_TITAN_200V3      0xA306
 #define PCI_DEVICE_ID_TITAN_400V3      0xA310
 #define PCI_DEVICE_ID_TITAN_410V3      0xA312
 #define PCI_DEVICE_ID_TITAN_800V3      0xA314
@@ -4139,6 +4140,9 @@ static struct pci_device_id serial_pci_tbl[] = {
        {       PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_200EISI,
                PCI_ANY_ID, PCI_ANY_ID, 0, 0,
                pbn_oxsemi_2_4000000 },
+       {       PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_200V3,
+               PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+               pbn_b0_bt_2_921600 },
        {       PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_400V3,
                PCI_ANY_ID, PCI_ANY_ID, 0, 0,
                pbn_b0_4_921600 },