summaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2014-03-25 20:50:56 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2014-03-26 09:02:41 +0100
commitc56e8ca71ceb88918ebaf24703c1b821f5bdbe68 (patch)
tree1b4121fec36d367c0b736ec88b3336421212098d /drivers/serial
parente2039559948f23c827ae643783d2fd2e21b533e4 (diff)
downloadbarebox-c56e8ca71ceb88918ebaf24703c1b821f5bdbe68.tar.gz
barebox-c56e8ca71ceb88918ebaf24703c1b821f5bdbe68.tar.xz
serial: ns16550: add compatible entry for "ingenic,jz4740-uart"
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/serial_ns16550.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 635c2b7e1e..0c00eb182c 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -200,6 +200,16 @@ static void ns16550_omap_init_port(struct console_device *cdev)
ns16550_write(cdev, 0x00, omap_mdr1);
}
+#define JZ_FCR_UME 0x10 /* Uart Module Enable */
+
+static void ns16550_jz_init_port(struct console_device *cdev)
+{
+ struct ns16550_priv *priv = to_ns16550_priv(cdev);
+
+ priv->fcrval |= JZ_FCR_UME;
+ ns16550_serial_init_port(cdev);
+}
+
/*********** Exposed Functions **********************************/
/**
@@ -264,6 +274,10 @@ static __maybe_unused struct ns16550_drvdata omap_drvdata = {
.linux_console_name = "ttyO",
};
+static __maybe_unused struct ns16550_drvdata jz_drvdata = {
+ .init_port = ns16550_jz_init_port,
+};
+
/**
* @brief Probe entry point -called on the first match for device
*
@@ -363,6 +377,12 @@ static struct of_device_id ns16550_serial_dt_ids[] = {
.data = (unsigned long)&omap_drvdata,
},
#endif
+#if IS_ENABLED(CONFIG_MACH_MIPS_XBURST)
+ {
+ .compatible = "ingenic,jz4740-uart",
+ .data = (unsigned long)&jz_drvdata,
+ },
+#endif
{
/* sentinel */
},