[PATCH] ARM: i.MX8M: atf: add debug messages just before TF-A jump

Ahmad Fatoum a.fatoum at pengutronix.de
Fri Jan 16 05:49:46 PST 2026


The handoff to TF-A has been a frequent source of hangs during board
bringup in the past for various reasons.
Add a debug print just before branching to TF-A and add a comment
explaining some possible issues to aid with future debugging.

Cc: Holger Assmann <h.assmann at pengutronix.de>
Cc: Fabian Pflug <f.pflug at pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 arch/arm/mach-imx/atf.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm/mach-imx/atf.c b/arch/arm/mach-imx/atf.c
index 5a8a7a7fd541..773ebfad0be3 100644
--- a/arch/arm/mach-imx/atf.c
+++ b/arch/arm/mach-imx/atf.c
@@ -53,8 +53,23 @@ static __noreturn void imx8m_tfa_start_bl31(const void *tfa_bin, size_t tfa_size
 			pr_debug("CAAM early init successful\n");
 	}
 
+	pr_debug("Loading BL31 to %p ", tfa_bin);
+
 	memcpy(bl31, tfa_bin, tfa_size);
 
+	/*
+	 * If all works fine (and TF-A has debug output enabled), the next
+	 * serial output should start with:
+	 *
+	 *   NOTICE:  BL31:
+	 *
+	 * If not, set IMX_BOOT_UART_BASE=auto when building TF-A if supported,
+	 * check if DRAM configuration is correct and that the PMIC correctly
+	 * configured the DRAM rails. For very old TF-A versions, also compare
+	 * barebox tfa_dest against whatever value your TF-A hardcodes.
+	 */
+	pr_debug("and jumping with SP: %p\n", tfa_dest - 16);
+
 	asm volatile("msr sp_el2, %0" : :
 		     "r" (tfa_dest - 16) :
 		     "cc");
-- 
2.47.3




More information about the barebox mailing list