All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Fix UART autoboot issues on DragonBoard 410c
@ 2025-09-08 11:31 Stephan Gerhold
  2025-09-08 11:31 ` [PATCH v2 1/6] board: dragonboard410c: Drop now unneeded bootph-all for console Stephan Gerhold
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Stephan Gerhold @ 2025-09-08 11:31 UTC (permalink / raw)
  To: Casey Connolly
  Cc: Sumit Garg, Neil Armstrong, Tom Rini, Sam Day, u-boot-qcom,
	u-boot

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 <stephan.gerhold@linaro.org>
---
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/20250624-db410c-autoboot-fixes-v1-0-d96c97ae41d1@linaro.org

---
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 <stephan.gerhold@linaro.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-10-30 12:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-08 11:31 [PATCH v2 0/6] Fix UART autoboot issues on DragonBoard 410c Stephan Gerhold
2025-09-08 11:31 ` [PATCH v2 1/6] board: dragonboard410c: Drop now unneeded bootph-all for console Stephan Gerhold
2025-09-08 11:31 ` [PATCH v2 2/6] Revert "serial: serial_msm: Delay initialization to let pins stabilize" Stephan Gerhold
2025-09-08 11:31 ` [PATCH v2 3/6] serial: msm: Cleanup register naming Stephan Gerhold
2025-09-08 11:31 ` [PATCH v2 4/6] serial: msm: Reset after writing to DMEN Stephan Gerhold
2025-09-08 11:31 ` [PATCH v2 5/6] serial: msm: Re-enable after resetting Stephan Gerhold
2025-09-08 11:31 ` [PATCH v2 6/6] serial: msm: Use single character mode Stephan Gerhold
2025-09-09  4:23 ` [PATCH v2 0/6] Fix UART autoboot issues on DragonBoard 410c Sumit Garg
2025-09-11 14:24 ` Alexey Minnekhanov
2025-10-30 12:16 ` Casey Connolly

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.