Hard Processor System Booting User Guide: Agilex™ 5 SoCs

ID 813762
Date 4/01/2024
Public
Document Table of Contents

5.1. U-Boot ATF Linux* Boot

The following figure shows the overview of the HPS Boot Flow using a U-Boot as HPS Bootloader to boot to the Linux* OS.

Figure 34. The U-Boot ATF Linux* Boot Flow

The boot flow is described in steps below:

  1. The Configuration Management Firmware (CMF), which is a part of the signed configuration bitstream, running on the SDM loads the FSBL, which is U-Boot SPL, into HPS On-Chip RAM and then bring the HPS boot core out from reset.
  2. The U-Boot SPL loads the SSBL, which is ATF BL31 and U-Boot proper (SSBL), into DDR.
  3. The U-Boot SPL jumps to the ATF BL31.
  4. The ATF BL31 sets up the GIC, EL3 environment, and initializes the PSCI services. PSCI services in ATF remain active or available once ATF jumps to U-Boot.
  5. The ATF BL31 jumps to the U-Boot proper.
  6. The U-Boot proper loads the Linux* OS into the DDR.
  7. The U-Boot jumps to the Linux* OS.
Note: The U-Boot proper and the Linux* OS can access the SDM FPGA features through ATF BL31 through the Arm* Secure Monitor Call (SMC).

For information on Exception Levels, refer to Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs.