summaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/8250/8250_lpss.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2016-08-17 19:20:28 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-31 16:13:30 +0200
commit6bb5d75eac8d6a9ef85b408909d40964eda53716 (patch)
tree583567ba653b8ae9967342a1d2d9a0e055fbab32 /drivers/tty/serial/8250/8250_lpss.c
parenta13e19cf3dc1080cf8a3a174cefd9199610faed7 (diff)
downloadblackbird-op-linux-6bb5d75eac8d6a9ef85b408909d40964eda53716.tar.gz
blackbird-op-linux-6bb5d75eac8d6a9ef85b408909d40964eda53716.zip
serial: 8250_lpss: move Quark code from PCI driver
Intel Quark has DesignWare UART. Move the code from 8250_pci to 8250_lpss. Reviewed-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Bryan O'Donoghue <pure.logic@nexus-software.ie> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/8250/8250_lpss.c')
-rw-r--r--drivers/tty/serial/8250/8250_lpss.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/tty/serial/8250/8250_lpss.c b/drivers/tty/serial/8250/8250_lpss.c
index 071f8781c65b..f3cf4e8a5086 100644
--- a/drivers/tty/serial/8250/8250_lpss.c
+++ b/drivers/tty/serial/8250/8250_lpss.c
@@ -19,6 +19,8 @@
#include "8250.h"
+#define PCI_DEVICE_ID_INTEL_QRK_UARTx 0x0936
+
#define PCI_DEVICE_ID_INTEL_BYT_UART1 0x0f0a
#define PCI_DEVICE_ID_INTEL_BYT_UART2 0x0f0c
@@ -166,6 +168,9 @@ static int lpss8250_dma_setup(struct lpss8250 *lpss, struct uart_8250_port *port
struct dw_dma_slave *rx_param, *tx_param;
struct device *dev = port->port.dev;
+ if (!lpss->dma_param.dma_dev)
+ return 0;
+
rx_param = devm_kzalloc(dev, sizeof(*rx_param), GFP_KERNEL);
if (!rx_param)
return -ENOMEM;
@@ -253,9 +258,15 @@ static const struct lpss8250_board byt_board = {
.setup = byt_serial_setup,
};
+static const struct lpss8250_board qrk_board = {
+ .freq = 44236800,
+ .base_baud = 2764800,
+};
+
#define LPSS_DEVICE(id, board) { PCI_VDEVICE(INTEL, id), (kernel_ulong_t)&board }
static const struct pci_device_id pci_ids[] = {
+ LPSS_DEVICE(PCI_DEVICE_ID_INTEL_QRK_UARTx, qrk_board),
LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BYT_UART1, byt_board),
LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BYT_UART2, byt_board),
LPSS_DEVICE(PCI_DEVICE_ID_INTEL_BSW_UART1, byt_board),
OpenPOWER on IntegriCloud