Skip to content

Commit 6c55d9b

Browse files
westerigregkh
authored andcommitted
serial: 8250_pci: Add Intel Broadwell ports
Some recent (early 2015) macbooks have Intel Broadwell where LPSS UARTs are PCI enumerated instead of ACPI. The LPSS UART block is pretty much same as used on Intel Baytrail so we can reuse the existing Baytrail setup code. Add both Broadwell LPSS UART ports to the list of supported devices. Signed-off-by: Leif Liddy <leif.liddy@gmail.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent f4f9edc commit 6c55d9b

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

drivers/tty/serial/8250/8250_pci.c

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,6 +1379,9 @@ ce4100_serial_setup(struct serial_private *priv,
13791379
#define PCI_DEVICE_ID_INTEL_BSW_UART1 0x228a
13801380
#define PCI_DEVICE_ID_INTEL_BSW_UART2 0x228c
13811381

1382+
#define PCI_DEVICE_ID_INTEL_BDW_UART1 0x9ce3
1383+
#define PCI_DEVICE_ID_INTEL_BDW_UART2 0x9ce4
1384+
13821385
#define BYT_PRV_CLK 0x800
13831386
#define BYT_PRV_CLK_EN (1 << 0)
13841387
#define BYT_PRV_CLK_M_VAL_SHIFT 1
@@ -1461,11 +1464,13 @@ byt_serial_setup(struct serial_private *priv,
14611464
switch (pdev->device) {
14621465
case PCI_DEVICE_ID_INTEL_BYT_UART1:
14631466
case PCI_DEVICE_ID_INTEL_BSW_UART1:
1467+
case PCI_DEVICE_ID_INTEL_BDW_UART1:
14641468
rx_param->src_id = 3;
14651469
tx_param->dst_id = 2;
14661470
break;
14671471
case PCI_DEVICE_ID_INTEL_BYT_UART2:
14681472
case PCI_DEVICE_ID_INTEL_BSW_UART2:
1473+
case PCI_DEVICE_ID_INTEL_BDW_UART2:
14691474
rx_param->src_id = 5;
14701475
tx_param->dst_id = 4;
14711476
break;
@@ -2062,6 +2067,20 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
20622067
.subdevice = PCI_ANY_ID,
20632068
.setup = byt_serial_setup,
20642069
},
2070+
{
2071+
.vendor = PCI_VENDOR_ID_INTEL,
2072+
.device = PCI_DEVICE_ID_INTEL_BDW_UART1,
2073+
.subvendor = PCI_ANY_ID,
2074+
.subdevice = PCI_ANY_ID,
2075+
.setup = byt_serial_setup,
2076+
},
2077+
{
2078+
.vendor = PCI_VENDOR_ID_INTEL,
2079+
.device = PCI_DEVICE_ID_INTEL_BDW_UART2,
2080+
.subvendor = PCI_ANY_ID,
2081+
.subdevice = PCI_ANY_ID,
2082+
.setup = byt_serial_setup,
2083+
},
20652084
/*
20662085
* ITE
20672086
*/
@@ -5506,6 +5525,16 @@ static struct pci_device_id serial_pci_tbl[] = {
55065525
PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
55075526
pbn_byt },
55085527

5528+
/* Intel Broadwell */
5529+
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BDW_UART1,
5530+
PCI_ANY_ID, PCI_ANY_ID,
5531+
PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
5532+
pbn_byt },
5533+
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BDW_UART2,
5534+
PCI_ANY_ID, PCI_ANY_ID,
5535+
PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xff0000,
5536+
pbn_byt },
5537+
55095538
/*
55105539
* Intel Quark x1000
55115540
*/

0 commit comments

Comments
 (0)