Commit Graph

286 Commits (a2e92675297181088436dd3ecbf535d111163037)

Author SHA1 Message Date
Brett Nicholas a2e9267529 Adds generic cryptocb support for PK, hash, and symmetric crypto 2026-05-05 16:37:54 +02:00
Thomas Cook d2ef348763 Rework rng a bit 2026-04-27 17:30:42 +02:00
Thomas Cook b545979da0 address several pr issues 2026-04-27 17:30:42 +02:00
Thomas Cook 8c6d6e2fc6 Better hook rng into wolfCrypt 2026-04-27 17:30:42 +02:00
Thomas Cook 1f99a356e9 Add hw support for SHA1 and SHA256 2026-04-27 17:30:42 +02:00
David Garske 980022de13 Add wolfBoot port for STM32U3 (NUCLEO-U385RG-Q)
New HAL port for the STM32U3 family (Cortex-M33, no TrustZone,
1MB dual-bank flash with 4KB pages, 64-bit double-word writes).

Features:
- hal/stm32u3.c, hal/stm32u3.h, hal/stm32u3.ld: flash driver,
  clock init (96 MHz MSIRC0 via EPOD booster), inline UART, ICACHE
- config/examples/stm32u3.config: ECC384/SHA384, DEBUG_UART=1,
  NVM_FLASH_WRITEONCE=1, RAM_CODE=1, dual-bank layout
- test-app/app_stm32u3.c: LED blink + UART output + version check
- tools/scripts/prepare_update_u3.sh: v2 pBOOT update image builder
- docs/Targets.md: STM32U3 section with build/flash/update instructions
- CI: stm32u3_test job + Clang rebuild coverage

Tested on NUCLEO-U385RG-Q:
- Verified boot with ECC384/SHA384 signature
- 96 MHz clock (MSIRC0 + SMPS + EPOD booster + VOS1)
- UART output on USART1 PA9/PA10 (ST-LINK VCP)
- TEST_FLASH erase/write/readback on both flash banks
- A/B firmware update (v1 -> v2 swap with pBOOT trigger)
2026-04-27 17:00:41 +02:00
David Garske 00313b3e43 Rename LPC54S018M to LPC54S0XX 2026-04-22 14:10:55 +02:00
Aidan Garske 9673509c04 Clean up NXP LPC54S018M port and align with LPC55S69 patterns
- HAL: Remove debug spifi_test_mode_switch(), use wolfBoot_printf
    instead of raw uart_write, add printf.h include
  - Test app: Use check_parts() (was defined but unused), replace
    custom print_str/print_hex32 with wolfBoot_printf, fix LED logic
    to show LED1 for v1 and LED2 for v2+ (was always LED1)
  - Docs: Remove incorrect MCUXpresso SDK section (port is bare-metal),
    fix typo, add swap timing note, add flash script references
  - Build: Add --no-warn-rwx-segments to arch.mk, improve Makefile
    comments
  - Add tools/scripts/nxp-lpc54s018m-flash.sh following the
    nxp-s32k142-flash.sh pattern (build, sign, flash via pyocd)

  Tested: full boot + firmware update cycle (v1 -> v2 swap) verified
  on LPC54S018M-EVK hardware.
