From: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>
To: Stefano Babic <sbabic@nabladev.com>,
Fabio Estevam <festevam@gmail.com>,
"NXP i.MX U-Boot Team" <uboot-imx@nxp.com>,
Tom Rini <trini@konsulko.com>
Cc: u-boot@lists.denx.de, Peng Fan <peng.fan@nxp.com>
Subject: [PATCH v2 2/5] imx8mm: evk: Add support for capsule update
Date: Mon, 23 Jun 2025 15:02:30 +0800 [thread overview]
Message-ID: <20250623-sr-v2-2-e97fc53f0f8d@nxp.com> (raw)
In-Reply-To: <20250623-sr-v2-0-e97fc53f0f8d@nxp.com>
From: Peng Fan <peng.fan@nxp.com>
Capsule update is EFI based firmware update which is widely
used in various OS distributions. This feature is required
by ARM System-Ready compliance test. So
- Define image array and GUID
- Select configs for EFI Capsule update
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
board/freescale/imx8mm_evk/imx8mm_evk.c | 22 ++++++++++++++++++++++
configs/imx8mm_evk_defconfig | 19 +++++++++++++++++++
2 files changed, 41 insertions(+)
diff --git a/board/freescale/imx8mm_evk/imx8mm_evk.c b/board/freescale/imx8mm_evk/imx8mm_evk.c
index d41db8d31d81b44b86a7aab5fa57d97d99e41a05..ecc20768cb5bc1e32c9c9f274eaa7f589c3ba6b1 100644
--- a/board/freescale/imx8mm_evk/imx8mm_evk.c
+++ b/board/freescale/imx8mm_evk/imx8mm_evk.c
@@ -3,6 +3,8 @@
* Copyright 2018 NXP
*/
+#include <config.h>
+#include <efi_loader.h>
#include <env.h>
#include <init.h>
#include <miiphy.h>
@@ -15,6 +17,26 @@
DECLARE_GLOBAL_DATA_PTR;
+#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
+#define IMX_BOOT_IMAGE_GUID \
+ EFI_GUID(0xead2005e, 0x7780, 0x400b, 0x93, 0x48, \
+ 0xa2, 0x82, 0xeb, 0x85, 0x8b, 0x6b)
+
+struct efi_fw_image fw_images[] = {
+ {
+ .image_type_id = IMX_BOOT_IMAGE_GUID,
+ .fw_name = u"IMX8MM-EVK-RAW",
+ .image_index = 1,
+ },
+};
+
+struct efi_capsule_update_info update_info = {
+ .dfu_string = "mmc 2=flash-bin raw 0x42 0x2000 mmcpart 1",
+ .num_images = ARRAY_SIZE(fw_images),
+ .images = fw_images,
+};
+#endif /* EFI_HAVE_CAPSULE_SUPPORT */
+
#if IS_ENABLED(CONFIG_FEC_MXC)
static int setup_fec(void)
{
diff --git a/configs/imx8mm_evk_defconfig b/configs/imx8mm_evk_defconfig
index 5230f7327db6bb34b6ff84c0564816d0cc45f8fd..aba3772649cb278d4ae2654ffbf9de43198c3aac 100644
--- a/configs/imx8mm_evk_defconfig
+++ b/configs/imx8mm_evk_defconfig
@@ -21,6 +21,11 @@ CONFIG_SPL_BSS_START_ADDR=0x910000
CONFIG_SPL_BSS_MAX_SIZE=0x2000
CONFIG_SYS_LOAD_ADDR=0x40480000
CONFIG_SPL=y
+CONFIG_EFI_MM_COMM_TEE=y
+CONFIG_EFI_VAR_BUF_SIZE=139264
+CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
+CONFIG_EFI_CAPSULE_ON_DISK=y
+CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
CONFIG_FIT=y
CONFIG_FIT_EXTERNAL_OFFSET=0x3000
CONFIG_SPL_LOAD_FIT=y
@@ -46,16 +51,25 @@ CONFIG_SYS_PROMPT="u-boot=> "
CONFIG_CMD_CPU=y
# CONFIG_CMD_EXPORTENV is not set
# CONFIG_CMD_IMPORTENV is not set
+CONFIG_CMD_NVEDIT_EFI=y
# CONFIG_CMD_CRC32 is not set
CONFIG_CMD_CLK=y
+CONFIG_CMD_DFU=y
CONFIG_CMD_FUSE=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_I2C=y
CONFIG_CMD_MMC=y
+CONFIG_CMD_OPTEE_RPMB=y
+CONFIG_CMD_OPTEE=y
CONFIG_CMD_USB_SDP=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_CMD_CACHE=y
+CONFIG_CMD_EFIDEBUG=y
+CONFIG_CMD_TIME=y
+CONFIG_CMD_GETTIME=y
+CONFIG_CMD_TIMER=y
CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_EXT4_WRITE=y
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_ENV_OVERWRITE=y
@@ -70,8 +84,10 @@ CONFIG_SPL_CLK_COMPOSITE_CCF=y
CONFIG_CLK_COMPOSITE_CCF=y
CONFIG_SPL_CLK_IMX8MM=y
CONFIG_CLK_IMX8MM=y
+CONFIG_DFU_MMC=y
CONFIG_MXC_GPIO=y
CONFIG_DM_I2C=y
+CONFIG_SUPPORT_EMMC_RPMB=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_MMC_IO_VOLTAGE=y
CONFIG_MMC_UHS_SUPPORT=y
@@ -103,6 +119,8 @@ CONFIG_SYSRESET=y
CONFIG_SPL_SYSRESET=y
CONFIG_SYSRESET_PSCI=y
CONFIG_SYSRESET_WATCHDOG=y
+CONFIG_TEE=y
+CONFIG_OPTEE=y
CONFIG_DM_THERMAL=y
CONFIG_USB=y
CONFIG_SPL_USB_HOST=y
@@ -118,3 +136,4 @@ CONFIG_SDP_LOADADDR=0x40400000
CONFIG_USB_GADGET_DOWNLOAD=y
CONFIG_SPL_USB_SDP_SUPPORT=y
CONFIG_IMX_WATCHDOG=y
+CONFIG_SHA384=y
--
2.35.3
next prev parent reply other threads:[~2025-06-23 5:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-23 7:02 [PATCH v2 0/5] imx: Support capsule update Peng Fan (OSS)
2025-06-23 7:02 ` [PATCH v2 1/5] imx8mp: evk: Add support for " Peng Fan (OSS)
2025-06-23 7:02 ` Peng Fan (OSS) [this message]
2025-06-23 7:02 ` [PATCH v2 3/5] imx8mn: " Peng Fan (OSS)
2025-06-23 7:02 ` [PATCH v2 4/5] imx93: " Peng Fan (OSS)
2025-06-23 7:02 ` [PATCH v2 5/5] imx8mq: " Peng Fan (OSS)
2025-07-01 1:43 ` [PATCH v2 0/5] imx: Support " Fabio Estevam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250623-sr-v2-2-e97fc53f0f8d@nxp.com \
--to=peng.fan@oss.nxp.com \
--cc=festevam@gmail.com \
--cc=peng.fan@nxp.com \
--cc=sbabic@nabladev.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=uboot-imx@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.