[PATCH V3 1/5] imx: imx8mq_evk: switch to binman

Patrick Wildt patrick at blueri.se
Thu Nov 11 15:41:04 CET 2021


On Fri, Oct 22, 2021 at 10:42:16AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan at nxp.com>
> 
> Switch to use binman to pack images
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>

I'm unsure how to reply to this.  On the one hand I really like to see
this go in, on the other hand this changes the expectation of what
flash.bin is.  We had the same discussion for i.MX8MM.

Because historically, flash.bin is SPL+U-Boot.itb, and for i.MX8MM
people have changed the binman config to generate a single bootable
file again: 028abfd9b1576b45cf756b9a0c978cfe17906314

So, I would ask you to adjust the imx8mq-u-boot.dts changes in the same
way as done for i.MX8MM.  You should be able to see the differences
by diffing e.g. these files:

diff -u arch/arm/dts/imx8mq-u-boot.dtsi arch/arm/dts/imx8mm-evk-u-boot.dtsi

> ---
>  arch/arm/dts/imx8mq-evk-u-boot.dtsi     |   2 +
>  arch/arm/dts/imx8mq-u-boot.dtsi         | 122 ++++++++++++++++++++++++
>  arch/arm/mach-imx/imx8m/Kconfig         |   1 +
>  board/freescale/imx8mq_evk/Kconfig      |   2 +-
>  board/freescale/imx8mq_evk/imximage.cfg |  11 +++
>  configs/imx8mq_evk_defconfig            |   2 +-
>  6 files changed, 138 insertions(+), 2 deletions(-)
>  create mode 100644 arch/arm/dts/imx8mq-u-boot.dtsi
>  create mode 100644 board/freescale/imx8mq_evk/imximage.cfg
> 
> diff --git a/arch/arm/dts/imx8mq-evk-u-boot.dtsi b/arch/arm/dts/imx8mq-evk-u-boot.dtsi
> index 2cfc12b7e0..6f9c81462e 100644
> --- a/arch/arm/dts/imx8mq-evk-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mq-evk-u-boot.dtsi
> @@ -1,5 +1,7 @@
>  // SPDX-License-Identifier: (GPL-2.0 OR MIT)
>  
> +#include "imx8mq-u-boot.dtsi"
> +
>  &usdhc1 {
>  	mmc-hs400-1_8v;
>  };
> diff --git a/arch/arm/dts/imx8mq-u-boot.dtsi b/arch/arm/dts/imx8mq-u-boot.dtsi
> new file mode 100644
> index 0000000000..2c10e9b645
> --- /dev/null
> +++ b/arch/arm/dts/imx8mq-u-boot.dtsi
> @@ -0,0 +1,122 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Copyright 2021 NXP
> + */
> +
> +/ {
> +	binman: binman {
> +		multiple-images;
> +	};
> +
> +};
> +
> +&binman {
> +	u-boot-spl-ddr {
> +		filename = "u-boot-spl-ddr.bin";
> +		pad-byte = <0xff>;
> +		align-size = <4>;
> +		align = <4>;
> +
> +		u-boot-spl {
> +			align-end = <4>;
> +		};
> +
> +		blob_1: blob-ext at 1 {
> +			filename = "lpddr4_pmu_train_1d_imem.bin";
> +			size = <0x8000>;
> +		};
> +
> +		blob_2: blob-ext at 2 {
> +			filename = "lpddr4_pmu_train_1d_dmem.bin";
> +			size = <0x4000>;
> +		};
> +
> +		blob_3: blob-ext at 3 {
> +			filename = "lpddr4_pmu_train_2d_imem.bin";
> +			size = <0x8000>;
> +		};
> +
> +		blob_4: blob-ext at 4 {
> +			filename = "lpddr4_pmu_train_2d_dmem.bin";
> +			size = <0x4000>;
> +		};
> +	};
> +
> +	signed_hdmi {
> +		filename = "signed_hdmi.bin";
> +
> +		blob_5: blob-ext at 5 {
> +			filename = "signed_hdmi_imx8m.bin";
> +		};
> +	};
> +
> +	flash {
> +		mkimage {
> +			args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000";
> +
> +			blob {
> +				filename = "u-boot-spl-ddr.bin";
> +			};
> +
> +		};
> +
> +	};
> +
> +	itb {
> +		filename = "u-boot.itb";
> +
> +		fit {
> +			description = "Configuration to load ATF before U-Boot";
> +			#address-cells = <1>;
> +			fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
> +
> +			images {
> +				uboot {
> +					description = "U-Boot (64-bit)";
> +					type = "standalone";
> +					arch = "arm64";
> +					compression = "none";
> +					load = <CONFIG_SYS_TEXT_BASE>;
> +
> +					uboot_blob: blob-ext {
> +						filename = "u-boot-nodtb.bin";
> +					};
> +				};
> +
> +				atf {
> +					description = "ARM Trusted Firmware";
> +					type = "firmware";
> +					arch = "arm64";
> +					compression = "none";
> +					load = <0x910000>;
> +					entry = <0x910000>;
> +
> +					atf_blob: blob-ext {
> +						filename = "bl31.bin";
> +					};
> +				};
> +
> +				fdt {
> +					description = "NAME";
> +					type = "flat_dt";
> +					compression = "none";
> +
> +					uboot_fdt_blob: blob-ext {
> +						filename = "u-boot.dtb";
> +					};
> +				};
> +			};
> +
> +			configurations {
> +				default = "conf";
> +
> +				conf {
> +					description = "NAME";
> +					firmware = "uboot";
> +					loadables = "atf";
> +					fdt = "fdt";
> +				};
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
> index 276b8bd974..c556e712b7 100644
> --- a/arch/arm/mach-imx/imx8m/Kconfig
> +++ b/arch/arm/mach-imx/imx8m/Kconfig
> @@ -36,6 +36,7 @@ config TARGET_IMX8MQ_CM
>  
>  config TARGET_IMX8MQ_EVK
>  	bool "imx8mq_evk"
> +	select BINMAN
>  	select IMX8MQ
>  	select IMX8M_LPDDR4
>  
> diff --git a/board/freescale/imx8mq_evk/Kconfig b/board/freescale/imx8mq_evk/Kconfig
> index c4d20ad7c7..a7c49744b3 100644
> --- a/board/freescale/imx8mq_evk/Kconfig
> +++ b/board/freescale/imx8mq_evk/Kconfig
> @@ -10,6 +10,6 @@ config SYS_CONFIG_NAME
>  	default "imx8mq_evk"
>  
>  config IMX_CONFIG
> -	default "arch/arm/mach-imx/imx8m/imximage.cfg"
> +	default "board/freescale/imx8mq_evk/imximage.cfg"
>  
>  endif
> diff --git a/board/freescale/imx8mq_evk/imximage.cfg b/board/freescale/imx8mq_evk/imximage.cfg
> new file mode 100644
> index 0000000000..74f12b30d2
> --- /dev/null
> +++ b/board/freescale/imx8mq_evk/imximage.cfg
> @@ -0,0 +1,11 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright 2021 NXP
> + */
> +
> +#define __ASSEMBLY__
> +
> +FIT
> +BOOT_FROM	sd
> +SIGNED_HDMI	signed_hdmi.bin
> +LOADER		mkimage.flash.mkimage	0x7e1000
> diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig
> index 62fe6f1523..5970d8c164 100644
> --- a/configs/imx8mq_evk_defconfig
> +++ b/configs/imx8mq_evk_defconfig
> @@ -18,7 +18,7 @@ CONFIG_SYS_LOAD_ADDR=0x40480000
>  CONFIG_FIT=y
>  CONFIG_FIT_EXTERNAL_OFFSET=0x3000
>  CONFIG_SPL_LOAD_FIT=y
> -CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-imx/mkimage_fit_atf.sh"
> +# CONFIG_USE_SPL_FIT_GENERATOR is not set
>  CONFIG_BOARD_EARLY_INIT_F=y
>  CONFIG_BOARD_LATE_INIT=y
>  CONFIG_SPL_BOARD_INIT=y
> -- 
> 2.30.0
> 


More information about the U-Boot mailing list