public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Lothar Rubusch <l.rubusch@gmail.com>
To: u-boot@lists.denx.de, trini@konsulko.com, marex@denx.de,
	simon.k.r.goldschmidt@gmail.com, tien.fong.chee@intel.com,
	sumit.garg@linaro.org
Cc: sjg@chromium.org, xypron.glpk@gmx.de, michal.simek@amd.com,
	jit.loon.lim@intel.com, barnas@google.com, l.rubusch@gmail.com
Subject: [PATCH v4 v5 10/10] ARM: socfpga: apply binman approach to fpga parts
Date: Tue, 19 Nov 2024 22:46:43 +0000	[thread overview]
Message-ID: <20241119224643.27692-11-l.rubusch@gmail.com> (raw)
In-Reply-To: <20241119224643.27692-1-l.rubusch@gmail.com>

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@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


      parent reply	other threads:[~2024-11-20  0:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-19 22:46 [PATCH v4 v5 00/10] add support for Enclustra Mercury AA1 SoMs Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 01/10] doc: board: enclustra: add Enclustra Mercury+ AA1 Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 02/10] ARM: socfpga: add Mercury+ AA1 SoM support Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 03/10] ARM: dts: socfpga: add Mercury+ AA1 for u-boot dts Lothar Rubusch
2025-01-22  4:35   ` Chee, Tien Fong
2025-01-27 10:30     ` Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 04/10] ARM: socfpga: add Enclustra storage switch Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 05/10] ARM: socfpga: add Mercury+ AA1 boot scripts Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 06/10] ARM: socfpga: AA1: support MAC from secure eeprom Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 07/10] misc: atsha204a: update kconfig description Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 08/10] ARM: dts: arria10: update according to DTSpec Lothar Rubusch
2024-11-19 22:46 ` [PATCH v4 v5 09/10] ARM: socfpga: update function call to modern API Lothar Rubusch
2024-11-19 22:46 ` Lothar Rubusch [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20241119224643.27692-11-l.rubusch@gmail.com \
    --to=l.rubusch@gmail.com \
    --cc=barnas@google.com \
    --cc=jit.loon.lim@intel.com \
    --cc=marex@denx.de \
    --cc=michal.simek@amd.com \
    --cc=simon.k.r.goldschmidt@gmail.com \
    --cc=sjg@chromium.org \
    --cc=sumit.garg@linaro.org \
    --cc=tien.fong.chee@intel.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox