<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: binman fails when using CONFIG_SPL_MULTI_DTB_FIT=y in MCX Microcontrollers</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2122546#M3390</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248064"&gt;@MB_stek&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you are doing very well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please, if possible share your device tree with the binman node to test by my side.&lt;/P&gt;
&lt;P&gt;If possible share steps of you compilation process.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
    <pubDate>Tue, 24 Jun 2025 22:21:38 GMT</pubDate>
    <dc:creator>Manuel_Salas</dc:creator>
    <dc:date>2025-06-24T22:21:38Z</dc:date>
    <item>
      <title>binman fails when using CONFIG_SPL_MULTI_DTB_FIT=y</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2121502#M3373</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;in order to support multiple board variants by the same bootloader, we want to add multiple u-boot device tree blobs to a fitImage included in the u-boot binary (flash.bin).&lt;/P&gt;&lt;P&gt;However, during building, binman fails:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;|   /home/jenkins/build-arm/workspace/sources/u-boot/tools/binman/binman   --toolpath ./tools  build -u -d u-boot.dtb -O . -m --allow-missing --fake-ext-blobs  -I . -I /home/jenkins/build-arm/workspace/sources/u-boot -I /home/jenkins/build-arm/workspace/sources/u-boot/board/s/s_imx8 -I arch/arm/dts -a of-list="s_imx8-common s_imx8-msc-common"  -a atf-bl31-path= -a tee-os-path= -a ti-dm-path= -a opensbi-path= -a default-dt="s_imx8-common" -a scp-path= -a rockchip-tpl-path= -a spl-bss-pad= -a tpl-bss-pad=1 -a vpl-bss-pad=1 -a spl-dtb=y -a tpl-dtb= -a vpl-dtb= -a pre-load-key-path= -a of-spl-remove-props="interrupt-parent interrupts"
| binman: 'NoneType' object has no attribute 'startswith'
| /home/jenkins/build-arm/workspace/sources/u-boot/Makefile:1578: recipe for target 'flash.bin' failed
| make[1]: *** [flash.bin] Error 1&lt;/LI-CODE&gt;&lt;P&gt;In the u-boot configs, we added&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_LIST="s_imx8-common s_imx8-msc-common"
CONFIG_MULTI_DTB_FIT=y
CONFIG_SPL_MULTI_DTB_FIT=y&lt;/LI-CODE&gt;&lt;P&gt;In our custom dst file, we're including&amp;nbsp;arch/arm/dts/imx8mm-u-boot.dtsi which has the binman node definition.&lt;/P&gt;&lt;P&gt;Used u-boot version: v2025.01 (mainline)&lt;/P&gt;&lt;P&gt;Used Python version: 3.8.0&lt;/P&gt;&lt;P&gt;Does anybody have an idea what could be the issue here or what we could check?&lt;BR /&gt;&lt;BR /&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Markus&lt;/P&gt;</description>
      <pubDate>Mon, 23 Jun 2025 15:17:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2121502#M3373</guid>
      <dc:creator>MB_stek</dc:creator>
      <dc:date>2025-06-23T15:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: binman fails when using CONFIG_SPL_MULTI_DTB_FIT=y</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2122546#M3390</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248064"&gt;@MB_stek&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you are doing very well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please, if possible share your device tree with the binman node to test by my side.&lt;/P&gt;
