Signed-off-by: Antony Pavlov <[email protected]>
---
 drivers/serial/serial_ns16550.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 0089a04..a37ac69 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -191,6 +191,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 **********************************/
 
 /**
@@ -251,6 +261,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
  *
@@ -347,6 +361,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 */
        },
-- 
1.9.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to