There have been issues with autoboot on DB410c for years, where autoboot gets interrupted by spurious input on the UART console. I've tried fixing this back in 2021, but it turned out this fix was not enough. Looking into it further, there are two separate issues to fix:
- Spurious input with UART disconnected: The RX pin is floating in this case, resulting in garbage or a UART break event (0x00 byte). This is interpreted as input in the autoboot prompt. Fix this by adding bias-pull-up for the RX pin. I've made this change upstream in Linux 6.16 for all MSM8916/MSM8939 devices and it has already landed in U-Boot through the recent subtree update of dts/upstream. - Spurious input when querying console size with UART connected: It's unclear why this happens, but it seems to be some issue in the overly complex implementation of 4-character packing mode in the serial_msm driver. Fix this by switching the driver to use the more simple single-character mode, which doesn't have this issue. With these patches, autoboot is finally working reliably on DragonBoard 410c (and hopefully will remain so for the future :-)). Signed-off-by: Stephan Gerhold <[email protected]> --- Changes in v2: - Rebase on top of U-Boot master and fix conflicts - Drop backported upstream DT changes (already landed through recent subtree merge of DT changes in Linux 6.16) - Link to v1: https://lore.kernel.org/r/[email protected] --- Stephan Gerhold (6): board: dragonboard410c: Drop now unneeded bootph-all for console Revert "serial: serial_msm: Delay initialization to let pins stabilize" serial: msm: Cleanup register naming serial: msm: Reset after writing to DMEN serial: msm: Re-enable after resetting serial: msm: Use single character mode arch/arm/dts/apq8016-sbc-u-boot.dtsi | 9 --- drivers/serial/serial_msm.c | 127 ++++++++--------------------------- 2 files changed, 29 insertions(+), 107 deletions(-) --- base-commit: 328747974a0620d0996113fe2b3906b06e96de00 change-id: 20250419-db410c-autoboot-fixes-ad7f4f5973a8 Best regards, -- Stephan Gerhold <[email protected]>

