Commit Graph

79 Commits (master)

Author SHA1 Message Date
Aidan Garske 1d8ea0cfd2 Advance SPDM receive sequence after auth and harden size checks 2026-09-10 14:05:48 -07:00
Aidan Garske 4b76ba64a0 F-13532 - Bound the advanced IO SPI size to the frame buffer 2026-09-10 13:09:24 -07:00
Aidan Garske 03446a7169 F-12753 - Wipe the hex render buffer in the Espressif debug helper 2026-09-10 13:09:23 -07:00
Aidan Garske ace1fea64e F-13459 - End the U-Boot SPI transaction after a failed header transfer 2026-09-09 09:26:08 -07:00
Aidan Garske 9a292a0af1 F-11912 - Fail STM32 SPI on wait-state poll transfer error 2026-09-09 09:26:08 -07:00
Aidan Garske c1c5feac2d F-11911 - Fail Xilinx SPI on wait-state poll transfer error 2026-09-09 09:26:08 -07:00
Aidan Garske 314b48393e F-11910 - Fail SPI callback when bus acquisition fails 2026-09-09 09:26:08 -07:00
Aidan Garske 18d9ead84f Keep fixed fwTPM TIS semaphore names and protocol version 2026-09-02 14:14:59 -07:00
Aidan Garske a7b1aa6c3b Inline fwTPM TIS atomics and semaphore name helpers 2026-09-02 14:14:59 -07:00
Aidan Garske 95696b36ef F-12736 - Authenticate fwTPM shared-memory endpoints 2026-09-02 14:14:58 -07:00
David Garske ca34684225 Select ST33 field upgrade commands from the TPM command set (ZD 22193) 2026-08-27 13:29:29 -07:00
Aidan Garske cfabfb8caa Avoid blocking during fwTPM client cleanup 2026-08-24 11:12:22 -07:00
Aidan Garske 69417182ea F-10836 - Scrub timed-out I2C staging 2026-08-22 14:06:00 -07:00
Aidan Garske 8edc08428d F-10786 - Document fwTPM callback serialization 2026-08-22 11:20:22 -07:00
Aidan Garske 31babae401 F-9214 - Clear shared-memory transfer staging 2026-08-22 06:08:21 -07:00
Aidan Garske b57d851156 Add SealSQ QVault TPM post-quantum support and pqc_ctrl example 2026-08-14 19:44:00 +01:00
David Garske 46d2d337a4
Merge pull request #563 from aidangarske/fenrir-fixes-7606-7610
Reuse transport connections and reduce NV write and hash cache overhead
2026-08-11 15:30:00 -07:00
David Garske c3f0f35abc
Merge pull request #562 from AlexLanzano/wolfHAL-integration
Implement support for wolfHAL I2C/SPI backends
2026-08-07 12:50:28 -07:00
Alex Lanzano 2150940c2b Implement support for wolfHAL I2C/SPI backends 2026-08-07 14:06:16 -04:00
Aidan Garske 6833067ec4 F-7589 - Check I2C busy timeout in Microchip read data and write loops 2026-08-06 12:59:09 -07:00
Aidan Garske db418ebdcf F-7602 - Zeroize HAL I2C write staging buffers 2026-08-06 12:59:08 -07:00
Aidan Garske 2e32fcacbf F-7587 - Define TPM_SPI_PIN in the Microchip chip select fallback 2026-08-06 12:59:08 -07:00
Aidan Garske 8030099dc3 F-7610 - Keep Linux I2C device open across TIS transfers 2026-08-04 13:03:25 -07:00
Aidan Garske 7fd8b6c815 F-7608 - Keep Linux SPI device open across TIS transfers 2026-08-04 12:15:07 -07:00
Aidan Garske e9e1e36d69 F-7281 - Scrub SPI transfer buffers in the advanced IO callback 2026-07-28 18:41:04 -07:00
David Garske a2345b471a Add optional TPM nRST reset HAL and document ST33-on-Pi wiring 2026-07-09 15:50:12 -07:00
aidan garske 11f7b4c9b0 F-6551 - Fix SPI autodetect off-by-one probing one chip-select past range 2026-06-30 12:15:37 -07:00
David Garske 579ec8cc7f Bump copyright year to 2026 and version to 4.0.0
Release prep for v4.0.0:
- Copyright headers updated 2025 -> 2026 across sources, headers, and examples
- Library version 3.10.0 -> 4.0.0 (libtool 16:8:0 -> 17:0:0)
- configure.ac WOLFSSL_URL http -> https
2026-04-22 09:24:55 -07:00
Aidan bfed6a6c69 F-3248 - https://fenrir.wolfssl.com/finding/3248 - Reset busy_retry inside i2c_write outer loop to match i2c_read 2026-04-21 14:02:52 -07:00
Aidan a987bc14b6 F-3247 - https://fenrir.wolfssl.com/finding/3247 - Add missing semicolon to TriCore SPI extern declaration 2026-04-21 14:02:52 -07:00
Aidan 04d989ee3c F-2164 - https://fenrir.wolfssl.com/finding/2164 - Clarify Zephyr SPI not implemented error message 2026-04-20 11:38:07 -07:00
David Garske 0c52f3be4d Add firmware TPM 2.0 (fwTPM) implementation
Add portable firmware TPM 2.0 implementation (fwTPM) built on wolfCrypt.
Implements 105/113 TPM 2.0 v1.38 commands (93%) as a standalone server
with socket and TIS transports, NV storage, and full CI/fuzz coverage.
2026-04-16 16:57:57 -07:00
David Garske 68ef2f6647
Merge pull request #458 from aidangarske/add-full-spdm-support
wolfTPM SPDM support (Nuvoton NPCT75x and NSING NS350)
2026-04-08 05:36:16 +08:00
David Garske 44788c10c3 Peer review fixes 2026-04-07 10:51:16 -07:00
David Garske 98327eae02 Fix Fenrir F-1227: MMIO register access for multi-byte read/write 2026-04-06 15:58:05 -07:00
Aidan Garske 49c767432f Add Nuvoton NPCT75x and NSING NS350 SPDM support for wolfTPM 2026-03-24 18:15:38 +00:00
aidan garske 2485b2d5b2 Fix 335, 340, 347, 348, 349, 336, 418, 338, 337, 339, 423, 424 2026-03-06 14:22:31 -08:00
Paul Adelsbach 559147c410 Add error returns in TPM2_IoCb_Zephyr_I2C 2026-03-04 13:44:51 -08:00
Aidan Garske 0aefc3b47d Add auto detection on linux 2026-02-24 17:57:52 +00:00
Aidan Garske a014432d04 Fix CI failures 2026-02-20 21:43:29 +00:00
Aidan Garske 978b72fb12 Improve error logging when wolfTPM2_Init fails
Resolves #457. When the SPI device could not be opened (e.g., kernel TPM
  driver owns it), wolfTPM failed silently with no error output. Users had
  no indication of what went wrong or how to fix it.

  Changes:
  - Make TPM2_Init failed message in wolfTPM2_Init_ex always print
    (previously required --enable-debug)
  - Add SPI/I2C open failure logging in hal/tpm_io_linux.c: permission
    denied prints unconditionally, other errors print with DEBUG_WOLFTPM
  - Add autodetect scan exhaustion message (DEBUG_WOLFTPM)
  - Fix examples (caps, wrap_test, bench, pkcs7) that silently returned
    on init failure to print error code and RC string
  - Update 13 other examples to include error code in init failure message
