[PATCH v1] imx: imx8qxp: imx8qxp_mek switch to binman

Peng Fan peng.fan at nxp.com
Wed Oct 26 10:31:37 CEST 2022


On Wed, Oct 26, 2022 at 09:33:16AM +0200, Oliver Graute wrote:
>Switch to use binman pack images
>
>Signed-off-by: Oliver Graute <oliver.graute at kococonnector.com>
>---
> arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi | 127 +++++++++++++++++++++++
> arch/arm/mach-imx/imx8/Kconfig           |   1 +
> board/freescale/imx8qxp_mek/imximage.cfg |   3 +-
> configs/imx8qxp_mek_defconfig            |   2 +
> doc/board/nxp/imx8qxp_mek.rst            |   2 +-
> 5 files changed, 132 insertions(+), 3 deletions(-)
>
>diff --git a/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi
>index ae037c7550..073a401a1c 100644
>--- a/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi
>+++ b/arch/arm/dts/fsl-imx8qxp-mek-u-boot.dtsi
>@@ -3,6 +3,133 @@
>  * Copyright 2018, 2021 NXP
>  */
> 
>+/ {
>+	binman: binman {
>+		multiple-images;
>+	};
>+};
>+
>+&binman {
>+	u-boot-spl-ddr {
>+		align = <4>;
>+		align-size = <4>;
>+		filename = "u-boot-spl-ddr.bin";
>+		pad-byte = <0xff>;
>+
>+		u-boot-spl {
>+			align-end = <4>;
>+			filename = "u-boot-spl.bin";
>+		};
>+	};
>+
>+	spl {
>+		filename = "spl.bin";
>+
>+		mkimage {
>+			args = "-n spl/u-boot-spl.cfgout -T imx8image -e 0x100000";
>+
>+			blob {
>+				filename = "u-boot-spl-ddr.bin";
>+			};
>+		};
>+	};
>+
>+	itb {
>+		filename = "u-boot.itb";
>+
>+		fit {
>+			description = "Configuration to load ATF before U-Boot";
>+			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
>+			fit,fdt-list = "of-list";
>+			#address-cells = <1>;
>+
>+			images {
>+				uboot {
>+					arch = "arm64";
>+					compression = "none";
>+					description = "U-Boot (64-bit)";
>+					load = <CONFIG_SYS_TEXT_BASE>;
>+					type = "standalone";
>+
>+					uboot-blob {
>+						filename = "u-boot-nodtb.bin";
>+						type = "blob-ext";
>+					};
>+				};
>+
>+				atf {
>+					arch = "arm64";
>+					compression = "none";
>+					description = "ARM Trusted Firmware";
>+					entry = <0x00910000>;
>+					load =  <0x00091000>;
>+					type = "firmware";
>+
>+					atf-blob {
>+						filename = "bl31.bin";
>+						type = "atf-bl31";
>+					};
>+				};
>+
>+				scfw {
>+					arch = "arm64";
>+					compression = "none";
>+					description = "System Controler Firmware";
>+					type = "firmware";
>+
>+					scfw_blob {
>+						filename = "mx8qx-mek-scfw-tcm.bin";
>+						type = "blob-ext";
>+					};
>+				};
>+
>+				seco {
>+					arch = "arm64";
>+					compression = "none";
>+					description = "Seco Firmware";
>+					type = "firmware";
>+
>+					seco_blob {
>+						filename = "mx8qxc0-ahab-container.img";
>+						type = "blob-ext";
>+					};
>+				};
>+
>+				fdt {
>+					type = "flat_dt";
>+					compression = "none";
>+
>+					uboot-fdt-blob {
>+						filename = "u-boot.dtb";
>+						type = "blob-ext";
>+					};
>+				};
>+			};
>+
>+			configurations {
>+				default = "conf";
>+
>+				conf {
>+					fdt = "fdt";
>+					firmware = "uboot";
>+					loadables = "atf";
>+				};
>+			};
>+		};
>+	};
>+
>+	imx-boot {
>+		filename = "flash.bin";
>+		pad-byte = <0x00>;
>+
>+		spl {
>+			filename = "spl.bin";
>+			offset = <0x0>;
>+			type = "blob-ext";
>+		};
>+	};
>+};
>+
> &{/imx8qx-pm} {
> 
> 	u-boot,dm-spl;
>diff --git a/arch/arm/mach-imx/imx8/Kconfig b/arch/arm/mach-imx/imx8/Kconfig
>index d423cf8563..23a7fcf361 100644
>--- a/arch/arm/mach-imx/imx8/Kconfig
>+++ b/arch/arm/mach-imx/imx8/Kconfig
>@@ -90,6 +90,7 @@ config TARGET_IMX8QM_ROM7720_A1
> 
> config TARGET_IMX8QXP_MEK
> 	bool "Support i.MX8QXP MEK board"
>+	select BINMAN
> 	select BOARD_LATE_INIT
> 	select IMX8QXP
> 	select FSL_CAAM
>diff --git a/board/freescale/imx8qxp_mek/imximage.cfg b/board/freescale/imx8qxp_mek/imximage.cfg
>index 89a4736ab7..88d6955a9e 100644
>--- a/board/freescale/imx8qxp_mek/imximage.cfg
>+++ b/board/freescale/imx8qxp_mek/imximage.cfg
>@@ -7,8 +7,7 @@
>  */
> 
> 
>-/* Boot from SD, sector size 0x400 */
>-BOOT_FROM SD 0x400
>+BOOT_FROM	sd
> /* SoC type IMX8QX */
> SOC_TYPE IMX8QX
> /* Append seco container image */
>diff --git a/configs/imx8qxp_mek_defconfig b/configs/imx8qxp_mek_defconfig
>index 73600c5a8c..0e22f13c7f 100644
>--- a/configs/imx8qxp_mek_defconfig
>+++ b/configs/imx8qxp_mek_defconfig
>@@ -23,6 +23,8 @@ CONFIG_SYS_LOAD_ADDR=0x80280000
> CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x80200000
> CONFIG_REMAKE_ELF=y
>+CONFIG_FIT=y
>+CONFIG_FIT_EXTERNAL_OFFSET=0x3000
> CONFIG_OF_BOARD_SETUP=y
> CONFIG_OF_SYSTEM_SETUP=y
> CONFIG_BOOTDELAY=3
>diff --git a/doc/board/nxp/imx8qxp_mek.rst b/doc/board/nxp/imx8qxp_mek.rst
>index 215627cfa6..708db1952e 100644
>--- a/doc/board/nxp/imx8qxp_mek.rst
>+++ b/doc/board/nxp/imx8qxp_mek.rst
>@@ -50,7 +50,7 @@ Build U-Boot
> .. code-block:: bash
> 
>   $ make imx8qxp_mek_defconfig
>-  $ make flash.bin
>+  $ make
> 
> Flash the binary into the SD card
> ---------------------------------

This needs switch to use imx container for binman in the end, but it should be
ok for now to use FIT to pack the images.

Reviewed-by: Peng Fan <peng.fan at nxp.com>

>-- 
>2.17.1
>

-- 


More information about the U-Boot mailing list