From patchwork Sun Oct 19 07:23:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 628 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858634; bh=aX9nx5cer4wpfCPuw7D/Txzb9lO+Ior2gdMpTTereVk=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=o5AsHTdQeyPoSVQ1s2kyoBKeBH0A2G6+4bbd1CmRWd8A0t6gXK3WrUINNai203PfD LQwMKe3M4ERkeOV9wjbVrqkNNbc3Vy8qJhv3eLiQI0vG2AAR3W4iSnYiTVNwG7m0gC 3gJL24kLDd711b5rNg5cxAvfnoCtCp1+SbIWgPSqs4ey3vZOdPGfzk4zmHY0ZRpx0G ersbsCrH5hxFvkinFMKdbHfXGbfErNfUBhLlQLK0RzXS5OKcUGJYwa9P7OBP5O5FJP Ik9fKhz81r6U85jcLiirfAgcx44YCMCmKzIBIBe8/JmpFNmc/3B0eiMbUGFaVQPVra SP26CSvGgqjFg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 24165681AD for ; Sun, 19 Oct 2025 01:23:54 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id LaIzAMV4ts2M for ; Sun, 19 Oct 2025 01:23:54 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858634; bh=aX9nx5cer4wpfCPuw7D/Txzb9lO+Ior2gdMpTTereVk=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=o5AsHTdQeyPoSVQ1s2kyoBKeBH0A2G6+4bbd1CmRWd8A0t6gXK3WrUINNai203PfD LQwMKe3M4ERkeOV9wjbVrqkNNbc3Vy8qJhv3eLiQI0vG2AAR3W4iSnYiTVNwG7m0gC 3gJL24kLDd711b5rNg5cxAvfnoCtCp1+SbIWgPSqs4ey3vZOdPGfzk4zmHY0ZRpx0G ersbsCrH5hxFvkinFMKdbHfXGbfErNfUBhLlQLK0RzXS5OKcUGJYwa9P7OBP5O5FJP Ik9fKhz81r6U85jcLiirfAgcx44YCMCmKzIBIBe8/JmpFNmc/3B0eiMbUGFaVQPVra SP26CSvGgqjFg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 12D41680DD for ; Sun, 19 Oct 2025 01:23:54 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858632; bh=9722D1sfBdzJTHwnE7ICzlpRFY/H6zO3dwvt/32ifbA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GENfgLNjf7kyBIyTjmI5zzXPUkRZ9ZfiuCpM1pHmgQQAfKXuqVb2QxY2TNjd7rC5a WeeQdy3b883lLhOSm8p4FkotKVab9IxhvW6Y8PilOMpqIUrhuiNuJapLAvy+U44Cbs O86pUO05RrvuuXfLLYA8whuToJSl9XXQx/phP/uwIkJfJEmA7VN0zr7nE2ED61Dty/ 1ljIfpoeUnVDIITjLzSMfJ02H0oAV0co/jmrU4s2n2jOpUUHrx+jhNk8xqogKyqGda seRUu0r/pVIHwTMbWh41g32BRZFlF1Y+Avr3Y1TGKJUqrmB/K1ZlP1xwQZgLIFVOuF 8naHqySwH8ZLg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6BFDA6807A; Sun, 19 Oct 2025 01:23:52 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id 768UMcSFGMw7; Sun, 19 Oct 2025 01:23:52 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858627; bh=6tsowrxGzVFuw++WeyKrnKlyqNxuHMaEd3kgNvQ9KH0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g24is7kYss+6rAC50VMoUAhe2Bt04XvaJ7YtMphos43F5ski+YNqRjYNNMLMaNYSC w6q2Ditk09o30vK9/rEu45TunYDQy+XyDUyPIhmoGT/CLJlM2t5f4FuE4RqN+9aTZ5 UyZ5rGpU0on4SbXAEKrq0bAcFSNGtaoQemPZZagGTic19C/qg6+E/ZyI3UvvRnfHTP Ol+T5ZIgyBRg0rtQi4LhmHvy6qV5bqhwOr6Ry/Sy484Bvh4uTodPZgWOeUgZkqlaKv yb+O+EDfauY0dQfXFMGQbmEEPayEeLhMGOQTM/OqjjMESsFl9E1n1Ya4rq4Yz+cKGo Mo/KW7ASNInag== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id B55116810E; Sun, 19 Oct 2025 01:23:47 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sun, 19 Oct 2025 01:23:04 -0600 Message-ID: <20251019072313.3235339-5-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251019072313.3235339-1-sjg@u-boot.org> References: <20251019072313.3235339-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: MP4D4X76B3ABLGC5XBXBJTBQ4BMO7FZF X-Message-ID-Hash: MP4D4X76B3ABLGC5XBXBJTBQ4BMO7FZF X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 4/8] tkey: Add the signer firmware List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass Add a binary for the TKey signer, so that it can be downloaded to the key when needed. Signed-off-by: Simon Glass --- drivers/misc/Makefile | 1 + drivers/misc/signer.bin-v1.0.0 | Bin 0 -> 28024 bytes include/tkey.h | 5 +++++ scripts/Makefile.lib | 20 ++++++++++++++++++++ 4 files changed, 26 insertions(+) create mode 100644 drivers/misc/signer.bin-v1.0.0 index 8f4f4c7e512..a16447795b1 100644 diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 23fd8f8ef3b..8db02bb9614 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -6,6 +6,7 @@ obj-$(CONFIG_$(PHASE_)MISC) += misc-uclass.o obj-$(CONFIG_$(PHASE_)NVMEM) += nvmem.o obj-$(CONFIG_TKEY) += tkey-uclass.o +obj-$(CONFIG_TKEY) += signer-1.0.0.o obj-$(CONFIG_$(PHASE_)CROS_EC) += cros_ec.o obj-$(CONFIG_$(PHASE_)CROS_EC_SANDBOX) += cros_ec_sandbox.o diff --git a/drivers/misc/signer.bin-v1.0.0 b/drivers/misc/signer.bin-v1.0.0 new file mode 100644 index 0000000000000000000000000000000000000000..c80dfe12d9989436e4e54beaaaea6ec3df64a128 GIT binary patch literal 28024 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 $@ + +$(obj)/signer-%.S: $(src)/signer.bin-v% + $(call cmd,S_signer) + # Splash logos # ---------------------------------------------------------------------------