2026-02-20 20:48:25 +00:00
aidan garske d6ba3812a9 Upgrade wolfTPM CI testing 2026-02-16 11:06:33 -08:00
aidan garske 01a2bb2ab1 Add hardware SPI support for Raspberry Pi 4
- Change default TPM_SPI_CS to 1 (CE1/GPIO7) to match official
    Raspberry Pi tpm-slb9670 overlay used by LetsTrust and Infineon HATs
  - Use _spi_get_bus_and_cs() with explicit speed/mode parameters
    for proper SPI device initialization
  - Add required includes for asm/io.h and dm/device-internal.h
  - Improve debug message prefixes for clarity

  Tested on Raspberry Pi 4 with Infineon SLB9672 TPM HAT.
2026-01-23 17:23:30 -08:00
Aidan Garske 1955938612 Update to working version of linux dev with swtpm 2026-01-08 21:27:33 +00:00
Aidan Garske 4fbc680d14 Update tpm_io_uboot.c 2026-01-07 21:59:05 +00:00
gojimmypi e94bc78685
Espressif frame size adjustments, cleanup 2025-12-03 12:17:20 -08:00
gojimmypi a44382c4f3
SPI Stack Adjustment 2025-12-03 09:28:28 -08:00
gojimmypi e7a0eee19d
Add Espressif SPI support 2025-12-03 09:02:38 -08:00
David Garske 1402d0d132 wolfTPM Release v3.9.2 prep. Migrating to GPLv3. 2025-07-30 07:29:31 -07:00
David Garske 6fbb49a94f wolfTPM Release v3.9.0. Updated copyright and version. 2025-05-14 15:31:07 -07:00