Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2086356/?format=api
{ "id": 2086356, "url": "http://patchwork.ozlabs.org/api/patches/2086356/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20250515-bl1-support-v1-1-fd4365542877@ti.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20250515-bl1-support-v1-1-fd4365542877@ti.com>", "list_archive_url": null, "date": "2025-05-15T15:16:19", "name": "binman: add atf-bl1 to etypes", "commit_ref": "52c0290526ce58d55099deb4a1a52bac40a3b0a0", "pull_url": null, "state": "accepted", "archived": false, "hash": "be6811749a9a31bc827babea6669e658c82f65ad", "submitter": { "id": 83354, "url": "http://patchwork.ozlabs.org/api/people/83354/?format=api", "name": "Bryan Brattlof", "email": "bb@ti.com" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20250515-bl1-support-v1-1-fd4365542877@ti.com/mbox/", "series": [ { "id": 457040, "url": "http://patchwork.ozlabs.org/api/series/457040/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=457040", "date": "2025-05-15T15:16:19", "name": "binman: add atf-bl1 to etypes", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/457040/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2086356/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2086356/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=ti.com header.i=@ti.com header.a=rsa-sha256\n header.s=ti-com-17Q1 header.b=iG5KvSj0;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=pass (p=quarantine dis=none) header.from=ti.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=ti.com header.i=@ti.com header.b=\"iG5KvSj0\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=quarantine dis=none) header.from=ti.com", "phobos.denx.de; spf=pass smtp.mailfrom=bb@ti.com" ], "Received": [ "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4Zyv1c3lCQz1yZ4\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 16 May 2025 01:16:20 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 60F9782BE4;\n\tThu, 15 May 2025 17:16:33 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id E9BE482C15; Thu, 15 May 2025 17:16:31 +0200 (CEST)", "from fllvem-ot03.ext.ti.com (fllvem-ot03.ext.ti.com [198.47.19.245])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n bits)) (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 8657282BC1\n for <u-boot@lists.denx.de>; Thu, 15 May 2025 17:16:28 +0200 (CEST)", "from fllv0034.itg.ti.com ([10.64.40.246])\n by fllvem-ot03.ext.ti.com (8.15.2/8.15.2) with ESMTPS id 54FFGMXW047350\n (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Thu, 15 May 2025 10:16:22 -0500", "from DLEE115.ent.ti.com (dlee115.ent.ti.com [157.170.170.26])\n by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 54FFGMEs013225\n (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);\n Thu, 15 May 2025 10:16:22 -0500", "from DLEE111.ent.ti.com (157.170.170.22) by DLEE115.ent.ti.com\n (157.170.170.26) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Thu, 15\n May 2025 10:16:22 -0500", "from lelvsmtp6.itg.ti.com (10.180.75.249) by DLEE111.ent.ti.com\n (157.170.170.22) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via\n Frontend Transport; Thu, 15 May 2025 10:16:22 -0500", "from localhost (bb.dhcp.ti.com [128.247.81.12])\n by lelvsmtp6.itg.ti.com (8.15.2/8.15.2) with ESMTP id 54FFGMd3062683;\n Thu, 15 May 2025 10:16:22 -0500" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-3.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,\n RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_PASS,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;\n s=ti-com-17Q1; t=1747322182;\n bh=qV5C+M2neubPB4gUemw1krHSS+C99mZXYXKdZAzg8E0=;\n h=From:Date:Subject:To:CC;\n b=iG5KvSj0GYc+oCa1DHRA+/1oIGvLcJxLiKRgJZf8Bme3dcbwlvoEQiJYp5h+bTgk1\n Q9gGmTYFq+qWJgk2W5MLuDyPdnuA3XqVkqXiPa3xqYpCM8bwD1693pdXgWwd4WHCkU\n zQQwflrZE/MBukfX6HacsZU/AILttL+gvptlJwJA=", "From": "Bryan Brattlof <bb@ti.com>", "Date": "Thu, 15 May 2025 10:16:19 -0500", "Subject": "[PATCH] binman: add atf-bl1 to etypes", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-ID": "<20250515-bl1-support-v1-1-fd4365542877@ti.com>", "X-B4-Tracking": "v=1; b=H4sIAEIFJmgC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE\n vPSU3UzU4B8JSMDI1MDU0MT3aQcQ93i0oKC/KISXUtzwxTTFENjy9RkQyWgjoKi1LTMCrBp0bG\n 1tQBxirt+XQAAAA==", "To": "Tom Rini <trini@konsulko.com>, Simon Glass <sjg@chromium.org>, Alper Nebi\n Yasak <alpernebiyasak@gmail.com>", "CC": "<u-boot@lists.denx.de>, Neha Malcom Francis <n-francis@ti.com>, Bryan\n Brattlof <bb@ti.com>", "X-Mailer": "b4 0.13.0", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=5034; i=bb@ti.com;\n h=from:subject:message-id; bh=Fi2ZB/ketFLEHl2IJEwpOtgFSYd9G6aEBYb7V9Fyiko=;\n b=owNCWmg5MUFZJlNZvU9WgQAAaP///3//tv3jq/q7OOv7X/c3w1tv+z71+9L94k8r1X/10v+wA\n RswIeoMgADJpoNAMgGgAaNAaADQNGhkDEDR6mjRoMjTQDQDBMRpkYANJpptIgNNGhkDTQMTQDQN\n DQMBMQAMEGTTQPSZNDQADI0aGmTTQGmgHqaGg0NGmm0TIcmmmjamQGhgmmgANNMmhkYhoAAABph\n GmTAgyaYJgQaaNAAAaGJoAZGgFC1IFsAGa5n8GkDkdlKNqUxKcrQgEgX2saiJjvkfmKHywJ52LR\n XaDlc8fO1S2fgEVf17QoimVgFyJtHZLVIA68uL/aAOxepwau9lQgIgEk854OhTn5/x7c0OCnu+V\n qsKi14Rs7nXzJwmURKG6hjL37F7bDAxmPEhT+lL8dwTV44ZO99sF1LEzYti8dwD7pRaOceBJDJV\n URJho5le5Uih2u2+16HFJFdNTcoE1qKUK2hJ0k4mQJQb9GhlnHpe/8rltuCOWvlaxMZFxSvKcMV\n /PdMT+WPWPVSfYXqJRC44Hy4+ixhLA5hy78A6rSvgSTQpJTTI0H4FyrBYTaxA06zIDnrPkPoBDh\n uiCMMXk6MWOwhAFXqtnQD42u/jjmxLPBABDrPBBuaA8P24Bv9qmrQs/EhP4x+YhiBcMDPgDKKBr\n JU5Fv0O/8XckU4UJC9T1aBA", "X-Developer-Key": "i=bb@ti.com; a=openpgp;\n fpr=D3D177E40A38DF4D1853FEEF41B90D5D71D56CE0", "X-C2ProcessedOrg": "333ef613-75bf-4e12-a4b1-8e3623f5dcea", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "Some SoCs require a Trusted Firmware-A (TF-A) AP Trusted ROM (BL1) to\ninitialize the SoC before U-Boot can run properly. Add an atf-bl1 etype\nso we can properly package BL1 into a final binary\n\nSigned-off-by: Bryan Brattlof <bb@ti.com>\n---\n Makefile | 1 +\n tools/binman/entries.rst | 16 ++++++++++++++++\n tools/binman/etype/atf_bl1.py | 23 +++++++++++++++++++++++\n tools/binman/ftest.py | 7 +++++++\n tools/binman/test/347_bl1.dts | 13 +++++++++++++\n 5 files changed, 60 insertions(+)\n\n\n---\nbase-commit: 1b5e435102aa29a665119430196cb366ce36a01b\nchange-id: 20250514-bl1-support-971d5d139ec1\n\nBest regards,", "diff": "diff --git a/Makefile b/Makefile\nindex f3278e3b01387..4bc907d14b292 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -1414,6 +1414,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \\\n \t\t-I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \\\n \t\t$(foreach f,$(of_list_dirs),-I $(f)) -a of-list=$(of_list) \\\n \t\t$(foreach f,$(BINMAN_INDIRS),-I $(f)) \\\n+\t\t-a atf-bl1-path=${BL1} \\\n \t\t-a atf-bl31-path=${BL31} \\\n \t\t-a tee-os-path=${TEE} \\\n \t\t-a ti-dm-path=${TI_DM} \\\ndiff --git a/tools/binman/entries.rst b/tools/binman/entries.rst\nindex 4f05aa0a32362..12a39d070e48d 100644\n--- a/tools/binman/entries.rst\n+++ b/tools/binman/entries.rst\n@@ -53,6 +53,22 @@ respecting the `bootph-xxx` tags in the devicetree.\n \n \n \n+.. _etype_atf_bl1:\n+\n+Entry: atf-bl1: AP Trusted ROM (TF-A) BL1 blob\n+-----------------------------------------------------\n+\n+Properties / Entry arguments:\n+ - atf-bl1-path: Filename of file to read into entry. This is typically\n+ called bl1.bin\n+\n+This entry holds the AP Trusted ROM firmware typically used by an SoC to\n+help initialize the SoC before the SPL or U-Boot is started. See\n+https://github.com/TrustedFirmware-A/trusted-firmware-a for more information\n+about Boot Loader stage 1 (BL1) or about Trusted Firmware (TF-A)\n+\n+\n+\n .. _etype_atf_bl31:\n \n Entry: atf-bl31: ARM Trusted Firmware (ATF) BL31 blob\ndiff --git a/tools/binman/etype/atf_bl1.py b/tools/binman/etype/atf_bl1.py\nnew file mode 100644\nindex 0000000000000..7adf10e693c7c\n--- /dev/null\n+++ b/tools/binman/etype/atf_bl1.py\n@@ -0,0 +1,23 @@\n+# SPDX-License-Identifier: GPL-2.0+\n+# Copyright 2025 Texas Instruments Incorporated\n+#\n+# Entry-type module for Application Processor Trusted ROM (BL1)\n+#\n+\n+from binman.etype.blob_named_by_arg import Entry_blob_named_by_arg\n+\n+class Entry_atf_bl1(Entry_blob_named_by_arg):\n+ \"\"\"Application Processor (AP) Trusted ROM BL1 blob\n+\n+ Properties / Entry arguments:\n+ - atf-bl1-path: Filename of file to read into entry. This is typically\n+ called bl1.bin or bl1.elf\n+\n+ This entry holds the boot code initialization like exception vectors and\n+ processor and platform initialization.\n+\n+ See https://github.com/TrustedFirmware-A/trusted-firmware-a for more information.\n+ \"\"\"\n+ def __init__(self, section, etype, node):\n+ super().__init__(section, etype, node, 'atf-bl1')\n+ self.external = True\ndiff --git a/tools/binman/ftest.py b/tools/binman/ftest.py\nindex fa17490001488..0c41b346821c9 100644\n--- a/tools/binman/ftest.py\n+++ b/tools/binman/ftest.py\n@@ -87,6 +87,7 @@ REFCODE_DATA = b'refcode'\n FSP_M_DATA = b'fsp_m'\n FSP_S_DATA = b'fsp_s'\n FSP_T_DATA = b'fsp_t'\n+ATF_BL1_DATA = b'bl1'\n ATF_BL31_DATA = b'bl31'\n TEE_OS_DATA = b'this is some tee OS data'\n TI_DM_DATA = b'tidmtidm'\n@@ -225,6 +226,7 @@ class TestFunctional(unittest.TestCase):\n \n TestFunctional._MakeInputFile('compress', COMPRESS_DATA)\n TestFunctional._MakeInputFile('compress_big', COMPRESS_DATA_BIG)\n+ TestFunctional._MakeInputFile('bl1.bin', ATF_BL1_DATA)\n TestFunctional._MakeInputFile('bl31.bin', ATF_BL31_DATA)\n TestFunctional._MakeInputFile('tee-pager.bin', TEE_OS_DATA)\n TestFunctional._MakeInputFile('dm.bin', TI_DM_DATA)\n@@ -5573,6 +5575,11 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n data = self._DoReadFile('225_ti_dm.dts')\n self.assertEqual(TI_DM_DATA, data[:len(TI_DM_DATA)])\n \n+ def testPackBl1(self):\n+ \"\"\"test if an image with a bl1 binary can be created\"\"\"\n+ data = self._DoReadFile('347_bl1.dts')\n+ self.assertEqual(ATF_BL1_DATA, data[:len(ATF_BL1_DATA)])\n+\n def testFitFdtOper(self):\n \"\"\"Check handling of a specified FIT operation\"\"\"\n entry_args = {\ndiff --git a/tools/binman/test/347_bl1.dts b/tools/binman/test/347_bl1.dts\nnew file mode 100644\nindex 0000000000000..1a10995620450\n--- /dev/null\n+++ b/tools/binman/test/347_bl1.dts\n@@ -0,0 +1,13 @@\n+// SPDX-License-Identifier: GPL-2.0+\n+\n+/dts-v1/;\n+\n+/ {\n+\t#address-cells = <1>;\n+\t#size-cells = <1>;\n+\tbinman {\n+\t\tatf-bl1 {\n+\t\t\tfilename = \"bl1.bin\";\n+\t\t};\n+\t};\n+};\n", "prefixes": [] }