Re: [BUG] silent hangup when debugging lib/fdtdec.c
alexander.feilke@ew.tq-group.com
alexander.feilke at ew.tq-group.com
Thu Nov 27 16:50:19 CET 2025
On Thursday, November 27, 2025 15:02 CET, Fabio Estevam <festevam at gmail.com> wrote:
> On Thu, Nov 27, 2025 at 9:33 AM alexander.feilke at ew.tq-group.com
> <alexander.feilke at ew.tq-group.com> wrote:
>
> > I also have a mx7dsabresd but I cannot bring it to boot with a master build unfortunately.
>
> Just tested booting the top-of-tree U-Boot on a mx7dsabresd and it boots:
>
Thanks! When using 0ae3dc6809ff like you I can boot and reproduce the hangup issue on mx7dsabresd:
<debug_uart>
FDT 8787da38 gd 0091de20
top 87887538 sp 87800000
sys_init_sp_addr 0091ff10
gbl_data_size 000000f0
FDT overlap
resetting ...
System reset not supported on this platform
### ERROR ### Please RESET the board ###
This is the patch that enables debug uart and demonstrates the issue:
>From 9ee6e3244f15c8a1d9cb86130186cc9f221721c6 Mon Sep 17 00:00:00 2001
From: Alexander Feilke <alexander.feilke at ew.tq-group.com>
Date: Thu, 27 Nov 2025 16:47:23 +0100
Signed-off-by: Alexander Feilke <alexander.feilke at ew.tq-group.com>
---
board/freescale/mx7dsabresd/mx7dsabresd.c | 6 ++++++
configs/mx7dsabresd_defconfig | 5 +++++
lib/fdtdec.c | 5 +++++
3 files changed, 16 insertions(+)
diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c
index bef4f901ff7..1fdd39d437c 100644
--- a/board/freescale/mx7dsabresd/mx7dsabresd.c
+++ b/board/freescale/mx7dsabresd/mx7dsabresd.c
@@ -25,6 +25,7 @@
#include <i2c.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/arch/crm_regs.h>
+#include <linux/delay.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -233,6 +234,11 @@ int board_early_init_f(void)
return 0;
}
+void board_debug_uart_init(void)
+{
+ setup_iomux_uart();
+}
+
int board_init(void)
{
/* address of boot parameters */
diff --git a/configs/mx7dsabresd_defconfig b/configs/mx7dsabresd_defconfig
index a5a562af0c0..9f0631fe868 100644
--- a/configs/mx7dsabresd_defconfig
+++ b/configs/mx7dsabresd_defconfig
@@ -10,6 +10,11 @@ CONFIG_TARGET_MX7DSABRESD=y
# CONFIG_ARMV7_VIRT is not set
CONFIG_IMX_RDC=y
CONFIG_IMX_BOOTAUX=y
+CONFIG_DEBUG_UART_BASE=0x30860000
+CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_ANNOUNCE=y
+CONFIG_DEBUG_UART_BOARD_INIT=y
CONFIG_IMX_HAB=y
CONFIG_SYS_MEMTEST_START=0x80000000
CONFIG_SYS_MEMTEST_END=0xa0000000
diff --git a/lib/fdtdec.c b/lib/fdtdec.c
index c38738b48c7..dff471228d6 100644
--- a/lib/fdtdec.c
+++ b/lib/fdtdec.c
@@ -9,6 +9,7 @@
#ifndef USE_HOSTCC
#define LOG_CATEGORY LOGC_DT
+#define DEBUG
#include <bloblist.h>
#include <boot_fit.h>
@@ -35,6 +36,7 @@
#include <linux/ctype.h>
#include <linux/lzo.h>
#include <linux/ioport.h>
+#include <system-constants.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -1276,6 +1278,9 @@ static void *fdt_find_separate(void)
*/
if (top > (void *)gd || top > (void *)&stack_ptr) {
printf("FDT %p gd %p\n", fdt_blob, gd);
+ printf("top %p sp %p\n", top, stack_ptr);
+ printf("sys_init_sp_addr %p\n", SYS_INIT_SP_ADDR);
+ printf("gbl_data_size %p\n", GENERATED_GBL_DATA_SIZE);
panic("FDT overlap");
}
}
--
2.34.1
More information about the U-Boot
mailing list