[PATCH] arm: socfpga: Add fitImage for SPL programs periph RBF only
dinesh.maniyam at altera.com
dinesh.maniyam at altera.com
Wed Mar 11 06:03:19 CET 2026
From: Dinesh Maniyam <dinesh.maniyam at altera.com>
This is fitImage for programming peripheral RBF only in SPL, so that user
has option to program core RBF in U-Boot proper. The advantage of
programming core RBF in U-Boot proper especially for SDMMC boot the
performance can be increased up to around 90%, because program core RBF
in SPL hitting penalty on alignment issue in common FAT driver.
Signed-off-by: Tien Fong Chee <tien.fong.chee at intel.com>
Signed-off-by: Dinesh Maniyam <dinesh.maniyam at altera.com>
---
.../fit_spl_fpga_periph_only.its | 38 +++++++++++++++++++
configs/socfpga_arria10_defconfig | 2 +-
include/configs/socfpga_common.h | 2 +
3 files changed, 41 insertions(+), 1 deletion(-)
create mode 100644 board/altera/arria10-socdk/fit_spl_fpga_periph_only.its
diff --git a/board/altera/arria10-socdk/fit_spl_fpga_periph_only.its b/board/altera/arria10-socdk/fit_spl_fpga_periph_only.its
new file mode 100644
index 00000000000..06ba0328477
--- /dev/null
+++ b/board/altera/arria10-socdk/fit_spl_fpga_periph_only.its
@@ -0,0 +1,38 @@
+// SPDX-License-Identifier: GPL-2.0
+ /*
+ * Copyright (C) 2020 Intel Corporation <www.intel.com>
+ *
+ */
+
+/dts-v1/;
+
+/ {
+ description = "FIT image with FPGA bistream";
+ #address-cells = <1>;
+
+ images {
+ fpga-periph-1 {
+ description = "FPGA peripheral bitstream";
+ data = /incbin/("../../../ghrd_10as066n2.periph.rbf");
+ type = "fpga";
+ arch = "arm";
+ compression = "none";
+ };
+
+ fpga-core-1 {
+ description = "FPGA core bitstream";
+ data = /incbin/("../../../ghrd_10as066n2.core.rbf");
+ type = "fpga";
+ arch = "arm";
+ compression = "none";
+ };
+ };
+
+ configurations {
+ default = "config-1";
+ config-1 {
+ description = "Boot with FPGA early IO release config";
+ fpga = "fpga-periph-1";
+ };
+ };
+};
diff --git a/configs/socfpga_arria10_defconfig b/configs/socfpga_arria10_defconfig
index b32f40ae408..1648e4bda4b 100644
--- a/configs/socfpga_arria10_defconfig
+++ b/configs/socfpga_arria10_defconfig
@@ -20,7 +20,7 @@ CONFIG_SPL_FIT=y
CONFIG_DISTRO_DEFAULTS=y
CONFIG_USE_BOOTARGS=y
CONFIG_BOOTARGS="console=ttyS0,115200"
-# CONFIG_USE_BOOTCOMMAND is not set
+CONFIG_BOOTCOMMAND="run fatscript;run prog_core;bridge enable;run distro_bootcmd"
CONFIG_DEFAULT_FDT_FILE="socfpga_arria10_socdk_sdmmc.dtb"
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 2acfdc7df4a..2c01bf9d9fa 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -154,6 +154,8 @@
"pxefile_addr_r=0x02200000\0" \
"ramdisk_addr_r=0x02300000\0" \
"socfpga_legacy_reset_compat=1\0" \
+ "prog_core=if load mmc 0:1 ${loadaddr} fit_spl_fpga.itb;" \
+ "then fpga loadmk 0 ${loadaddr}:fpga-core-1; fi\0" \
BOOTENV
#endif
--
2.43.7
More information about the U-Boot
mailing list