From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6883009067021762560 X-Received: by 2002:a05:600c:218c:: with SMTP id e12mr11682712wme.28.1605966158470; Sat, 21 Nov 2020 05:42:38 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:e5c2:: with SMTP id a2ls2037981wrn.3.gmail; Sat, 21 Nov 2020 05:42:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJyCrJqYUTGqPbKiauh3eJnEc75Pcn1s15HUGNE4lH7uOg5jRe8iChDCmXCGBhS9Xsvc8IBR X-Received: by 2002:a5d:474d:: with SMTP id o13mr22716703wrs.178.1605966157460; Sat, 21 Nov 2020 05:42:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605966157; cv=none; d=google.com; s=arc-20160816; b=R1O7yGgnXjvq/1RGcIb1cRC47YDhayE689GeACSRF9JoWu5TTabvigTP35VqR7murg LNLn1JwF7ZzGmLiNfGwpYIZS3nnoQTuEscASiJGqbKOEYjXE8TMqNv5SB6K2tMmyaRny BIatzCk5shdxtlL+G2k1Vtf5oYkCb5tZxbjM+8oCaq9cQjn20hjt2F1luMiVT+qLJRZ7 thhGgRCTr2puQd897M7mnJtWCUR5HlXU2bbpz8+4/6a721Z9kWF4AB4bT2cQe0/Re2bR OSa2c5+Pp1ghorqOeNdK96UL8vshnFqyFpi+3dksF68PPbYZtqBVA4miphpxWusjoiNb XT9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:references:to:from:subject; bh=fzelACv+kIS4yFzyneZanRrhFgRVywSGaroUeSTWuPw=; b=k9t2cGp0gtoR68dORZfohEDYXZ0PLSv14l8uGHhM3tijVuIXndfcYX4OgyKLl5A0R5 9uaQERbOhJQvZNjjTBdUhAUPbilmFLkKN1rDJDOU913ME/a7jYH0uRnigmUg0ZNXfJtC 9cGw4CO2mSwK0VUg9k17XgpOplYoEXCH4Jf5+3qC+qancvLNKEod4j0wK/qnUbbfD8L8 9GuF+NkdMmER+2fFVnklPfglUnDHICBibty98h3DzDpD7PvO/pzGxlOu/kWt2OB9Wozm Sc++ifIcXNm5iDoRVeL8mKJRxguYZ56ODpR6Yynu6wpL/eBr/SHC0fb/PpOPNHcwjfih uf6A== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id z83si625506wmc.3.2020.11.21.05.42.37 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 21 Nov 2020 05:42:37 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id 0ALDga4u030035 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sat, 21 Nov 2020 14:42:36 +0100 Received: from [167.87.38.29] ([167.87.38.29]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 0ALDgaVm004553 for ; Sat, 21 Nov 2020 14:42:36 +0100 Subject: [PATCH v3 07/11] Add recipe include for building custom Trusted Firmware A From: Jan Kiszka To: isar-users References: <2d6f4d8247ddb4365500f0da08262e7bb27f0c3a.1602755020.git.jan.kiszka@siemens.com> Message-ID: <824e6891-ed9c-9b48-3dcb-281d3e5d33b4@siemens.com> Date: Sat, 21 Nov 2020 14:42:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 MIME-Version: 1.0 In-Reply-To: <2d6f4d8247ddb4365500f0da08262e7bb27f0c3a.1602755020.git.jan.kiszka@siemens.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: qapcaEqJjWFN From: Jan Kiszka Analogously to U-Boot, this adds an include file to be used in custom TF-A recipes. The typical customization points are TF_A_PLATFORM and possibly a couple of TF_A_EXTRA_BUILDARGS. The to-be-packaged binaries can be defined via TF_A_BINARIES. Debian has a binary package called "arm-trusted-firmware", targeting a couple of sunxi boards. We do not follow that legacy naming by intention and rather use the new official one. Debian will probably follow at some point. Signed-off-by: Jan Kiszka --- Changes in v3: - more flexible TF_A_BINARIES definition, supporting also platforms with custom BUILD_PLAT definitions (k3, rk3399, tegra) .../trusted-firmware-a/files/debian/compat | 1 + .../files/debian/control.tmpl | 10 +++++ .../trusted-firmware-a/files/debian/rules | 19 ++++++++ .../trusted-firmware-a-custom.inc | 43 +++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 meta/recipes-bsp/trusted-firmware-a/files/debian/compat create mode 100644 meta/recipes-bsp/trusted-firmware-a/files/debian/control.tmpl create mode 100755 meta/recipes-bsp/trusted-firmware-a/files/debian/rules create mode 100644 meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc diff --git a/meta/recipes-bsp/trusted-firmware-a/files/debian/compat b/meta/recipes-bsp/trusted-firmware-a/files/debian/compat new file mode 100644 index 00000000..f599e28b --- /dev/null +++ b/meta/recipes-bsp/trusted-firmware-a/files/debian/compat @@ -0,0 +1 @@ +10 diff --git a/meta/recipes-bsp/trusted-firmware-a/files/debian/control.tmpl b/meta/recipes-bsp/trusted-firmware-a/files/debian/control.tmpl new file mode 100644 index 00000000..7ffd189d --- /dev/null +++ b/meta/recipes-bsp/trusted-firmware-a/files/debian/control.tmpl @@ -0,0 +1,10 @@ +Source: ${PN} +Section: admin +Priority: optional +Standards-Version: 3.9.6 +Build-Depends: ${DEBIAN_BUILD_DEPENDS} +Maintainer: ISAR project + +Package: trusted-firmware-a-${TF_A_NAME} +Architecture: ${DISTRO_ARCH} +Description: ${DESCRIPTION}, firmware binaries diff --git a/meta/recipes-bsp/trusted-firmware-a/files/debian/rules b/meta/recipes-bsp/trusted-firmware-a/files/debian/rules new file mode 100755 index 00000000..70e1dd66 --- /dev/null +++ b/meta/recipes-bsp/trusted-firmware-a/files/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +# Debian rules for custom Trusted Firmware A build +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2020 +# +# SPDX-License-Identifier: MIT + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- +endif + +override_dh_auto_build: + CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_MAKE) PLAT=$(TF_A_PLATFORM) \ + $(TF_A_EXTRA_BUILDARGS) + +%: + dh $@ diff --git a/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc b/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc new file mode 100644 index 00000000..1142bfce --- /dev/null +++ b/meta/recipes-bsp/trusted-firmware-a/trusted-firmware-a-custom.inc @@ -0,0 +1,43 @@ +# Custom Trusted Firmware A build +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2020 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/files:" + +SRC_URI += "file://debian/" + +DESCRIPTION ?= "Custom Trusted Firmware A" + +TF_A_NAME ?= "${MACHINE}" +TF_A_PLATFORM ?= "unknown" +TF_A_EXTRA_BUILDARGS ?= "" +TF_A_BINARIES ?= "release/bl31.bin" + +DEBIAN_BUILD_DEPENDS ?= "" + +PROVIDES += "trusted-firmware-a-${TF_A_NAME}" + +TEMPLATE_FILES = "debian/control.tmpl" +TEMPLATE_VARS += "TF_A_NAME DEBIAN_BUILD_DEPENDS" + +do_prepare_build() { + cp -r ${WORKDIR}/debian ${S}/ + + deb_add_changelog + + rm -f ${S}/debian/trusted-firmware-a-${TF_A_NAME}.install + for binary in ${TF_A_BINARIES}; do + echo "build/${TF_A_PLATFORM}/$binary /usr/lib/trusted-firmware-a/${TF_A_NAME}/" >> \ + ${S}/debian/trusted-firmware-a-${TF_A_NAME}.install + done +} + +dpkg_runbuild_prepend() { + export TF_A_PLATFORM="${TF_A_PLATFORM}" + export TF_A_EXTRA_BUILDARGS="${TF_A_EXTRA_BUILDARGS}" +} -- 2.26.2