u-boot/drivers
Pali Rohár 5e998b4de3 serial: ns16550: Wait in debug_uart_init until tx buffer is empty
Commit d293759d55 ("serial: ns16550: Add support for
SPL_DEBUG_UART_BASE") fixed support for setting correct early debug UART
base address in SPL.

But after this commit, output from Marvell A385 BootROM is truncated or
lost and not fully present on serial console.

Debugging this issue showed that BootROM just put bytes into UART HW output
buffer and does not wait until UART HW transmit all characters. U-Boot
ns16550 early debug is initialized very early and during its initialization
is resetting UART HW and flushing remaining transmit buffer (which still
contains BootROM output).

Fix this issue by waiting in init function prior resetting UART HW until
TxEmpty bit in UART Line Status Register is set. TxEmpty is set when all
remaining bytes from HW buffer are transmitted.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
[trini: Add comment, move ';' to new line per checkpatch.pl]
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-07-08 12:20:04 -04:00
..
adc adc: meson-saradc: add AXG variant 2022-04-25 09:25:00 +02:00
ata ata: sata_sil: Remove useless BLK guard in sata_sil.h 2022-06-28 17:03:32 -04:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator pci: Update dm_pci_bus_to_virt() parameters 2022-05-03 18:33:29 -04:00
block block: ide: Remove ide_preinit function 2022-06-28 17:03:32 -04:00
bootcount Convert CONFIG_SYS_BOOTCOUNT_LE et al to Kconfig 2022-07-07 14:01:09 -04:00
bus bus: ti-sysc: change in a normal driver 2021-03-22 19:23:27 +13:00
button button: adc: set state to pressed when the voltage is closest to nominal 2022-02-11 09:00:47 -05:00
cache drivers: cache: ncore: Disable snoop filter 2022-06-17 16:27:05 +08:00
clk clk/ast2500: Add SD clock 2022-07-06 14:31:29 -04:00
core tpl: Ensure all TPL symbols in Kconfig have some TPL dependency 2022-06-28 17:03:31 -04:00
cpu cpu: add CPU driver for microblaze 2022-06-24 14:16:00 +02:00
crypto crypto: nuvoton: Add NPCM7xx SHA driver 2022-06-22 21:30:05 -04:00
ddr Convert CONFIG_SYS_DDR_RAW_TIMING to Kconfig 2022-07-05 17:03:01 -04:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu DFU: Check the number of arguments and argument string strictly 2022-02-11 11:29:23 -05:00
dma dma: ti: Add PSIL data for AM62x DMASS 2022-06-10 13:37:32 -04:00
fastboot fastboot: only look up real partition names when no alias exists 2022-01-28 11:30:39 -05:00
firmware spl: Ensure all SPL symbols in Kconfig have some SPL dependency 2022-07-07 09:29:08 -04:00
fpga Convert CONFIG_FPGA_STRATIX_V to Kconfig 2022-06-28 17:11:48 -04:00
fuzz sandbox: Implement fuzzing engine driver 2022-06-23 12:58:19 -04:00
gpio spl: Ensure all SPL symbols in Kconfig have some SPL dependency 2022-07-07 09:29:08 -04:00
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c spl: Ensure all SPL symbols in Kconfig have some SPL dependency 2022-07-07 09:29:08 -04:00
input input: apple: Add support for Apple SPI keyboard 2022-02-10 16:44:23 -05:00
iommu iommu: Add M1 Pro/Max support to Apple DART driver 2022-02-21 08:35:40 -05:00
led led: pwm: Use NOP uclass driver for top-level node 2022-07-08 10:56:45 -04:00
mailbox mailbox: apple: Add driver for Apple IOP mailbox 2022-02-10 16:44:23 -05:00
memory keystone2: Move CONFIG_AEMIF_CNTRL_BASE out of CONFIG namespace 2021-09-27 21:38:34 -04:00
misc misc: nuvoton: Add host interface configuration driver 2022-07-06 18:34:16 -04:00
mmc arm: Remove PXA architecture support 2022-07-07 09:29:08 -04:00
mtd mtd: rawnand: Add support to dedicated function to set timings 2022-07-08 10:56:45 -04:00
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net Convert CONFIG_SYS_DISCOVER_PHY to Kconfig 2022-07-07 09:29:08 -04:00
nvme pci: Add mask parameter to dm_pci_map_bar() 2022-05-03 18:33:29 -04:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci Convert CONFIG_SYS_FSL_PCI_VER_3_X to Kconfig 2022-07-05 17:05:00 -04:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: nuvoton: add NPCM7xx phy control driver 2022-07-06 14:30:51 -04:00
pinctrl Xilinx changes for v2022.10 2022-06-27 10:15:50 -04:00
power Convert CONFIG_PALMAS_POWER to Kconfig 2022-07-07 09:29:08 -04:00
pwm Rename CONFIG_PWM to CONFIG_PWM_S5P and move to Kconfig 2022-07-05 17:03:01 -04:00
qe configs: fsl: migrate FMAN/QE specific defines to Kconfig 2021-11-09 17:18:23 +05:30
ram tpl: Ensure all TPL symbols in Kconfig have some TPL dependency 2022-06-28 17:03:31 -04:00
reboot-mode reboot-mode: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset/aspeed: Implement status callback 2022-07-06 14:30:51 -04:00
rng drivers: rng: add smccc trng driver 2022-06-23 13:12:56 -04:00
rtc test: Load mac address using RTC 2022-06-08 14:00:22 -04:00
scsi scsi: call device_probe() after scanning 2022-04-09 21:06:31 +02:00
serial serial: ns16550: Wait in debug_uart_init until tx buffer is empty 2022-07-08 12:20:04 -04:00
smem dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
soc soc: soc_ti_k3: identify j7200 SR2.0 SoCs 2022-07-06 14:30:51 -04:00
sound sound: enable building DA7219 driver with ACPIGEN=n 2022-07-08 09:05:47 -04:00
spi spi: cadence-qspi: Fix programming ospi flash speed 2022-06-29 16:00:31 +02:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo sysinfo: rcar3: Add Renesas R-Car Gen3 sysinfo driver 2021-07-20 23:33:54 +02:00
sysreset vpl: Add Kconfig options for VPL 2022-05-02 09:58:13 -04:00
tee drivers:optee:rpmb: initialize drivers of mmc devices in UCLASS_BLK for rpmb access 2022-06-06 18:01:21 -04:00
thermal WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
timer Xilinx changes for v2022.10 2022-06-27 10:15:50 -04:00
tpm tpm: add support for TPMv2.x I2C chips 2022-05-23 16:33:58 +03:00
ufs lib: fix selection of CONFIG_CHARSET 2022-05-03 21:39:22 +02:00
usb arm: Remove PXA architecture support 2022-07-07 09:29:08 -04:00
video arm: Remove PXA architecture support 2022-07-07 09:29:08 -04:00
virtio virtio: rng: Check length before copying 2022-06-08 09:24:04 -04:00
w1 arm: Remove zmx25 board and ARCH_MX25 2021-10-01 21:08:18 -04:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog watchdog: designware: Make this depend on WDT 2022-07-05 17:03:01 -04:00
xen WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
Kconfig fuzzing_engine: Add fuzzing engine uclass 2022-06-23 12:58:18 -04:00
Makefile fuzzing_engine: Add fuzzing engine uclass 2022-06-23 12:58:18 -04:00