2026-04-22 14:10:55 +02:00
David Garske 91145d53bb Add wolfBoot support for NXP LPC54S018M-EVK 2026-04-22 14:10:55 +02:00
Mattia Moffa a0a3daedb3 Use llvm-ar, llvm-objcopy, llvm-size when USE_CLANG=1 2026-04-03 18:09:16 +02:00
Mattia Moffa 8572e207f2 Use LLVM LDD with clang 2026-04-03 18:09:16 +02:00
Mattia Moffa 82e814881f Undo redundant workarounds 2026-04-03 18:09:16 +02:00
Daniele Lacamera bcd4d8b9e6 Fixed Clang sections in TZEN images 2026-04-03 18:09:16 +02:00
Daniele Lacamera 8583a87c96 Concentrate flags for clang in arch.mk 2026-04-03 18:09:16 +02:00
Daniele Lacamera 9982734c55 Exclude stm32c0 (too small for clang) and stm32h5 (no ARMORED support) 2026-04-03 18:09:16 +02:00
Daniele Lacamera f7b2e5a279 Fix stdlib in clang, limit test to a few targets 2026-04-03 18:09:16 +02:00
Daniele Lacamera 6082543e5e Added explicit discard list for clang compiler 2026-04-03 18:09:16 +02:00
Daniele Lacamera ed15e3aee6 Fix embedded images built with the clang compiler 2026-04-03 18:09:16 +02:00
Paul Adelsbach 3d2a555e1a Update wolfHSM pointer, fix minor issues 2026-03-23 20:05:07 +01:00
David Garske a56c70e90a Support for NXP T1040 RDB 2026-03-20 14:51:15 +01:00
David Garske 7458d6dbc2 Fix for ELF relocation 2026-03-20 14:43:42 +01:00
Mattia Moffa b5fab30310 Enable NSC veneers when TZEN=1, even without WOLFCRYPT_TZ 2026-03-18 22:26:32 +01:00
Thomas Cook 304aee56e2 Add support for hardware rng 2026-03-18 11:53:26 +01:00
Thomas Cook c48016f25c Turn off linker warning due to ramcode rwx 2026-03-18 11:53:26 +01:00
Thomas Cook 2af2e795cb Initial support for lpc55s69 2026-03-18 11:53:26 +01:00
Mattia Moffa 0656ff4afa Nordic nrf54l port (with and without TrustZone) 2026-03-18 09:15:00 +01:00
Daniele Lacamera 4eca085b54 Added USE_CLANG option to Makefile 2026-03-10 15:49:45 +01:00
Daniele Lacamera 19d562dbde Fixed build errors with cross-clang compiler 2026-03-10 15:49:39 +01:00
David Garske d23943a5af PolarFire SoC M-Mode, QSPI and L2-LIM support
Adds support for running wolfBoot in **Machine Mode (M-mode)** on the PolarFire SoC MPFS250T, booting from eNVM and loading a signed application from **SC QSPI flash** into on-chip LIM (Loosely Integrated Memory). No HSS (Hart Software Services) or DDR is required. It also extends the existing PolarFire HAL with multi-hart support, L2 cache configuration, per-hart UART, and refactors shared code (SDHCI, SCB mailbox, linker/test-app) for both S-mode and M-mode builds.
2026-03-09 07:29:27 +01:00
David Garske a5356b830a NXP T2080 Port Refresh
* Initial port refresh for the NXP T2080 target
* IFC Flash driver and multi-core support on T2080
* Working wolfBoot test-app startup on T2080
* Support for NAII and Curtiss-Wright T2080 vendor boards
2026-03-05 17:49:37 +01:00
David Garske ff8bb8336c Support for wolfBoot ZynqMP (UltraScale+ MPSoC) SD Card 2026-03-05 10:12:02 +01:00
Brett Nicholas 720dc65d9d tc3: fix ARCH_FLASH_OFFSET 2026-02-27 14:17:49 -07:00
Brett Nicholas 823d093345 enable tc3 HSM use of sp cortex-m asm 2026-02-16 14:54:48 -07:00
David Garske da6e1abd8d Add MPFS250 QSPI support 2026-02-06 22:01:40 +01:00
David Garske 9697f6a4f8 Versal SDCard support 2026-02-05 13:52:15 +01:00
Mattia Moffa fed7eec0ad Update MCUXpresso SDK for iMX-RT too 2026-01-30 01:07:13 +01:00
Mattia Moffa 109dbd08d9 Update MCUXpresso SDK to new refactor
Updates targets using the deprecated
https://github.com/nxp-mcuxpresso/legacy-mcux-sdk to use
https://github.com/nxp-mcuxpresso/mcuxsdk-manifests instead.
2026-01-29 17:35:24 +01:00
David Garske 810be2d576
Merge pull request #671 from mattia-moffa/20260107-mcxn
NXP MCXN non-TrustZone + TrustZone port
2026-01-26 09:28:14 -08:00
David Garske ae32d5b6f3 AMD/Xilinx Versal Gen 1 VMK180 wolfBoot support 2026-01-26 13:08:50 +01:00
David Garske 7511e2e467 Fix some compiler warnings and CI build test failures 2026-01-26 11:27:39 +01:00
Mattia Moffa a3efac8325 Fix pkcs11 builds 2026-01-22 23:24:45 +01:00
Mattia Moffa 438c250288 MCXN non-TrustZone + TrustZone port 2026-01-22 18:55:46 +01:00
David Garske 609fd81890 Fixes for PolarFire SoC eMMC/SD to stabilize and add read DMA support. Refactor the RISC-V boot/vector code for use on both 32-bit and 64-bit architectures. 2025-12-30 11:10:21 +01:00
David Garske d3ff5783b3 Add support for multi-block reads (performance improvements) 2025-12-24 18:31:55 +01:00
David Garske 0292da582b Refactor disk.c for generic use. Wired up uSD read for MBR/GPT 2025-12-24 18:31:55 +01:00
David Garske e055585942 Support for Microchip PolarFire SoC (MPFS250) 2025-12-24 18:31:55 +01:00
Brett Nicholas c61a30a8f6 update wolfHSM to latest 2025-12-23 08:35:38 -08:00
Brett Nicholas 57b874be2d Simplify use of user-supplied keys and certificates with test app via
new `USER_ variables`
2025-12-10 07:43:32 +01:00
Mattia Moffa 23ba33140e MCXW TrustZone support 2025-12-05 01:27:58 +01:00
jackctj117 9ff3536347 CI tests: Cypress test 2025-12-04 11:44:42 -07:00