|
@@ -1379,6 +1379,9 @@ ce4100_serial_setup(struct serial_private *priv,
|
|
#define PCI_DEVICE_ID_INTEL_BSW_UART1 0x228a
|
|
#define PCI_DEVICE_ID_INTEL_BSW_UART1 0x228a
|
|
#define PCI_DEVICE_ID_INTEL_BSW_UART2 0x228c
|
|
#define PCI_DEVICE_ID_INTEL_BSW_UART2 0x228c
|
|
|
|
|
|
|
|
+#define PCI_DEVICE_ID_INTEL_BDW_UART1 0x9ce3
|
|
|
|
+#define PCI_DEVICE_ID_INTEL_BDW_UART2 0x9ce4
|
|
|
|
+
|
|
#define BYT_PRV_CLK 0x800
|
|
#define BYT_PRV_CLK 0x800
|
|
#define BYT_PRV_CLK_EN (1 << 0)
|
|
#define BYT_PRV_CLK_EN (1 << 0)
|
|
#define BYT_PRV_CLK_M_VAL_SHIFT 1
|
|
#define BYT_PRV_CLK_M_VAL_SHIFT 1
|
|
@@ -1461,11 +1464,13 @@ byt_serial_setup(struct serial_private *priv,
|
|
switch (pdev->device) {
|
|
switch (pdev->device) {
|
|
case PCI_DEVICE_ID_INTEL_BYT_UART1:
|
|
case PCI_DEVICE_ID_INTEL_BYT_UART1:
|
|
case PCI_DEVICE_ID_INTEL_BSW_UART1:
|
|
case PCI_DEVICE_ID_INTEL_BSW_UART1:
|
|
|
|
+ case PCI_DEVICE_ID_INTEL_BDW_UART1:
|
|
rx_param->src_id = 3;
|
|
rx_param->src_id = 3;
|
|
tx_param->dst_id = 2;
|
|
tx_param->dst_id = 2;
|
|
break;
|
|
break;
|
|
case PCI_DEVICE_ID_INTEL_BYT_UART2:
|
|
case PCI_DEVICE_ID_INTEL_BYT_UART2:
|
|
case PCI_DEVICE_ID_INTEL_BSW_UART2:
|
|
case PCI_DEVICE_ID_INTEL_BSW_UART2:
|
|
|
|
+ case PCI_DEVICE_ID_INTEL_BDW_UART2:
|
|
rx_param->src_id = 5;
|
|
rx_param->src_id = 5;
|
|
tx_param->dst_id = 4;
|
|
tx_param->dst_id = 4;
|
|
break;
|
|
break;
|
|
@@ -2062,6 +2067,20 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
|
|
.subdevice = PCI_ANY_ID,
|
|
.subdevice = PCI_ANY_ID,
|
|
.setup = byt_serial_setup,
|
|
.setup = byt_serial_setup,
|
|
},
|
|
},
|
|
|
|
+ {
|
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_BDW_UART1,
|
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
|
+ .setup = byt_serial_setup,
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_BDW_UART2,
|
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
|
+ .setup = byt_serial_setup,
|
|
|
|
+ },
|
|
/*
|
|
/*
|
|
* ITE
|
|
* ITE
|
|
*/
|
|
*/
|
|
@@ -5506,6 +5525,16 @@ static struct pci_device_id serial_pci_tbl[] = {
|
|
PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
|
|
PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
|
|
pbn_byt },
|
|
pbn_byt },
|
|
|
|
|
|
|
|
+ /* Intel Broadwell */
|
|
|
|
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BDW_UART1,
|
|
|
|
+ PCI_ANY_ID, PCI_ANY_ID,
|
|
|
|
+ PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
|
|
|
|
+ pbn_byt },
|
|
|
|
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BDW_UART2,
|
|
|
|
+ PCI_ANY_ID, PCI_ANY_ID,
|
|
|
|
+ PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
|
|
|
|
+ pbn_byt },
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Intel Quark x1000
|
|
* Intel Quark x1000
|
|
*/
|
|
*/
|