All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] arm: mvebu: turris_omnia: Fix hangup in debug UART
@ 2022-05-06  9:05 Pali Rohár
  2022-05-06  9:05 ` [PATCH 1/5] arm: Add new config option ARCH_VERY_EARLY_INIT Pali Rohár
                   ` (8 more replies)
  0 siblings, 9 replies; 32+ messages in thread
From: Pali Rohár @ 2022-05-06  9:05 UTC (permalink / raw)
  To: Stefan Roese, Marek Behun; +Cc: u-boot

If proper U-Boot on Turris Omnia tries to print something on debug UART
then CPU hangs. Reason is that debug UART in proper U-Boot for Turris
Omnia has incorrect configuration of base register. Base register is
different in SPL and also in different stages of proper U-Boot.

Fix all these issues. Introduce new arch_very_early_init() ARM function
which will be called at very early stage prior initialization of debug
UART. Move code which moves internal mvebu registers to this function.
And split configuration of DEBUG_UART_BASE into SPL and proper U-Boot
to allow setting different values which matches current HW status.

With all these changes, it is possible call "printf" function in
Turris Omnia's board_early_init_f() function in both SPL and proper
U-Boot.

Pali Rohár (5):
  arm: Add new config option ARCH_VERY_EARLY_INIT
  arm: mvebu: Move internal registers in arch_very_early_init() function
  serial: Add new config option SPL_DEBUG_UART_BASE
  serial: ns16550: Add support for SPL_DEBUG_UART_BASE
  arm: mvebu: turris_omnia: Fix DEBUG_UART_BASE

 arch/arm/Kconfig               |  6 ++++++
 arch/arm/lib/crt0.S            |  5 +++++
 arch/arm/mach-mvebu/Kconfig    |  1 +
 arch/arm/mach-mvebu/Makefile   |  1 +
 arch/arm/mach-mvebu/cpu.c      | 31 -------------------------------
 arch/arm/mach-mvebu/lowlevel.S | 27 +++++++++++++++++++++++++++
 configs/turris_omnia_defconfig |  3 ++-
 drivers/serial/Kconfig         |  7 +++++++
 drivers/serial/ns16550.c       |  4 ++--
 9 files changed, 51 insertions(+), 34 deletions(-)
 create mode 100644 arch/arm/mach-mvebu/lowlevel.S

-- 
2.20.1


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

end of thread, other threads:[~2022-08-19  7:35 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-06  9:05 [PATCH 0/5] arm: mvebu: turris_omnia: Fix hangup in debug UART Pali Rohár
2022-05-06  9:05 ` [PATCH 1/5] arm: Add new config option ARCH_VERY_EARLY_INIT Pali Rohár
2022-05-16  6:37   ` Stefan Roese
2022-05-06  9:05 ` [PATCH 2/5] arm: mvebu: Move internal registers in arch_very_early_init() function Pali Rohár
2022-05-06 12:04   ` Stefan Roese
2022-05-06 12:09     ` Pali Rohár
2022-05-06 12:16       ` Stefan Roese
2022-05-06 12:35         ` Stefan Roese
2022-05-06 12:44           ` Pali Rohár
2022-06-01 10:27             ` Pali Rohár
2022-06-01 10:44               ` Stefan Roese
2022-06-01 10:54                 ` Pali Rohár
2022-08-16 18:41                   ` Fix KWBOOT_MSG_RSP_TIMEO_AXP in kwboot for Armada XP Pali Rohár
2022-08-19  7:30                     ` Stefan Roese
2022-08-19  7:34                       ` Pali Rohár
2022-05-16  6:37   ` [PATCH 2/5] arm: mvebu: Move internal registers in arch_very_early_init() function Stefan Roese
2022-05-06  9:05 ` [PATCH 3/5] serial: Add new config option SPL_DEBUG_UART_BASE Pali Rohár
2022-05-16  6:37   ` Stefan Roese
2022-05-06  9:05 ` [PATCH 4/5] serial: ns16550: Add support for SPL_DEBUG_UART_BASE Pali Rohár
2022-05-16  6:38   ` Stefan Roese
2022-05-06  9:05 ` [PATCH 5/5] arm: mvebu: turris_omnia: Fix DEBUG_UART_BASE Pali Rohár
2022-05-06 12:21   ` Stefan Roese
2022-05-06 12:30     ` Pali Rohár
2022-05-09 18:18       ` Pali Rohár
2022-05-16  6:38   ` Stefan Roese
2022-05-09 18:17 ` [PATCH 6/5] arm: mvebu: Fix DEBUG_UART_BASE for all 32-bit boards Pali Rohár
2022-05-16  6:39   ` Stefan Roese
2022-05-16 14:52 ` [PATCH 0/5] arm: mvebu: turris_omnia: Fix hangup in debug UART Stefan Roese
2022-05-16 16:50   ` Pali Rohár
2022-05-16 16:49 ` [PATCH 7/5] serial: Add new config option TPL_DEBUG_UART_BASE Pali Rohár
2022-05-17  7:51   ` Stefan Roese
2022-05-17  7:53 ` [PATCH 0/5] arm: mvebu: turris_omnia: Fix hangup in debug UART Stefan Roese

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.