&lt;P&gt;If possible share steps of you compilation process.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jun 2025 22:21:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2122546#M3390</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2025-06-24T22:21:38Z</dc:date>
    </item>
    <item>
      <title>Re: binman fails when using CONFIG_SPL_MULTI_DTB_FIT=y</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2124129#M3414</link>
      <description>&lt;P&gt;Hi Salas,&lt;/P&gt;&lt;P&gt;we have found another defconfig setting which builds without errors:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_LIST="dt1 dt2 dt3"&lt;/LI-CODE&gt;&lt;P&gt;This allows us to add several device trees in a fit image inside the u-boot binary and make SPL select which device tree to use for u-boot proper.&lt;/P&gt;&lt;P&gt;Our binman config is the standard config from&amp;nbsp;arch/arm/dts/imx8mm-u-boot.dtsi:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;amp;binman {
	filename = "flash.bin";
	section {
		pad-byte = &amp;lt;0x00&amp;gt;;

#ifdef CONFIG_FSPI_CONF_HEADER
		fspi_conf_block {
			filename = CONFIG_FSPI_CONF_FILE;
			type = "blob-ext";
			size = &amp;lt;0x1000&amp;gt;;
		};
#endif

#ifdef CONFIG_IMX_HAB
		nxp-imx8mcst@0 {
			filename = "u-boot-spl-mkimage.signed.bin";
			nxp,loader-address = &amp;lt;CONFIG_SPL_TEXT_BASE&amp;gt;;
			nxp,unlock;
			args;	/* Needed by mkimage etype superclass */
#endif

			binman_imx_spl: nxp-imx8mimage {
				filename = "u-boot-spl-mkimage.bin";
				nxp,boot-from = "sd";
				nxp,rom-version = &amp;lt;1&amp;gt;;
				nxp,loader-address = &amp;lt;CONFIG_SPL_TEXT_BASE&amp;gt;;
				args;	/* Needed by mkimage etype superclass */

				section {
					align = &amp;lt;4&amp;gt;;
					align-size = &amp;lt;4&amp;gt;;
					filename = "u-boot-spl-ddr.bin";
					pad-byte = &amp;lt;0xff&amp;gt;;

					u-boot-spl {
						align-end = &amp;lt;4&amp;gt;;
						filename = "u-boot-spl.bin";
					};

					ddr-1d-imem-fw {
						filename = "lpddr4_pmu_train_1d_imem.bin";
						align-end = &amp;lt;4&amp;gt;;
						type = "blob-ext";
					};

					ddr-1d-dmem-fw {
						filename = "lpddr4_pmu_train_1d_dmem.bin";
						align-end = &amp;lt;4&amp;gt;;
						type = "blob-ext";
					};

					ddr-2d-imem-fw {
						filename = "lpddr4_pmu_train_2d_imem.bin";
						align-end = &amp;lt;4&amp;gt;;
						type = "blob-ext";
					};

					ddr-2d-dmem-fw {
						filename = "lpddr4_pmu_train_2d_dmem.bin";
						align-end = &amp;lt;4&amp;gt;;
						type = "blob-ext";
					};
				};
			};
#ifdef CONFIG_IMX_HAB
		};

		nxp-imx8mcst@1 {
			filename = "u-boot-fit.signed.bin";
			nxp,loader-address = &amp;lt;CONFIG_SPL_LOAD_FIT_ADDRESS&amp;gt;;
#ifdef CONFIG_FSPI_CONF_HEADER
			offset = &amp;lt;0x58C00&amp;gt;;
#else
			offset = &amp;lt;0x57c00&amp;gt;;
#endif

			args;	/* Needed by mkimage etype superclass */
#endif

			binman_imx_fit: fit {
				description = "Configuration to load ATF before U-Boot";
				filename = "u-boot.itb";
#ifndef CONFIG_IMX_HAB
				fit,external-offset = &amp;lt;CONFIG_FIT_EXTERNAL_OFFSET&amp;gt;;
#endif
				fit,fdt-list = "of-list";
				#address-cells = &amp;lt;1&amp;gt;;
#ifdef CONFIG_FSPI_CONF_HEADER
				offset = &amp;lt;0x58C00&amp;gt;;
#else
				offset = &amp;lt;0x57c00&amp;gt;;
#endif

				images {
					uboot {
						arch = "arm64";
						compression = "none";
						description = "U-Boot (64-bit)";
						load = &amp;lt;CONFIG_TEXT_BASE&amp;gt;;
						type = "standalone";

						uboot-blob {
							filename = "u-boot-nodtb.bin";
							type = "blob-ext";
						};
					};

#ifndef CONFIG_ARMV8_PSCI
					atf {
						arch = "arm64";
						compression = "none";
						description = "ARM Trusted Firmware";
						entry = &amp;lt;0x920000&amp;gt;;
						load = &amp;lt;0x920000&amp;gt;;
						type = "firmware";

						atf-blob {
							filename = "bl31.bin";
							type = "atf-bl31";
						};
					};
#endif

					binman_fip: fip {
						arch = "arm64";
						compression = "none";
						description = "Trusted Firmware FIP";
						load = &amp;lt;0x40310000&amp;gt;;
						type = "firmware";
					};

					@fdt-SEQ {
						compression = "none";
						description = "NAME";
						type = "flat_dt";

						uboot-fdt-blob {
							filename = "u-boot.dtb";
							type = "blob-ext";
						};
					};
				};

				configurations {
					default = "@config-DEFAULT-SEQ";

					@config-SEQ {
						description = "NAME";
						fdt = "fdt-SEQ";
						firmware = "uboot";
#ifndef CONFIG_ARMV8_PSCI
						loadables = "atf";
#endif
					};
				};
			};
#ifdef CONFIG_IMX_HAB
		};
#endif
	};
};&lt;/LI-CODE&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Markus&lt;/P&gt;</description>
      <pubDate>Thu, 26 Jun 2025 15:38:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/binman-fails-when-using-CONFIG-SPL-MULTI-DTB-FIT-y/m-p/2124129#M3414</guid>
      <dc:creator>MB_stek</dc:creator>
      <dc:date>2025-06-26T15:38:10Z</dc:date>
    </item>
  </channel>
</rss>

