u-boot-brain/drivers/serial
Simon Goldschmidt c4448bdc4f serial: ns16550: fix debug uart putc called before init
If _debug_uart_putc() is called before _debug_uart_init(), the
ns16550 debug uart driver hangs in a tight loop waiting for the
tx FIFO to get empty.

As this can happen via a printf sneaking in before the port calls
debug_uart_init(), introduce a config option to ignore characters
before the debug uart is initialized.

This is done by reading the baudrate divisor and aborting if is zero.

The Kconfig option is required as reading the baudrate divisor does
not seem to work for all ns16500 compatibles (which is why the last
attempt on this has been reverted in 1a67969a99).

Tested on socfpga_cyclone5_socrates.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2019-01-15 15:28:52 -05:00
..
altera_jtag_uart.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
altera_uart.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
arm_dcc.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
atmel_usart.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
atmel_usart.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig serial: ns16550: fix debug uart putc called before init 2019-01-15 15:28:52 -05:00
lpc32xx_hsuart.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile drivers: serial: Add SiFive UART driver 2018-12-18 09:56:54 +08:00
mcfuart.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ns16550.c serial: ns16550: fix debug uart putc called before init 2019-01-15 15:28:52 -05:00
sandbox.c dm: serial: Introduce ->getinfo() callback 2018-12-05 06:08:31 -07:00
serial_ar933x.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_arc.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_bcm283x_mu.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_bcm283x_pl011.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_bcm6345.c serial: bcm6345: switch to raw I/O functions 2018-12-07 08:13:46 -05:00
serial_efi.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_intel_mid.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_linflexuart.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
serial_lpuart.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_meson.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_mpc8xx.c drivers: serial: get rid of non DM mpc8xx driver 2018-12-03 10:44:10 -05:00
serial_msm.c serial: serial_msm: added pinmux & config 2018-05-26 18:19:17 -04:00
serial_mtk.c serial: MediaTek: add high-speed uart driver for MediaTek SoCs 2018-11-28 23:04:53 -05:00
serial_mvebu_a3700.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_mxc.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_ns16550.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
serial_nulldev.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
serial_omap.c serial: omap: Add code for early debugging 2018-12-07 08:13:49 -05:00
serial_owl.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_pic32.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_pl01x_internal.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
serial_pl01x.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_pxa.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
serial_rockchip.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
serial_s5p.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_sh.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_sh.h serial: sh: Add support for R7S72100 (RZ/A1) 2018-01-24 23:27:21 +01:00
serial_sifive.c drivers: serial: Add SiFive UART driver 2018-12-18 09:56:54 +08:00
serial_sti_asc.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_stm32.c serial: serial_stm32: Add reset support 2018-12-15 11:49:56 -05:00
serial_stm32.h serial: serial_stm32: Enable uart FIFO for STM32F7xx SoCs 2018-09-30 13:00:35 -04:00
serial_uniphier.c serial: uniphier: set clock rate without clock-frequency property 2018-06-23 01:28:15 +09:00
serial_xuartlite.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial_zynq.c serial: Remove DM_FLAG_PRE_RELOC flag in various drivers 2018-11-14 09:16:28 -08:00
serial-uclass.c dm: serial: Introduce ->getinfo() callback 2018-12-05 06:08:31 -07:00
serial.c drivers: serial: get rid of non DM mpc8xx driver 2018-12-03 10:44:10 -05:00
usbtty.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
usbtty.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00