u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script
@ 2022-11-06 22:40 Simon Glass
  2022-11-06 22:40 ` [PATCH v4 1/7] binman: Allow writing section contents to a file Simon Glass
                   ` (7 more replies)
  0 siblings, 8 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Adam Ford, Alifer Moraes,
	Andre Przywara, Andreas Geisreiter, Andrew F. Davis,
	Angus Ainslie, Ariel D'Alessandro, Aswath Govindraju,
	Bin Meng, Chee Hong Ang, Chee Tien Fong, Chia-Wei, Wang,
	Chin-Liang See, Christoph Niedermaier, Dinh Nguyen,
	Fabio Estevam, Frieder Schrempf, Heiko Thiery,
	Heinrich Schuchardt, Ilko Iliev, Jagan Teki, Jan Kiszka, Le Jin,
	Ley Foon Tan, Luca Ceresoli, Lukasz Majewski, Manoj Sai,
	Marcel Ziswiler, Marco Franchi, Marek Behún, Marek Vasut,
	Matteo Lisi, Michael Trimarchi, Michael Walle, Michal Simek,
	Mingkai Hu, Olaf Mandel, Oliver Graute, Pali Rohár,
	Patrice Chotard, Patrick Delaunay, Paweł Anikiel, Peng Fan,
	Philipp Tomsich, Quentin Schulz, Rajesh Bhagat, Siew Chin Lim,
	Stefan Herbrechtsmeier, Teresa Remmet, Tim Harvey,
	Ying-Chun Liu (PaulLiu),
	kernel, u-boot, uboot-stm32

At present rockchip 64-bit boards make use of a FIT-generator script
written in Python. The script supports splitting an ELF file into several
'loadable' nodes in the FIT. Binman does not current support this feature.

This series adds binman support for ELF splitting. This works by adding a
new 'fit,operation' property to the FIT subnodes, allowing this new way of
generating nodes.

Some other fixes and improvements are needed along the way.

A new, common binman description is added for 64-bit boards which includes
the required u-boot.itb file.

The existing script is removed, so that only a few zynq boards are now
using a SPL_FIT_GENERATOR script:

   avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0
   xilinx_zynqmp_virt

Migration of those is hopefully in progress.

Note however that tools/k3_fit_atf.sh remains, used by a few boards that
enable CONFIG_TI_SECURE_DEVICE so this series is copied there too:

    am335x_hs_evm
    am335x_hs_evm_uart
    am43xx_hs_evm
    am57xx_hs_evm
    am57xx_hs_evm_usb
    am65x_hs_evm_a53
    am65x_hs_evm_r5
    dra7xx_hs_evm
    dra7xx_hs_evm_usb
    j721e_hs_evm_a72
    j721e_hs_evm_r5
    k2e_hs_evm
    k2g_hs_evm
    k2hk_hs_evm
    k2l_hs_evm

Ivan Mikhaylov has sent a patch to help with these, but I need to take a
look at the testing side. In any case they should really be using binman
for the image generation.

Changes in v4:
- Add new patch to disable USE_SPL_FIT_GENERATOR by default

Changes in v3:
- Add an offset to the FIT description
- Add support for writing sections in binman
- Rebase to master

Changes in v2:
- Rename op-tee to tee-os
- Drop use of .itb2
- Drop patches previously applied
- Add various suggestions from Alper Nebi Yasak
- Add patches to refactor binman's FIT support

Simon Glass (7):
  binman: Allow writing section contents to a file
  rockchip: evb-rk3288: Drop raw-image support
  rockchip: Include binman script in 64-bit boards
  rockchip: Support building the all output files in binman
  rockchip: Convert all boards to use binman
  rockchip: Drop the FIT generator script
  treewide: Disable USE_SPL_FIT_GENERATOR by default

 Makefile                                      |  11 +-
 arch/arm/dts/rk3368-u-boot.dtsi               |   1 +
 arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi   |   2 +-
 arch/arm/dts/rk3399-u-boot.dtsi               |   3 +
 arch/arm/dts/rockchip-u-boot.dtsi             |  73 ++++-
 arch/arm/mach-rockchip/Kconfig                |   6 +
 arch/arm/mach-rockchip/make_fit_atf.py        | 267 ------------------
 boot/Kconfig                                  |   6 +-
 configs/am335x_evm_defconfig                  |   1 -
 configs/am335x_hs_evm_defconfig               |   1 -
 configs/am335x_hs_evm_uart_defconfig          |   1 -
 configs/am43xx_evm_defconfig                  |   1 -
 configs/am43xx_evm_rtconly_defconfig          |   1 -
 configs/am43xx_evm_usbhost_boot_defconfig     |   1 -
 configs/am43xx_hs_evm_defconfig               |   1 -
 configs/am57xx_evm_defconfig                  |   1 -
 configs/am57xx_hs_evm_defconfig               |   1 -
 configs/am57xx_hs_evm_usb_defconfig           |   1 -
 configs/am65x_evm_a53_defconfig               |   1 -
 configs/am65x_evm_r5_defconfig                |   1 -
 configs/am65x_hs_evm_a53_defconfig            |   1 -
 configs/am65x_hs_evm_r5_defconfig             |   1 -
 ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig |   1 +
 configs/cgtqmx8_defconfig                     |   1 -
 configs/chromebook_link64_defconfig           |   1 -
 configs/dh_imx6_defconfig                     |   1 -
 configs/display5_defconfig                    |   1 -
 configs/display5_factory_defconfig            |   1 -
 configs/dra7xx_evm_defconfig                  |   1 -
 configs/dra7xx_hs_evm_defconfig               |   1 -
 configs/dra7xx_hs_evm_usb_defconfig           |   1 -
 configs/evb-ast2600_defconfig                 |   1 -
 configs/evb-rk3229_defconfig                  |   1 -
 configs/evb-rk3288_defconfig                  |   2 +-
 configs/gwventana_emmc_defconfig              |   1 -
 configs/gwventana_gw5904_defconfig            |   1 -
 configs/gwventana_nand_defconfig              |   1 -
 configs/imx6qdl_icore_mipi_defconfig          |   1 -
 configs/imx6qdl_icore_mmc_defconfig           |   1 -
 configs/imx6qdl_icore_rqs_defconfig           |   1 -
 configs/imx8mm-cl-iot-gate-optee_defconfig    |   1 -
 configs/imx8mm-cl-iot-gate_defconfig          |   1 -
 configs/imx8mm-icore-mx8mm-ctouch2_defconfig  |   1 -
 configs/imx8mm-icore-mx8mm-edimm2.2_defconfig |   1 -
 configs/imx8mm-mx8menlo_defconfig             |   1 -
 configs/imx8mm_beacon_defconfig               |   1 -
 configs/imx8mm_data_modul_edm_sbc_defconfig   |   1 -
 configs/imx8mm_evk_defconfig                  |   1 -
 configs/imx8mm_evk_fspi_defconfig             |   1 -
 configs/imx8mm_venice_defconfig               |   1 -
 configs/imx8mn_beacon_2g_defconfig            |   1 -
 configs/imx8mn_beacon_defconfig               |   1 -
 configs/imx8mn_bsh_smm_s2_defconfig           |   1 -
 configs/imx8mn_bsh_smm_s2pro_defconfig        |   1 -
 configs/imx8mn_ddr4_evk_defconfig             |   1 -
 configs/imx8mn_evk_defconfig                  |   1 -
 configs/imx8mn_var_som_defconfig              |   1 -
 configs/imx8mn_venice_defconfig               |   1 -
 configs/imx8mp-icore-mx8mp-edimm2.2_defconfig |   1 -
 configs/imx8mp_dhcom_pdk2_defconfig           |   1 -
 configs/imx8mp_evk_defconfig                  |   1 -
 configs/imx8mp_rsb3720a1_4G_defconfig         |   1 -
 configs/imx8mp_rsb3720a1_6G_defconfig         |   1 -
 configs/imx8mp_venice_defconfig               |   1 -
 configs/imx8mq_cm_defconfig                   |   1 -
 configs/imx8mq_evk_defconfig                  |   1 -
 configs/imx8mq_phanbell_defconfig             |   1 -
 configs/imx8qm_rom7720_a1_4G_defconfig        |   1 -
 configs/iot2050_defconfig                     |   1 -
 configs/j7200_evm_a72_defconfig               |   1 -
 configs/j7200_evm_r5_defconfig                |   1 -
 configs/j7200_hs_evm_a72_defconfig            |   1 -
 configs/j7200_hs_evm_r5_defconfig             |   1 -
 configs/j721e_evm_a72_defconfig               |   1 -
 configs/j721e_evm_r5_defconfig                |   1 -
 configs/j721e_hs_evm_a72_defconfig            |   1 -
 configs/j721e_hs_evm_r5_defconfig             |   1 -
 configs/j721s2_evm_a72_defconfig              |   1 -
 configs/j721s2_evm_r5_defconfig               |   1 -
 configs/j721s2_hs_evm_a72_defconfig           |   1 -
 configs/j721s2_hs_evm_r5_defconfig            |   1 -
 configs/kontron-sl-mx6ul_defconfig            |   1 -
 configs/kontron-sl-mx8mm_defconfig            |   1 -
 configs/kontron_pitx_imx8m_defconfig          |   1 -
 configs/kontron_sl28_defconfig                |   1 -
 configs/librem5_defconfig                     |   1 -
 configs/ls1046ardb_qspi_spl_defconfig         |   1 -
 configs/mccmon6_nor_defconfig                 |   1 -
 configs/mccmon6_sd_defconfig                  |   1 -
 configs/mx6sabreauto_defconfig                |   1 -
 configs/mx6sabresd_defconfig                  |   1 -
 configs/phycore-imx8mm_defconfig              |   1 -
 configs/phycore-imx8mp_defconfig              |   1 -
 configs/pico-imx6_defconfig                   |   1 -
 configs/pico-imx8mq_defconfig                 |   1 -
 configs/qemu-x86_64_defconfig                 |   1 -
 configs/sandbox_noinst_defconfig              |   1 -
 configs/sandbox_spl_defconfig                 |   1 -
 configs/sandbox_vpl_defconfig                 |   1 -
 configs/socfpga_agilex_atf_defconfig          |   1 -
 configs/socfpga_agilex_vab_defconfig          |   1 -
 configs/socfpga_arria10_defconfig             |   1 -
 configs/socfpga_chameleonv3_defconfig         |   1 -
 configs/socfpga_n5x_atf_defconfig             |   1 -
 configs/socfpga_n5x_vab_defconfig             |   1 -
 configs/socfpga_stratix10_atf_defconfig       |   1 -
 configs/stm32mp15_dhcom_basic_defconfig       |   1 -
 configs/stm32mp15_dhcor_basic_defconfig       |   1 -
 configs/verdin-imx8mm_defconfig               |   1 -
 configs/verdin-imx8mp_defconfig               |   1 -
 configs/wandboard_defconfig                   |   1 -
 configs/xilinx_zynq_virt_defconfig            |   1 -
 configs/xilinx_zynqmp_virt_defconfig          |   1 +
 tools/binman/binman.rst                       |   5 +
 tools/binman/etype/section.py                 |  12 +-
 tools/binman/ftest.py                         |  14 +
 tools/binman/image.py                         |   3 -
 tools/binman/test/261_section_fname.dts       |  29 ++
 118 files changed, 145 insertions(+), 393 deletions(-)
 delete mode 100755 arch/arm/mach-rockchip/make_fit_atf.py
 create mode 100644 tools/binman/test/261_section_fname.dts

-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v4 1/7] binman: Allow writing section contents to a file
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-11-07 14:24   ` Quentin Schulz
  2022-11-06 22:40 ` [PATCH v4 2/7] rockchip: evb-rk3288: Drop raw-image support Simon Glass
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Heiko Thiery,
	Stefan Herbrechtsmeier

At present only the image (which is a section) has a filename. Move this
implementation to the entry_Section class so that any section can have a
filename. With this, the section data is written to a file.

This allows parts of an image to be written, along with the entire image.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 tools/binman/binman.rst                 |  5 +++++
 tools/binman/etype/section.py           | 12 +++++++++-
 tools/binman/ftest.py                   | 14 ++++++++++++
 tools/binman/image.py                   |  3 ---
 tools/binman/test/261_section_fname.dts | 29 +++++++++++++++++++++++++
 5 files changed, 59 insertions(+), 4 deletions(-)
 create mode 100644 tools/binman/test/261_section_fname.dts

diff --git a/tools/binman/binman.rst b/tools/binman/binman.rst
index fda16f1992d..79578ff127b 100644
--- a/tools/binman/binman.rst
+++ b/tools/binman/binman.rst
@@ -837,6 +837,11 @@ name-prefix:
     renamed to 'ro-u-boot' and 'rw-u-boot'. This can be useful to
     distinguish binaries with otherwise identical names.
 
+filename:
+    This allows the contents of the section to be written to a file in the
+    output directory. This can sometimes be useful to use the data in one
+    section in different image, since there is currently no way to share data
+    beteen images other than through files.
 
 Image Properties
 ----------------
diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py
index da561e2bcc7..305155c8461 100644
--- a/tools/binman/etype/section.py
+++ b/tools/binman/etype/section.py
@@ -144,6 +144,10 @@ class Entry_section(Entry):
         be written at offset 4 in the image file, since the first 16 bytes are
         skipped when writing.
 
+    filename
+        filename to write the unpadded section contents to within the output
+        directory (None to skip this).
+
     Since a section is also an entry, it inherits all the properies of entries
     too.
 
@@ -163,6 +167,7 @@ class Entry_section(Entry):
         self._skip_at_start = None
         self._end_4gb = False
         self._ignore_missing = False
+        self._filename = None
 
     def ReadNode(self):
         """Read properties from the section node"""
@@ -183,6 +188,8 @@ class Entry_section(Entry):
                 self._skip_at_start = 0
         self._name_prefix = fdt_util.GetString(self._node, 'name-prefix')
         self.align_default = fdt_util.GetInt(self._node, 'align-default', 0)
+        self._filename = fdt_util.GetString(self._node, 'filename',
+                                            self._filename)
 
         self.ReadEntries()
 
