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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.