Intel® Agilex™ Hard Processor System Remote System Update User Guide

ID 683184
Date 7/13/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

8.5.3. U-Boot Source Code Details

This section presents some details about the U-Boot source code, to aid in the implementation of support for multiple SSBLs.

The U-Boot code which queries SDM for the SPT partitioning information and currently running image and displays them when the run list U-Boot command is executed is located in the file arch/arm/mach-socfpga/rsu_s10.c. This code can be used as a starting point for implementing the FSBL changes to allow it to load a different SSBL for each bitstream.

The file name for the SSBL binary to be loaded from SD card is defined in include/configs/socfpga_soc64_common.h:
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION	1
#ifdef CONFIG_SPL_LOAD_FIT
#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME		"u-boot.itb"
#else
#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME		"u-boot.img"
#endif
The MMC device number where the U-Boot environment is stored is also defined in include/configs/socfpga_soc64_common.h
#define CONFIG_SYS_MMC_ENV_DEV		0	/* device 0 */
Location and size of U-Boot environment when it is stored in SD/MMC is defined in configs/socfpga_agilex_atf_defconfig:
CONFIG_ENV_SIZE=0x1000
CONFIG_ENV_OFFSET=0x200
Location of SSBL in QSPI flash is defined in configs/socfpga_agilex_qspi_atf_defconfig:
CONFIG_SYS_SPI_U_BOOT_OFFS=0x02000000
Location and size of U-Boot environment in QSPI flash is defined in configs/socfpga_agilex_qspi_atf_defconfig:
CONFIG_ENV_SIZE=0x1000
CONFIG_ENV_SECT_SIZE=0x10000
CONFIG_ENV_OFFSET=0x020C0000