summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2022-08-10 19:01:28 +0800
committerPeng Fan <peng.fan@nxp.com>2022-08-10 19:40:28 +0800
commit81a29ec1a12e4be50428a7f30a25382be8a56ba1 (patch)
treef8116b8964da7cfdbfc6cecbddef473b4fc5537e
parent9a515f5912310ff17865dbc9db16278bc6be06be (diff)
LFU-384 board: freescale: imx8m[q,m,n,p]_evk: add per system GUID
Add Per system GUID for SR-IR-2.0 Reviewed-by: Ye Li <ye.li@nxp.co> Signed-off-by: Peng Fan <peng.fan@nxp.com>
-rw-r--r--board/freescale/imx8mm_evk/imx8mm_evk.c18
-rw-r--r--board/freescale/imx8mn_evk/imx8mn_evk.c18
-rw-r--r--board/freescale/imx8mp_evk/imx8mp_evk.c18
-rw-r--r--board/freescale/imx8mq_evk/imx8mq_evk.c18
-rw-r--r--include/configs/imx_env.h24
5 files changed, 96 insertions, 0 deletions
diff --git a/board/freescale/imx8mm_evk/imx8mm_evk.c b/board/freescale/imx8mm_evk/imx8mm_evk.c
index d3ef12bf5b..39f6d6281c 100644
--- a/board/freescale/imx8mm_evk/imx8mm_evk.c
+++ b/board/freescale/imx8mm_evk/imx8mm_evk.c
@@ -3,6 +3,7 @@
* Copyright 2018 NXP
*/
#include <common.h>
+#include <efi_loader.h>
#include <env.h>
#include <init.h>
#include <miiphy.h>
@@ -70,6 +71,23 @@ static void setup_gpmi_nand(void)
}
#endif
+#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
+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",
+ .images = fw_images,
+};
+
+u8 num_image_type_guids = ARRAY_SIZE(fw_images);
+#endif /* EFI_HAVE_CAPSULE_SUPPORT */
+
int board_early_init_f(void)
{
struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR;
diff --git a/board/freescale/imx8mn_evk/imx8mn_evk.c b/board/freescale/imx8mn_evk/imx8mn_evk.c
index 92601393cb..be7bdec635 100644
--- a/board/freescale/imx8mn_evk/imx8mn_evk.c
+++ b/board/freescale/imx8mn_evk/imx8mn_evk.c
@@ -4,6 +4,7 @@
*/
#include <common.h>
+#include <efi_loader.h>
#include <env.h>
#include <init.h>
#include <asm/global_data.h>
@@ -70,6 +71,23 @@ static void setup_gpmi_nand(void)
}
#endif
+#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
+struct efi_fw_image fw_images[] = {
+ {
+ .image_type_id = IMX_BOOT_IMAGE_GUID,
+ .fw_name = u"IMX8MN-EVK-RAW",
+ .image_index = 1,
+ },
+};
+
+struct efi_capsule_update_info update_info = {
+ .dfu_string = "mmc 2=flash-bin raw 0 0x2000 mmcpart 1",
+ .images = fw_images,
+};
+
+u8 num_image_type_guids = ARRAY_SIZE(fw_images);
+#endif /* EFI_HAVE_CAPSULE_SUPPORT */
+
int board_early_init_f(void)
{
struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR;
diff --git a/board/freescale/imx8mp_evk/imx8mp_evk.c b/board/freescale/imx8mp_evk/imx8mp_evk.c
index 346ea16744..c183dc9f4b 100644
--- a/board/freescale/imx8mp_evk/imx8mp_evk.c
+++ b/board/freescale/imx8mp_evk/imx8mp_evk.c
@@ -4,6 +4,7 @@
*/
#include <common.h>
+#include <efi_loader.h>
#include <env.h>
#include <errno.h>
#include <init.h>
@@ -51,6 +52,23 @@ static void setup_gpmi_nand(void)
}
#endif
+#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
+struct efi_fw_image fw_images[] = {
+ {
+ .image_type_id = IMX_BOOT_IMAGE_GUID,
+ .fw_name = u"IMX8MP-EVK-RAW",
+ .image_index = 1,
+ },
+};
+
+struct efi_capsule_update_info update_info = {
+ .dfu_string = "mmc 2=flash-bin raw 0 0x2000 mmcpart 1",
+ .images = fw_images,
+};
+
+u8 num_image_type_guids = ARRAY_SIZE(fw_images);
+#endif /* EFI_HAVE_CAPSULE_SUPPORT */
+
int board_early_init_f(void)
{
struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR;
diff --git a/board/freescale/imx8mq_evk/imx8mq_evk.c b/board/freescale/imx8mq_evk/imx8mq_evk.c
index 81a961883f..f470e6c7f5 100644
--- a/board/freescale/imx8mq_evk/imx8mq_evk.c
+++ b/board/freescale/imx8mq_evk/imx8mq_evk.c
@@ -4,6 +4,7 @@
*/
#include <common.h>
+#include <efi_loader.h>
#include <env.h>
#include <init.h>
#include <malloc.h>
@@ -45,6 +46,23 @@ static iomux_v3_cfg_t const uart_pads[] = {
IMX8MQ_PAD_UART1_TXD__UART1_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
};
+#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT)
+struct efi_fw_image fw_images[] = {
+ {
+ .image_type_id = IMX_BOOT_IMAGE_GUID,
+ .fw_name = u"IMX8MQ-EVK-RAW",
+ .image_index = 1,
+ },
+};
+
+struct efi_capsule_update_info update_info = {
+ .dfu_string = "mmc 0=flash-bin raw 0x42 0x2000 mmcpart 1",
+ .images = fw_images,
+};
+
+u8 num_image_type_guids = ARRAY_SIZE(fw_images);
+#endif /* EFI_HAVE_CAPSULE_SUPPORT */
+
int board_early_init_f(void)
{
struct wdog_regs *wdog = (struct wdog_regs *)WDOG1_BASE_ADDR;
diff --git a/include/configs/imx_env.h b/include/configs/imx_env.h
index 7eed730d64..2ca95826f0 100644
--- a/include/configs/imx_env.h
+++ b/include/configs/imx_env.h
@@ -28,6 +28,30 @@
#define MFG_NAND_FIT_PARTITION ""
#endif
+#if defined(CONFIG_IMX8MP)
+#define IMX_BOOT_IMAGE_GUID \
+ EFI_GUID(0x928b33bc, 0xe58b, 0x4247, 0x9f, 0x1d, \
+ 0x3b, 0xf1, 0xee, 0x1c, 0xda, 0xff)
+#endif
+#if defined(CONFIG_IMX8MM)
+#define IMX_BOOT_IMAGE_GUID \
+ EFI_GUID(0xead2005e, 0x7780, 0x400b, 0x93, 0x48, \
+ 0xa2, 0x82, 0xeb, 0x85, 0x8b, 0x6b)
+
+#endif
+#if defined(CONFIG_IMX8MN)
+#define IMX_BOOT_IMAGE_GUID \
+ EFI_GUID(0xcbabf44d, 0x12cc, 0x45dd, 0xb0, 0xc5, \
+ 0x29, 0xc5, 0xb7, 0x42, 0x2d, 0x34)
+
+#endif
+#if defined(CONFIG_IMX8MQ)
+#define IMX_BOOT_IMAGE_GUID \
+ EFI_GUID(0x296119cf, 0xdd70, 0x43de, 0x8a, 0xc8, \
+ 0xa7, 0x05, 0x1f, 0x31, 0x25, 0x77)
+
+#endif
+
#define CONFIG_MFG_ENV_SETTINGS_DEFAULT \
"mfgtool_args=setenv bootargs console=${console},${baudrate} " \
"rdinit=/linuxrc " \