Arria® 10 SoC Boot User Guide

ID 683735
Date 4/03/2019
Public
Document Table of Contents

1.2.3. Second Stage: Boot Loader (U-Boot)

Note: This section pertains to feature information for U-Boot. For information on UEFI boot loader features, refer to RocketBoards.org web page.

The function of the second-stage boot loader is user-defined. The Intel-provided second-stage boot loader is a combination of initialization, configuration and U-Boot code and contains features such as:

  • SD/MMC controller driver
  • QSPI controller driver
  • NAND Controller driver
  • Ethernet driver plus protocol support
  • Drivers for system-level IP, such as Clock Manager, System Manager, and FPGA Manager
  • Cache memory drivers
  • UART, timer and watchdog drivers
  • FAT file system support
  • Flat Image Tree (FIT) image processing
  • U-Boot console support including basic essential debug commands
  • Cryptographic library
  • U-Boot device tree processing library
  • System and memory firewall configuration
  • Initialization code for the interface that loads the next stage of software

If a secure boot is required, the second-stage boot loader can be used to increase the level of security and to authenticate and initiate decryption of the next boot image if necessary.

Configuring the SDRAM firewall allows the second-stage boot loader to load the next stage of the boot software into SDRAM. The maximum length for a second-stage boot loader to fit into on-chip RAM is 208 KB with authentication and 224 KB without authentication. A typical next software stage is loading the application OS software. The second-stage boot loader is allowed to load the next stage boot software from any device available to the HPS. Typical sources include the same flash device that contains the second stage boot loader, a different flash device, or a communication interface such as an EMAC.

If the second-stage boot loader must be authenticated, it must store a public key. Below is a figure that depicts the second-stage boot loader image presented to the boot ROM, during a secure, authenticated boot.

Figure 7. High-Level Diagram of Second-Stage Boot Loader Image