Knowledge Base Article

Why does Agilex® 5 FPGA fail to boot Linux* from eMMC when using the ATF-to-Linux direct boot flow in the 26.1 release?

Description

Due to an issue with the SDRAM memory configuration in the Linux device tree, the Agilex® 5 FPGA HPS fails to boot Linux* from eMMC when using the ATF-to-Linux direct boot flow in the 26.1 release (Linux branch socfpga-6.18.2-lts). This issue is not observed in the U-Boot–to-Linux boot flow, as U-Boot patches the Linux device tree with the correct memory configuration. In the ATF-to-Linux direct boot flow, ATF does not perform this patching; therefore, the memory configuration must be correctly defined in the device tree.

Resolution

To work around this issue, the Linux device tree used for booting from eMMC in the ATF-to-Linux direct boot flow must be updated with the correct memory configuration. For the Premium Development Kit (ES and production), this requires updating the file arch/arm64/boot/dts/intel/socfpga_agilex5_socdk_emmc_atfboot.dts with the following fix:

memory {
device_type = "memory";
reg = <0 0x80000000 0 0x80000000>;
};

Refer to the following build instructions for the workaround implementation:

PDK 065B ES

PDK 065B

PDK 065A

This problem is scheduled to be fixed in a future release of the Quartus® Prime Pro Edition Software. 

Updated 5 months ago
Version 3.0
No CommentsBe the first to comment