
Am 25.05.2016 um 02:19 schrieb Marek Vasut:
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@denx.de Cc: Tom Rini trini@konsulko.com Cc: Simon Glass sjg@chromium.org Cc: Daniel Schwierzeck daniel.schwierzeck@gmail.com Cc: Paul Burton paul.burton@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
I think this could be added as DT property
#ifndef CONFIG_SYS_NS16550_IER #define CONFIG_SYS_NS16550_IER 0x00 #endif /* CONFIG_SYS_NS16550_IER */