With LTO enabled, mini U-Boot was hanging during reloc_fdt(). The initial stack pointer was placed too low, and the FDT memcpy destination was carved only 4KB above it. This left insufficient margin, causing the FDT copy to overwrite the live early stack and corrupt execution before relocation. To fix this, increase the malloc heap from 8KB to 12KB and raise the initial stack pointer by 4KB. Together these adjustments increase the separation between the early stack and the FDT region during the pre-relocation phase, eliminating the overlap and fixing the hang on mini builds (QSPI/OSPI). Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com> Signed-off-by: Michal Simek <michal.simek@amd.com>
79 lines
2.2 KiB
Plaintext
79 lines
2.2 KiB
Plaintext
CONFIG_ARM=y
|
|
CONFIG_SYS_CONFIG_NAME="xilinx_versal_mini"
|
|
CONFIG_COUNTER_FREQUENCY=100000000
|
|
CONFIG_ARCH_VERSAL=y
|
|
CONFIG_TEXT_BASE=0xFFFC0000
|
|
CONFIG_SYS_MALLOC_LEN=0x3000
|
|
CONFIG_SYS_MALLOC_F_LEN=0x500
|
|
CONFIG_NR_DRAM_BANKS=1
|
|
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
|
|
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xFFFE2000
|
|
CONFIG_SF_DEFAULT_SPEED=30000000
|
|
CONFIG_ENV_SIZE=0x80
|
|
# CONFIG_DM_GPIO is not set
|
|
CONFIG_DEFAULT_DEVICE_TREE="versal-mini-ospi-single"
|
|
CONFIG_SYS_LOAD_ADDR=0x8000000
|
|
CONFIG_XILINX_MINI=y
|
|
CONFIG_SYS_MEM_RSVD_FOR_MMU=y
|
|
CONFIG_VERSAL_NO_DDR=y
|
|
# CONFIG_PSCI_RESET is not set
|
|
CONFIG_LTO=y
|
|
# CONFIG_EXPERT is not set
|
|
CONFIG_REMAKE_ELF=y
|
|
# CONFIG_AUTOBOOT is not set
|
|
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
|
# CONFIG_DISPLAY_CPUINFO is not set
|
|
CONFIG_BOARD_EARLY_INIT_R=y
|
|
# CONFIG_BOARD_LATE_INIT is not set
|
|
# CONFIG_CMDLINE_EDITING is not set
|
|
# CONFIG_AUTO_COMPLETE is not set
|
|
# CONFIG_SYS_LONGHELP is not set
|
|
CONFIG_SYS_PROMPT="Versal> "
|
|
# CONFIG_CMD_BDI is not set
|
|
# CONFIG_CMD_CONSOLE is not set
|
|
# CONFIG_CMD_HELP is not set
|
|
# CONFIG_CMD_BOOTD is not set
|
|
# CONFIG_CMD_BOOTM is not set
|
|
# CONFIG_CMD_BOOTI is not set
|
|
# CONFIG_CMD_ELF is not set
|
|
# CONFIG_CMD_FDT is not set
|
|
# CONFIG_CMD_GO is not set
|
|
# CONFIG_CMD_RUN is not set
|
|
# CONFIG_CMD_IMI is not set
|
|
# CONFIG_CMD_XIMG is not set
|
|
# CONFIG_CMD_EXPORTENV is not set
|
|
# CONFIG_CMD_IMPORTENV is not set
|
|
# CONFIG_CMD_EDITENV is not set
|
|
# CONFIG_CMD_SAVEENV is not set
|
|
# CONFIG_CMD_ENV_EXISTS is not set
|
|
# CONFIG_CMD_CRC32 is not set
|
|
# CONFIG_CMD_LOADB is not set
|
|
# CONFIG_CMD_LOADS is not set
|
|
# CONFIG_CMD_ECHO is not set
|
|
# CONFIG_CMD_ITEST is not set
|
|
# CONFIG_CMD_SOURCE is not set
|
|
# CONFIG_CMD_SETEXPR is not set
|
|
CONFIG_NO_NET=y
|
|
# CONFIG_DM_DEVICE_REMOVE is not set
|
|
# CONFIG_SIMPLE_BUS is not set
|
|
# CONFIG_MMC is not set
|
|
CONFIG_MTD=y
|
|
CONFIG_DM_SPI_FLASH=y
|
|
CONFIG_SPI_FLASH_SOFT_RESET=y
|
|
CONFIG_SPI_FLASH_SOFT_RESET_ON_BOOT=y
|
|
# CONFIG_SPI_FLASH_LOCK is not set
|
|
CONFIG_SPI_FLASH_GIGADEVICE=y
|
|
CONFIG_SPI_FLASH_ISSI=y
|
|
CONFIG_SPI_FLASH_MACRONIX=y
|
|
CONFIG_SPI_FLASH_STMICRO=y
|
|
CONFIG_SPI_FLASH_MT35XU=y
|
|
CONFIG_ARM_DCC=y
|
|
CONFIG_SOC_XILINX_VERSAL=y
|
|
CONFIG_SPI=y
|
|
CONFIG_DM_SPI=y
|
|
CONFIG_CADENCE_QSPI=y
|
|
CONFIG_HAS_CQSPI_REF_CLK=y
|
|
CONFIG_CQSPI_REF_CLK=200000000
|
|
CONFIG_CADENCE_OSPI_VERSAL=y
|
|
# CONFIG_LMB is not set
|