diff --git a/conf/machine/iq-9075-evk-open-fw.conf b/conf/machine/iq-9075-evk-open-fw.conf index 6f829612a..880d18917 100644 --- a/conf/machine/iq-9075-evk-open-fw.conf +++ b/conf/machine/iq-9075-evk-open-fw.conf @@ -4,7 +4,7 @@ require conf/machine/iq-9075-evk.conf -EXTRA_IMAGEDEPENDS += "trusted-firmware-a-qcom" +EXTRA_IMAGEDEPENDS += "trusted-firmware-a-qcom-lemans-evk" MACHINE_FEATURES += "optee" MACHINE_EXTRA_RRECOMMENDS += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-arm', 'packagegroup-optee', '', d)}" diff --git a/conf/machine/rb3gen2-core-kit-open-fw.conf b/conf/machine/rb3gen2-core-kit-open-fw.conf index 740c18808..2ac1836e1 100644 --- a/conf/machine/rb3gen2-core-kit-open-fw.conf +++ b/conf/machine/rb3gen2-core-kit-open-fw.conf @@ -4,7 +4,7 @@ require conf/machine/rb3gen2-core-kit.conf -EXTRA_IMAGEDEPENDS += "trusted-firmware-a-qcom" +EXTRA_IMAGEDEPENDS += "trusted-firmware-a-qcom-rb3gen2" MACHINE_FEATURES += "optee" MACHINE_EXTRA_RRECOMMENDS += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-arm', 'packagegroup-optee', '', d)}" diff --git a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom-lemans-evk_git.bb b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom-lemans-evk_git.bb new file mode 100644 index 000000000..1b95452e8 --- /dev/null +++ b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom-lemans-evk_git.bb @@ -0,0 +1,6 @@ +require trusted-firmware-a-qcom.inc + +DEPENDS += "optee-os-qcom-lemans" + +TFA_PLATFORM = "lemans_evk" +FIP_ELF_ADDR = "0xaf000000" diff --git a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom-rb3gen2_git.bb b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom-rb3gen2_git.bb new file mode 100644 index 000000000..31e2454d7 --- /dev/null +++ b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom-rb3gen2_git.bb @@ -0,0 +1,16 @@ +require trusted-firmware-a-qcom.inc + +DEPENDS += "optee-os-qcom-kodiak" + +TFA_PLATFORM = "rb3gen2" +QTISECLIB_SOC = "sc7280" +FIP_ELF_ADDR = "0x9fc00000" + +SRC_URI += "git://github.com/coreboot/qc_blobs.git;protocol=https;name=qc-blobs;subdir=qc_blobs;branch=main" +SRCREV_qc-blobs = "16207f367ddbf280a0c2c8a3d3ee454a59710a25" +SRCREV_FORMAT .= "_qc-blobs" + +LICENSE += "& LICENSE.qcom" +LIC_FILES_CHKSUM += "file://${UNPACKDIR}/qc_blobs/${QTISECLIB_SOC}/qtiseclib/LICENSE;md5=fa83f30385e617b56ef0934f13645621" + +EXTRA_OEMAKE:append = " QTISECLIB_PATH=${UNPACKDIR}/qc_blobs/${QTISECLIB_SOC}/qtiseclib/libqtisec.a" diff --git a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom.inc b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom.inc index 3ab315500..9c7a968f7 100644 --- a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom.inc +++ b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom.inc @@ -1,16 +1,24 @@ -DEPENDS += "qtestsign-native optee-os-qcom u-boot-qcom" +require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc -SRC_URI += "git://github.com/coreboot/qc_blobs.git;protocol=https;name=qc_blobs;subdir=qc_blobs;branch=main" -SRCREV_qc_blobs = "16207f367ddbf280a0c2c8a3d3ee454a59710a25" +DEPENDS += "qtestsign-native u-boot-qcom" -LICENSE += "& LICENSE.qcom" -LIC_FILES_CHKSUM:qcm6490 += "file://${UNPACKDIR}/qc_blobs/sc7280/qtiseclib/LICENSE;md5=fa83f30385e617b56ef0934f13645621" +PV = "2.15.0-qcom+git" -COMPATIBLE_MACHINE = "qcm6490|qcs9100" -TFA_PLATFORM:qcm6490 = "rb3gen2" -TFA_PLATFORM:qcs9100 = "lemans_evk" +SRC_TAG = "tag=qcom-next-2.15-20260804" +SRC_URI = "git://github.com/qualcomm-linux/trusted-firmware-a.git;protocol=https;name=tfa;nobranch=1;${SRC_TAG}" +SRCREV_tfa = "10ecf7dcc641e8453e2e2ea2f21c13c7a867ffe0" -TFA_BUILD_TARGET = "bl2 fip" +LIC_FILES_CHKSUM += "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:aarch64 = "(qcom)" + +python () { + if not d.getVar('FIP_ELF_ADDR'): + bb.fatal('FIP_ELF_ADDR must be set by the device recipe') +} + +TFA_BUILD_TARGET = "bl2 bl31 fip" TFA_SPD = "opteed" EXTRA_OEMAKE:append = " \ @@ -18,15 +26,8 @@ EXTRA_OEMAKE:append = " \ BL33=${DEPLOY_DIR_IMAGE}/u-boot.bin \ " -EXTRA_OEMAKE:append:qcm6490 = " \ - QTISECLIB_PATH=${UNPACKDIR}/qc_blobs/sc7280/qtiseclib/libqtisec.a \ - " - do_compile[depends] += " u-boot-qcom:do_deploy" -FIP_ELF_ADDR:qcm6490 = "0x9fc00000" -FIP_ELF_ADDR:qcs9100 = "0xaf000000" - do_install:append() { export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 diff --git a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom_git.bb b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom_git.bb deleted file mode 100644 index 894a93d0a..000000000 --- a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a-qcom_git.bb +++ /dev/null @@ -1,11 +0,0 @@ -require recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc - -PV = "2.14.0-qcom+git" - -SRC_TAG = "tag=qcom-next-2.14-20260507" -SRC_URI = "git://github.com/qualcomm-linux/trusted-firmware-a.git;protocol=https;name=tfa;nobranch=1;${SRC_TAG}" -SRCREV_tfa = "7336923157d8e55ec6e1111b111d6c1befdb1054" - -LIC_FILES_CHKSUM += "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" - -require trusted-firmware-a-qcom.inc diff --git a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom-kodiak_git.bb b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom-kodiak_git.bb new file mode 100644 index 000000000..dc3bfaeb7 --- /dev/null +++ b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom-kodiak_git.bb @@ -0,0 +1,8 @@ +require optee-os-qcom.inc + +OPTEEMACHINE = "qcom-kodiak" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:aarch64 = "(qcom)" + +OPTEE_DEPLOY = "optee-kodiak" diff --git a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom-lemans_git.bb b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom-lemans_git.bb new file mode 100644 index 000000000..fef710e01 --- /dev/null +++ b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom-lemans_git.bb @@ -0,0 +1,8 @@ +require optee-os-qcom.inc + +OPTEEMACHINE = "qcom-lemans" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:aarch64 = "(qcom)" + +OPTEE_DEPLOY = "optee-lemans" diff --git a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom.inc b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom.inc new file mode 100644 index 000000000..051c7030b --- /dev/null +++ b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom.inc @@ -0,0 +1,17 @@ +require recipes-security/optee/optee-os.inc + +PV = "4.10.0-qcom-20260721+git" + +SRC_TAG = "tag=qcom-next-4.10-20260721" +SRC_URI = "git://github.com/qualcomm-linux/optee_os.git;protocol=https;name=optee;nobranch=1;${SRC_TAG}" +SRCREV_optee = "690842e042dc470bf0625eb77a8cab926c372a8f" + +# Copy of do_deploy from meta-arm until we get it fixed to support configurable deploy dir +OPTEE_DEPLOY ?= "optee" +do_deploy() { + install -d ${DEPLOYDIR}/${MLPREFIX}${OPTEE_DEPLOY} + install -m 644 ${D}${nonarch_base_libdir}/firmware/* ${DEPLOYDIR}/${MLPREFIX}${OPTEE_DEPLOY} + + install -d ${DEPLOYDIR}/${MLPREFIX}${OPTEE_DEPLOY}/ta + install -m 644 ${B}/ta/*/*.elf ${DEPLOYDIR}/${MLPREFIX}${OPTEE_DEPLOY}/ta +} diff --git a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom_git.bb b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom_git.bb deleted file mode 100644 index c4e34a533..000000000 --- a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-qcom_git.bb +++ /dev/null @@ -1,9 +0,0 @@ -require recipes-security/optee/optee-os.inc - -PV = "4.10.0-qcom-20260721+git" - -SRC_TAG = "tag=qcom-next-4.10-20260721" -SRC_URI = "git://github.com/qualcomm-linux/optee_os.git;protocol=https;name=optee;nobranch=1;${SRC_TAG}" -SRCREV_optee = "690842e042dc470bf0625eb77a8cab926c372a8f" - -require optee-qcom.inc diff --git a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-tadevkit-qcom_git.bb b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-tadevkit-qcom_git.bb index a2c764da1..77ecfba28 100644 --- a/dynamic-layers/meta-arm/recipes-security/optee/optee-os-tadevkit-qcom_git.bb +++ b/dynamic-layers/meta-arm/recipes-security/optee/optee-os-tadevkit-qcom_git.bb @@ -1,4 +1,5 @@ -require optee-os-qcom_git.bb +require optee-os-qcom.inc +require optee-qcom.inc SUMMARY = "OP-TEE Trusted OS TA devkit" DESCRIPTION = "OP-TEE TA devkit for build TAs"