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))