summaryrefslogtreecommitdiffstats
path: root/drivers/serial/serial_ns16550.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/serial_ns16550.c')
-rw-r--r--drivers/serial/serial_ns16550.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 53d48a06c2..8f2e93fa68 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -311,6 +311,11 @@ static __maybe_unused struct ns16550_drvdata jz_drvdata = {
.init_port = ns16550_jz_init_port,
};
+static __maybe_unused struct ns16550_drvdata tegra_drvdata = {
+ .init_port = ns16550_serial_init_port,
+ .linux_console_name = "ttyS",
+};
+
static int ns16550_init_iomem(struct device_d *dev, struct ns16550_priv *priv)
{
struct resource *res;
@@ -418,6 +423,7 @@ static int ns16550_probe(struct device_d *dev)
ret = PTR_ERR(priv->clk);
goto err;
}
+ clk_enable(priv->clk);
priv->plat.clock = clk_get_rate(priv->clk);
}
@@ -476,6 +482,12 @@ static struct of_device_id ns16550_serial_dt_ids[] = {
.data = (unsigned long)&omap_drvdata,
},
#endif
+#if IS_ENABLED(CONFIG_ARCH_TEGRA)
+ {
+ .compatible = "nvidia,tegra20-uart",
+ .data = (unsigned long)&tegra_drvdata,
+ },
+#endif
#if IS_ENABLED(CONFIG_MACH_MIPS_XBURST)
{
.compatible = "ingenic,jz4740-uart",