From 69d127fe29dc8ca0321588ed19f14f644ff7e910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Szymanski?= Date: Thu, 8 Feb 2024 13:54:22 +0100 Subject: [PATCH] package/freescale-imx/firmware-ele-imx: new package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This package provides firmware blobs for the Edgelock Secure Enclave (ELE) [1] present on i.MX8ULP and i.MX9 Socs. This version comes from the 6.1.55-2.2.0 release. Since i.MX8ULP is not added to Buildroot yet, only support i.MX9. [1] https://www.nxp.com/products/nxp-product-information/nxp-product-programs/edgelock-secure-enclave:EDGELOCK-SECURE-ENCLAVE Reviewed-by: Gary Bisson Signed-off-by: Sébastien Szymanski [Arnout: - Introduce BR2_PACKAGE_FREESCALE_IMX_HAS_ELE instead of specific dependencies. - Drop BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91A1, use BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 instead. - Don't use SCR.txt as license file (it's just an index file); instead, use EULA. ] Signed-off-by: Arnout Vandecappelle --- package/freescale-imx/Config.in | 6 +++++ .../freescale-imx/firmware-ele-imx/Config.in | 23 ++++++++++++++++ .../firmware-ele-imx/firmware-ele-imx.hash | 4 +++ .../firmware-ele-imx/firmware-ele-imx.mk | 27 +++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 package/freescale-imx/firmware-ele-imx/Config.in create mode 100644 package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash create mode 100644 package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk diff --git a/package/freescale-imx/Config.in b/package/freescale-imx/Config.in index 3221f06e43..3211592468 100644 --- a/package/freescale-imx/Config.in +++ b/package/freescale-imx/Config.in @@ -133,6 +133,11 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8X || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8DXL +config BR2_PACKAGE_FREESCALE_IMX_HAS_ELE + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93 + source "package/freescale-imx/imx-alsa-plugins/Config.in" source "package/freescale-imx/imx-codec/Config.in" source "package/freescale-imx/imx-kobs/Config.in" @@ -143,6 +148,7 @@ source "package/freescale-imx/imx-uuc/Config.in" source "package/freescale-imx/imx-vpu/Config.in" source "package/freescale-imx/imx-vpu-hantro/Config.in" source "package/freescale-imx/imx-vpuwrap/Config.in" +source "package/freescale-imx/firmware-ele-imx/Config.in" source "package/freescale-imx/firmware-imx/Config.in" source "package/freescale-imx/imx-sc-firmware/Config.in" source "package/freescale-imx/imx-seco/Config.in" diff --git a/package/freescale-imx/firmware-ele-imx/Config.in b/package/freescale-imx/firmware-ele-imx/Config.in new file mode 100644 index 0000000000..241ad3942d --- /dev/null +++ b/package/freescale-imx/firmware-ele-imx/Config.in @@ -0,0 +1,23 @@ +comment "firmware-ele-imx needs an i.MX platform with EdgeLock Secure Enclave" + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU + +config BR2_PACKAGE_FIRMWARE_ELE_IMX + bool "firmware-ele-imx" + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_ELE + help + Firmware blobs for the EdgeLock Secure Enclave (ELE) + present on i.MX8ULP and i.MX9 SoCs. + + This library is provided by NXP as-is and doesn't have an + upstream. + +if BR2_PACKAGE_FIRMWARE_ELE_IMX + +config BR2_PACKAGE_FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE + string + default "mx93a0-ahab-container.img" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A0 + default "mx93a1-ahab-container.img" if \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX91 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX93A1 + +endif # BR2_PACKAGE_FIRMWARE_ELE_IMX diff --git a/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash new file mode 100644 index 0000000000..0923e546b0 --- /dev/null +++ b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 4a0440168d8dfb95989a17be8fafb149589e110e7d4518e5e8a33463dfb5e5ca firmware-ele-imx-0.1.0.bin +sha256 24d7cb3a7e51011466a149bd99acf89387b832be2d0890ce2e183dfbc9d7cb84 COPYING +sha256 3282d88fad766897f93b0827297a70c2707d9358db24cccd5777abf7c997da77 EULA diff --git a/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk new file mode 100644 index 0000000000..d493fe4a96 --- /dev/null +++ b/package/freescale-imx/firmware-ele-imx/firmware-ele-imx.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# firmware-ele-imx +# +################################################################################ + +FIRMWARE_ELE_IMX_VERSION = 0.1.0 +FIRMWARE_ELE_IMX_SITE = $(FREESCALE_IMX_SITE) +FIRMWARE_ELE_IMX_SOURCE = firmware-ele-imx-$(FIRMWARE_ELE_IMX_VERSION).bin + +FIRMWARE_ELE_IMX_LICENSE = NXP Semiconductor Software License Agreement +FIRMWARE_ELE_IMX_LICENSE_FILES = COPYING EULA +FIRMWARE_ELE_IMX_REDISTRIBUTE = NO + +FIRMWARE_ELE_IMX_INSTALL_IMAGES = YES + +define FIRMWARE_ELE_IMX_EXTRACT_CMDS + $(call NXP_EXTRACT_HELPER,$(FIRMWARE_ELE_IMX_DL_DIR)/$(FIRMWARE_ELE_IMX_SOURCE)) +endef + +FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE)) + +define FIRMWARE_ELE_IMX_INSTALL_IMAGES_CMDS + cp $(@D)/$(FIRMWARE_ELE_IMX_AHAB_CONTAINER_IMAGE) $(BINARIES_DIR)/ahab-container.img +endef + +$(eval $(generic-package))