summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-11-03 07:16:06 -0600
committerTom Rini <trini@konsulko.com>2021-11-17 17:04:59 -0500
commit0dba45864b2afc7236102b9abb6b405b49efcccb (patch)
tree0d9bcff250b64c178b33806e2267ca0abda38f80
parent31ec464d65e13a3e40c84bb92c6fc70bf7610eb8 (diff)
downloadu-boot-0dba45864b2afc7236102b9abb6b405b49efcccb.tar.gz
u-boot-0dba45864b2afc7236102b9abb6b405b49efcccb.tar.bz2
u-boot-0dba45864b2afc7236102b9abb6b405b49efcccb.zip
arm: Init the debug UART
At present we don't init the debug UART in the generic ARM code, but instead leave it to individual machines to handle. This is not the way it is supposed to work. Add the required init to the crt files. This ensures that the UART is available as early as possible and that the announcement appears when it should, if enabled. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/arm/lib/crt0.S4
-rw-r--r--arch/arm/lib/crt0_64.S4
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S
index 956d258c9d..ba312901f3 100644
--- a/arch/arm/lib/crt0.S
+++ b/arch/arm/lib/crt0.S
@@ -109,6 +109,10 @@ ENTRY(_main)
mov r9, r0
bl board_init_f_init_reserve
+#if defined(CONFIG_DEBUG_UART) && CONFIG_IS_ENABLED(SERIAL)
+ bl debug_uart_init
+#endif
+
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_EARLY_BSS)
CLEAR_BSS
#endif
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index 680e674fa3..611affb74c 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -91,6 +91,10 @@ ENTRY(_main)
mov x18, x0
bl board_init_f_init_reserve
+#if defined(CONFIG_DEBUG_UART) && CONFIG_IS_ENABLED(SERIAL)
+ bl debug_uart_init
+#endif
+
mov x0, #0
bl board_init_f