[PATCH v4 v5 10/10] ARM: socfpga: apply binman approach to fpga parts
Lothar Rubusch
l.rubusch at gmail.com
Tue Nov 19 23:46:43 CET 2024
Convert the .its based approach to binman instruction covered in the
device tree generation. This reduces additional instructions and
integrates the former separate build step into building the u-boot.
Signed-off-by: Lothar Rubusch <l.rubusch at gmail.com>
---
..._arria10_enclustra_mercury_aa1-u-boot.dtsi | 44 +++++++++++++++++++
arch/arm/mach-socfpga/Kconfig | 1 +
board/enclustra/mercury_aa1/fpga.its | 32 --------------
doc/board/enclustra/mercury-aa1.rst | 3 ++
4 files changed, 48 insertions(+), 32 deletions(-)
delete mode 100644 board/enclustra/mercury_aa1/fpga.its
diff --git a/arch/arm/dts/socfpga_arria10_enclustra_mercury_aa1-u-boot.dtsi b/arch/arm/dts/socfpga_arria10_enclustra_mercury_aa1-u-boot.dtsi
index 6e38286572..9587d2dddb 100644
--- a/arch/arm/dts/socfpga_arria10_enclustra_mercury_aa1-u-boot.dtsi
+++ b/arch/arm/dts/socfpga_arria10_enclustra_mercury_aa1-u-boot.dtsi
@@ -18,6 +18,10 @@
compatible = "u-boot,fs-loader";
phandlepart = <&mmc 1>;
};
+
+ binman: binman {
+ multiple-images;
+ };
};
&fpga_mgr {
@@ -43,3 +47,43 @@
};
#endif
+
+&binman {
+ u-boot {
+ filename = "fpga.itb";
+
+ fit {
+ description = "FIT image with FPGA bistream";
+ fit,external-offset = <0>;
+ #address-cells = <1>;
+
+ images {
+ fpga-periph-1 {
+ description = "FPGA peripheral bitstream";
+ type = "fpga";
+ compression = "none";
+ blob-ext {
+ filename = "bitstream.periph.rbf";
+ };
+ };
+
+ fpga-core-1 {
+ description = "FPGA core bitstream";
+ type = "fpga";
+ compression = "none";
+ blob-ext {
+ filename = "bitstream.core.rbf";
+ };
+ };
+ };
+
+ configurations {
+ default = "config-1";
+ config-1 {
+ description = "Boot with FPGA early IO release config";
+ fpga = "fpga-periph-1", "fpga-core-1";
+ };
+ };
+ };
+ };
+};
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
index 60d8c889dc..e7236a56f7 100644
--- a/arch/arm/mach-socfpga/Kconfig
+++ b/arch/arm/mach-socfpga/Kconfig
@@ -186,6 +186,7 @@ config TARGET_SOCFPGA_EBV_SOCRATES
config TARGET_SOCFPGA_ENCLUSTRA_MERCURY_AA1
bool "Enclustra Mercury+ AA1"
+ select BINMAN
select TARGET_SOCFPGA_ARRIA10
config TARGET_SOCFPGA_IS1
diff --git a/board/enclustra/mercury_aa1/fpga.its b/board/enclustra/mercury_aa1/fpga.its
deleted file mode 100644
index cb42d61fbd..0000000000
--- a/board/enclustra/mercury_aa1/fpga.its
+++ /dev/null
@@ -1,32 +0,0 @@
-/dts-v1/;
-
-/ {
- description = "FIT image with FPGA bistream";
- #address-cells = <1>;
-
- images {
- fpga-periph-1 {
- description = "FPGA peripheral bitstream";
- data = /incbin/("../../../bitstream.periph.rbf");
- type = "fpga";
- arch = "arm";
- compression = "none";
- };
-
- fpga-core-1 {
- description = "FPGA core bitstream";
- data = /incbin/("../../../bitstream.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", "fpga-core-1";
- };
- };
-};
diff --git a/doc/board/enclustra/mercury-aa1.rst b/doc/board/enclustra/mercury-aa1.rst
index cba36aae2e..f3c629d42e 100644
--- a/doc/board/enclustra/mercury-aa1.rst
+++ b/doc/board/enclustra/mercury-aa1.rst
@@ -66,6 +66,9 @@ Build u-boot. Source your favorite toolchain for ARM first.
$ make socfpga_enclustra_mercury_aa1_defconfig
$ make -j8
+Note: Call ``make`` with ``NO_PYTHON=1`` where python tools unnecessarily falls
+back into additional python setup.
+
Setup and compile a boot script as needed. Depending on the boot-mode select
``sd-aa1.cmd`` for SD/eMMC, or ``qspi-aa1.cmd`` for QSPI flash.
--
2.39.2
More information about the U-Boot
mailing list