From: Dinesh Maniyam <[email protected]>

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 <[email protected]>
Signed-off-by: Dinesh Maniyam <[email protected]>
---
 .../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

Reply via email to