u-boot/drivers/serial
Sean Anderson fb84517d52 serial: smh: Fake tstc
ARM semihosting provides no provisions for determining if there is
pending input. The only way to determine if there is console input is to
do a read (and block until the user types something). For this reason,
we always return true for tstc (since you will always get input if you
try). However, this behavior can cause problems for code which expects
tstc to eventually be empty. In query_console_serial, there is the
following construct:

	/* empty input buffer */
	while (tstc())
		getchar();

with the current implementation, this effectively turns into an infinite
loop. To avoid this, fake tstc by returning false half of the time. This
is generally OK because the other common construct looks like

	do {
		if (tstc())
			process(getchar());
	} while (!timeout());

so it's fine if we only read a new character every other loop. This will
break things like CYGACC_COMM_IF_GETC_TIMEOUT, but that could be
reworked to test on the timeout instead of calling tstc again (and
ymodem over semihosted serial is not that useful in the first place).

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
2022-06-06 18:01:21 -04:00
..
altera_jtag_uart.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
altera_uart.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07: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 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -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: Remove obsolete CONS_INDEX_n Kconfig options 2022-05-24 01:46:06 +01:00
lpc32xx_hsuart.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
Makefile serial: npcm: Add support for Nuvoton NPCM SoCs 2022-05-05 09:28:47 -04:00
ns16550.c serial: ns16550: Add support for SPL_DEBUG_UART_BASE 2022-05-17 06:44:06 +02:00
sandbox.c test: serial: Add test for putc/puts 2022-04-14 15:39:15 -04:00
serial-uclass.c serial: Fix _serial_puts using \n\r instead of \r\n 2022-04-14 15:39:15 -04:00
serial.c serial: Add semihosting driver 2022-04-01 15:03:13 -04:00
serial_ar933x.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
serial_arc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_bcm283x_mu.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
serial_bcm283x_pl011.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
serial_bcm6345.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
serial_coreboot.c x86: Make coreboot sysinfo available to any x86 board 2021-03-27 13:59:37 +13: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 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_lpuart.c Finish conversion of CONFIG_SYS_CLK_FREQ to Kconfig 2021-12-27 16:20:18 -05:00
serial_mcf.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_meson.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
serial_mpc8xx.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_msm.c WS cleanup: remove trailing white space 2021-09-30 08:08:56 -04:00
serial_msm_geni.c serial: qcom: add support for GENI serial driver 2021-10-31 08:46:44 -04:00
serial_mt7620.c treewide: Use OF_REAL instead of !OF_PLATDATA 2021-09-25 09:46:15 -06:00
serial_mtk.c serial: mtk: rewrite the setbrg function 2021-03-20 16:24:27 -04:00
serial_mvebu_a3700.c Prepare v2022.01-rc4 2021-12-20 17:12:04 -05:00
serial_mxc.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_npcm.c serial: npcm: Add support for Nuvoton NPCM SoCs 2022-05-05 09:28:47 -04:00
serial_ns16550.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_nulldev.c serial: remove nulldev_serial_input 2022-02-09 12:30:13 -07:00
serial_octeon_bootcmd.c serial: serial_octeon_bootcmd.c: Add PCI remote console support 2021-04-23 21:22:55 +02:00
serial_octeon_pcie_console.c serial: serial_octeon_pcie_console.c: Add PCI remote console support 2021-04-23 21:22:55 +02:00
serial_omap.c treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06: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 common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_pl01x.c serial: pl011: Enable DEBUG_UART_PL011 in SPL 2021-07-24 08:57:53 -04:00
serial_pl01x_internal.h dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
serial_pxa.c arm: pxa: Remove CONFIG_CPU_PXA25X 2022-06-06 12:09:12 -04: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: samsung: add support for skip debug init in s5p 2021-10-31 11:25:39 -04:00
serial_sbi.c serial: Add a debug console using the RISC-V SBI interface 2021-10-07 16:08:23 +08:00
serial_semihosting.c serial: smh: Fake tstc 2022-06-06 18:01:21 -04:00
serial_sh.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
serial_sh.h sh: sh3: Remove CPU support 2019-05-10 22:43:18 +02:00
serial_sifive.c Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
serial_sti_asc.c WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
serial_stm32.c serial: stm32: define LOG_CATEGORY 2021-01-13 09:52:58 +01:00
serial_stm32.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07: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 Xilinx changes for v2021.04 2021-01-06 07:57:33 -05:00
serial_zynq.c serial: zynq: Change fifo behavior in debug mode 2022-03-29 09:19:59 +02:00
usbtty.c serial: usbtty: Send urb data in correct order 2021-03-03 04:12:45 +01:00
usbtty.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00