From patchwork Sun Oct 19 07:23:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 43 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=1760858615; bh=NHa8+PxleoPDenuNI8zVCTOCpo4wntywOhG+Fpme2Kc=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=XcXA8WUaJHBO4woEtvTu4F9MzTkWvd+dnvUKSofGffqc46/FmTOvUBX9StORlNbce +pPt8Y1eONDakazPnh0BvB1MzBvUkTqp03nLT/cP7Kgag4d1OfbKZ9PQKeXBid62kI NAbqVlnz9Z9Z4jgIabMvpg/uVfgLoeK8lTGBcBVDZTlNuFyaH1N1viyj7r2Rea6LyA 1zSs0+BdWtz+34faOiVTJR5PLraSoki/qrABF5nsbH7iFt1Cb/LpEaIwHfxcmL/tf1 u6P2m7mVrYuXQmJtGggN3jAb6mPV970eiDcpjICuapCasYVXa3g+d5qJg0yEu4Inul mUhHQcaH3daqg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 3EAF968198 for ; Sun, 19 Oct 2025 01:23:35 -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 3WU8EppxgAJC for ; Sun, 19 Oct 2025 01:23:35 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858615; bh=NHa8+PxleoPDenuNI8zVCTOCpo4wntywOhG+Fpme2Kc=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=XcXA8WUaJHBO4woEtvTu4F9MzTkWvd+dnvUKSofGffqc46/FmTOvUBX9StORlNbce +pPt8Y1eONDakazPnh0BvB1MzBvUkTqp03nLT/cP7Kgag4d1OfbKZ9PQKeXBid62kI NAbqVlnz9Z9Z4jgIabMvpg/uVfgLoeK8lTGBcBVDZTlNuFyaH1N1viyj7r2Rea6LyA 1zSs0+BdWtz+34faOiVTJR5PLraSoki/qrABF5nsbH7iFt1Cb/LpEaIwHfxcmL/tf1 u6P2m7mVrYuXQmJtGggN3jAb6mPV970eiDcpjICuapCasYVXa3g+d5qJg0yEu4Inul mUhHQcaH3daqg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 2D08E68168 for ; Sun, 19 Oct 2025 01:23:35 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858612; bh=GCyQ7c6tcnTm+Y7mbYKKEDYsQ/EblpaSMBOizliNjg8=; h=From:To:Cc:Subject:Date:From; b=kiGwibjlhsDUgvSyHY5ie5wJ55c4mjww/nGzWME+91l8ITj0LVRB0GqST0Sz4Njca 3faQT3E25hMtsj1pnOnSgn37ZgMf/xUaA8hrQXHKSdU7QQmiZdxxrQyELwmNL0vWES kEjfXMKx9RCaQMxzJLTGiZkF3tR+iRuVVH5UZboG+vFK0PCHO158BzoyypiaLOWhsk 1qnC5bpOViXRg4IqabwRzgU84yKrMmvXn6ZKarLFQZqFOluUL+HYNgtauR72ztXmiS ZdC+YtE0Gp7Jz41LYQBZ5xU4QNVsvs/v829ztgpWpefndVsG3MRfbfXb2Y/lBjk4TA KQ6beBaLXEwlw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8041C68168; Sun, 19 Oct 2025 01:23:32 -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 VFgkQdZ0Y1hE; Sun, 19 Oct 2025 01:23:32 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760858608; bh=UVNot3UckA/K5OukRRGiLUESmR+JW8jCzr2e2COPWqM=; h=From:To:Cc:Subject:Date:From; b=c9QF0lI4xqgwYvQWmrGxcseZcXHWew6x78AvlDo5AqC2HnbBl5/5zI8Vuk3ZjEmmY HOkCbc8t1H6dZ6YI9uH/IBpMI+T88L8awD+uvTqwJbW1zGMS9+oVLNd4aQo0FKJRvG fDua/oER3narYmUaD2CGcfJRX37ZlFM7alRwtXjTi7dwaO9jl6LBN6TYb8fiCp6hF7 X+jlXqwKOEcBYE2hV84z6vPLaJiAl7HdmwemW7xm2UA99NjekiPsOdBiAhKByz7rsH uHJFl+3yu7obH8jjjdfNKeOTxhjJmxx7xgv8/y8SnZzZNORob6Nx7Fs0igbSP4WANn y13JsLlF1zAjg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 0EF816807A; Sun, 19 Oct 2025 01:23:28 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sun, 19 Oct 2025 01:23:00 -0600 Message-ID: <20251019072313.3235339-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: HHP63TFW3G4HOVBLHW7YDEAMI4SAOZL7 X-Message-ID-Hash: HHP63TFW3G4HOVBLHW7YDEAMI4SAOZL7 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 0/8] tkey: Provide basic support for Tillitis TKey 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 This device provides a way to sign data using an internal, unique key. It can be useful for features such as unlocking an encrypted disk. This series provides basic support for the Tkey, with a uclass, two sandbox drivers (emulator and serial), a simple command some tests. Simon Glass (8): serial: ns16550: Add skip-init devicetree property lib: Add blake2s support for TKey USS derivation tkey: Provide a uclass for the Tillitis TKey tkey: Add the signer firmware tkey: Add emulator and test tkey: Add a command sandbox: Add TTY configuration for TKey serial communication tkey: Add a sandbox driver for real TKey hardware arch/sandbox/cpu/Makefile | 4 +- arch/sandbox/cpu/tty.c | 56 +++ arch/sandbox/dts/sandbox.dtsi | 5 + arch/sandbox/dts/test.dts | 4 + cmd/Kconfig | 10 + cmd/Makefile | 1 + cmd/tkey.c | 298 +++++++++++++ doc/usage/cmd/tkey.rst | 247 +++++++++++ doc/usage/index.rst | 1 + drivers/misc/Kconfig | 11 + drivers/misc/Makefile | 6 + drivers/misc/signer.bin-v1.0.0 | Bin 0 -> 28024 bytes drivers/misc/tkey-uclass.c | 741 +++++++++++++++++++++++++++++++++ drivers/misc/tkey_emul.c | 284 +++++++++++++ drivers/misc/tkey_sandbox.c | 170 ++++++++ drivers/serial/ns16550.c | 12 +- include/dm/uclass-id.h | 1 + include/ns16550.h | 2 + include/os.h | 12 + include/tkey.h | 232 +++++++++++ include/u-boot/blake2.h | 51 ++- lib/Makefile | 2 +- lib/blake2/blake2s.c | 282 +++++++++++++ scripts/Makefile.lib | 20 + test/cmd/Makefile | 1 + test/cmd/tkey.c | 67 +++ test/dm/Makefile | 1 + test/dm/tkey.c | 290 +++++++++++++ 28 files changed, 2804 insertions(+), 7 deletions(-) create mode 100644 arch/sandbox/cpu/tty.c create mode 100644 cmd/tkey.c create mode 100644 doc/usage/cmd/tkey.rst create mode 100644 drivers/misc/signer.bin-v1.0.0 create mode 100644 drivers/misc/tkey-uclass.c create mode 100644 drivers/misc/tkey_emul.c create mode 100644 drivers/misc/tkey_sandbox.c create mode 100644 include/tkey.h create mode 100644 lib/blake2/blake2s.c create mode 100644 test/cmd/tkey.c create mode 100644 test/dm/tkey.c