From patchwork Wed Jan 22 15:45:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 55956 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5552C02182 for ; Wed, 22 Jan 2025 15:45:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.46811.1737560705998644646 for ; Wed, 22 Jan 2025 07:45:06 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 053C01007 for ; Wed, 22 Jan 2025 07:45:34 -0800 (PST) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 602763F66E for ; Wed, 22 Jan 2025 07:45:05 -0800 (PST) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 1/2] arm/trusted-firmware-a: Add cot-dt2c Date: Wed, 22 Jan 2025 10:45:03 -0500 Message-Id: <20250122154504.42280-1-jon.mason@arm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 22 Jan 2025 15:45:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6340 Platforms with GENERATE_COT need to either have COT_DESC_IN_DTB set or use cot-dt2c to generate it. Add cot-dt2c from trusted-firmware-a sources and its python dependencies to enable this for those that need it. Also, move all the relevant platforms in meta-arm-bsp to use 2.12 Signed-off-by: Jon Mason --- .../trusted-firmware-a/cot-dt2c_0.1.0.bb | 25 +++++++++++++++++++ .../python/python3-pydevicetree_0.0.12.bb | 10 ++++++++ 2 files changed, 35 insertions(+) create mode 100644 meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb create mode 100644 meta-arm/recipes-devtools/python/python3-pydevicetree_0.0.12.bb diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb b/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb new file mode 100644 index 000000000000..8f64b8a66b8a --- /dev/null +++ b/meta-arm/recipes-bsp/trusted-firmware-a/cot-dt2c_0.1.0.bb @@ -0,0 +1,25 @@ +# Description, License, and version from tools/cot_dt2c/pyproject.toml in TF-A source +DESCRIPTION = "CoT-dt2c Tool is a python script to convert CoT DT file into corresponding C file" +LICENSE = "BSD-3-Clause" + +SRC_URI_TRUSTED_FIRMWARE_A ?= "git://git.trustedfirmware.org/TF-A/trusted-firmware-a.git;protocol=https" +SRC_URI = "${SRC_URI_TRUSTED_FIRMWARE_A};branch=${SRCBRANCH}" +LIC_FILES_CHKSUM = "file://docs/license.rst;md5=83b7626b8c7a37263c6a58af8d19bee1" + +# Use cot-dt2c from TF-A v2.12.0 +SRCREV = "4ec2948fe3f65dba2f19e691e702f7de2949179c" +SRCBRANCH = "master" + +inherit python_poetry_core + +BBCLASSEXTEND = "native nativesdk" + +S = "${UNPACKDIR}/git" + +# Dependencies of plotly and igraph are not needed for the standard case +RDEPENDS:${PN} += "python3-click \ + python3-pydevicetree \ + python3-pyparsing \ + " + +PEP517_SOURCE_PATH = "${S}/tools/cot_dt2c" diff --git a/meta-arm/recipes-devtools/python/python3-pydevicetree_0.0.12.bb b/meta-arm/recipes-devtools/python/python3-pydevicetree_0.0.12.bb new file mode 100644 index 000000000000..fdd7715df629 --- /dev/null +++ b/meta-arm/recipes-devtools/python/python3-pydevicetree_0.0.12.bb @@ -0,0 +1,10 @@ +SUMMARY = "Python 3 library for parsing, querying, and modifying Devicetree Source v1 files" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=23f9ad5cad3d8cc0336e2a5d8a87e1fa" +HOMEPAGE = "https://github.com/sifive/pydevicetree" + +inherit pypi setuptools3 + +SRC_URI[sha256sum] = "1ca19ec38bec0095a0a8dc4753a578e8c6e9a70873112547d30c92b32411f667" + +BBCLASSEXTEND = "native nativesdk" From patchwork Wed Jan 22 15:45:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 55955 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5701C0218C for ; Wed, 22 Jan 2025 15:45:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.46812.1737560706054335982 for ; Wed, 22 Jan 2025 07:45:06 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3952A1063 for ; Wed, 22 Jan 2025 07:45:34 -0800 (PST) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9550A3F66E for ; Wed, 22 Jan 2025 07:45:05 -0800 (PST) From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 2/2] arm/trusted-firmware-a: Move 2.11 to meta-arm-bsp Date: Wed, 22 Jan 2025 10:45:04 -0500 Message-Id: <20250122154504.42280-2-jon.mason@arm.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250122154504.42280-1-jon.mason@arm.com> References: <20250122154504.42280-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 22 Jan 2025 15:45:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6341 Move v2.11 to meta-arm-bsp so that corstone1000 can still use it (though 2.12 does appear to work). Move all the other platforms in meta-arm-bsp to use 2.12. Signed-off-by: Jon Mason --- meta-arm-bsp/conf/machine/fvp-base.conf | 2 -- meta-arm-bsp/conf/machine/sgi575.conf | 2 -- .../trusted-firmware-a/trusted-firmware-a-fvp-base.inc | 6 ++++++ .../trusted-firmware-a/trusted-firmware-a-sgi575.inc | 6 ++++++ .../trusted-firmware-a/trusted-firmware-a_2.11.0.bb | 0 5 files changed, 12 insertions(+), 4 deletions(-) rename {meta-arm => meta-arm-bsp}/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.11.0.bb (100%) diff --git a/meta-arm-bsp/conf/machine/fvp-base.conf b/meta-arm-bsp/conf/machine/fvp-base.conf index b69995256008..03896a347184 100644 --- a/meta-arm-bsp/conf/machine/fvp-base.conf +++ b/meta-arm-bsp/conf/machine/fvp-base.conf @@ -20,8 +20,6 @@ SERIAL_CONSOLES = "115200;ttyAMA0" # FIXME - This is being upstreamed. Remove once that has occurred. KERNEL_CONSOLE ?= "${@','.join(d.getVar('SERIAL_CONSOLES').split(' ')[0].split(';')[::-1]) or 'ttyS0'}" -PREFERRED_VERSION_trusted-firmware-a ?= "2.11.%" - PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" KERNEL_DTB_NAME = "fvp-base-revc.dtb" KERNEL_DEVICETREE = "arm/${KERNEL_DTB_NAME}" diff --git a/meta-arm-bsp/conf/machine/sgi575.conf b/meta-arm-bsp/conf/machine/sgi575.conf index e905c4293792..3c2c94b6dcbf 100644 --- a/meta-arm-bsp/conf/machine/sgi575.conf +++ b/meta-arm-bsp/conf/machine/sgi575.conf @@ -6,8 +6,6 @@ require conf/machine/include/arm/armv8-2a/tune-cortexa75.inc -PREFERRED_VERSION_trusted-firmware-a ?= "2.11.%" - EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" EXTRA_IMAGEDEPENDS += "trusted-firmware-a" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc index a5d1ee53515b..4f0d34ea09b5 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-fvp-base.inc @@ -62,3 +62,9 @@ EXTRA_OEMAKE += "FVP_DT_PREFIX=fvp-base-gicv3-psci-1t FVP_USE_GIC_DRIVER=FVP_GIC # Our fvp-base machine explicitly has v8.4 cores EXTRA_OEMAKE += "ARM_ARCH_MAJOR=8 ARM_ARCH_MINOR=4" + +# If GENERATE_COT is set, then tf-a will try to use local poetry install +# to run the python cot-dt2c command. Disable the local poetry and use +# the provided cot-dt2c. +EXTRA_OEMAKE += "POETRY=''" +DEPENDS += "cot-dt2c-native" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc index 20904b34cb78..01cc67bb32e3 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-sgi575.inc @@ -11,3 +11,9 @@ TFA_UEFI = "1" EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem" + +# If GENERATE_COT is set, then tf-a will try to use local poetry install +# to run the python cot-dt2c command. Disable the local poetry and use +# the provided cot-dt2c. +EXTRA_OEMAKE += "POETRY=''" +DEPENDS += "cot-dt2c-native" diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.11.0.bb b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.11.0.bb similarity index 100% rename from meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.11.0.bb rename to meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_2.11.0.bb