Boot ROM
The boot ROM contains software code that executes after a reset exits. If running on CPU0, the boot ROM
code reads the boot select (BOOTSEL) and clock select (CLKSEL) values from the bsel and csel fields of the
boot information register (boot info) in the system manager. This is done to determine the boot source and
to set up the clock manager. The bsel and csel field values come from the BOOTSEL and CLKSEL pins which
are sampled by the system manager coming out of reset.
The user software in CPU0 is responsible to release CPU1 from reset. If CPU1 is released from reset with
the boot ROM mapped to the reset exception address, the boot ROM code jumps to the value in the CPU1
start address (
cpu1startaddr
) in the boot ROM code register group (
romcodegrp
) in the system
manager.
BOOTSEL Field Values and Flash Device Selection
Table A-1: BOOTSEL Field Values and Flash Device Selection
Flash Device
BOOTSEL Field Value
Reserved
0x0
FPGA (HPS-to-FPGA bridge)
0x1
1.8 V NAND flash memory
0x2
3.3 V NAND flash memory
0x3
1.8 V SD/MMC flash memory with external
transceiver
0x4
3.3 V SD/MMC flash memory with internal
transceiver
0x5
1.8 V SPI or quad SPI flash memory
0x6
3.3 V SPI or quad SPI flash memory
0x7
Note:
If the BOOTSEL value is set 0x1 to Boot from FPGA, then the CLKSEL values are ignored. PLLs are bypassed
so that OSC1 drives all the clocks.
For indirect execution from flash memory boot sources, the boot ROM code loads the preloader image from
the flash device to the on-chip RAM and passes software control to the preloader in the on-chip RAM. For
direct execution from the FPGA fabric boot source, the boot ROM code waits until the FPGA portion of the
device is in user mode, and is ready to execute code and then passes software control to the preloader in the
FPGA RAM.
Preloader
The function of the preloader is user-defined. However, typical functions include initializing the SDRAM
interface and configuring the HPS I/O pins. Initializing the SDRAM allows the preloader to load the next
stage of the boot software (that might not fit in the 60 kilobytes (KB) available in the on-chip RAM). A typical
next software stage is the open source boot loader, U-boot.
Booting and Configuration Introduction
Altera Corporation
cv_5400a
Boot ROM
A-4
2013.12.30