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 <ma...@denx.de> Cc: Tom Rini <tr...@konsulko.com> Cc: Simon Glass <s...@chromium.org> Cc: Daniel Schwierzeck <daniel.schwierz...@gmail.com> Cc: Paul Burton <paul.bur...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot