[U-Boot] [PATCH] serial: 16550: Add JZ47xx support

Marek Vasut marex at denx.de
Wed May 25 02:19:31 CEST 2016


The Ingenic JZ47xx requires special bit (UART_EN) set in FCR register
in order to work at all. Add this special case handling into the driver.

Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Tom Rini <trini at konsulko.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
Cc: Paul Burton <paul.burton at imgtec.com>
---
 drivers/serial/ns16550.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 30ba0aa..1323881 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -50,6 +50,14 @@ DECLARE_GLOBAL_DATA_PTR;
 #endif
 #endif
 
+#ifdef CONFIG_ARCH_JZ47XX
+#undef UART_FCRVAL
+/* Ingenic JZ47xx SoCs require that a 'UART Module Enable' bit be set */
+#define UART_FCR_UME		0x10
+#define UART_FCRVAL (UART_FCR_FIFO_EN | UART_FCR_RXSR |	\
+		     UART_FCR_TXSR | UART_FCR_UME)
+#endif
+
 #ifndef CONFIG_SYS_NS16550_IER
 #define CONFIG_SYS_NS16550_IER  0x00
 #endif /* CONFIG_SYS_NS16550_IER */
-- 
2.7.0



More information about the U-Boot mailing list