summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYau Wai Gan <yau.wai.gan@intel.com>2022-03-01 18:05:39 +0800
committerYau Wai Gan <yau.wai.gan@intel.com>2022-03-01 18:05:39 +0800
commit24e26ba4a0d8fe816e32e760537a3f356823ba7b (patch)
tree93b6c013365cbf26d17c79122bb0e34360433364
parentee63370553cd01f7237174fe1971991271b7648b (diff)
downloadu-boot-socfpga-socfpga_v2021.07.tar.gz
Update the tested Intel Quartus software versions and the major changes in this u-boot version. Signed-off-by: Yau Wai Gan <yau.wai.gan@intel.com>
-rw-r--r--doc/README.socfpga75
1 files changed, 54 insertions, 21 deletions
diff --git a/doc/README.socfpga b/doc/README.socfpga
index 48ce9f7e0b..970af6c946 100644
--- a/doc/README.socfpga
+++ b/doc/README.socfpga
@@ -22,15 +22,14 @@ Table of Contents
1. Device Family Support vs Tested Intel Quartus
---------------------------------------------------------------------
- Processor SOCFPGA Device Family Intel Quartus Prime Pro Edition Intel Quartus Prime Standard Edition
- --------------------------------------------------------------------------------------------------------------------------------------------
- Dual-core ARM Cortex-A9 Cyclone V N/A 20.1
- Arria V N/A 20.1
- Arria 10 21.1 20.1
+ Processor SOCFPGA Device Family Intel Quartus Prime Pro Edition Intel Quartus Prime Standard Edition
+ ------------------------------------------------------------------------------------------------------------------------------------------------------------
+ Dual-core ARM Cortex-A9 Cyclone V N/A 21.1
+ Arria 10 21.4 N/A
- Quad-core ARM Cortex-A53 Stratix 10 21.1 N/A
- Agilex 21.1 N/A
- eASIC N5X Early access N/A
+ Quad-core ARM Cortex-A53 Stratix 10 20.1, 20.2, 20.3, 20.4, 21.1, 21.2, 21.3, 21.4 N/A
+ Agilex 20.1, 20.2, 20.3, 20.4, 21.1, 21.2, 21.3, 21.4 N/A
+ eASIC N5X 21.3 N/A
2. Feature Support
@@ -71,27 +70,61 @@ Table of Contents
3. Major Changes and Known Issues
---------------------------------------------------------------------
- 3.1 Upgraded U-boot to version v2021.04
+ 3.1 Upgraded U-boot to version v2021.07
- 3.2 Switched to use 'binman' tool to generate FIT image (*.itb)
+ 3.2 U-boot SPL supports spl-boot-order which is defined in device tree:
+ socfpga_<device family>_socdk-u-boot.dtsi for Stratix 10, Agilex and N5X
- Please refer to section '8. binman for U-boot ATF flow' for more information.
+ The default boot sequence is defined as following and can be updated to suit your need.
+ chosen {
+ u-boot,spl-boot-order = &mmc,&flash0,&nand;
+ };
- 3.3 Updated *_atf_defconfig files to load Linux via FIT image
+ 3.3 Updated socfpga defconfig files
- Standardized all ATF boot flow to load Linux via FIT image for all SOC64 devices
- (Stratix 10, Agilex, eASIC N5X).
+ The default defconfig for Stratix 10, Agilex and N5X are named following this convention:
+ socfpga_<device family>_defconfig
- Boot flow before U-boot version v2021.04:
- SPL --(U-boot.itb)--> U-boot --(booti: Image, dtb)--> Linux
+ This config uses ATF in the boot flow. This config support booting from SD card,
+ QSPI NOR flash, and NAND flash.
- Boot flow started in U-boot version v2021.04:
- SPL --(U-boot.itb)--> U-boot --(bootm: kernel.itb)--> Linux
+ For legacy boot flow (without ATF), the configs are named following this convention:
+ socfpga_<device family>_<boot flash>_legacy_defconfig
- 3.4 Add support to get JTAG usercode via SMC call
+ 3.4 Enable distro_boot for Stratix 10 and Agilex
- Add SMC Function ID "INTEL_SIP_SMC_GET_USERCODE" to get device JTAG usercode for all
- SOC64 devices (Stratix 10, Agilex, eASIC N5X).
+ The distro_boot is enabled by default for booting Linux. The boot process search for
+ U-boot script (boot.scr.uimg) which is in FIT image format. See [1] for reference.
+
+ Use the following command to generate the script FIT image:
+ mkimage -f uboot_script.its boot.scr.uimg
+
+ 3.5 Enable UBIFS support for booting from NAND flash
+
+ 3.6 Enable FPGA core configuration using bootm command
+
+ If the FPGA core raw binary file (RBF) is added in the kernel boot FIT image (kernel.itb),
+ the bootm operation will auto configure the FPGA during Linux boot-up.
+
+ Example of kernel FIT image with FPGA RBF:
+ fpga-0 {
+ description = "FPGA bitstream for GHRD";
+ data = /incbin/("./ghrd.core.rbf");
+ type = "fpga";
+ arch = "arm64";
+ compression = "none";
+ load = <0xA000000>;
+ hash {
+ algo = "crc32";
+ };
+ };
+
+ See [2] for complete file. Removing the FPGA section from FIT image will skip the FPGA configuration
+ during boot-up.
+
+ References:
+ [1] https://releases.rocketboards.org/release/2021.11/uboot-script/
+ [2] https://releases.rocketboards.org/release/2021.11/gsrd/agilex_gsrd/fit_kernel_agilex.its
4. Cyclone V / Arria V generating the handoff header files for U-Boot SPL
---------------------------------------------------------------------