@@ -348,7 +355,8 @@ class Entry_section(Entry):
         """Get the contents of an entry
 
         This builds the contents of the section, stores this as the contents of
-        the section and returns it
+        the section and returns it. If the section has a filename, the data is
+        written there also.
 
         Args:
             required: True if the data must be present, False if it is OK to
@@ -363,6 +371,8 @@ class Entry_section(Entry):
         if data is None:
             return None
         self.SetContents(data)
+        if self._filename:
+            tools.write_file(tools.get_output_filename(self._filename), data)
         return data
 
     def GetOffsets(self):
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index e849d96587c..7726041b745 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -6062,5 +6062,19 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap
             'Cannot write symbols to an ELF file without Python elftools',
             str(exc.exception))
 
+    def testSectionFilename(self):
+        """Check writing of section contents to a file"""
+        data = self._DoReadFile('261_section_fname.dts')
+        expected = (b'&&' + U_BOOT_DATA + b'&&&' +
+                    tools.get_bytes(ord('!'), 7) +
+                    U_BOOT_DATA + tools.get_bytes(ord('&'), 12))
+        self.assertEqual(expected, data)
+
+        sect_fname = tools.get_output_filename('outfile.bin')
+        self.assertTrue(os.path.exists(sect_fname))
+        sect_data = tools.read_file(sect_fname)
+        self.assertEqual(U_BOOT_DATA, sect_data)
+
+
 if __name__ == "__main__":
     unittest.main()
diff --git a/tools/binman/image.py b/tools/binman/image.py
index 6d4bff58436..b84dd21e22a 100644
--- a/tools/binman/image.py
+++ b/tools/binman/image.py
@@ -94,9 +94,6 @@ class Image(section.Entry_section):
 
     def ReadNode(self):
         super().ReadNode()
-        filename = fdt_util.GetString(self._node, 'filename')
-        if filename:
-            self._filename = filename
         self.allow_repack = fdt_util.GetBool(self._node, 'allow-repack')
         self._symlink = fdt_util.GetString(self._node, 'symlink')
 
diff --git a/tools/binman/test/261_section_fname.dts b/tools/binman/test/261_section_fname.dts
new file mode 100644
index 00000000000..790381e7301
--- /dev/null
+++ b/tools/binman/test/261_section_fname.dts
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/dts-v1/;
+
+/ {
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	binman {
+		pad-byte = <0x26>;
+		size = <0x20>;
+		section@0 {
+			size = <0x10>;
+			pad-byte = <0x21>;
+			pad-before = <2>;
+			pad-after = <3>;
+
+			section {
+				filename = "outfile.bin";
+				u-boot {
+				};
+			};
+		};
+		section@1 {
+			u-boot {
+			};
+		};
+	};
+};
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 2/7] rockchip: evb-rk3288: Drop raw-image support
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
  2022-11-06 22:40 ` [PATCH v4 1/7] binman: Allow writing section contents to a file Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-11-06 22:40 ` [PATCH v4 3/7] rockchip: Include binman script in 64-bit boards Simon Glass
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich

This boards uses SPL_FIT so does not need to support loading a raw image.
Drop it to avoid binman trying to insert a symbol which has no value.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 configs/evb-rk3288_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configs/evb-rk3288_defconfig b/configs/evb-rk3288_defconfig
index 1a05311ab03..bc3e590a117 100644
--- a/configs/evb-rk3288_defconfig
+++ b/configs/evb-rk3288_defconfig
@@ -28,6 +28,7 @@ CONFIG_SILENT_CONSOLE=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_PAD_TO=0x7f8000
 CONFIG_SPL_NO_BSS_LIMIT=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
 CONFIG_SPL_STACK=0xff718000
 CONFIG_SPL_STACK_R=y
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 3/7] rockchip: Include binman script in 64-bit boards
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
  2022-11-06 22:40 ` [PATCH v4 1/7] binman: Allow writing section contents to a file Simon Glass
  2022-11-06 22:40 ` [PATCH v4 2/7] rockchip: evb-rk3288: Drop raw-image support Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-11-07 14:32   ` Quentin Schulz
  2022-11-06 22:40 ` [PATCH v4 4/7] rockchip: Support building the all output files in binman Simon Glass
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Jagan Teki, Philipp Tomsich

Include the rockchip-u-boot.dtsi file with 64-bit boards and enable binman
so that these boards can also use it, rather than using special Makefile
rules and scripts.

This does not change the Makefile nor remove any scripts, but sets it up
so that this is possible.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
---

(no changes since v1)

 arch/arm/dts/rk3368-u-boot.dtsi             | 1 +
 arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi | 2 +-
 arch/arm/dts/rk3399-u-boot.dtsi             | 3 +++
 arch/arm/mach-rockchip/Kconfig              | 6 ++++++
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/arm/dts/rk3368-u-boot.dtsi b/arch/arm/dts/rk3368-u-boot.dtsi
index 811d59ac346..4c0a6ff1561 100644
--- a/arch/arm/dts/rk3368-u-boot.dtsi
+++ b/arch/arm/dts/rk3368-u-boot.dtsi
@@ -3,6 +3,7 @@
  * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
  */
 
+#include "rockchip-u-boot.dtsi"
 #include <dt-bindings/memory/rk3368-dmc.h>
 #include "rockchip-u-boot.dtsi"
 
diff --git a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
index f8335c74a74..1af3bbfb3d3 100644
--- a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
@@ -46,7 +46,7 @@
 
 &binman {
 	simple-bin {
-		blob {
+		fit {
 			offset = <((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512)>;
 		};
 	};
diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
index 3c1a15fe51b..63da02489d3 100644
--- a/arch/arm/dts/rk3399-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-u-boot.dtsi
@@ -62,6 +62,8 @@
 
 #if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
 &binman {
+	multiple-images;
+#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
 	rom {
 		filename = "u-boot.rom";
 		size = <0x400000>;
@@ -81,6 +83,7 @@
 		fdtmap {
 		};
 	};
+#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
 };
 #endif
 
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
index 69d51ff3789..90d42650211 100644
--- a/arch/arm/mach-rockchip/Kconfig
+++ b/arch/arm/mach-rockchip/Kconfig
@@ -15,6 +15,7 @@ config ROCKCHIP_PX30
 	select DEBUG_UART_BOARD_INIT
 	imply ROCKCHIP_COMMON_BOARD
 	imply SPL_ROCKCHIP_COMMON_BOARD
+	imply BINMAN
 	help
 	  The Rockchip PX30 is a ARM-based SoC with a quad-core Cortex-A35
 	  including NEON and GPU, Mali-400 graphics, several DDR3 options
@@ -168,6 +169,7 @@ config ROCKCHIP_RK3308
 	imply SPL_SERIAL
 	imply TPL_SERIAL
 	imply SPL_SEPARATE_BSS
+	imply BINMAN
 	help
 	  The Rockchip RK3308 is a ARM-based Soc which embedded with quad
 	  Cortex-A35 and highly integrated audio interfaces.
@@ -189,6 +191,7 @@ config ROCKCHIP_RK3328
 	select ENABLE_ARM_SOC_BOOT0_HOOK
 	select DEBUG_UART_BOARD_INIT
 	select SYS_NS16550
+	imply BINMAN
 	help
 	  The Rockchip RK3328 is a ARM-based SoC with a quad-core Cortex-A53.
 	  including NEON and GPU, 1MB L2 cache, Mali-T7 graphics, two
@@ -208,6 +211,7 @@ config ROCKCHIP_RK3368
 	imply SPL_SERIAL
 	imply TPL_SERIAL
 	imply TPL_ROCKCHIP_COMMON_BOARD
+	imply BINMAN
 	help
 	  The Rockchip RK3368 is a ARM-based SoC with a octa-core (organised
 	  into a big and little cluster with 4 cores each) Cortex-A53 including
@@ -266,6 +270,7 @@ config ROCKCHIP_RK3399
 	imply TPL_ROCKCHIP_COMMON_BOARD
 	imply SYS_BOOTCOUNT_SINGLEWORD if BOOTCOUNT_LIMIT
 	imply CMD_BOOTCOUNT if BOOTCOUNT_LIMIT
+	imply BINMAN
 	help
 	  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72
 	  and quad-core Cortex-A53.
@@ -286,6 +291,7 @@ config ROCKCHIP_RK3568
 	select SYSCON
 	select BOARD_LATE_INIT
 	imply ROCKCHIP_COMMON_BOARD
+	imply BINMAN
 	help
 	  The Rockchip RK3568 is a ARM-based SoC with quad-core Cortex-A55,
 	  including NEON and GPU, 512K L3 cache, Mali-G52 based graphics,
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 4/7] rockchip: Support building the all output files in binman
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
                   ` (2 preceding siblings ...)
  2022-11-06 22:40 ` [PATCH v4 3/7] rockchip: Include binman script in 64-bit boards Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-11-07 14:17   ` Jerome Forissier
  2022-11-07 14:45   ` Quentin Schulz
  2022-11-06 22:40 ` [PATCH v4 5/7] rockchip: Convert all boards to use binman Simon Glass
                   ` (3 subsequent siblings)
  7 siblings, 2 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Philipp Tomsich

Add the required binman images to replace the Makefile rules which are
currently used. This includes subsuming:

   - tpl/u-boot-tpl-rockchip.bin if TPL is enabled
   - idbloader.img if either or both of SPL and TPL are enabled
   - u-boot.itb if SPL_FIT is enabled
   - u-boot-rockchip.bin if SPL is used, either using u-boot.itb when
     SPL_FIT is enabled or u-boot.img when it isn't

Note that the intermediate files are dropped with binman, since it
producing everything in one pass. This means that
tpl/u-boot-tpl-rockchip.bin is not created, for example.

Note that for some 32-bit rk3288 boards, rockchip-optee.dtsi is included.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v3)

Changes in v3:
- Add an offset to the FIT description

Changes in v2:
- Rename op-tee to tee-os
- Drop use of .itb2

 arch/arm/dts/rockchip-u-boot.dtsi | 73 ++++++++++++++++++++++++++++---
 1 file changed, 68 insertions(+), 5 deletions(-)

diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
index 584f21eb5bf..084f72b0bd4 100644
--- a/arch/arm/dts/rockchip-u-boot.dtsi
+++ b/arch/arm/dts/rockchip-u-boot.dtsi
@@ -30,14 +30,77 @@
 			};
 		};
 
-#ifdef CONFIG_ARM64
-		blob {
+#if defined(CONFIG_SPL_FIT) && defined(CONFIG_ARM64)
+		fit: fit {
+			description = "FIT image for U-Boot with bl31 (TF-A)";
+			#address-cells = <1>;
+			fit,fdt-list = "of-list";
 			filename = "u-boot.itb";
+			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
+			offset = <CONFIG_SPL_PAD_TO>;
+			images {
+				u-boot {
+					description = "U-Boot (64-bit)";
+					type = "standalone";
+					os = "U-Boot";
+					arch = "arm64";
+					compression = "none";
+					load = <CONFIG_TEXT_BASE>;
+					u-boot-nodtb {
+					};
+				};
+
+				@atf-SEQ {
+					fit,operation = "split-elf";
+					description = "ARM Trusted Firmware";
+					type = "firmware";
+					arch = "arm64";
+					os = "arm-trusted-firmware";
+					compression = "none";
+					fit,load;
+					fit,entry;
+					fit,data;
+
+					atf-bl31 {
+					};
+				};
+				@tee-SEQ {
+					fit,operation = "split-elf";
+					description = "TEE";
+					type = "tee";
+					arch = "arm64";
+					os = "tee";
+					compression = "none";
+					fit,load;
+					fit,entry;
+					fit,data;
+
+					tee-os {
+					};
+				};
+
+				@fdt-SEQ {
+					description = "fdt-NAME";
+					compression = "none";
+					type = "flat_dt";
+				};
+			};
+
+			configurations {
+				default = "@config-DEFAULT-SEQ";
+				@config-SEQ {
+					description = "NAME.dtb";
+					fdt = "fdt-SEQ";
+					firmware = "u-boot";
+					fit,loadables;
+				};
+			};
+		};
 #else
 		u-boot-img {
-#endif
 			offset = <CONFIG_SPL_PAD_TO>;
 		};
+#endif
 	};
 
 #ifdef CONFIG_ROCKCHIP_SPI_IMAGE
@@ -68,6 +131,6 @@
 			offset = <CONFIG_SYS_SPI_U_BOOT_OFFS>;
 		};
 	};
-#endif
+#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
 };
-#endif
+#endif /* CONFIG_SPL */
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 5/7] rockchip: Convert all boards to use binman
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
                   ` (3 preceding siblings ...)
  2022-11-06 22:40 ` [PATCH v4 4/7] rockchip: Support building the all output files in binman Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-11-06 22:40 ` [PATCH v4 6/7] rockchip: Drop the FIT generator script Simon Glass
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Andre Przywara, Heinrich Schuchardt,
	Marek Behún, Pali Rohár, Quentin Schulz

Instead of the bash script, use binman to generate the FIT for arm64.

For 32-bit boards, use binman for all images, dropping the intermediate
files.

With this change, only Zynq is now using SPL_FIT_GENERATOR so update the
Kconfig rule accordingly.

Clean up the Makefile to the extent possible. Unfortunately, two boards
do not use SPL_FRAMEWORK so don't enable the u-boot.img rule:

   evb-rk3036
   kylin-rk3036

So a small remnant remains.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 Makefile     | 8 +-------
 boot/Kconfig | 2 +-
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index d5c2c970092..fda9cd2c889 100644
--- a/Makefile
+++ b/Makefile
@@ -1004,14 +1004,9 @@ ifeq ($(CONFIG_INIT_SP_RELATIVE)$(CONFIG_OF_SEPARATE),yy)
 INPUTS-y += init_sp_bss_offset_check
 endif
 
-ifeq ($(CONFIG_ARCH_ROCKCHIP)$(CONFIG_SPL),yy)
-# Binman image dependencies
-ifeq ($(CONFIG_ARM64),y)
-INPUTS-y += u-boot.itb
-else
+ifeq ($(CONFIG_ARCH_ROCKCHIP)_$(CONFIG_SPL_FRAMEWORK),y_)
 INPUTS-y += u-boot.img
 endif
-endif
 
 INPUTS-$(CONFIG_X86) += u-boot-x86-start16.bin u-boot-x86-reset16.bin \
 	$(if $(CONFIG_SPL_X86_16BIT_INIT),spl/u-boot-spl.bin) \
@@ -1486,7 +1481,6 @@ OBJCOPYFLAGS_u-boot-with-spl.bin = -I binary -O binary \
 u-boot-with-spl.bin: $(SPL_IMAGE) $(SPL_PAYLOAD) FORCE
 	$(call if_changed,pad_cat)
 
-
 ifeq ($(CONFIG_ARCH_LPC32XX)$(CONFIG_SPL),yy)
 MKIMAGEFLAGS_lpc32xx-spl.img = -T lpc32xximage -a $(CONFIG_SPL_TEXT_BASE)
 
diff --git a/boot/Kconfig b/boot/Kconfig
index d5c582ebe8c..a01aedd8a57 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -277,7 +277,7 @@ config SPL_FIT_SOURCE
 
 config USE_SPL_FIT_GENERATOR
 	bool "Use a script to generate the .its script"
-	default y if SPL_FIT && (!ARCH_SUNXI && !RISCV)
+	default y if SPL_FIT && ARCH_ZYNQMP
 
 config SPL_FIT_GENERATOR
 	string ".its file generator script for U-Boot FIT image"
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 6/7] rockchip: Drop the FIT generator script
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
                   ` (4 preceding siblings ...)
  2022-11-06 22:40 ` [PATCH v4 5/7] rockchip: Convert all boards to use binman Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-11-06 22:40 ` [PATCH v4 7/7] treewide: Disable USE_SPL_FIT_GENERATOR by default Simon Glass
  2022-12-07  1:08 ` [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
  7 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Andre Przywara, Heinrich Schuchardt,
	Marek Behún, Pali Rohár, Philipp Tomsich,
	Quentin Schulz

This is not used anymore. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v3)

Changes in v3:
- Add support for writing sections in binman
- Rebase to master

Changes in v2:
- Drop patches previously applied
- Add various suggestions from Alper Nebi Yasak
- Add patches to refactor binman's FIT support

 Makefile                               |   3 -
 arch/arm/mach-rockchip/make_fit_atf.py | 267 -------------------------
 boot/Kconfig                           |   1 -
 3 files changed, 271 deletions(-)
 delete mode 100755 arch/arm/mach-rockchip/make_fit_atf.py

diff --git a/Makefile b/Makefile
index fda9cd2c889..f9554c9460d 100644
--- a/Makefile
+++ b/Makefile
@@ -1374,9 +1374,6 @@ $(U_BOOT_ITS): $(subst ",,$(CONFIG_SPL_FIT_SOURCE))
 else
 ifneq ($(CONFIG_USE_SPL_FIT_GENERATOR),)
 U_BOOT_ITS := u-boot.its
-ifeq ($(CONFIG_SPL_FIT_GENERATOR),"arch/arm/mach-rockchip/make_fit_atf.py")
-U_BOOT_ITS_DEPS += u-boot
-endif
 $(U_BOOT_ITS): $(U_BOOT_ITS_DEPS) FORCE
 	$(srctree)/$(CONFIG_SPL_FIT_GENERATOR) \
 	$(patsubst %,arch/$(ARCH)/dts/%.dtb,$(subst ",,$(CONFIG_OF_LIST))) > $@
diff --git a/arch/arm/mach-rockchip/make_fit_atf.py b/arch/arm/mach-rockchip/make_fit_atf.py
deleted file mode 100755
index 08cfe9f51e9..00000000000
--- a/arch/arm/mach-rockchip/make_fit_atf.py
+++ /dev/null
@@ -1,267 +0,0 @@
-#!/usr/bin/env python3
-"""
-# SPDX-License-Identifier: GPL-2.0+
-#
-# A script to generate FIT image source for rockchip boards
-# with ARM Trusted Firmware
-# and multiple device trees (given on the command line)
-#
-# usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
-"""
-
-import os
-import sys
-import getopt
-import logging
-import struct
-
-DT_HEADER = """
-/*
- * This is a generated file.
- */
-/dts-v1/;
-
-/ {
-	description = "FIT image for U-Boot with bl31 (TF-A)";
-	#address-cells = <1>;
-
-	images {
-"""
-
-DT_UBOOT = """
-		uboot {
-			description = "U-Boot (64-bit)";
-			data = /incbin/("u-boot-nodtb.bin");
-			type = "standalone";
-			os = "U-Boot";
-			arch = "arm64";
-			compression = "none";
-			load = <0x%08x>;
-		};
-
-"""
-
-DT_IMAGES_NODE_END = """	};
-
-"""
-
-DT_END = "};"
-
-def append_bl31_node(file, atf_index, phy_addr, elf_entry):
-    # Append BL31 DT node to input FIT dts file.
-    data = 'bl31_0x%08x.bin' % phy_addr
-    file.write('\t\tatf_%d {\n' % atf_index)
-    file.write('\t\t\tdescription = \"ARM Trusted Firmware\";\n')
-    file.write('\t\t\tdata = /incbin/("%s");\n' % data)
-    file.write('\t\t\ttype = "firmware";\n')
-    file.write('\t\t\tarch = "arm64";\n')
-    file.write('\t\t\tos = "arm-trusted-firmware";\n')
-    file.write('\t\t\tcompression = "none";\n')
-    file.write('\t\t\tload = <0x%08x>;\n' % phy_addr)
-    if atf_index == 1:
-        file.write('\t\t\tentry = <0x%08x>;\n' % elf_entry)
-    file.write('\t\t};\n')
-    file.write('\n')
-
-def append_tee_node(file, atf_index, phy_addr, elf_entry):
-    # Append TEE DT node to input FIT dts file.
-    data = 'tee_0x%08x.bin' % phy_addr
-    file.write('\t\tatf_%d {\n' % atf_index)
-    file.write('\t\t\tdescription = \"TEE\";\n')
-    file.write('\t\t\tdata = /incbin/("%s");\n' % data)
-    file.write('\t\t\ttype = "tee";\n')
-    file.write('\t\t\tarch = "arm64";\n')
-    file.write('\t\t\tos = "tee";\n')
-    file.write('\t\t\tcompression = "none";\n')
-    file.write('\t\t\tload = <0x%08x>;\n' % phy_addr)
-    file.write('\t\t\tentry = <0x%08x>;\n' % elf_entry)
-    file.write('\t\t};\n')
-    file.write('\n')
-
-def append_fdt_node(file, dtbs):
-    # Append FDT nodes.
-    cnt = 1
-    for dtb in dtbs:
-        dtname = os.path.basename(dtb)
-        file.write('\t\tfdt_%d {\n' % cnt)
-        file.write('\t\t\tdescription = "%s";\n' % dtname)
-        file.write('\t\t\tdata = /incbin/("%s");\n' % dtb)
-        file.write('\t\t\ttype = "flat_dt";\n')
-        file.write('\t\t\tcompression = "none";\n')
-        file.write('\t\t};\n')
-        file.write('\n')
-        cnt = cnt + 1
-
-def append_conf_section(file, cnt, dtname, segments):
-    file.write('\t\tconfig_%d {\n' % cnt)
-    file.write('\t\t\tdescription = "%s";\n' % dtname)
-    file.write('\t\t\tfirmware = "atf_1";\n')
-    file.write('\t\t\tloadables = "uboot"')
-    if segments > 1:
-        file.write(',')
-    for i in range(1, segments):
-        file.write('"atf_%d"' % (i + 1))
-        if i != (segments - 1):
-            file.write(',')
-        else:
-            file.write(';\n')
-    if segments <= 1:
-        file.write(';\n')
-    file.write('\t\t\tfdt = "fdt_%d";\n' % cnt)
-    file.write('\t\t};\n')
-    file.write('\n')
-
-def append_conf_node(file, dtbs, segments):
-    # Append configeration nodes.
-    cnt = 1
-    file.write('\tconfigurations {\n')
-    file.write('\t\tdefault = "config_1";\n')
-    for dtb in dtbs:
-        dtname = os.path.basename(dtb)
-        append_conf_section(file, cnt, dtname, segments)
-        cnt = cnt + 1
-    file.write('\t};\n')
-    file.write('\n')
-
-def generate_atf_fit_dts_uboot(fit_file, uboot_file_name):
-    segments = unpack_elf(uboot_file_name)
-    if len(segments) != 1:
-        raise ValueError("Invalid u-boot ELF image '%s'" % uboot_file_name)
-    index, entry, p_paddr, data = segments[0]
-    fit_file.write(DT_UBOOT % p_paddr)
-
-def generate_atf_fit_dts_bl31(fit_file, bl31_file_name, tee_file_name, dtbs_file_name):
-    segments = unpack_elf(bl31_file_name)
-    for index, entry, paddr, data in segments:
-        append_bl31_node(fit_file, index + 1, paddr, entry)
-    num_segments = len(segments)
-
-    if tee_file_name:
-        tee_segments = unpack_tee_file(tee_file_name)
-        for index, entry, paddr, data in tee_segments:
-            append_tee_node(fit_file, num_segments + index + 1, paddr, entry)
-        num_segments = num_segments + len(tee_segments)
-
-    append_fdt_node(fit_file, dtbs_file_name)
-    fit_file.write(DT_IMAGES_NODE_END)
-    append_conf_node(fit_file, dtbs_file_name, num_segments)
-
-def generate_atf_fit_dts(fit_file_name, bl31_file_name, tee_file_name, uboot_file_name, dtbs_file_name):
-    # Generate FIT script for ATF image.
-    if fit_file_name != sys.stdout:
-        fit_file = open(fit_file_name, "wb")
-    else:
-        fit_file = sys.stdout
-
-    fit_file.write(DT_HEADER)
-    generate_atf_fit_dts_uboot(fit_file, uboot_file_name)
-    generate_atf_fit_dts_bl31(fit_file, bl31_file_name, tee_file_name, dtbs_file_name)
-    fit_file.write(DT_END)
-
-    if fit_file_name != sys.stdout:
-        fit_file.close()
-
-def generate_atf_binary(bl31_file_name):
-    for index, entry, paddr, data in unpack_elf(bl31_file_name):
-        file_name = 'bl31_0x%08x.bin' % paddr
-        with open(file_name, "wb") as atf:
-            atf.write(data)
-
-def generate_tee_binary(tee_file_name):
-    if tee_file_name:
-        for index, entry, paddr, data in unpack_tee_file(tee_file_name):
-            file_name = 'tee_0x%08x.bin' % paddr
-            with open(file_name, "wb") as atf:
-                atf.write(data)
-
-def unpack_elf(filename):
-    with open(filename, 'rb') as file:
-        elf = file.read()
-    if elf[0:7] != b'\x7fELF\x02\x01\x01' or elf[18:20] != b'\xb7\x00':
-        raise ValueError("Invalid arm64 ELF file '%s'" % filename)
-
-    e_entry, e_phoff = struct.unpack_from('<2Q', elf, 0x18)
-    e_phentsize, e_phnum = struct.unpack_from('<2H', elf, 0x36)
-    segments = []
-
-    for index in range(e_phnum):
-        offset = e_phoff + e_phentsize * index
-        p_type, p_flags, p_offset = struct.unpack_from('<LLQ', elf, offset)
-        if p_type == 1: # PT_LOAD
-            p_paddr, p_filesz = struct.unpack_from('<2Q', elf, offset + 0x18)
-            if p_filesz > 0:
-                p_data = elf[p_offset:p_offset + p_filesz]
-                segments.append((index, e_entry, p_paddr, p_data))
-    return segments
-
-def unpack_tee_file(filename):
-    if filename.endswith('.elf'):
-        return unpack_elf(filename)
-    with open(filename, 'rb') as file:
-        bin = file.read()
-    segments = []
-    if bin[0:5] == b'OPTE\x01':
-        # OP-TEE v1 format (tee.bin)
-        init_sz, start_hi, start_lo, _, paged_sz = struct.unpack_from('<5I',
-                                                                      bin,
-                                                                      0x8)
-        if paged_sz != 0:
-            raise ValueError("OP-TEE paged mode not supported")
-        e_entry = (start_hi << 32) + start_lo
-        p_addr = e_entry
-        p_data = bin[0x1c:]
-        if len(p_data) != init_sz:
-            raise ValueError("Invalid file '%s': size mismatch "
-                             "(expected %d, have %d)" % (filename, init_sz,
-                                                         len(p_data)))
-        segments.append((0, e_entry, p_addr, p_data))
-    else:
-        raise ValueError("Unknown format for TEE file '%s'" % filename)
-    return segments
-
-def main():
-    uboot_elf = "./u-boot"
-    fit_its = sys.stdout
-    if "BL31" in os.environ:
-        bl31_elf=os.getenv("BL31");
-    elif os.path.isfile("./bl31.elf"):
-        bl31_elf = "./bl31.elf"
-    else:
-        os.system("echo 'int main(){}' > bl31.c")
-        os.system("${CROSS_COMPILE}gcc -c bl31.c -o bl31.elf")
-        bl31_elf = "./bl31.elf"
-        logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)
-        logging.warning(' BL31 file bl31.elf NOT found, resulting binary is non-functional')
-        logging.warning(' Please read Building section in doc/README.rockchip')
-
-    if "TEE" in os.environ:
-        tee_file = os.getenv("TEE")
-    elif os.path.isfile("./tee.bin"):
-        tee_file = "./tee.bin"
-    elif os.path.isfile("./tee.elf"):
-        tee_file = "./tee.elf"
-    else:
-        tee_file = ""
-
-    opts, args = getopt.getopt(sys.argv[1:], "o:u:b:t:h")
-    for opt, val in opts:
-        if opt == "-o":
-            fit_its = val
-        elif opt == "-u":
-            uboot_elf = val
-        elif opt == "-b":
-            bl31_elf = val
-        elif opt == "-t":
-            tee_file = val
-        elif opt == "-h":
-            print(__doc__)
-            sys.exit(2)
-
-    dtbs = args
-
-    generate_atf_fit_dts(fit_its, bl31_elf, tee_file, uboot_elf, dtbs)
-    generate_atf_binary(bl31_elf)
-    generate_tee_binary(tee_file)
-
-if __name__ == "__main__":
-    main()
diff --git a/boot/Kconfig b/boot/Kconfig
index a01aedd8a57..4e6284f9169 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -282,7 +282,6 @@ config USE_SPL_FIT_GENERATOR
 config SPL_FIT_GENERATOR
 	string ".its file generator script for U-Boot FIT image"
 	depends on USE_SPL_FIT_GENERATOR
-	default "arch/arm/mach-rockchip/make_fit_atf.py" if SPL_LOAD_FIT && ARCH_ROCKCHIP
 	default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if SPL_LOAD_FIT && ARCH_ZYNQMP
 	help
 	  Specifies a (platform specific) script file to generate the FIT
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v4 7/7] treewide: Disable USE_SPL_FIT_GENERATOR by default
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
                   ` (5 preceding siblings ...)
  2022-11-06 22:40 ` [PATCH v4 6/7] rockchip: Drop the FIT generator script Simon Glass
@ 2022-11-06 22:40 ` Simon Glass
  2022-12-07  1:08 ` [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
  7 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-06 22:40 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Simon Glass,
	Kever Yang, Philipp Tomsich, Adam Ford, Alifer Moraes,
	Andre Przywara, Andreas Geisreiter, Andrew F. Davis,
	Angus Ainslie, Ariel D'Alessandro, Aswath Govindraju,
	Bin Meng, Chee Hong Ang, Chee Tien Fong, Chia-Wei, Wang,
	Chin-Liang See, Christoph Niedermaier, Dinh Nguyen,
	Fabio Estevam, Frieder Schrempf, Heiko Thiery, Ilko Iliev,
	Jagan Teki, Jan Kiszka, Le Jin, Ley Foon Tan, Luca Ceresoli,
	Lukasz Majewski, Manoj Sai, Marcel Ziswiler, Marco Franchi,
	Marek Vasut, Matteo Lisi, Michael Trimarchi, Michael Walle,
	Michal Simek, Mingkai Hu, Olaf Mandel, Oliver Graute,
	Patrice Chotard, Patrick Delaunay, Paweł Anikiel, Peng Fan,
	Rajesh Bhagat, Siew Chin Lim, Teresa Remmet, Tim Harvey,
	Ying-Chun Liu (PaulLiu),
	kernel, u-boot, uboot-stm32

This option is deprecated and only used by two boards. Enable it for just
those two boards, so others don't accidentally enable it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v4:
- Add new patch to disable USE_SPL_FIT_GENERATOR by default

 boot/Kconfig                                                 | 5 +++--
 configs/am335x_evm_defconfig                                 | 1 -
 configs/am335x_hs_evm_defconfig                              | 1 -
 configs/am335x_hs_evm_uart_defconfig                         | 1 -
 configs/am43xx_evm_defconfig                                 | 1 -
 configs/am43xx_evm_rtconly_defconfig                         | 1 -
 configs/am43xx_evm_usbhost_boot_defconfig                    | 1 -
 configs/am43xx_hs_evm_defconfig                              | 1 -
 configs/am57xx_evm_defconfig                                 | 1 -
 configs/am57xx_hs_evm_defconfig                              | 1 -
 configs/am57xx_hs_evm_usb_defconfig                          | 1 -
 configs/am65x_evm_a53_defconfig                              | 1 -
 configs/am65x_evm_r5_defconfig                               | 1 -
 configs/am65x_hs_evm_a53_defconfig                           | 1 -
 configs/am65x_hs_evm_r5_defconfig                            | 1 -
 .../avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig   | 1 +
 configs/cgtqmx8_defconfig                                    | 1 -
 configs/chromebook_link64_defconfig                          | 1 -
 configs/dh_imx6_defconfig                                    | 1 -
 configs/display5_defconfig                                   | 1 -
 configs/display5_factory_defconfig                           | 1 -
 configs/dra7xx_evm_defconfig                                 | 1 -
 configs/dra7xx_hs_evm_defconfig                              | 1 -
 configs/dra7xx_hs_evm_usb_defconfig                          | 1 -
 configs/evb-ast2600_defconfig                                | 1 -
 configs/evb-rk3229_defconfig                                 | 1 -
 configs/evb-rk3288_defconfig                                 | 1 -
 configs/gwventana_emmc_defconfig                             | 1 -
 configs/gwventana_gw5904_defconfig                           | 1 -
 configs/gwventana_nand_defconfig                             | 1 -
 configs/imx6qdl_icore_mipi_defconfig                         | 1 -
 configs/imx6qdl_icore_mmc_defconfig                          | 1 -
 configs/imx6qdl_icore_rqs_defconfig                          | 1 -
 configs/imx8mm-cl-iot-gate-optee_defconfig                   | 1 -
 configs/imx8mm-cl-iot-gate_defconfig                         | 1 -
 configs/imx8mm-icore-mx8mm-ctouch2_defconfig                 | 1 -
 configs/imx8mm-icore-mx8mm-edimm2.2_defconfig                | 1 -
 configs/imx8mm-mx8menlo_defconfig                            | 1 -
 configs/imx8mm_beacon_defconfig                              | 1 -
 configs/imx8mm_data_modul_edm_sbc_defconfig                  | 1 -
 configs/imx8mm_evk_defconfig                                 | 1 -
 configs/imx8mm_evk_fspi_defconfig                            | 1 -
 configs/imx8mm_venice_defconfig                              | 1 -
 configs/imx8mn_beacon_2g_defconfig                           | 1 -
 configs/imx8mn_beacon_defconfig                              | 1 -
 configs/imx8mn_bsh_smm_s2_defconfig                          | 1 -
 configs/imx8mn_bsh_smm_s2pro_defconfig                       | 1 -
 configs/imx8mn_ddr4_evk_defconfig                            | 1 -
 configs/imx8mn_evk_defconfig                                 | 1 -
 configs/imx8mn_var_som_defconfig                             | 1 -
 configs/imx8mn_venice_defconfig                              | 1 -
 configs/imx8mp-icore-mx8mp-edimm2.2_defconfig                | 1 -
 configs/imx8mp_dhcom_pdk2_defconfig                          | 1 -
 configs/imx8mp_evk_defconfig                                 | 1 -
 configs/imx8mp_rsb3720a1_4G_defconfig                        | 1 -
 configs/imx8mp_rsb3720a1_6G_defconfig                        | 1 -
 configs/imx8mp_venice_defconfig                              | 1 -
 configs/imx8mq_cm_defconfig                                  | 1 -
 configs/imx8mq_evk_defconfig                                 | 1 -
 configs/imx8mq_phanbell_defconfig                            | 1 -
 configs/imx8qm_rom7720_a1_4G_defconfig                       | 1 -
 configs/iot2050_defconfig                                    | 1 -
 configs/j7200_evm_a72_defconfig                              | 1 -
 configs/j7200_evm_r5_defconfig                               | 1 -
 configs/j7200_hs_evm_a72_defconfig                           | 1 -
 configs/j7200_hs_evm_r5_defconfig                            | 1 -
 configs/j721e_evm_a72_defconfig                              | 1 -
 configs/j721e_evm_r5_defconfig                               | 1 -
 configs/j721e_hs_evm_a72_defconfig                           | 1 -
 configs/j721e_hs_evm_r5_defconfig                            | 1 -
 configs/j721s2_evm_a72_defconfig                             | 1 -
 configs/j721s2_evm_r5_defconfig                              | 1 -
 configs/j721s2_hs_evm_a72_defconfig                          | 1 -
 configs/j721s2_hs_evm_r5_defconfig                           | 1 -
 configs/kontron-sl-mx6ul_defconfig                           | 1 -
 configs/kontron-sl-mx8mm_defconfig                           | 1 -
 configs/kontron_pitx_imx8m_defconfig                         | 1 -
 configs/kontron_sl28_defconfig                               | 1 -
 configs/librem5_defconfig                                    | 1 -
 configs/ls1046ardb_qspi_spl_defconfig                        | 1 -
 configs/mccmon6_nor_defconfig                                | 1 -
 configs/mccmon6_sd_defconfig                                 | 1 -
 configs/mx6sabreauto_defconfig                               | 1 -
 configs/mx6sabresd_defconfig                                 | 1 -
 configs/phycore-imx8mm_defconfig                             | 1 -
 configs/phycore-imx8mp_defconfig                             | 1 -
 configs/pico-imx6_defconfig                                  | 1 -
 configs/pico-imx8mq_defconfig                                | 1 -
 configs/qemu-x86_64_defconfig                                | 1 -
 configs/sandbox_noinst_defconfig                             | 1 -
 configs/sandbox_spl_defconfig                                | 1 -
 configs/sandbox_vpl_defconfig                                | 1 -
 configs/socfpga_agilex_atf_defconfig                         | 1 -
 configs/socfpga_agilex_vab_defconfig                         | 1 -
 configs/socfpga_arria10_defconfig                            | 1 -
 configs/socfpga_chameleonv3_defconfig                        | 1 -
 configs/socfpga_n5x_atf_defconfig                            | 1 -
 configs/socfpga_n5x_vab_defconfig                            | 1 -
 configs/socfpga_stratix10_atf_defconfig                      | 1 -
 configs/stm32mp15_dhcom_basic_defconfig                      | 1 -
 configs/stm32mp15_dhcor_basic_defconfig                      | 1 -
 configs/verdin-imx8mm_defconfig                              | 1 -
 configs/verdin-imx8mp_defconfig                              | 1 -
 configs/wandboard_defconfig                                  | 1 -
 configs/xilinx_zynq_virt_defconfig                           | 1 -
 configs/xilinx_zynqmp_virt_defconfig                         | 1 +
 106 files changed, 5 insertions(+), 105 deletions(-)

diff --git a/boot/Kconfig b/boot/Kconfig
index 4e6284f9169..62ca7de0b8a 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -277,12 +277,13 @@ config SPL_FIT_SOURCE
 
 config USE_SPL_FIT_GENERATOR
 	bool "Use a script to generate the .its script"
-	default y if SPL_FIT && ARCH_ZYNQMP
+	help
+	  This is deprecated. Please do not use it. Use binman instead.
 
 config SPL_FIT_GENERATOR
 	string ".its file generator script for U-Boot FIT image"
 	depends on USE_SPL_FIT_GENERATOR
-	default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if SPL_LOAD_FIT && ARCH_ZYNQMP
+	default "arch/arm/mach-zynqmp/mkimage_fit_atf.sh" if ARCH_ZYNQMP
 	help
 	  Specifies a (platform specific) script file to generate the FIT
 	  source file used to build the U-Boot FIT image file. This gets
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index f0fbe475b39..14cba17a10b 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -14,7 +14,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030ff00
 CONFIG_TIMESTAMP=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd"
 CONFIG_LOGLEVEL=3
diff --git a/configs/am335x_hs_evm_defconfig b/configs/am335x_hs_evm_defconfig
index 8d3a4548d9a..038bfa7ea7a 100644
--- a/configs/am335x_hs_evm_defconfig
+++ b/configs/am335x_hs_evm_defconfig
@@ -13,7 +13,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030ff00
 CONFIG_TIMESTAMP=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd"
 CONFIG_LOGLEVEL=3
diff --git a/configs/am335x_hs_evm_uart_defconfig b/configs/am335x_hs_evm_uart_defconfig
index 7080b14c467..1050d1fe79b 100644
--- a/configs/am335x_hs_evm_uart_defconfig
+++ b/configs/am335x_hs_evm_uart_defconfig
@@ -16,7 +16,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030ff00
 CONFIG_TIMESTAMP=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run init_console; run finduuid; run distro_bootcmd"
 CONFIG_LOGLEVEL=3
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
index 2dfd936057f..67b56764432 100644
--- a/configs/am43xx_evm_defconfig
+++ b/configs/am43xx_evm_defconfig
@@ -13,7 +13,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4033ff00
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_MISC_INIT_R is not set
diff --git a/configs/am43xx_evm_rtconly_defconfig b/configs/am43xx_evm_rtconly_defconfig
index 357da192b83..922342a0b38 100644
--- a/configs/am43xx_evm_rtconly_defconfig
+++ b/configs/am43xx_evm_rtconly_defconfig
@@ -13,7 +13,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4033ff00
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_MISC_INIT_R is not set
diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig
index 0e58221c820..801afba1d84 100644
--- a/configs/am43xx_evm_usbhost_boot_defconfig
+++ b/configs/am43xx_evm_usbhost_boot_defconfig
@@ -12,7 +12,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4033ff00
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 # CONFIG_MISC_INIT_R is not set
diff --git a/configs/am43xx_hs_evm_defconfig b/configs/am43xx_hs_evm_defconfig
index 2b5a7fb2599..3ea06628dbe 100644
--- a/configs/am43xx_hs_evm_defconfig
+++ b/configs/am43xx_hs_evm_defconfig
@@ -18,7 +18,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4033ff00
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index 054e9747a8b..b3490dabaab 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -18,7 +18,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4037ff00
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board"
diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig
index 02a2543a3f0..c0d5a5893ec 100644
--- a/configs/am57xx_hs_evm_defconfig
+++ b/configs/am57xx_hs_evm_defconfig
@@ -21,7 +21,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4037ff00
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board"
diff --git a/configs/am57xx_hs_evm_usb_defconfig b/configs/am57xx_hs_evm_usb_defconfig
index 84eca42aac0..66dfb96f6a6 100644
--- a/configs/am57xx_hs_evm_usb_defconfig
+++ b/configs/am57xx_hs_evm_usb_defconfig
@@ -23,7 +23,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4037ff00
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board"
diff --git a/configs/am65x_evm_a53_defconfig b/configs/am65x_evm_a53_defconfig
index fe3346f2150..84ca386eafd 100644
--- a/configs/am65x_evm_a53_defconfig
+++ b/configs/am65x_evm_a53_defconfig
@@ -30,7 +30,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
 CONFIG_LOGLEVEL=7
diff --git a/configs/am65x_evm_r5_defconfig b/configs/am65x_evm_r5_defconfig
index 45f50b6ae8e..64e1416162b 100644
--- a/configs/am65x_evm_r5_defconfig
+++ b/configs/am65x_evm_r5_defconfig
@@ -28,7 +28,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41c7effc
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
diff --git a/configs/am65x_hs_evm_a53_defconfig b/configs/am65x_hs_evm_a53_defconfig
index 79182a77f30..94beb9ed67c 100644
--- a/configs/am65x_hs_evm_a53_defconfig
+++ b/configs/am65x_hs_evm_a53_defconfig
@@ -30,7 +30,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run get_fit_${boot}; run get_overlaystring; run run_fit"
 CONFIG_LOGLEVEL=7
diff --git a/configs/am65x_hs_evm_r5_defconfig b/configs/am65x_hs_evm_r5_defconfig
index cbd702c3eda..9b463044211 100644
--- a/configs/am65x_hs_evm_r5_defconfig
+++ b/configs/am65x_hs_evm_r5_defconfig
@@ -27,7 +27,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41c7effc
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x58000
diff --git a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
index 943b4da21d1..7842481c45b 100644
--- a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
+++ b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
@@ -23,6 +23,7 @@ CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x10000000
+CONFIG_USE_SPL_FIT_GENERATOR=y
 CONFIG_BOOTDELAY=0
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_CLOCKS=y
diff --git a/configs/cgtqmx8_defconfig b/configs/cgtqmx8_defconfig
index ba2b09fb441..5bdd6d1afe6 100644
--- a/configs/cgtqmx8_defconfig
+++ b/configs/cgtqmx8_defconfig
@@ -21,7 +21,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
 CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/chromebook_link64_defconfig b/configs/chromebook_link64_defconfig
index b645cba9070..3a657027fbf 100644
--- a/configs/chromebook_link64_defconfig
+++ b/configs/chromebook_link64_defconfig
@@ -20,7 +20,6 @@ CONFIG_HAVE_VGA_BIOS=y
 CONFIG_X86_OFFSET_U_BOOT=0xffa00000
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
 CONFIG_SHOW_BOOT_PROGRESS=y
diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
index 007438ba83d..44814322e14 100644
--- a/configs/dh_imx6_defconfig
+++ b/configs/dh_imx6_defconfig
@@ -32,7 +32,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=3
 # CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/display5_defconfig b/configs/display5_defconfig
index 9daa9a49211..143280cdeed 100644
--- a/configs/display5_defconfig
+++ b/configs/display5_defconfig
@@ -31,7 +31,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/display5_factory_defconfig b/configs/display5_factory_defconfig
index 1f0546027f9..8e7511b8f5e 100644
--- a/configs/display5_factory_defconfig
+++ b/configs/display5_factory_defconfig
@@ -28,7 +28,6 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
 CONFIG_SPL_SPI=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index d91cf3e1301..ed47a396d5c 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -20,7 +20,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4037fef0
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=jacinto6evmboard"
diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig
index 195bc0e4ee0..ffff1116e7a 100644
--- a/configs/dra7xx_hs_evm_defconfig
+++ b/configs/dra7xx_hs_evm_defconfig
@@ -23,7 +23,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4037fef0
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=jacinto6evmboard"
diff --git a/configs/dra7xx_hs_evm_usb_defconfig b/configs/dra7xx_hs_evm_usb_defconfig
index 99cdbbc02f8..fd24cb0a23d 100644
--- a/configs/dra7xx_hs_evm_usb_defconfig
+++ b/configs/dra7xx_hs_evm_usb_defconfig
@@ -24,7 +24,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4037fef0
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80200000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="androidboot.serialno=${serial#} console=ttyS0,115200 androidboot.console=ttyS0 androidboot.hardware=jacinto6evmboard"
diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
index 2fac79bbd72..11f3d57a8f4 100644
--- a/configs/evb-ast2600_defconfig
+++ b/configs/evb-ast2600_defconfig
@@ -28,7 +28,6 @@ CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x10000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS4,115200n8 root=/dev/ram rw"
 CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/evb-rk3229_defconfig b/configs/evb-rk3229_defconfig
index f8ca1f6597b..b7aef260ba0 100644
--- a/configs/evb-rk3229_defconfig
+++ b/configs/evb-rk3229_defconfig
@@ -23,7 +23,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x61100000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_PREBOOT=y
 CONFIG_DEFAULT_FDT_FILE="rk3229-evb.dtb"
 # CONFIG_DISPLAY_CPUINFO is not set
diff --git a/configs/evb-rk3288_defconfig b/configs/evb-rk3288_defconfig
index bc3e590a117..dc71457be17 100644
--- a/configs/evb-rk3288_defconfig
+++ b/configs/evb-rk3288_defconfig
@@ -21,7 +21,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x100000
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_PREBOOT=y
 CONFIG_DEFAULT_FDT_FILE="rk3288-evb-rk808.dtb"
 CONFIG_SILENT_CONSOLE=y
diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig
index 8ec67510ff2..ac10e03fd9a 100644
--- a/configs/gwventana_emmc_defconfig
+++ b/configs/gwventana_emmc_defconfig
@@ -28,7 +28,6 @@ CONFIG_AHCI=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig
index 597d289f32d..bd1b254794a 100644
--- a/configs/gwventana_gw5904_defconfig
+++ b/configs/gwventana_gw5904_defconfig
@@ -28,7 +28,6 @@ CONFIG_AHCI=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig
index 54195fb6e5d..3ec68b3ee07 100644
--- a/configs/gwventana_nand_defconfig
+++ b/configs/gwventana_nand_defconfig
@@ -28,7 +28,6 @@ CONFIG_AHCI=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/imx6qdl_icore_mipi_defconfig b/configs/imx6qdl_icore_mipi_defconfig
index d90e42c723b..e15b00da9c8 100644
--- a/configs/imx6qdl_icore_mipi_defconfig
+++ b/configs/imx6qdl_icore_mipi_defconfig
@@ -27,7 +27,6 @@ CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig
index e8cbf67b68b..f6459556009 100644
--- a/configs/imx6qdl_icore_mmc_defconfig
+++ b/configs/imx6qdl_icore_mmc_defconfig
@@ -30,7 +30,6 @@ CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/imx6qdl_icore_rqs_defconfig b/configs/imx6qdl_icore_rqs_defconfig
index e497d28ff28..bc4a191351a 100644
--- a/configs/imx6qdl_icore_rqs_defconfig
+++ b/configs/imx6qdl_icore_rqs_defconfig
@@ -24,7 +24,6 @@ CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_BOOTDELAY=3
diff --git a/configs/imx8mm-cl-iot-gate-optee_defconfig b/configs/imx8mm-cl-iot-gate-optee_defconfig
index bb105811c47..21b773842f0 100644
--- a/configs/imx8mm-cl-iot-gate-optee_defconfig
+++ b/configs/imx8mm-cl-iot-gate-optee_defconfig
@@ -21,7 +21,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
diff --git a/configs/imx8mm-cl-iot-gate_defconfig b/configs/imx8mm-cl-iot-gate_defconfig
index 548fb7bf7a2..88a0b987c78 100644
--- a/configs/imx8mm-cl-iot-gate_defconfig
+++ b/configs/imx8mm-cl-iot-gate_defconfig
@@ -23,7 +23,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
diff --git a/configs/imx8mm-icore-mx8mm-ctouch2_defconfig b/configs/imx8mm-icore-mx8mm-ctouch2_defconfig
index 18d605e0446..97b50433ef3 100644
--- a/configs/imx8mm-icore-mx8mm-ctouch2_defconfig
+++ b/configs/imx8mm-icore-mx8mm-ctouch2_defconfig
@@ -21,7 +21,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mm-icore-mx8mm-ctouch2.dtb"
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
diff --git a/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig b/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig
index 9fe30e2030b..69b6bd51b8e 100644
--- a/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig
+++ b/configs/imx8mm-icore-mx8mm-edimm2.2_defconfig
@@ -21,7 +21,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mm-icore-mx8mm-edimm2.2.dtb"
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
diff --git a/configs/imx8mm-mx8menlo_defconfig b/configs/imx8mm-mx8menlo_defconfig
index 991bd1a43c9..54c8781d96f 100644
--- a/configs/imx8mm-mx8menlo_defconfig
+++ b/configs/imx8mm-mx8menlo_defconfig
@@ -27,7 +27,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOOTCOMMAND="mmc partconf 0 distro_bootpart && load ${devtype} ${devnum}:${distro_bootpart} ${loadaddr} boot/fitImage && source ${loadaddr}:bootscr-boot.cmd ; reset"
 CONFIG_DEFAULT_FDT_FILE="imx8mm-mx8menlo.dtb"
diff --git a/configs/imx8mm_beacon_defconfig b/configs/imx8mm_beacon_defconfig
index b66f8bfea06..cceaeaaca2c 100644
--- a/configs/imx8mm_beacon_defconfig
+++ b/configs/imx8mm_beacon_defconfig
@@ -21,7 +21,6 @@ CONFIG_LTO=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; fi;"
diff --git a/configs/imx8mm_data_modul_edm_sbc_defconfig b/configs/imx8mm_data_modul_edm_sbc_defconfig
index a18c2ca3ff3..32da356a109 100644
--- a/configs/imx8mm_data_modul_edm_sbc_defconfig
+++ b/configs/imx8mm_data_modul_edm_sbc_defconfig
@@ -29,7 +29,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x44000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTARGS=y
diff --git a/configs/imx8mm_evk_defconfig b/configs/imx8mm_evk_defconfig
index 158627b8a12..38f3c4e2d47 100644
--- a/configs/imx8mm_evk_defconfig
+++ b/configs/imx8mm_evk_defconfig
@@ -22,7 +22,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
diff --git a/configs/imx8mm_evk_fspi_defconfig b/configs/imx8mm_evk_fspi_defconfig
index 66e85ed2fcd..b8cccd8047b 100644
--- a/configs/imx8mm_evk_fspi_defconfig
+++ b/configs/imx8mm_evk_fspi_defconfig
@@ -22,7 +22,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_MAX_SIZE=0x25000
diff --git a/configs/imx8mm_venice_defconfig b/configs/imx8mm_venice_defconfig
index 5652e1bb66f..82501f5c0a6 100644
--- a/configs/imx8mm_venice_defconfig
+++ b/configs/imx8mm_venice_defconfig
@@ -25,7 +25,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_PREBOOT=y
diff --git a/configs/imx8mn_beacon_2g_defconfig b/configs/imx8mn_beacon_2g_defconfig
index 3f6a42b5bd0..2c507e5eb33 100644
--- a/configs/imx8mn_beacon_2g_defconfig
+++ b/configs/imx8mn_beacon_2g_defconfig
@@ -27,7 +27,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi"
diff --git a/configs/imx8mn_beacon_defconfig b/configs/imx8mn_beacon_defconfig
index 0d8601ad395..2c7ac387cc3 100644
--- a/configs/imx8mn_beacon_defconfig
+++ b/configs/imx8mn_beacon_defconfig
@@ -26,7 +26,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi"
diff --git a/configs/imx8mn_bsh_smm_s2_defconfig b/configs/imx8mn_bsh_smm_s2_defconfig
index b695a69ecaa..20c578e2441 100644
--- a/configs/imx8mn_bsh_smm_s2_defconfig
+++ b/configs/imx8mn_bsh_smm_s2_defconfig
@@ -22,7 +22,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="freescale/imx8mn-bsh-smm-s2.dtb"
 CONFIG_ARCH_MISC_INIT=y
diff --git a/configs/imx8mn_bsh_smm_s2pro_defconfig b/configs/imx8mn_bsh_smm_s2pro_defconfig
index 34893fc6b8d..9c18b0d8147 100644
--- a/configs/imx8mn_bsh_smm_s2pro_defconfig
+++ b/configs/imx8mn_bsh_smm_s2pro_defconfig
@@ -23,7 +23,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="freescale/imx8mn-bsh-smm-s2pro.dtb"
 CONFIG_ARCH_MISC_INIT=y
diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig
index c574bb272f3..d9ffd15dbf4 100644
--- a/configs/imx8mn_ddr4_evk_defconfig
+++ b/configs/imx8mn_ddr4_evk_defconfig
@@ -22,7 +22,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mn-ddr4-evk.dtb"
 CONFIG_ARCH_MISC_INIT=y
diff --git a/configs/imx8mn_evk_defconfig b/configs/imx8mn_evk_defconfig
index b40ffea9789..9218f2257b5 100644
--- a/configs/imx8mn_evk_defconfig
+++ b/configs/imx8mn_evk_defconfig
@@ -22,7 +22,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mn-evk.dtb"
 CONFIG_ARCH_MISC_INIT=y
diff --git a/configs/imx8mn_var_som_defconfig b/configs/imx8mn_var_som_defconfig
index 1ff1909e906..83cdba79f0e 100644
--- a/configs/imx8mn_var_som_defconfig
+++ b/configs/imx8mn_var_som_defconfig
@@ -24,7 +24,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="freescale/imx8mn-var-som-symphony.dtb"
 CONFIG_ARCH_MISC_INIT=y
diff --git a/configs/imx8mn_venice_defconfig b/configs/imx8mn_venice_defconfig
index e7b2b5ce9f5..816e5d47daa 100644
--- a/configs/imx8mn_venice_defconfig
+++ b/configs/imx8mn_venice_defconfig
@@ -26,7 +26,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_PREBOOT=y
diff --git a/configs/imx8mp-icore-mx8mp-edimm2.2_defconfig b/configs/imx8mp-icore-mx8mp-edimm2.2_defconfig
index 79eb8b056e2..d719f899583 100644
--- a/configs/imx8mp-icore-mx8mp-edimm2.2_defconfig
+++ b/configs/imx8mp-icore-mx8mp-edimm2.2_defconfig
@@ -25,7 +25,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mp-icore-mx8mp-edimm2.2.dtb"
 CONFIG_BOARD_LATE_INIT=y
diff --git a/configs/imx8mp_dhcom_pdk2_defconfig b/configs/imx8mp_dhcom_pdk2_defconfig
index 872465b99b0..1dccee07c29 100644
--- a/configs/imx8mp_dhcom_pdk2_defconfig
+++ b/configs/imx8mp_dhcom_pdk2_defconfig
@@ -34,7 +34,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x44000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTARGS=y
diff --git a/configs/imx8mp_evk_defconfig b/configs/imx8mp_evk_defconfig
index f8b903d71e2..4f1a8ee4cfc 100644
--- a/configs/imx8mp_evk_defconfig
+++ b/configs/imx8mp_evk_defconfig
@@ -25,7 +25,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mp-evk.dtb"
 CONFIG_BOARD_LATE_INIT=y
diff --git a/configs/imx8mp_rsb3720a1_4G_defconfig b/configs/imx8mp_rsb3720a1_4G_defconfig
index 3e1c195b8e9..2cffe6b1b14 100644
--- a/configs/imx8mp_rsb3720a1_4G_defconfig
+++ b/configs/imx8mp_rsb3720a1_4G_defconfig
@@ -28,7 +28,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mp-rsb3720-a1.dtb"
diff --git a/configs/imx8mp_rsb3720a1_6G_defconfig b/configs/imx8mp_rsb3720a1_6G_defconfig
index 20f4a8c2b1b..5dc896c21b8 100644
--- a/configs/imx8mp_rsb3720a1_6G_defconfig
+++ b/configs/imx8mp_rsb3720a1_6G_defconfig
@@ -28,7 +28,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="imx8mp-rsb3720-a1.dtb"
diff --git a/configs/imx8mp_venice_defconfig b/configs/imx8mp_venice_defconfig
index 5c0ea11efc4..ff2b01b4f31 100644
--- a/configs/imx8mp_venice_defconfig
+++ b/configs/imx8mp_venice_defconfig
@@ -26,7 +26,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_PREBOOT=y
diff --git a/configs/imx8mq_cm_defconfig b/configs/imx8mq_cm_defconfig
index 7a92fccd5d7..d899ed54268 100644
--- a/configs/imx8mq_cm_defconfig
+++ b/configs/imx8mq_cm_defconfig
@@ -25,7 +25,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_MAX_SIZE=0x1f000
diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig
index 252565da11e..b3b670be27a 100644
--- a/configs/imx8mq_evk_defconfig
+++ b/configs/imx8mq_evk_defconfig
@@ -26,7 +26,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_LATE_INIT=y
diff --git a/configs/imx8mq_phanbell_defconfig b/configs/imx8mq_phanbell_defconfig
index 16cd4cc70c0..ae35d949643 100644
--- a/configs/imx8mq_phanbell_defconfig
+++ b/configs/imx8mq_phanbell_defconfig
@@ -24,7 +24,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_SD_BOOT=y
 CONFIG_USE_BOOTCOMMAND=y
diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
index c3c93bfdf8a..153eb9b7277 100644
--- a/configs/imx8qm_rom7720_a1_4G_defconfig
+++ b/configs/imx8qm_rom7720_a1_4G_defconfig
@@ -21,7 +21,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
 CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
 CONFIG_BOOTDELAY=3
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi"
diff --git a/configs/iot2050_defconfig b/configs/iot2050_defconfig
index 4ae85f391b7..f83283ec220 100644
--- a/configs/iot2050_defconfig
+++ b/configs/iot2050_defconfig
@@ -27,7 +27,6 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
 CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80100000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTSTAGE=y
 CONFIG_SHOW_BOOT_PROGRESS=y
diff --git a/configs/j7200_evm_a72_defconfig b/configs/j7200_evm_a72_defconfig
index e7cdd84ecba..b3f7c4521ec 100644
--- a/configs/j7200_evm_a72_defconfig
+++ b/configs/j7200_evm_a72_defconfig
@@ -30,7 +30,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
 CONFIG_LOGLEVEL=7
diff --git a/configs/j7200_evm_r5_defconfig b/configs/j7200_evm_r5_defconfig
index 87101cbf53e..291341cc761 100644
--- a/configs/j7200_evm_r5_defconfig
+++ b/configs/j7200_evm_r5_defconfig
@@ -27,7 +27,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41cf5bfc
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0xc0000
diff --git a/configs/j7200_hs_evm_a72_defconfig b/configs/j7200_hs_evm_a72_defconfig
index b9598ca1fe2..9d18aed6300 100644
--- a/configs/j7200_hs_evm_a72_defconfig
+++ b/configs/j7200_hs_evm_a72_defconfig
@@ -31,7 +31,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_fit_${boot}; run get_overlaystring; run run_fit"
 CONFIG_LOGLEVEL=7
diff --git a/configs/j7200_hs_evm_r5_defconfig b/configs/j7200_hs_evm_r5_defconfig
index 608778ade86..ab3461efe9c 100644
--- a/configs/j7200_hs_evm_r5_defconfig
+++ b/configs/j7200_hs_evm_r5_defconfig
@@ -27,7 +27,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41cf5bfc
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0xc0000
diff --git a/configs/j721e_evm_a72_defconfig b/configs/j721e_evm_a72_defconfig
index 48a24446941..b0570d88ad9 100644
--- a/configs/j721e_evm_a72_defconfig
+++ b/configs/j721e_evm_a72_defconfig
@@ -28,7 +28,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run distro_bootcmd; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
 CONFIG_LOGLEVEL=7
diff --git a/configs/j721e_evm_r5_defconfig b/configs/j721e_evm_r5_defconfig
index d6da4c6ae2e..fa89fa45227 100644
--- a/configs/j721e_evm_r5_defconfig
+++ b/configs/j721e_evm_r5_defconfig
@@ -27,7 +27,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41cf5bfc
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
diff --git a/configs/j721e_hs_evm_a72_defconfig b/configs/j721e_hs_evm_a72_defconfig
index a1cc7da0bfb..8f009b49708 100644
--- a/configs/j721e_hs_evm_a72_defconfig
+++ b/configs/j721e_hs_evm_a72_defconfig
@@ -29,7 +29,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run main_cpsw0_qsgmii_phyinit; run boot_rprocs; run get_fit_${boot}; run get_overlay_${boot}; run run_fit"
 CONFIG_LOGLEVEL=7
diff --git a/configs/j721e_hs_evm_r5_defconfig b/configs/j721e_hs_evm_r5_defconfig
index eb9df365538..709127fb1d1 100644
--- a/configs/j721e_hs_evm_r5_defconfig
+++ b/configs/j721e_hs_evm_r5_defconfig
@@ -27,7 +27,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41cf5bfc
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
diff --git a/configs/j721s2_evm_a72_defconfig b/configs/j721s2_evm_a72_defconfig
index 2b2f80c4aaa..df63003736a 100644
--- a/configs/j721s2_evm_a72_defconfig
+++ b/configs/j721s2_evm_a72_defconfig
@@ -30,7 +30,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_kern_${boot}; run get_fdt_${boot}; run get_overlay_${boot}; run run_kern"
 CONFIG_LOGLEVEL=7
diff --git a/configs/j721s2_evm_r5_defconfig b/configs/j721s2_evm_r5_defconfig
index 2de5d87bdb2..bdc6782ed6a 100644
--- a/configs/j721s2_evm_r5_defconfig
+++ b/configs/j721s2_evm_r5_defconfig
@@ -29,7 +29,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41c76000
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
diff --git a/configs/j721s2_hs_evm_a72_defconfig b/configs/j721s2_hs_evm_a72_defconfig
index 3e0ec40fb2e..8615aa1e202 100644
--- a/configs/j721s2_hs_evm_a72_defconfig
+++ b/configs/j721s2_hs_evm_a72_defconfig
@@ -31,7 +31,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80480000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x81000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTCOMMAND="run findfdt; run envboot; run init_${boot}; run boot_rprocs; run get_fit_${boot}; run get_overlaystring; run run_fit"
 CONFIG_LOGLEVEL=7
diff --git a/configs/j721s2_hs_evm_r5_defconfig b/configs/j721s2_hs_evm_r5_defconfig
index bc8672f7096..3dbec11c458 100644
--- a/configs/j721s2_hs_evm_r5_defconfig
+++ b/configs/j721s2_hs_evm_r5_defconfig
@@ -29,7 +29,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x41c76000
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD=y
diff --git a/configs/kontron-sl-mx6ul_defconfig b/configs/kontron-sl-mx6ul_defconfig
index 7391e597642..015480d277c 100644
--- a/configs/kontron-sl-mx6ul_defconfig
+++ b/configs/kontron-sl-mx6ul_defconfig
@@ -25,7 +25,6 @@ CONFIG_SYS_MEMTEST_END=0x90000000
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 CONFIG_BOARD_TYPES=y
diff --git a/configs/kontron-sl-mx8mm_defconfig b/configs/kontron-sl-mx8mm_defconfig
index ad1952fd2d2..7296fb80a47 100644
--- a/configs/kontron-sl-mx8mm_defconfig
+++ b/configs/kontron-sl-mx8mm_defconfig
@@ -28,7 +28,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOARD_TYPES=y
 CONFIG_BOARD_LATE_INIT=y
diff --git a/configs/kontron_pitx_imx8m_defconfig b/configs/kontron_pitx_imx8m_defconfig
index 05c09ae3c5b..b5aa26afc96 100644
--- a/configs/kontron_pitx_imx8m_defconfig
+++ b/configs/kontron_pitx_imx8m_defconfig
@@ -25,7 +25,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOARD_EARLY_INIT_F=y
 CONFIG_BOARD_LATE_INIT=y
diff --git a/configs/kontron_sl28_defconfig b/configs/kontron_sl28_defconfig
index 9112956e070..ed3abdb81cb 100644
--- a/configs/kontron_sl28_defconfig
+++ b/configs/kontron_sl28_defconfig
@@ -32,7 +32,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x1800eff0
 CONFIG_MP=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
 CONFIG_BOOTDELAY=10
diff --git a/configs/librem5_defconfig b/configs/librem5_defconfig
index d5304bc21ce..4ec50aaca6c 100644
--- a/configs/librem5_defconfig
+++ b/configs/librem5_defconfig
@@ -26,7 +26,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOOTDELAY=0
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
diff --git a/configs/ls1046ardb_qspi_spl_defconfig b/configs/ls1046ardb_qspi_spl_defconfig
index c43f46231cc..844a1681420 100644
--- a/configs/ls1046ardb_qspi_spl_defconfig
+++ b/configs/ls1046ardb_qspi_spl_defconfig
@@ -34,7 +34,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_MP=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_RAMBOOT_PBL=y
 CONFIG_SYS_FSL_PBL_PBI="board/freescale/ls1046ardb/ls1046ardb_qspi_pbi.cfg"
diff --git a/configs/mccmon6_nor_defconfig b/configs/mccmon6_nor_defconfig
index 2566bdef168..b0787e12052 100644
--- a/configs/mccmon6_nor_defconfig
+++ b/configs/mccmon6_nor_defconfig
@@ -20,7 +20,6 @@ CONFIG_ENV_ADDR=0x8040000
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 # CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_BOARD_INIT=y
diff --git a/configs/mccmon6_sd_defconfig b/configs/mccmon6_sd_defconfig
index 93e40b6b6b8..26f96f16b3e 100644
--- a/configs/mccmon6_sd_defconfig
+++ b/configs/mccmon6_sd_defconfig
@@ -21,7 +21,6 @@ CONFIG_ENV_ADDR=0x8040000
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 # CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_SPL_BOARD_INIT=y
diff --git a/configs/mx6sabreauto_defconfig b/configs/mx6sabreauto_defconfig
index bf6aff8e48e..03814e53523 100644
--- a/configs/mx6sabreauto_defconfig
+++ b/configs/mx6sabreauto_defconfig
@@ -25,7 +25,6 @@ CONFIG_NXP_BOARD_REVISION=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="run findfdt;mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi"
diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
index 26cee0eae60..da8bf786832 100644
--- a/configs/mx6sabresd_defconfig
+++ b/configs/mx6sabresd_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_LIBDISK_SUPPORT=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="run findfdt;mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi"
diff --git a/configs/phycore-imx8mm_defconfig b/configs/phycore-imx8mm_defconfig
index 7dbaa8f07ac..cc1e136e465 100644
--- a/configs/phycore-imx8mm_defconfig
+++ b/configs/phycore-imx8mm_defconfig
@@ -21,7 +21,6 @@ CONFIG_SYS_LOAD_ADDR=0x40480000
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadimage; then run mmcboot; else run netboot; fi; fi;"
diff --git a/configs/phycore-imx8mp_defconfig b/configs/phycore-imx8mp_defconfig
index 0c1cad8086b..a3198c1df75 100644
--- a/configs/phycore-imx8mp_defconfig
+++ b/configs/phycore-imx8mp_defconfig
@@ -22,7 +22,6 @@ CONFIG_SYS_LOAD_ADDR=0x40480000
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadimage; then run mmcboot; else run netboot; fi; fi;"
diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
index 8aa33f46f87..60bcb3d1eea 100644
--- a/configs/pico-imx6_defconfig
+++ b/configs/pico-imx6_defconfig
@@ -23,7 +23,6 @@ CONFIG_BOARD_SIZE_LIMIT=715776
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTCOMMAND="run default_boot"
 CONFIG_DEFAULT_FDT_FILE="ask"
 CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
diff --git a/configs/pico-imx8mq_defconfig b/configs/pico-imx8mq_defconfig
index 8867317f375..c00855235bd 100644
--- a/configs/pico-imx8mq_defconfig
+++ b/configs/pico-imx8mq_defconfig
@@ -24,7 +24,6 @@ CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_USE_BOOTCOMMAND=y
 CONFIG_BOOTCOMMAND="mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else booti ${loadaddr} - ${fdt_addr}; fi"
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 8433b5734f6..02bfc86fa43 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -19,7 +19,6 @@ CONFIG_X86_OFFSET_U_BOOT=0xfff00000
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_SYS_MONITOR_BASE=0x01110000
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
diff --git a/configs/sandbox_noinst_defconfig b/configs/sandbox_noinst_defconfig
index a12235559bf..b961fc82367 100644
--- a/configs/sandbox_noinst_defconfig
+++ b/configs/sandbox_noinst_defconfig
@@ -20,7 +20,6 @@ CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
 CONFIG_BOOTSTAGE_FDT=y
diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig
index 4d70466fa9d..e583897a565 100644
--- a/configs/sandbox_spl_defconfig
+++ b/configs/sandbox_spl_defconfig
@@ -20,7 +20,6 @@ CONFIG_FIT=y
 CONFIG_FIT_SIGNATURE=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
 CONFIG_BOOTSTAGE_FDT=y
diff --git a/configs/sandbox_vpl_defconfig b/configs/sandbox_vpl_defconfig
index c94b059a978..f3856c03638 100644
--- a/configs/sandbox_vpl_defconfig
+++ b/configs/sandbox_vpl_defconfig
@@ -27,7 +27,6 @@ CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_FIT_BEST_MATCH=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
 CONFIG_BOOTSTAGE_FDT=y
diff --git a/configs/socfpga_agilex_atf_defconfig b/configs/socfpga_agilex_atf_defconfig
index 167e05b0aa5..7d8108c6b61 100644
--- a/configs/socfpga_agilex_atf_defconfig
+++ b/configs/socfpga_agilex_atf_defconfig
@@ -22,7 +22,6 @@ CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=5
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="earlycon"
diff --git a/configs/socfpga_agilex_vab_defconfig b/configs/socfpga_agilex_vab_defconfig
index bcdeb6d17cf..d98f571022f 100644
--- a/configs/socfpga_agilex_vab_defconfig
+++ b/configs/socfpga_agilex_vab_defconfig
@@ -23,7 +23,6 @@ CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=5
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="earlycon"
diff --git a/configs/socfpga_arria10_defconfig b/configs/socfpga_arria10_defconfig
index 6fe8d550029..93b524a5395 100644
--- a/configs/socfpga_arria10_defconfig
+++ b/configs/socfpga_arria10_defconfig
@@ -17,7 +17,6 @@ CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xffe2b000
 CONFIG_FIT=y
 CONFIG_TIMESTAMP=y
 CONFIG_SPL_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=ttyS0,115200"
 # CONFIG_USE_BOOTCOMMAND is not set
diff --git a/configs/socfpga_chameleonv3_defconfig b/configs/socfpga_chameleonv3_defconfig
index 478efc59ea9..683b6f3c5c3 100644
--- a/configs/socfpga_chameleonv3_defconfig
+++ b/configs/socfpga_chameleonv3_defconfig
@@ -11,7 +11,6 @@ CONFIG_SPL_FS_FAT=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_NO_BSS_LIMIT=y
 CONFIG_SYS_SPL_MALLOC=y
diff --git a/configs/socfpga_n5x_atf_defconfig b/configs/socfpga_n5x_atf_defconfig
index 453fd87bd22..c877d42661b 100644
--- a/configs/socfpga_n5x_atf_defconfig
+++ b/configs/socfpga_n5x_atf_defconfig
@@ -21,7 +21,6 @@ CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=5
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="earlycon panic=-1 earlyprintk=ttyS0,115200"
diff --git a/configs/socfpga_n5x_vab_defconfig b/configs/socfpga_n5x_vab_defconfig
index 259b8ddf85e..126be682704 100644
--- a/configs/socfpga_n5x_vab_defconfig
+++ b/configs/socfpga_n5x_vab_defconfig
@@ -22,7 +22,6 @@ CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=5
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="earlycon panic=-1 earlyprintk=ttyS0,115200"
diff --git a/configs/socfpga_stratix10_atf_defconfig b/configs/socfpga_stratix10_atf_defconfig
index acb1ce9e0c9..0a785c1e4d1 100644
--- a/configs/socfpga_stratix10_atf_defconfig
+++ b/configs/socfpga_stratix10_atf_defconfig
@@ -22,7 +22,6 @@ CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=5
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="earlycon"
diff --git a/configs/stm32mp15_dhcom_basic_defconfig b/configs/stm32mp15_dhcom_basic_defconfig
index 3ba396b9671..216b04b0b1e 100644
--- a/configs/stm32mp15_dhcom_basic_defconfig
+++ b/configs/stm32mp15_dhcom_basic_defconfig
@@ -23,7 +23,6 @@ CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0xc1000000
 CONFIG_SPL_FIT_SOURCE="board/dhelectronics/dh_stm32mp1/u-boot-dhcom.its"
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=1
 CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
 CONFIG_CONSOLE_MUX=y
diff --git a/configs/stm32mp15_dhcor_basic_defconfig b/configs/stm32mp15_dhcor_basic_defconfig
index ddd96ac4d29..13026ae9768 100644
--- a/configs/stm32mp15_dhcor_basic_defconfig
+++ b/configs/stm32mp15_dhcor_basic_defconfig
@@ -21,7 +21,6 @@ CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0xc1000000
 CONFIG_SPL_FIT_SOURCE="board/dhelectronics/dh_stm32mp1/u-boot-dhcor.its"
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTDELAY=1
 CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
 CONFIG_CONSOLE_MUX=y
diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
index 7bb4b88b449..903bc791894 100644
--- a/configs/verdin-imx8mm_defconfig
+++ b/configs/verdin-imx8mm_defconfig
@@ -25,7 +25,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOOTDELAY=1
 CONFIG_USE_PREBOOT=y
diff --git a/configs/verdin-imx8mp_defconfig b/configs/verdin-imx8mp_defconfig
index ed54132222c..2efdf3fb549 100644
--- a/configs/verdin-imx8mp_defconfig
+++ b/configs/verdin-imx8mp_defconfig
@@ -31,7 +31,6 @@ CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_BOOTDELAY=1
 CONFIG_USE_PREBOOT=y
diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig
index 70b4cf9ffaa..7e8fe1d30b5 100644
--- a/configs/wandboard_defconfig
+++ b/configs/wandboard_defconfig
@@ -26,7 +26,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_BOOTCOMMAND="run findfdt; run finduuid; run distro_bootcmd"
 # CONFIG_CONSOLE_MUX is not set
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
index 1db3a2c6352..7062aa91ef2 100644
--- a/configs/xilinx_zynq_virt_defconfig
+++ b/configs/xilinx_zynq_virt_defconfig
@@ -24,7 +24,6 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_FIT_PRINT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x10000000
-# CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
 CONFIG_USE_PREBOOT=y
diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
index ea111272366..599b785232a 100644
--- a/configs/xilinx_zynqmp_virt_defconfig
+++ b/configs/xilinx_zynqmp_virt_defconfig
@@ -27,6 +27,7 @@ CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x10000000
+CONFIG_USE_SPL_FIT_GENERATOR=y
 # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
 CONFIG_USE_PREBOOT=y
 CONFIG_PREBOOT="run scsi_init;usb start"
-- 
2.38.1.431.g37b22c650d-goog


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 4/7] rockchip: Support building the all output files in binman
  2022-11-06 22:40 ` [PATCH v4 4/7] rockchip: Support building the all output files in binman Simon Glass
@ 2022-11-07 14:17   ` Jerome Forissier
  2022-11-07 14:45   ` Quentin Schulz
  1 sibling, 0 replies; 18+ messages in thread
From: Jerome Forissier @ 2022-11-07 14:17 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Kever Yang,
	Philipp Tomsich, Philipp Tomsich

On 11/6/22 23:40, Simon Glass wrote:
> Add the required binman images to replace the Makefile rules which are
> currently used. This includes subsuming:
> 
>    - tpl/u-boot-tpl-rockchip.bin if TPL is enabled
>    - idbloader.img if either or both of SPL and TPL are enabled
>    - u-boot.itb if SPL_FIT is enabled
>    - u-boot-rockchip.bin if SPL is used, either using u-boot.itb when
>      SPL_FIT is enabled or u-boot.img when it isn't
> 
> Note that the intermediate files are dropped with binman, since it
> producing everything in one pass. This means that
> tpl/u-boot-tpl-rockchip.bin is not created, for example.
> 
> Note that for some 32-bit rk3288 boards, rockchip-optee.dtsi is included.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> (no changes since v3)
> 
> Changes in v3:
> - Add an offset to the FIT description
> 
> Changes in v2:
> - Rename op-tee to tee-os
> - Drop use of .itb2
> 
>  arch/arm/dts/rockchip-u-boot.dtsi | 73 ++++++++++++++++++++++++++++---
>  1 file changed, 68 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
> index 584f21eb5bf..084f72b0bd4 100644
> --- a/arch/arm/dts/rockchip-u-boot.dtsi
> +++ b/arch/arm/dts/rockchip-u-boot.dtsi
> @@ -30,14 +30,77 @@
>  			};
>  		};
>  
> -#ifdef CONFIG_ARM64
> -		blob {
> +#if defined(CONFIG_SPL_FIT) && defined(CONFIG_ARM64)
> +		fit: fit {
> +			description = "FIT image for U-Boot with bl31 (TF-A)";
> +			#address-cells = <1>;
> +			fit,fdt-list = "of-list";
>  			filename = "u-boot.itb";
> +			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
> +			offset = <CONFIG_SPL_PAD_TO>;
> +			images {
> +				u-boot {
> +					description = "U-Boot (64-bit)";
> +					type = "standalone";
> +					os = "U-Boot";
> +					arch = "arm64";
> +					compression = "none";
> +					load = <CONFIG_TEXT_BASE>;
> +					u-boot-nodtb {
> +					};
> +				};
> +
> +				@atf-SEQ {
> +					fit,operation = "split-elf";
> +					description = "ARM Trusted Firmware";
> +					type = "firmware";
> +					arch = "arm64";
> +					os = "arm-trusted-firmware";
> +					compression = "none";
> +					fit,load;
> +					fit,entry;
> +					fit,data;
> +
> +					atf-bl31 {
> +					};
> +				};
> +				@tee-SEQ {
> +					fit,operation = "split-elf";

Does this imply that the TEE image shall be supplied as an ELF file? That won't
work with OP-TEE, see commit 348310233dac ("mach-rockchip: make_fit_atf.py:
support OP-TEE tee.bin v1 format").

> +					description = "TEE";
> +					type = "tee";
> +					arch = "arm64";
> +					os = "tee";
> +					compression = "none";
> +					fit,load;
> +					fit,entry;
> +					fit,data;
> +
> +					tee-os {
> +					};
> +				};

Thanks,
-- 
Jerome

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 1/7] binman: Allow writing section contents to a file
  2022-11-06 22:40 ` [PATCH v4 1/7] binman: Allow writing section contents to a file Simon Glass
@ 2022-11-07 14:24   ` Quentin Schulz
  2022-11-07 15:28     ` Simon Glass
  0 siblings, 1 reply; 18+ messages in thread
From: Quentin Schulz @ 2022-11-07 14:24 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Kever Yang,
	Philipp Tomsich, Heiko Thiery, Stefan Herbrechtsmeier

Hi Simon,

On 11/6/22 23:40, Simon Glass wrote:
> At present only the image (which is a section) has a filename. Move this
> implementation to the entry_Section class so that any section can have a
> filename. With this, the section data is written to a file.
> 
> This allows parts of an image to be written, along with the entire image.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> (no changes since v1)
> 
>   tools/binman/binman.rst                 |  5 +++++
>   tools/binman/etype/section.py           | 12 +++++++++-
>   tools/binman/ftest.py                   | 14 ++++++++++++
>   tools/binman/image.py                   |  3 ---
>   tools/binman/test/261_section_fname.dts | 29 +++++++++++++++++++++++++
>   5 files changed, 59 insertions(+), 4 deletions(-)
>   create mode 100644 tools/binman/test/261_section_fname.dts
> 
> diff --git a/tools/binman/binman.rst b/tools/binman/binman.rst
> index fda16f1992d..79578ff127b 100644
> --- a/tools/binman/binman.rst
> +++ b/tools/binman/binman.rst
> @@ -837,6 +837,11 @@ name-prefix:
>       renamed to 'ro-u-boot' and 'rw-u-boot'. This can be useful to
>       distinguish binaries with otherwise identical names.
>   
> +filename:
> +    This allows the contents of the section to be written to a file in the
> +    output directory. This can sometimes be useful to use the data in one
> +    section in different image, since there is currently no way to share data
> +    beteen images other than through files.
>   

IIRC, this is currently incorrect until we have inter-image dependencies 
since binman is building images in parallel by default. Suggesting this 
is a possible use-case is at beast misleading. For me, this is only 
useful for archiving embedded binaries, e.g. what we did for 
idbloader.img for Rockchip lately (which is "needed" only to keep the 
3rd party tutorials/documentation not outdated).

Maybe I missed some recent development that fixes this, lemme know if 
that's the case or if my assumptions are wrong.

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 3/7] rockchip: Include binman script in 64-bit boards
  2022-11-06 22:40 ` [PATCH v4 3/7] rockchip: Include binman script in 64-bit boards Simon Glass
@ 2022-11-07 14:32   ` Quentin Schulz
  0 siblings, 0 replies; 18+ messages in thread
From: Quentin Schulz @ 2022-11-07 14:32 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List
  Cc: Alper Nebi Yasak, Peter Geis, Philippe Reynes, Ivan Mikhaylov,
	Tom Rini, huang lin, Jeffy Chen, Kever Yang, Jagan Teki,
	Philipp Tomsich

Hi Simon,

On 11/6/22 23:40, Simon Glass wrote:
> Include the rockchip-u-boot.dtsi file with 64-bit boards and enable binman
> so that these boards can also use it, rather than using special Makefile
> rules and scripts.
> 
> This does not change the Makefile nor remove any scripts, but sets it up
> so that this is possible.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
> ---
> 
> (no changes since v1)
> 
>   arch/arm/dts/rk3368-u-boot.dtsi             | 1 +
>   arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi | 2 +-
>   arch/arm/dts/rk3399-u-boot.dtsi             | 3 +++
>   arch/arm/mach-rockchip/Kconfig              | 6 ++++++
>   4 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/dts/rk3368-u-boot.dtsi b/arch/arm/dts/rk3368-u-boot.dtsi
> index 811d59ac346..4c0a6ff1561 100644
> --- a/arch/arm/dts/rk3368-u-boot.dtsi
> +++ b/arch/arm/dts/rk3368-u-boot.dtsi
> @@ -3,6 +3,7 @@
>    * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
>    */
>   
> +#include "rockchip-u-boot.dtsi"
>   #include <dt-bindings/memory/rk3368-dmc.h>
>   #include "rockchip-u-boot.dtsi"
>   

Already included here^

> diff --git a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
> index f8335c74a74..1af3bbfb3d3 100644
> --- a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
> +++ b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
> @@ -46,7 +46,7 @@
>   
>   &binman {
>   	simple-bin {
> -		blob {
> +		fit {

NACK. It is still blob and not fit until a later patch :)

>   			offset = <((CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR - 64) * 512)>;
>   		};
>   	};
> diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
> index 3c1a15fe51b..63da02489d3 100644
> --- a/arch/arm/dts/rk3399-u-boot.dtsi
> +++ b/arch/arm/dts/rk3399-u-boot.dtsi
> @@ -62,6 +62,8 @@
>   
>   #if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
>   &binman {
> +	multiple-images;
> +#ifdef CONFIG_ROCKCHIP_SPI_IMAGE

that's redundant, it's already checked three lines above.

>   	rom {
>   		filename = "u-boot.rom";
>   		size = <0x400000>;
> @@ -81,6 +83,7 @@
>   		fdtmap {
>   		};
>   	};
> +#endif /* CONFIG_ROCKCHIP_SPI_IMAGE */
>   };
>   #endif
>   
> diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig
> index 69d51ff3789..90d42650211 100644
> --- a/arch/arm/mach-rockchip/Kconfig
> +++ b/arch/arm/mach-rockchip/Kconfig
> @@ -15,6 +15,7 @@ config ROCKCHIP_PX30
>   	select DEBUG_UART_BOARD_INIT
>   	imply ROCKCHIP_COMMON_BOARD
>   	imply SPL_ROCKCHIP_COMMON_BOARD
> +	imply BINMAN

arch/arm/Kconfig has ARCH_ROCKCHIP select BINMAN if SPL_OPTEE || SPL, is 
this not enough?

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 4/7] rockchip: Support building the all output files in binman
  2022-11-06 22:40 ` [PATCH v4 4/7] rockchip: Support building the all output files in binman Simon Glass
  2022-11-07 14:17   ` Jerome Forissier
@ 2022-11-07 14:45   ` Quentin Schulz
  1 sibling, 0 replies; 18+ messages in thread
From: Quentin Schulz @ 2022-11-07 14:45 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List
  Cc: Alper Nebi Yasak, Peter Geis, Philippe Reynes, Ivan Mikhaylov,
	Tom Rini, huang lin, Jeffy Chen, Kever Yang, Philipp Tomsich

Hi Simon,

On 11/6/22 23:40, Simon Glass wrote:
> Add the required binman images to replace the Makefile rules which are
> currently used. This includes subsuming:
> 
>     - tpl/u-boot-tpl-rockchip.bin if TPL is enabled
>     - idbloader.img if either or both of SPL and TPL are enabled
>     - u-boot.itb if SPL_FIT is enabled
>     - u-boot-rockchip.bin if SPL is used, either using u-boot.itb when
>       SPL_FIT is enabled or u-boot.img when it isn't
> 
> Note that the intermediate files are dropped with binman, since it
> producing everything in one pass. This means that
> tpl/u-boot-tpl-rockchip.bin is not created, for example.
> 
> Note that for some 32-bit rk3288 boards, rockchip-optee.dtsi is included.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> (no changes since v3)
> 
> Changes in v3:
> - Add an offset to the FIT description
> 
> Changes in v2:
> - Rename op-tee to tee-os
> - Drop use of .itb2
> 
>   arch/arm/dts/rockchip-u-boot.dtsi | 73 ++++++++++++++++++++++++++++---
>   1 file changed, 68 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
> index 584f21eb5bf..084f72b0bd4 100644
> --- a/arch/arm/dts/rockchip-u-boot.dtsi
> +++ b/arch/arm/dts/rockchip-u-boot.dtsi
> @@ -30,14 +30,77 @@
>   			};
>   		};
>   
> -#ifdef CONFIG_ARM64
> -		blob {
> +#if defined(CONFIG_SPL_FIT) && defined(CONFIG_ARM64)
> +		fit: fit {

Please also update blob => fit in 
arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi in that same commit 
otherwise it breaks the board.

> +			description = "FIT image for U-Boot with bl31 (TF-A)";
> +			#address-cells = <1>;
> +			fit,fdt-list = "of-list";
>   			filename = "u-boot.itb";
> +			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>; > +			offset = <CONFIG_SPL_PAD_TO>;
> +			images {
> +				u-boot {
> +					description = "U-Boot (64-bit)";
> +					type = "standalone";
> +					os = "U-Boot";
> +					arch = "arm64";
> +					compression = "none";
> +					load = <CONFIG_TEXT_BASE>;
> +					u-boot-nodtb {
> +					};
> +				};
> +
> +				@atf-SEQ {
> +					fit,operation = "split-elf";
> +					description = "ARM Trusted Firmware";
> +					type = "firmware";
> +					arch = "arm64";
> +					os = "arm-trusted-firmware";
> +					compression = "none";
> +					fit,load;
> +					fit,entry;
> +					fit,data;
> +
> +					atf-bl31 {
> +					};
> +				};
> +				@tee-SEQ {
> +					fit,operation = "split-elf";
> +					description = "TEE";
> +					type = "tee";
> +					arch = "arm64";
> +					os = "tee";
> +					compression = "none";
> +					fit,load;
> +					fit,entry;
> +					fit,data;
> +
> +					tee-os {
> +					};
> +				};
> +
> +				@fdt-SEQ {
> +					description = "fdt-NAME";
> +					compression = "none";
> +					type = "flat_dt";
> +				};
> +			};
> +
> +			configurations {
> +				default = "@config-DEFAULT-SEQ";
> +				@config-SEQ {
> +					description = "NAME.dtb";
> +					fdt = "fdt-SEQ";
> +					firmware = "u-boot";
> +					fit,loadables;
> +				};
> +			};
> +		};
>   #else
>   		u-boot-img {
> -#endif
>   			offset = <CONFIG_SPL_PAD_TO>;
>   		};
> +#endif
>   	};
>   
>   #ifdef CONFIG_ROCKCHIP_SPI_IMAGE

same blob to fit change needs to be done for Rockchip SPI image than 
done for u-boot-rockchip.bin.

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 1/7] binman: Allow writing section contents to a file
  2022-11-07 14:24   ` Quentin Schulz
@ 2022-11-07 15:28     ` Simon Glass
  2022-11-07 15:36       ` quentin.schulz
  0 siblings, 1 reply; 18+ messages in thread
From: Simon Glass @ 2022-11-07 15:28 UTC (permalink / raw)
  To: Quentin Schulz
  Cc: U-Boot Mailing List, Roger Quadros, Alper Nebi Yasak, Peter Geis,
	Philippe Reynes, Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen,
	Kever Yang, Philipp Tomsich, Heiko Thiery,
	Stefan Herbrechtsmeier

Hi Quentin,

On Mon, 7 Nov 2022 at 07:25, Quentin Schulz
<quentin.schulz@theobroma-systems.com> wrote:
>
> Hi Simon,
>
> On 11/6/22 23:40, Simon Glass wrote:
> > At present only the image (which is a section) has a filename. Move this
> > implementation to the entry_Section class so that any section can have a
> > filename. With this, the section data is written to a file.
> >
> > This allows parts of an image to be written, along with the entire image.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> >
> > (no changes since v1)
> >
> >   tools/binman/binman.rst                 |  5 +++++
> >   tools/binman/etype/section.py           | 12 +++++++++-
> >   tools/binman/ftest.py                   | 14 ++++++++++++
> >   tools/binman/image.py                   |  3 ---
> >   tools/binman/test/261_section_fname.dts | 29 +++++++++++++++++++++++++
> >   5 files changed, 59 insertions(+), 4 deletions(-)
> >   create mode 100644 tools/binman/test/261_section_fname.dts
> >
> > diff --git a/tools/binman/binman.rst b/tools/binman/binman.rst
> > index fda16f1992d..79578ff127b 100644
> > --- a/tools/binman/binman.rst
> > +++ b/tools/binman/binman.rst
> > @@ -837,6 +837,11 @@ name-prefix:
> >       renamed to 'ro-u-boot' and 'rw-u-boot'. This can be useful to
> >       distinguish binaries with otherwise identical names.
> >
> > +filename:
> > +    This allows the contents of the section to be written to a file in the
> > +    output directory. This can sometimes be useful to use the data in one
> > +    section in different image, since there is currently no way to share data
> > +    beteen images other than through files.
> >
>
> IIRC, this is currently incorrect until we have inter-image dependencies
> since binman is building images in parallel by default. Suggesting this
> is a possible use-case is at beast misleading. For me, this is only
> useful for archiving embedded binaries, e.g. what we did for
> idbloader.img for Rockchip lately (which is "needed" only to keep the
> 3rd party tutorials/documentation not outdated).
>
> Maybe I missed some recent development that fixes this, lemme know if
> that's the case or if my assumptions are wrong.

Images themselves are built one after the other, so far as I know:

            for image in images.values():
                invalid |= ProcessImage(image, args.update_fdt, args.map,
                                       allow_missing=args.allow_missing,
                                       allow_fake_blobs=args.fake_ext_blobs)

WIthin each image Binman tries to build everything in parallel if
possible, but it is currently possible to use the outputs of one image
in a subsequent one.

I know it would be better to allow cross-image collections, etc. but
that is not implemented at present.

Regards,
SImon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 1/7] binman: Allow writing section contents to a file
  2022-11-07 15:28     ` Simon Glass
@ 2022-11-07 15:36       ` quentin.schulz
  2022-11-07 17:33         ` Simon Glass
  0 siblings, 1 reply; 18+ messages in thread
From: quentin.schulz @ 2022-11-07 15:36 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List, Roger Quadros,
	Alper Nebi Yasak, Peter Geis, Philippe Reynes, Ivan Mikhaylov,
	Tom Rini, huang lin, Jeffy Chen, Kever Yang, Philipp Tomsich,
	Heiko Thiery, Stefan Herbrechtsmeier

Hi Simon,

On 11/7/22 4:28 PM, Simon Glass <sjg@chromium.org> wrote:
> Hi Quentin,
> 
> On Mon, 7 Nov 2022 at 07:25, Quentin Schulz
> <quentin.schulz@theobroma-systems.com> wrote:
> >
> > Hi Simon,
> >
> > On 11/6/22 23:40, Simon Glass wrote:
> >> At present only the image (which is a section) has a filename. Move this
> >> implementation to the entry_Section class so that any section can have a
> >> filename. With this, the section data is written to a file.
> >>
> >> This allows parts of an image to be written, along with the entire image.
> >>
> >> Signed-off-by: Simon Glass <sjg@chromium.org>
> >> ---
> >>
> >> (no changes since v1)
> >>
> >>    tools/binman/binman.rst                 |  5 +++++
> >>    tools/binman/etype/section.py           | 12 +++++++++-
> >>    tools/binman/ftest.py                   | 14 ++++++++++++
> >>    tools/binman/image.py                   |  3 ---
> >>    tools/binman/test/261_section_fname.dts | 29 +++++++++++++++++++++++++
> >>    5 files changed, 59 insertions(+), 4 deletions(-)
> >>    create mode 100644 tools/binman/test/261_section_fname.dts
> >>
> >> diff --git a/tools/binman/binman.rst b/tools/binman/binman.rst
> >> index fda16f1992d..79578ff127b 100644
> >> --- a/tools/binman/binman.rst
> >> +++ b/tools/binman/binman.rst
> >> @@ -837,6 +837,11 @@ name-prefix:
> >>        renamed to 'ro-u-boot' and 'rw-u-boot'. This can be useful to
> >>        distinguish binaries with otherwise identical names.
> >>
> >> +filename:
> >> +    This allows the contents of the section to be written to a file in the
> >> +    output directory. This can sometimes be useful to use the data in one
> >> +    section in different image, since there is currently no way to share data
> >> +    beteen images other than through files.
> >>
> >
> > IIRC, this is currently incorrect until we have inter-image dependencies
> > since binman is building images in parallel by default. Suggesting this
> > is a possible use-case is at beast misleading. For me, this is only
> > useful for archiving embedded binaries, e.g. what we did for
> > idbloader.img for Rockchip lately (which is "needed" only to keep the
> > 3rd party tutorials/documentation not outdated).
> >
> > Maybe I missed some recent development that fixes this, lemme know if
> > that's the case or if my assumptions are wrong.
> 
> Images themselves are built one after the other, so far as I know:
> 
>              for image in images.values():
>                  invalid |= ProcessImage(image, args.update_fdt, args.map,
>                                         allow_missing=args.allow_missing,
>                                         allow_fake_blobs=args.fake_ext_blobs)
> 
> WIthin each image Binman tries to build everything in parallel if
> possible, but it is currently possible to use the outputs of one image
> in a subsequent one.
> 

That seems right indeed. ProcessImage uses OrderedDict internally. Just need to trust that the parsing of the DTB is reproducible too but I guess that's fine.

This also explains why you didn't change the u-boot-rockchip-spi.bin image generation I complained about in another review.

I'm a bit scared that implicitly relying images being sequentially created is not going to bite us back in the future once/if we do parallel building of images.

I guess this is fine then :)

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 1/7] binman: Allow writing section contents to a file
  2022-11-07 15:36       ` quentin.schulz
@ 2022-11-07 17:33         ` Simon Glass
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2022-11-07 17:33 UTC (permalink / raw)
  To: quentin.schulz
  Cc: U-Boot Mailing List, Roger Quadros, Alper Nebi Yasak, Peter Geis,
	Philippe Reynes, Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen,
	Kever Yang, Philipp Tomsich, Heiko Thiery,
	Stefan Herbrechtsmeier

Hi Quentin,

On Mon, 7 Nov 2022 at 08:36, <quentin.schulz@theobroma-systems.com> wrote:
>
> Hi Simon,
>
> On 11/7/22 4:28 PM, Simon Glass <sjg@chromium.org> wrote:
> > Hi Quentin,
> >
> > On Mon, 7 Nov 2022 at 07:25, Quentin Schulz
> > <quentin.schulz@theobroma-systems.com> wrote:
> > >
> > > Hi Simon,
> > >
> > > On 11/6/22 23:40, Simon Glass wrote:
> > >> At present only the image (which is a section) has a filename. Move this
> > >> implementation to the entry_Section class so that any section can have a
> > >> filename. With this, the section data is written to a file.
> > >>
> > >> This allows parts of an image to be written, along with the entire image.
> > >>
> > >> Signed-off-by: Simon Glass <sjg@chromium.org>
> > >> ---
> > >>
> > >> (no changes since v1)
> > >>
> > >>    tools/binman/binman.rst                 |  5 +++++
> > >>    tools/binman/etype/section.py           | 12 +++++++++-
> > >>    tools/binman/ftest.py                   | 14 ++++++++++++
> > >>    tools/binman/image.py                   |  3 ---
> > >>    tools/binman/test/261_section_fname.dts | 29 +++++++++++++++++++++++++
> > >>    5 files changed, 59 insertions(+), 4 deletions(-)
> > >>    create mode 100644 tools/binman/test/261_section_fname.dts
> > >>
> > >> diff --git a/tools/binman/binman.rst b/tools/binman/binman.rst
> > >> index fda16f1992d..79578ff127b 100644
> > >> --- a/tools/binman/binman.rst
> > >> +++ b/tools/binman/binman.rst
> > >> @@ -837,6 +837,11 @@ name-prefix:
> > >>        renamed to 'ro-u-boot' and 'rw-u-boot'. This can be useful to
> > >>        distinguish binaries with otherwise identical names.
> > >>
> > >> +filename:
> > >> +    This allows the contents of the section to be written to a file in the
> > >> +    output directory. This can sometimes be useful to use the data in one
> > >> +    section in different image, since there is currently no way to share data
> > >> +    beteen images other than through files.
> > >>
> > >
> > > IIRC, this is currently incorrect until we have inter-image dependencies
> > > since binman is building images in parallel by default. Suggesting this
> > > is a possible use-case is at beast misleading. For me, this is only
> > > useful for archiving embedded binaries, e.g. what we did for
> > > idbloader.img for Rockchip lately (which is "needed" only to keep the
> > > 3rd party tutorials/documentation not outdated).
> > >
> > > Maybe I missed some recent development that fixes this, lemme know if
> > > that's the case or if my assumptions are wrong.
> >
> > Images themselves are built one after the other, so far as I know:
> >
> >              for image in images.values():
> >                  invalid |= ProcessImage(image, args.update_fdt, args.map,
> >                                         allow_missing=args.allow_missing,
> >                                         allow_fake_blobs=args.fake_ext_blobs)
> >
> > WIthin each image Binman tries to build everything in parallel if
> > possible, but it is currently possible to use the outputs of one image
> > in a subsequent one.
> >
>
> That seems right indeed. ProcessImage uses OrderedDict internally. Just need to trust that the parsing of the DTB is reproducible too but I guess that's fine.
>
> This also explains why you didn't change the u-boot-rockchip-spi.bin image generation I complained about in another review.
>
> I'm a bit scared that implicitly relying images being sequentially created is not going to bite us back in the future once/if we do parallel building of images.

Yes, we probably will want parallel images at some point but we'll
need to support collections that include things from other images.

>
> I guess this is fine then :)

OK.

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script
  2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
                   ` (6 preceding siblings ...)
  2022-11-06 22:40 ` [PATCH v4 7/7] treewide: Disable USE_SPL_FIT_GENERATOR by default Simon Glass
@ 2022-12-07  1:08 ` Simon Glass
  2022-12-07 10:19   ` Quentin Schulz
  7 siblings, 1 reply; 18+ messages in thread
From: Simon Glass @ 2022-12-07  1:08 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Kever Yang,
	Philipp Tomsich, Adam Ford, Alifer Moraes, Andre Przywara,
	Andreas Geisreiter, Andrew F. Davis, Angus Ainslie,
	Ariel D'Alessandro, Aswath Govindraju, Bin Meng,
	Chee Hong Ang, Chee Tien Fong, Chia-Wei, Wang, Chin-Liang See,
	Christoph Niedermaier, Dinh Nguyen, Fabio Estevam,
	Frieder Schrempf, Heiko Thiery, Heinrich Schuchardt, Ilko Iliev,
	Jagan Teki, Jan Kiszka, Le Jin, Ley Foon Tan, Luca Ceresoli,
	Lukasz Majewski, Manoj Sai, Marcel Ziswiler, Marco Franchi,
	Marek Behún, Marek Vasut, Matteo Lisi, Michael Trimarchi,
	Michael Walle, Michal Simek, Mingkai Hu, Olaf Mandel,
	Oliver Graute, Pali Rohár, Patrice Chotard,
	Patrick Delaunay, Paweł Anikiel, Peng Fan, Philipp Tomsich,
	Quentin Schulz, Rajesh Bhagat, Siew Chin Lim,
	Stefan Herbrechtsmeier, Teresa Remmet, Tim Harvey,
	Ying-Chun Liu (PaulLiu),
	kernel, u-boot, uboot-stm32

Hi Kevar,

On Mon, 7 Nov 2022 at 11:40, Simon Glass <sjg@chromium.org> wrote:
>
> At present rockchip 64-bit boards make use of a FIT-generator script
> written in Python. The script supports splitting an ELF file into several
> 'loadable' nodes in the FIT. Binman does not current support this feature.
>
> This series adds binman support for ELF splitting. This works by adding a
> new 'fit,operation' property to the FIT subnodes, allowing this new way of
> generating nodes.
>
> Some other fixes and improvements are needed along the way.
>
> A new, common binman description is added for 64-bit boards which includes
> the required u-boot.itb file.
>
> The existing script is removed, so that only a few zynq boards are now
> using a SPL_FIT_GENERATOR script:
>
>    avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0
>    xilinx_zynqmp_virt
>
> Migration of those is hopefully in progress.
>
> Note however that tools/k3_fit_atf.sh remains, used by a few boards that
> enable CONFIG_TI_SECURE_DEVICE so this series is copied there too:
>
>     am335x_hs_evm
>     am335x_hs_evm_uart
>     am43xx_hs_evm
>     am57xx_hs_evm
>     am57xx_hs_evm_usb
>     am65x_hs_evm_a53
>     am65x_hs_evm_r5
>     dra7xx_hs_evm
>     dra7xx_hs_evm_usb
>     j721e_hs_evm_a72
>     j721e_hs_evm_r5
>     k2e_hs_evm
>     k2g_hs_evm
>     k2hk_hs_evm
>     k2l_hs_evm
>
> Ivan Mikhaylov has sent a patch to help with these, but I need to take a
> look at the testing side. In any case they should really be using binman
> for the image generation.
>
> Changes in v4:
> - Add new patch to disable USE_SPL_FIT_GENERATOR by default
>
> Changes in v3:
> - Add an offset to the FIT description
> - Add support for writing sections in binman
> - Rebase to master
>
> Changes in v2:
> - Rename op-tee to tee-os
> - Drop use of .itb2
> - Drop patches previously applied
> - Add various suggestions from Alper Nebi Yasak
> - Add patches to refactor binman's FIT support
>
> Simon Glass (7):
>   binman: Allow writing section contents to a file
>   rockchip: evb-rk3288: Drop raw-image support
>   rockchip: Include binman script in 64-bit boards
>   rockchip: Support building the all output files in binman
>   rockchip: Convert all boards to use binman
>   rockchip: Drop the FIT generator script
>   treewide: Disable USE_SPL_FIT_GENERATOR by default
>

Can this one please be applied in time for the release?

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script
  2022-12-07  1:08 ` [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
@ 2022-12-07 10:19   ` Quentin Schulz
  2022-12-07 18:10     ` Simon Glass
  0 siblings, 1 reply; 18+ messages in thread
From: Quentin Schulz @ 2022-12-07 10:19 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List
  Cc: Roger Quadros, Alper Nebi Yasak, Peter Geis, Philippe Reynes,
	Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen, Kever Yang,
	Philipp Tomsich, Adam Ford, Alifer Moraes, Andre Przywara,
	Andreas Geisreiter, Andrew F. Davis, Angus Ainslie,
	Ariel D'Alessandro, Aswath Govindraju, Bin Meng,
	Chee Hong Ang, Chee Tien Fong, Chia-Wei, Wang, Chin-Liang See,
	Christoph Niedermaier, Dinh Nguyen, Fabio Estevam,
	Frieder Schrempf, Heiko Thiery, Heinrich Schuchardt, Ilko Iliev,
	Jagan Teki, Jan Kiszka, Le Jin, Ley Foon Tan, Luca Ceresoli,
	Lukasz Majewski, Manoj Sai, Marcel Ziswiler, Marco Franchi,
	Marek Behún, Marek Vasut, Matteo Lisi, Michael Trimarchi,
	Michael Walle, Michal Simek, Mingkai Hu, Olaf Mandel,
	Oliver Graute, Pali Rohár, Patrice Chotard,
	Patrick Delaunay, Paweł Anikiel, Peng Fan, Philipp Tomsich,
	Rajesh Bhagat, Siew Chin Lim, Stefan Herbrechtsmeier,
	Teresa Remmet, Tim Harvey, Ying-Chun Liu (PaulLiu),
	kernel, u-boot, uboot-stm32

Hi Simon,

On 12/7/22 02:08, Simon Glass wrote:
> Hi Kevar,
> 
> On Mon, 7 Nov 2022 at 11:40, Simon Glass <sjg@chromium.org> wrote:
>>
>> At present rockchip 64-bit boards make use of a FIT-generator script
>> written in Python. The script supports splitting an ELF file into several
>> 'loadable' nodes in the FIT. Binman does not current support this feature.
>>
>> This series adds binman support for ELF splitting. This works by adding a
>> new 'fit,operation' property to the FIT subnodes, allowing this new way of
>> generating nodes.
>>
>> Some other fixes and improvements are needed along the way.
>>
>> A new, common binman description is added for 64-bit boards which includes
>> the required u-boot.itb file.
>>
>> The existing script is removed, so that only a few zynq boards are now
>> using a SPL_FIT_GENERATOR script:
>>
>>     avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0
>>     xilinx_zynqmp_virt
>>
>> Migration of those is hopefully in progress.
>>
>> Note however that tools/k3_fit_atf.sh remains, used by a few boards that
>> enable CONFIG_TI_SECURE_DEVICE so this series is copied there too:
>>
>>      am335x_hs_evm
>>      am335x_hs_evm_uart
>>      am43xx_hs_evm
>>      am57xx_hs_evm
>>      am57xx_hs_evm_usb
>>      am65x_hs_evm_a53
>>      am65x_hs_evm_r5
>>      dra7xx_hs_evm
>>      dra7xx_hs_evm_usb
>>      j721e_hs_evm_a72
>>      j721e_hs_evm_r5
>>      k2e_hs_evm
>>      k2g_hs_evm
>>      k2hk_hs_evm
>>      k2l_hs_evm
>>
>> Ivan Mikhaylov has sent a patch to help with these, but I need to take a
>> look at the testing side. In any case they should really be using binman
>> for the image generation.
>>
>> Changes in v4:
>> - Add new patch to disable USE_SPL_FIT_GENERATOR by default
>>
>> Changes in v3:
>> - Add an offset to the FIT description
>> - Add support for writing sections in binman
>> - Rebase to master
>>
>> Changes in v2:
>> - Rename op-tee to tee-os
>> - Drop use of .itb2
>> - Drop patches previously applied
>> - Add various suggestions from Alper Nebi Yasak
>> - Add patches to refactor binman's FIT support
>>
>> Simon Glass (7):
>>    binman: Allow writing section contents to a file
>>    rockchip: evb-rk3288: Drop raw-image support
>>    rockchip: Include binman script in 64-bit boards
>>    rockchip: Support building the all output files in binman
>>    rockchip: Convert all boards to use binman
>>    rockchip: Drop the FIT generator script
>>    treewide: Disable USE_SPL_FIT_GENERATOR by default
>>
> 
> Can this one please be applied in time for the release?
> 

You still have review/questions left unanswered/unaddressed:
https://lore.kernel.org/u-boot/a29f8d62-c7be-60e7-8a79-b52f589a93e7@linaro.org/
https://lore.kernel.org/u-boot/67717a66-13d5-a72c-a34c-fac191a238ad@theobroma-systems.com/
https://lore.kernel.org/u-boot/67717a66-13d5-a72c-a34c-fac191a238ad@theobroma-systems.com/

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script
  2022-12-07 10:19   ` Quentin Schulz
@ 2022-12-07 18:10     ` Simon Glass
  0 siblings, 0 replies; 18+ messages in thread
From: Simon Glass @ 2022-12-07 18:10 UTC (permalink / raw)
  To: Quentin Schulz
  Cc: U-Boot Mailing List, Roger Quadros, Alper Nebi Yasak, Peter Geis,
	Philippe Reynes, Ivan Mikhaylov, Tom Rini, huang lin, Jeffy Chen,
	Kever Yang, Philipp Tomsich, Adam Ford, Alifer Moraes,
	Andre Przywara, Andreas Geisreiter, Andrew F. Davis,
	Angus Ainslie, Ariel D'Alessandro, Aswath Govindraju,
	Bin Meng, Chee Hong Ang, Chee Tien Fong, Chia-Wei, Wang,
	Chin-Liang See, Christoph Niedermaier, Dinh Nguyen,
	Fabio Estevam, Frieder Schrempf, Heiko Thiery,
	Heinrich Schuchardt, Ilko Iliev, Jagan Teki, Jan Kiszka, Le Jin,
	Ley Foon Tan, Luca Ceresoli, Lukasz Majewski, Manoj Sai,
	Marcel Ziswiler, Marco Franchi, Marek Behún, Marek Vasut,
	Matteo Lisi, Michael Trimarchi, Michael Walle, Michal Simek,
	Mingkai Hu, Olaf Mandel, Oliver Graute, Pali Rohár,
	Patrice Chotard, Patrick Delaunay, Paweł Anikiel, Peng Fan,
	Philipp Tomsich, Rajesh Bhagat, Siew Chin Lim,
	Stefan Herbrechtsmeier, Teresa Remmet, Tim Harvey,
	Ying-Chun Liu (PaulLiu),
	kernel, u-boot, uboot-stm32

Hi Quentin,

On Wed, 7 Dec 2022 at 23:19, Quentin Schulz
<quentin.schulz@theobroma-systems.com> wrote:
>
> Hi Simon,
>
> On 12/7/22 02:08, Simon Glass wrote:
> > Hi Kevar,
> >
> > On Mon, 7 Nov 2022 at 11:40, Simon Glass <sjg@chromium.org> wrote:
> >>
> >> At present rockchip 64-bit boards make use of a FIT-generator script
> >> written in Python. The script supports splitting an ELF file into several
> >> 'loadable' nodes in the FIT. Binman does not current support this feature.
> >>
> >> This series adds binman support for ELF splitting. This works by adding a
> >> new 'fit,operation' property to the FIT subnodes, allowing this new way of
> >> generating nodes.
> >>
> >> Some other fixes and improvements are needed along the way.
> >>
> >> A new, common binman description is added for 64-bit boards which includes
> >> the required u-boot.itb file.
> >>
> >> The existing script is removed, so that only a few zynq boards are now
> >> using a SPL_FIT_GENERATOR script:
> >>
> >>     avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0
> >>     xilinx_zynqmp_virt
> >>
> >> Migration of those is hopefully in progress.
> >>
> >> Note however that tools/k3_fit_atf.sh remains, used by a few boards that
> >> enable CONFIG_TI_SECURE_DEVICE so this series is copied there too:
> >>
> >>      am335x_hs_evm
> >>      am335x_hs_evm_uart
> >>      am43xx_hs_evm
> >>      am57xx_hs_evm
> >>      am57xx_hs_evm_usb
> >>      am65x_hs_evm_a53
> >>      am65x_hs_evm_r5
> >>      dra7xx_hs_evm
> >>      dra7xx_hs_evm_usb
> >>      j721e_hs_evm_a72
> >>      j721e_hs_evm_r5
> >>      k2e_hs_evm
> >>      k2g_hs_evm
> >>      k2hk_hs_evm
> >>      k2l_hs_evm
> >>
> >> Ivan Mikhaylov has sent a patch to help with these, but I need to take a
> >> look at the testing side. In any case they should really be using binman
> >> for the image generation.
> >>
> >> Changes in v4:
> >> - Add new patch to disable USE_SPL_FIT_GENERATOR by default
> >>
> >> Changes in v3:
> >> - Add an offset to the FIT description
> >> - Add support for writing sections in binman
> >> - Rebase to master
> >>
> >> Changes in v2:
> >> - Rename op-tee to tee-os
> >> - Drop use of .itb2
> >> - Drop patches previously applied
> >> - Add various suggestions from Alper Nebi Yasak
> >> - Add patches to refactor binman's FIT support
> >>
> >> Simon Glass (7):
> >>    binman: Allow writing section contents to a file
> >>    rockchip: evb-rk3288: Drop raw-image support
> >>    rockchip: Include binman script in 64-bit boards
> >>    rockchip: Support building the all output files in binman
> >>    rockchip: Convert all boards to use binman
> >>    rockchip: Drop the FIT generator script
> >>    treewide: Disable USE_SPL_FIT_GENERATOR by default
> >>
> >
> > Can this one please be applied in time for the release?
> >
>
> You still have review/questions left unanswered/unaddressed:
> https://lore.kernel.org/u-boot/a29f8d62-c7be-60e7-8a79-b52f589a93e7@linaro.org/
> https://lore.kernel.org/u-boot/67717a66-13d5-a72c-a34c-fac191a238ad@theobroma-systems.com/
> https://lore.kernel.org/u-boot/67717a66-13d5-a72c-a34c-fac191a238ad@theobroma-systems.com/

Oh I see. I did v5 but never sent it out! Thanks for noticing it. I
will get it out soon.

Regards,
Simon

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-12-08  0:02 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-06 22:40 [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
2022-11-06 22:40 ` [PATCH v4 1/7] binman: Allow writing section contents to a file Simon Glass
2022-11-07 14:24   ` Quentin Schulz
2022-11-07 15:28     ` Simon Glass
2022-11-07 15:36       ` quentin.schulz
2022-11-07 17:33         ` Simon Glass
2022-11-06 22:40 ` [PATCH v4 2/7] rockchip: evb-rk3288: Drop raw-image support Simon Glass
2022-11-06 22:40 ` [PATCH v4 3/7] rockchip: Include binman script in 64-bit boards Simon Glass
2022-11-07 14:32   ` Quentin Schulz
2022-11-06 22:40 ` [PATCH v4 4/7] rockchip: Support building the all output files in binman Simon Glass
2022-11-07 14:17   ` Jerome Forissier
2022-11-07 14:45   ` Quentin Schulz
2022-11-06 22:40 ` [PATCH v4 5/7] rockchip: Convert all boards to use binman Simon Glass
2022-11-06 22:40 ` [PATCH v4 6/7] rockchip: Drop the FIT generator script Simon Glass
2022-11-06 22:40 ` [PATCH v4 7/7] treewide: Disable USE_SPL_FIT_GENERATOR by default Simon Glass
2022-12-07  1:08 ` [PATCH v4 0/7] binman: rockchip: Migrate from rockchip SPL_FIT_GENERATOR script Simon Glass
2022-12-07 10:19   ` Quentin Schulz
2022-12-07 18:10     ` Simon Glass

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).