diff --git a/meta-digi-arm/conf/machine/include/imx-digi-base.inc b/meta-digi-arm/conf/machine/include/imx-digi-base.inc index 124211b09..3b37a5ba1 100644 --- a/meta-digi-arm/conf/machine/include/imx-digi-base.inc +++ b/meta-digi-arm/conf/machine/include/imx-digi-base.inc @@ -277,12 +277,15 @@ PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.2.182.0" PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.2.182.0" # Use i.MX optee Version -PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.19.0.imx" -PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.0.0.imx" -PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.19.0.imx" -PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.0.0.imx" -PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.19.0.imx" -PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.0.0.imx" +PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-os:mx91-nxp-bsp ??= "4.2.0.imx" +PREFERRED_VERSION_optee-os:mx93-nxp-bsp ??= "4.0.0.imx" +PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-client:mx91-nxp-bsp ??= "4.2.0.imx" +PREFERRED_VERSION_optee-client:mx93-nxp-bsp ??= "4.0.0.imx" +PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "3.19.0.imx" +PREFERRED_VERSION_optee-test:mx91-nxp-bsp ??= "4.2.0.imx" +PREFERRED_VERSION_optee-test:mx93-nxp-bsp ??= "4.0.0.imx" # Machine learning backports from NXP's lf-6.1.55-2.2.0 release PREFERRED_VERSION_ethos-u-driver-stack:ccimx93 = "23.08" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.0.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.0.0.imx.bb index a584fae54..9d82e65df 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.0.0.imx.bb +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.0.0.imx.bb @@ -24,4 +24,4 @@ do_install() { fi } -COMPATIBLE_MACHINE = "(ccimx9)" +COMPATIBLE_MACHINE = "(ccimx93)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.2.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.2.0.imx.bb new file mode 100644 index 000000000..b177ab20b --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-client_4.2.0.imx.bb @@ -0,0 +1,27 @@ +# Copyright (C) 2024, Digi International Inc. + +# +# Reuse meta-freescale's optee-client_3.19.0.imx.bb +# +require recipes-security/optee-imx/optee-client_3.19.0.imx.bb + +SRC_URI += "${@oe.utils.vartrue('TRUSTFENCE_FILE_BASED_ENCRYPT', 'file://tee-supplicant', '', d)}" +SRCBRANCH = "lf-6.6.23_2.0.0" +SRCREV = "3eac340a781c00ccd61b151b0e9c22a8c6e9f9f0" + +EXTRA_OEMAKE += "PKG_CONFIG=pkg-config CFG_TEE_FS_PARENT_PATH='${localstatedir}/lib/tee'" + +do_install() { + oe_runmake DESTDIR=${D} install + install -D -p -m0644 ${WORKDIR}/tee-supplicant.service ${D}${systemd_system_unitdir}/tee-supplicant.service + sed -i -e s:@sysconfdir@:${sysconfdir}:g \ + -e s:@sbindir@:${sbindir}:g \ + ${D}${systemd_system_unitdir}/tee-supplicant.service + + if ${@oe.utils.vartrue('TRUSTFENCE_FILE_BASED_ENCRYPT', 'true', 'false',d)}; then + install -d ${D}${sysconfdir}/default/ + install -m 0644 ${WORKDIR}/tee-supplicant ${D}${sysconfdir}/default/tee-supplicant + fi +} + +COMPATIBLE_MACHINE = "(ccimx91)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os/0001-core-imx-support-ccimx91-dvk.patch b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os/0001-core-imx-support-ccimx91-dvk.patch new file mode 100644 index 000000000..5596e79ad --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os/0001-core-imx-support-ccimx91-dvk.patch @@ -0,0 +1,46 @@ +From: Javier Viguera +Date: Mon, 19 Aug 2024 17:42:24 +0200 +Subject: [PATCH] core: imx: support ccimx91-dvk + +Signed-off-by: Javier Viguera +--- + core/arch/arm/plat-imx/conf.mk | 6 ++++++ + core/arch/arm/plat-imx/registers/imx93.h | 1 + + 2 files changed, 7 insertions(+) + +diff --git a/core/arch/arm/plat-imx/conf.mk b/core/arch/arm/plat-imx/conf.mk +index 9ab3e1e95133..5128e9ee5e8e 100644 +--- a/core/arch/arm/plat-imx/conf.mk ++++ b/core/arch/arm/plat-imx/conf.mk +@@ -95,6 +95,7 @@ mx95-flavorlist = \ + mx95evk \ + + mx91-flavorlist = \ ++ ccimx91dvk \ + mx91evk \ + + ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ul-flavorlist))) +@@ -491,6 +492,11 @@ CFG_DDR_SIZE ?= 0x80000000 + CFG_UART_BASE ?= UART1_BASE + endif + ++ifneq (,$(filter $(PLATFORM_FLAVOR),ccimx91dvk)) ++CFG_DDR_SIZE ?= 0x20000000 ++CFG_UART_BASE ?= UART6_BASE ++endif ++ + ifneq (,$(filter $(PLATFORM_FLAVOR),mx95evk)) + CFG_DDR_SIZE ?= 0x80000000 + CFG_UART_BASE ?= UART1_BASE +diff --git a/core/arch/arm/plat-imx/registers/imx93.h b/core/arch/arm/plat-imx/registers/imx93.h +index 21080da82d04..17f4d8f5755e 100644 +--- a/core/arch/arm/plat-imx/registers/imx93.h ++++ b/core/arch/arm/plat-imx/registers/imx93.h +@@ -9,6 +9,7 @@ + #define GICR_BASE 0x48040000 + + #define UART1_BASE 0x44380000 ++#define UART6_BASE 0x425a0000 + /* + * For Normal MU - Use MU_BASE as 0x47520000 + * For Trust MU - Use MU_BASE as 0x47530000 diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.0.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.0.0.imx.bb index 430558bee..a3ad4a10b 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.0.0.imx.bb +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.0.0.imx.bb @@ -16,7 +16,6 @@ SRCBRANCH = "lf-6.1.55_2.2.0" # Tag: lf-6.1.55-2.2.0 SRCREV = "a303fc80f7c4bd713315687a1fa1d6ed136e78ee" -PLATFORM_FLAVOR:ccimx91 = "ccimx93dvk" PLATFORM_FLAVOR:ccimx93 = "ccimx93dvk" do_compile:append:ccimx93 () { @@ -24,7 +23,7 @@ do_compile:append:ccimx93 () { } do_compile[cleandirs] += "${B}-A0" -do_install:append:ccimx9 () { +do_install:append:ccimx93 () { mkdir -p ${D}/environment-setup.d sed -e "s,#OPTEE_ARCH#,${OPTEE_ARCH},g" ${WORKDIR}/environment.d-optee-sdk.sh > ${D}/environment-setup.d/optee-sdk.sh } @@ -35,4 +34,4 @@ do_deploy:append:ccimx93 () { FILES:${PN}-staticdev += "/environment-setup.d/" -COMPATIBLE_MACHINE = "(ccimx9)" +COMPATIBLE_MACHINE = "(ccimx93)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.2.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.2.0.imx.bb new file mode 100644 index 000000000..ce9b5b7a8 --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-os_4.2.0.imx.bb @@ -0,0 +1,27 @@ +# Copyright (C) 2024, Digi International Inc. + +# +# Reuse meta-freescale's optee-os_3.19.0.imx.bb +# +require recipes-security/optee-imx/optee-os_3.19.0.imx.bb + +SRC_URI = " \ + git://github.com/nxp-imx/imx-optee-os.git;protocol=https;branch=${SRCBRANCH} \ + file://0007-allow-setting-sysroot-for-clang.patch \ + file://0001-core-imx-support-ccimx91-dvk.patch \ + file://environment.d-optee-sdk.sh \ +" +SRCBRANCH = "lf-6.6.23_2.0.0" +# Tag: lf-6.6.23-2.0.0 +SRCREV = "c6be5b572452a2808d1a34588fd10e71715e23cf" + +PLATFORM_FLAVOR:ccimx91 = "ccimx91dvk" + +do_install:append:ccimx91 () { + mkdir -p ${D}/environment-setup.d + sed -e "s,#OPTEE_ARCH#,${OPTEE_ARCH},g" ${WORKDIR}/environment.d-optee-sdk.sh > ${D}/environment-setup.d/optee-sdk.sh +} + +FILES:${PN}-staticdev += "/environment-setup.d/" + +COMPATIBLE_MACHINE = "(ccimx91)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.0.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.0.0.imx.bb index 66256de59..6653c2d9f 100644 --- a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.0.0.imx.bb +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.0.0.imx.bb @@ -10,4 +10,4 @@ DEPENDS += "openssl" SRCBRANCH = "lf-6.1.55_2.2.0" SRCREV = "38efacef3b14b32a6792ceaebe211b5718536fbb" -COMPATIBLE_MACHINE = "(ccimx9)" +COMPATIBLE_MACHINE = "(ccimx93)" diff --git a/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.2.0.imx.bb b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.2.0.imx.bb new file mode 100644 index 000000000..25380673b --- /dev/null +++ b/meta-digi-arm/dynamic-layers/freescale-layer/recipes-security/optee-imx/optee-test_4.2.0.imx.bb @@ -0,0 +1,13 @@ +# Copyright (C) 2024, Digi International Inc. + +# +# Reuse meta-freescale's optee-test_3.19.0.imx.bb +# +require recipes-security/optee-imx/optee-test_3.19.0.imx.bb + +DEPENDS += "openssl" + +SRCBRANCH = "lf-6.6.23_2.0.0" +SRCREV = "07682f1b1b41ec0bfa507286979b36ab8d344a96" + +COMPATIBLE_MACHINE = "(ccimx91)"