From 17fa032671f7981628fe16b30399638842a4b1bb Mon Sep 17 00:00:00 2001 From: Heiko Schocher Date: Wed, 18 Jan 2017 08:05:49 +0100 Subject: serial, ns16550: bugfix: ns16550 fifo not enabled commit: 65f83802b7a5b "serial: 16550: Add getfcr accessor" breaks u-boot commandline working with long commands sending to the board. Since the above patch, you have to setup the fcr register. For board/archs which enable OF_PLATDATA, the new field fcr in struct ns16550_platdata is not filled with a default value ... This leads in not setting up the uarts fifo, which ends in problems, when you send long commands to u-boots commandline. Detected this issue with automated tbot tests on am335x based shc board. The error does not popup, if you type commands. You need to copy&paste a long command to u-boots commandshell (or send a long command with tbot) Possible boards/plattforms with problems: ./arch/arm/cpu/arm926ejs/lpc32xx/devices.c ./arch/arm/mach-tegra/board.c ./board/overo/overo.c ./board/quipos/cairo/cairo.c ./board/logicpd/omap3som/omap3logic.c ./board/logicpd/zoom1/zoom1.c ./board/timll/devkit8000/devkit8000.c ./board/lg/sniper/sniper.c ./board/ti/beagle/beagle.c ./drivers/serial/serial_rockchip.c Signed-off-by: Heiko Schocher Signed-off-by: Ladislav Michl Tested-by: Adam Ford Reviewed-by: Tom Rini --- include/ns16550.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include') diff --git a/include/ns16550.h b/include/ns16550.h index 7c97036831..5fcbcd2e74 100644 --- a/include/ns16550.h +++ b/include/ns16550.h @@ -121,6 +121,11 @@ typedef struct NS16550 *NS16550_t; /* Ingenic JZ47xx specific UART-enable bit. */ #define UART_FCR_UME 0x10 +/* Clear & enable FIFOs */ +#define UART_FCR_DEFVAL (UART_FCR_FIFO_EN | \ + UART_FCR_RXSR | \ + UART_FCR_TXSR) + /* * These are the definitions for the Modem Control Register */ -- cgit v1.2.3