u-boot/drivers/serial
Rasmus Villemoes 35dc728a3c serial: introduce CONFIG_CONSOLE_FLUSH_ON_NEWLINE
When debugging, one sometimes only gets partial output lines or
nothing at all from the last printf, because the uart has a largish
buffer, and the code after the printf() may cause the CPU to hang
before the uart IP has time to actually emit all the characters. That
can be very confusing, because one doesn't then know exactly where the
hang happens.

Introduce a config knob allowing one to wait for the uart fifo to
drain whenever a newline character is printed, roughly corresponding
to the effect of setvbuf(..., _IOLBF, ...) in ordinary C programs.

Since this uses IS_ENABLED() instead of cpp ifdef, we can remove the
ifdef around the _serial_flush() definition - if neither
CONSOLE_FLUSH_SUPPORT or CONSOLE_FLUSH_ON_NEWLINE are enabled, the
compiler elides _serial_flush(), but it won't warn about it being
unused.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-24 17:05:24 -04:00
..
altera_jtag_uart.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
altera_uart.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
arm_dcc.c serial: arm_dcc: Use CONFIG_ARM64 not CONFIG_CPU_ARMV8 2021-12-27 16:20:18 -05:00
atmel_usart.c kbuild: Remove uncmd_spl logic 2022-12-23 10:15:13 -05: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: Drop mention of SPL/TPL_SYS_MALLOC_F 2023-10-06 14:38:12 -04:00
Makefile serial: mxs: Add MXS AUART driver 2023-05-21 16:54:41 +02:00
ns16550.c pci: serial: Support reading PCI-register size with base 2023-10-06 14:38:13 -04:00
sandbox.c spl: Allow enabling SPL_OF_REAL and SPL_OF_PLATDATA at the same time 2023-10-17 20:50:52 -04:00
serial-uclass.c serial: introduce CONFIG_CONSOLE_FLUSH_ON_NEWLINE 2023-10-24 17:05:24 -04:00
serial.c serial: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:25 -04:00
serial_ar933x.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
serial_arc.c serial: Use -EAGAIN in getc and putc 2023-01-02 16:01:40 -05:00
serial_bcm283x_mu.c Correct SPL uses of OF_BOARD 2023-02-10 07:41:41 -05:00
serial_bcm283x_pl011.c Correct SPL uses of OF_BOARD 2023-02-10 07:41:41 -05:00
serial_bcm6345.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
serial_coreboot.c x86: Allow locating the UART from ACPI tables 2023-05-11 10:25:29 +08:00
serial_cortina.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
serial_efi.c efi: serial: Support arrow keys 2021-12-31 06:45:01 +01:00
serial_htif.c serial: Add RISC-V HTIF console driver 2022-02-10 11:18:12 +08:00
serial_intel_mid.c serial: Update NS16550_t and struct NS16550 2021-01-05 12:24:40 -07:00
serial_linflexuart.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
serial_lpuart.c serial: lpuart: Enable IPG clock 2023-10-16 14:02:38 +02:00
serial_mcf.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_meson.c serial: amlogic: Add UART compatible for A1 board 2023-10-18 09:46:01 +02:00
serial_mpc8xx.c serial, mpc8xx: Take parameter RAM relocation into account 2023-05-05 07:26:53 +02:00
serial_msm.c WS cleanup: remove trailing white space 2021-09-30 08:08:56 -04:00
serial_msm_geni.c serial: msm-geni: correct oversampling value based on QUP hardware revision 2023-05-02 14:23:59 -04:00
serial_mt7620.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
serial_mtk.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
serial_mvebu_a3700.c serial: Use -EAGAIN in getc and putc 2023-01-02 16:01:40 -05:00
serial_mxc.c serial: mxc: Speed-up character transmission 2023-01-30 23:23:02 +01:00
serial_mxs.c serial: mxs: Add MXS AUART driver 2023-05-21 16:54:41 +02:00
serial_npcm.c serial: npcm: Add support for Nuvoton NPCM SoCs 2022-05-05 09:28:47 -04:00
serial_ns16550.c global: Move remaining CONFIG_SYS_NS16550_* to CFG_SYS_NS16550_* 2022-12-05 16:06:07 -05:00
serial_nulldev.c serial: remove nulldev_serial_input 2022-02-09 12:30:13 -07:00
serial_octeon_bootcmd.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
serial_octeon_pcie_console.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
serial_omap.c global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
serial_owl.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
serial_pic32.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
serial_pl01x.c serial: pl01x: Modify pending callback to test if transmit FIFO is empty 2023-07-11 14:40:04 +02:00
serial_pl01x_internal.h kbuild: Remove uncmd_spl logic 2022-12-23 10:15:13 -05:00
serial_rockchip.c rockchip: serial: rename U_BOOT_DRIVER name to rockchip_uart 2022-04-18 11:25:13 +08:00
serial_s5p.c serial: s5p: Use IS_ENABLED where appropriate 2023-01-27 14:32:55 -05:00
serial_s5p4418_pl011.c arm: s5p4418: dm_serial: add driver source code 2023-01-02 16:06:08 -05:00
serial_sbi.c risc-v: implement DBCN based debug console 2023-09-05 10:53:55 +08:00
serial_semihosting.c serial: smh: Fake tstc 2022-06-06 18:01:21 -04:00
serial_sh.c serial: sh: Add RZ/G2L SCIF support 2023-10-19 17:03:20 +02:00
serial_sh.h serial: sh: Add RZ/G2L SCIF support 2023-10-19 17:03:20 +02:00
serial_sifive.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
serial_sti_asc.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
serial_stm32.c serial: stm32: extend TC timeout 2023-08-16 15:38:23 +02:00
serial_stm32.h serial: stm32: Wait TC bit before performing initialization 2023-06-16 11:29:29 +02:00
serial_uniphier.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
serial_xen.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
serial_xuartlite.c serial: Replace CONFIG_DEBUG_UART_BASE by CONFIG_VAL(DEBUG_UART_BASE) 2022-06-06 18:01:21 -04:00
serial_zynq.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
usbtty.c global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
usbtty.h global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00