Forum Discussion
Arria 10 - FPGA Boot
Hi GregD,
Have you solved your issue and be able to integrate u-boot 2021.04 in a .sof to use the FPGA boot feature?
I am also interested in this feature, but I failed to build a working binary.
I already have a working u-boot with version 2014.10, and I am trying to migrate to version 2021.07.
I tried to transpose https://www.rocketboards.org/foswiki/Documentation/A10GSRD151FPGABoot to u-boot 2021.07 without success :
1. Add the devicetree node:
config { load-environment = <0>; };
2. Set the CONFIG_SPL_TEXT_BASE in the defconfig to 0xC0000000 (instead of setting the #define CONFIG_SYS_TEXT_BASE)
3. Edit the file arch/arm/mach-socfpga/board.c (instead of the file board/altera/socfpga_arria10/socfpga_common.c):
int board_init(void) { /* Address of boot parameters for ATAG (if ATAG is used) */ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; /* Disable security / privilege in the A10 NOC to allow masters to write to FPGA OCM */ writel(0x03fe0101, 0xFFD13500); //noc_fw_soc2fpga_soc2fpga_scr:lwsoc2fpga: Allow unsecured accesses from all masters When cleared (0) secure access only writel(0x03fe0101, 0xFFD13504); //noc_fw_soc2fpga_soc2fpga_scr:soc2fpga: Allow unsecured accesses from all masters When cleared (0) secure access only writel(0xffffffff, 0xFFD11004); //noc_l4_priv_l4_priv_filter: Allow all peripherals to accept non privileged accesses. (When cleared (0) only privileged access are allowed) return 0; }
4. Convert the generated preloader image u-boot-with-spl.bin to Intel .hex format:
arm-poky-linux-gnueabi-objcopy -I binary -O ihex --adjust-vma -0x00000000 u-boot-with-spl.bin hpsBootTarget.hex
Any suggestions ?
Best regards,