On Fri, Oct 22, 2021 at 10:42:16AM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng....@nxp.com>
> 
> Switch to use binman to pack images
> 
> Signed-off-by: Peng Fan <peng....@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@1 {
> +                     filename = "lpddr4_pmu_train_1d_imem.bin";
> +                     size = <0x8000>;
> +             };
> +
> +             blob_2: blob-ext@2 {
> +                     filename = "lpddr4_pmu_train_1d_dmem.bin";
> +                     size = <0x4000>;
> +             };
> +
> +             blob_3: blob-ext@3 {
> +                     filename = "lpddr4_pmu_train_2d_imem.bin";
> +                     size = <0x8000>;
> +             };
> +
> +             blob_4: blob-ext@4 {
> +                     filename = "lpddr4_pmu_train_2d_dmem.bin";
> +                     size = <0x4000>;
> +             };
> +     };
> +
> +     signed_hdmi {
> +             filename = "signed_hdmi.bin";
> +
> +             blob_5: blob-ext@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
> 

Reply via email to