Re: [PATCH v7 15/19] tools: imx8image: add i.MX95 support

Lothar Waßmann
2025-03-06T05:51:17Z

Hi,

On Wed, 05 Mar 2025 21:28:27 +0800 Alice Guo (OSS) wrote:
> From: Alice Guo <alice.guo@nxp.com>
>
> i.MX95 uses binman to invoke mkimage to create image container. 2 image
> containers are needed currently. The first one is composed of
> ahab-container.img, LPDDR firmware images, OEI images, System Manager
> image and u-boot-spl.bin. The second one is consisted of ARM Trusted
> firmware and u-boot.bin.
>
> Because DDR OEI image and LPDDR firmware images have to be packaged
> together and named as m33-oei-ddrfw.bin by binman, so imx9_image.sh does
> not check if m33-oei-ddrfw.bin exists.
>
> When using "make imx95_19x19_evk_defconfig; make", imx9_image.sh will
> delete the line for u-boot.bin in container.cfg. In fact, binman is
> always called after the u-boot.bin is built, so imx9_image.sh does not
> check if u-boot.bin exists.
>
> Signed-off-by: Alice Guo <alice.guo@nxp.com>
> ---
> include/imx8image.h | 19 +++++--
> tools/imx8image.c | 143 +++++++++++++++++++++++++++++++++++++++++++++++-----
> tools/imx9_image.sh | 8 +++
> 3 files changed, 153 insertions(+), 17 deletions(-)
>
> diff --git a/include/imx8image.h b/include/imx8image.h
> index 6b95e93fb5..b48e2b0396 100644
> --- a/include/imx8image.h
> +++ b/include/imx8image.h
> @@ -157,7 +157,9 @@ enum imx8image_cmd {
> CMD_SOC_TYPE,
> CMD_CONTAINER,
> CMD_IMAGE,
> - CMD_DATA
> + CMD_DATA,
> + CMD_DUMMY_V2X,
> + CMD_HOLD
add comma to facilitate extending the enum...

> enum imx8image_core_type {
> @@ -169,7 +171,9 @@ enum imx8image_core_type {
> CFG_A35,
> CFG_A55,
> CFG_A53,
> - CFG_A72
> + CFG_A72,
> + CFG_M33,
> + CFG_OEI
dto.
>
> enum imx8image_fld_types {
> @@ -208,7 +212,10 @@ typedef enum option_type {
> FILEOFF,
> MSG_BLOCK,
> SENTINEL,
> - UPOWER
> + UPOWER,
> + OEI,
> + DUMMY_V2X,
> + HOLD
dto.

[...]
> diff --git a/tools/imx8image.c b/tools/imx8image.c
> index 0135b19095..94b1efacd1 100644
> --- a/tools/imx8image.c
> +++ b/tools/imx8image.c
> @@ -7,6 +7,7 @@
>
> #include "imx8image.h"
> #include <image.h>
> +#include <linux/sizes.h>
>
> static int p_idx;
> static int sector_size;
> @@ -54,6 +55,8 @@ static table_entry_t imx8image_cmds[] = {
> {CMD_CONTAINER, "CONTAINER", "new container", },
> {CMD_IMAGE, "IMAGE", "new image", },
> {CMD_DATA, "DATA", "new data", },
> + {CMD_DUMMY_V2X, "DUMMY_V2X", "v2x", },
> + {CMD_HOLD, "HOLD", "hold", },
> {-1, "", "", },
> };
>
the list terminator entry should not have a comment at the end, since
it MUST ALWAYS be the last entry.
Without comma adding an entry after the terminator (e.g. when resolving
a merge conflict) will lead to a compile error.
Otherwise adding an entry after the terminator would go unnoticed.

> @@ -66,6 +69,8 @@ static table_entry_t imx8image_core_entries[] = {
> {CFG_A55, "A55", "A55 core", },
> {CFG_A53, "A53", "A53 core", },
> {CFG_A72, "A72", "A72 core", },
> + {CFG_OEI, "OEI", "OEI", },
> + {CFG_M33, "M33", "M33 core", },
> {-1, "", "", },
> };
>
dto.

Lothar Waßmann