From: Aidan Garske <aidan@wolfssl.com>
To: u-boot@lists.denx.de
Cc: David Garske <david@wolfssl.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>
Subject: [PATCH v3 00/12] tpm: Add wolfTPM library support for TPM 2.0
Date: Fri, 8 May 2026 17:04:07 -0700 [thread overview]
Message-ID: <cover.1778277334.git.aidan@wolfssl.com> (raw)
Hi all,
This is v3 of the wolfTPM TPM 2.0 stack integration for U-Boot.
wolfTPM (https://github.com/wolfSSL/wolfTPM) is a portable, GPLv2 TPM 2.0
library that provides a full TPM 2.0 command set, an SPI/MMIO HAL, and
firmware-update support for Infineon SLB9672/SLB9673 hardware. This
series wires it into U-Boot as an optional backend behind the existing
'tpm2' command, alongside support for QEMU+swtpm, sandbox emulation, and
real Raspberry Pi 4 + Infineon SLB9672 hardware.
Branch (full 14-commit history including the subtree squash + merge):
https://github.com/aidangarske/u-boot wolftpm-v2-patches
Note on the subtree commits omitted from this email thread:
The branch above contains 14 commits; the email series is 12 patches.
Two commits are deliberately not sent to the list:
* "Squashed 'lib/wolftpm/' content from commit 664db130d57"
- the parentless squash commit produced by `git subtree add`.
Its diff is ~3.4MB / ~90k lines and would be rejected by the
mailing list on size.
* "Merge commit 'd42fd7b146...' as 'lib/wolftpm'"
- the corresponding subtree merge commit. Merges have no patch
form and are routinely omitted by `git format-patch`.
Please pull from the branch above (or wolfssl/wolfTPM @ 664db130d57)
to inspect the imported wolfTPM source. Subsequent updates will go
via tools/update-subtree.sh, matching how mbedTLS, lwIP, and
dts/upstream are maintained in tree.
Changes since v2:
- Replaced the lib/wolftpm git submodule with a git subtree import
(squash + merge), matching the convention used for mbedTLS, lwIP,
and dts/upstream. tools/update-subtree.sh is updated to know
about the wolftpm subtree (path lib/wolftpm, upstream
https://github.com/wolfssl/wolfTPM.git).
[feedback: Ilias Apalodimas]
- Reverted the changes to include/linux/byteorder/generic.h. The
redefinition workaround for cpu_to_beXX / beXX_to_cpu now lives
on the wolfTPM side: include/configs/user_settings.h pulls in
<asm/byteorder.h> up front so U-Boot's macros are defined before
wolfTPM's #ifndef-guarded fallbacks in tpm2_packet.h.
[feedback: Ilias Apalodimas]
Testing:
- QEMU arm64 + swtpm Python test framework
(./test/py/test.py --bd qemu_arm64 -k "test_wolftpm and not ut_cmd"):
19 passed, 2 skipped (matching doc/usage/cmd/wolftpm.rst).
- Manual QEMU arm64 + swtpm walkthrough per
doc/usage/cmd/wolftpm.rst section "Building and Running wolfTPM
with U-Boot using QEMU": tpm2 help/info/autostart/startup/
get_capability/pcr_read/pcr_print/caps all return expected output.
- Raspberry Pi 4 + Infineon SLB9672 (real hardware): all wolfTPM
cmd tests pass, including firmware update path.
v2 thread:
https://lore.kernel.org/u-boot/?q=PATCH+v2+tpm+wolfTPM
Aidan Garske (12):
tpm: export tpm_show_device, tpm_set_device, and get_tpm
include/hash: add SHA384 hash wrapper declaration for wolfTPM
spi: add BCM2835/BCM2711 hardware SPI controller driver
dts: add TPM device tree nodes for RPi4, QEMU, and sandbox
tpm: add wolfTPM build rules and Kconfig
tpm: add wolfTPM headers and SHA384 glue code
tpm: add wolfTPM driver helpers and Kconfig options
cmd: refactor tpm2 command into frontend/backend architecture
tpm: add sandbox TPM SPI emulator
test: add wolfTPM C unit tests and Python integration tests
doc: add wolfTPM documentation
configs: enable wolfTPM in rpi_4_defconfig
--
2.47.3
next reply other threads:[~2026-05-09 0:40 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-09 0:04 Aidan Garske [this message]
2026-05-09 0:04 ` [PATCH v3 01/12] tpm: export tpm_show_device, tpm_set_device, and get_tpm Aidan Garske
2026-05-09 0:04 ` [PATCH v3 02/12] include/hash: add SHA384 hash wrapper declaration for wolfTPM Aidan Garske
2026-05-09 0:04 ` [PATCH v3 03/12] spi: add BCM2835/BCM2711 hardware SPI controller driver Aidan Garske
2026-05-11 8:50 ` Peter Robinson
2026-05-09 0:04 ` [PATCH v3 04/12] dts: add TPM device tree nodes for RPi4, QEMU, and sandbox Aidan Garske
2026-05-11 8:26 ` Peter Robinson
2026-05-09 0:04 ` [PATCH v3 05/12] tpm: add wolfTPM build rules and Kconfig Aidan Garske
2026-05-09 0:04 ` [PATCH v3 06/12] tpm: add wolfTPM headers and SHA384 glue code Aidan Garske
2026-05-09 0:04 ` [PATCH v3 07/12] tpm: add wolfTPM driver helpers and Kconfig options Aidan Garske
2026-05-09 0:04 ` [PATCH v3 08/12] cmd: refactor tpm2 command into frontend/backend architecture Aidan Garske
2026-05-09 0:04 ` [PATCH v3 09/12] tpm: add sandbox TPM SPI emulator Aidan Garske
2026-05-09 0:04 ` [PATCH v3 10/12] test: add wolfTPM C unit tests and Python integration tests Aidan Garske
2026-05-09 0:04 ` [PATCH v3 11/12] doc: add wolfTPM documentation Aidan Garske
2026-05-09 0:04 ` [PATCH v3 12/12] configs: enable wolfTPM in rpi_4_defconfig Aidan Garske
2026-05-11 8:22 ` Peter Robinson
2026-05-11 9:15 ` [PATCH v3 00/12] tpm: Add wolfTPM library support for TPM 2.0 Peter Robinson
2026-05-11 10:09 ` Peter Robinson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1778277334.git.aidan@wolfssl.com \
--to=aidan@wolfssl.com \
--cc=david@wolfssl.com \
--cc=ilias.apalodimas@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox