Commit Graph

477 Commits (dd113303e24daf9c5bcd6c1dfa94e1a7389c71eb)

Author SHA1 Message Date
Daniele Lacamera d120000a63 rp2350: Added flash driver 2025-01-27 17:33:45 +01:00
Daniele Lacamera b6ed896086 Cleanup initialization code for rp2350.
+ TZEN=1 in config
+ Changed SRAM settings (allocated 256KB to the secure supervisor)
+ Updated documentation
+ Added FLASH_NSC area for sg stubs
2025-01-27 12:36:19 +01:00
Daniele Lacamera 6681e54a6a Working TZ supervisor 2025-01-27 10:29:28 +01:00
Daniele Lacamera ae82a60a88 rp2350: custom ldscript + TZEN work in progress 2025-01-24 13:06:38 +01:00
Daniele Lacamera 359c59fa47 Added IDE/pico-sdk dir to build wolfboot+blink app 2025-01-24 13:06:36 +01:00
Daniele Lacamera 628fbe5524 Using CMake from IDE directory 2025-01-24 13:06:08 +01:00
Daniele Lacamera 0791d76d65 Draft: support for rp2350 2025-01-24 13:06:08 +01:00
Brett Nicholas 456a6f8d14
Merge pull request #539 from MulattoKid/imxrt_remove_unused_variables
Remove unused variables in imx_rt.c causing `multiple definition` errors
2025-01-20 17:09:01 -07:00
David Garske 4103b8b5af Avoid redefinition when using USE_BUILTIN_STARTUP. 2025-01-20 16:39:18 +01:00
Daniel Fedai Larsen 57d0f7bfe6 Remove unused variables in imx_rt.c
sysPllConfig_BOARD_BootClockRUN, usb1PllConfig_BOARD_BootClockRUN
and videoPllConfig_BOARD_BootClockRUN are unused, and were causing
'multiple definition' errors as the board code generated by
MCUXpresso Config Tools also contains definitions for these variables.
2025-01-16 07:07:58 +01:00
David Garske b8a23b1f81 Allow build-time adjustment of QSPI reference clock and divisor. Eliminate `ZCU102` macro (not needed). Add QSPI init message with ref clock, divisor, bus and IO mode (Poll or DMA). 2024-12-30 15:36:43 +01:00
David Garske fb08f0788c Make `flush_dcache_range` available even with `USE_BUILTIN_STARTUP`. Remove unused variable. 2024-12-30 15:36:43 +01:00
David Garske f729e419e6 Fixes for QSPI DMA mode. For example reduces QSPI->DDR load of 154MB from 18,228ms to 2,607ms. Changed QSPI to use DMA by default (can force IO mode using `GQSPI_MODE_IO`). 2024-12-30 15:36:43 +01:00
David Garske 7205820afa Added QSPI DMA support. 2024-12-30 15:36:43 +01:00
David Garske acb9d832eb Fixes for Xilinx Zynq UltraScale+ MPSoC:
* Fixes to support wolfBoot native make and gcc-arm cross compiler. ZD 18159
* Adjust wolfBoot linker script to not use 0 base, instead use end of DDR - 1MB.
* Fixed QSPI bare-metal driver for multi-sector and read return code.
* Fixed issue with Xilinx XMSS IMAGE_HEADER_SIZE in documentation. It should be 5000 bytes.
* Performance optimizations for QSPI:
  - Allow configuration of SPI clock.
  - Improve GSPI FIFO TX/RX fill.
* Added support for FAST_MEMCPY that supports an aligned 32-bit.
* Added Flattened uImage Tree (FIT) image (FDT format).
* Added Aarch64 support for FDT fixups.
* Added Aarch64 startup to support EL2 with cache/MMU.
* Added documentation about exception levels
* Moved zynqmp registers to header.
* Fix printf uart_writenum "buf" len.
* Updated fdt-parser to support saving off larger data images.
2024-12-30 15:36:43 +01:00
Marco Oliverio 834a712350 fsp: move TempRamInitExit and later APIs in stage2
To avoid using Flash memory after TempRamInitExit. This protects against
malicious modification/injection of the flash after Cache-As-RAM is
disabled.
2024-12-19 20:12:16 +01:00
Marco Oliverio 6358153372 x86: add support for gdt table in C 2024-12-19 20:12:16 +01:00
John Bland 665641dc13 update tests to properly simulate flash locks
add hal_flash_unlock after setting the key since setting the key locks flash
2024-12-17 14:46:24 +01:00
Brett Nicholas ceffc788dd - support for wolfHSM ML-DSA on simulator and AURIX (DMA only)
- consolidate AURIX scripts into wbaurixtool.sh
- documentation updates
2024-12-16 19:12:23 +01:00
David Garske 463c482692 Fix for building NXP LS1028A with SPI enabled. 2024-12-02 19:41:26 +01:00
David Garske a07f3783b6 More fixes for aarch64 platforms. 2024-12-02 19:41:26 +01:00
David Garske 6e39fd1b63 Fix build for ZCU102. Fix ARM ASM defaults. 2024-12-02 19:41:26 +01:00
David Garske d007c9af08 Initial support for NXP LS1028A. Booting into OCRAM app. Updates to ARMv8 startup. 2024-12-02 19:41:26 +01:00
Brett Nicholas f9cbc57795 review feedback 2024-11-13 09:52:49 +01:00
Brett Nicholas 78e4275f99 Initial wolfHSM support for simulator and AURIX TC3xx 2024-11-13 09:52:49 +01:00
David Garske aec2809212 Cleanups after hybrid signing PR. 2024-10-31 11:23:52 +01:00
Daniele Lacamera cc447ea879 Support for hybrid authentication (2 ciphers) 2024-10-30 13:17:06 +01:00
Daniele Lacamera cb77e4273c Fix potential integer overflow in shifts (cppcheck) 2024-10-14 10:14:48 +02:00
Daniele Lacamera 95d58244a9 SAMA5D3: Hal fixes, add DBGU, enable ARM_ASM 2024-10-14 10:14:48 +02:00
Daniele Lacamera 07bdae680a ARMASM. Macros for clocks+gpios. Set MAC pins. 2024-10-14 10:14:48 +02:00
David Garske 63dd623ac8 Support for SPU to write protect bootloader flash region on application startup. 2024-10-11 10:29:59 +02:00
David Garske 3e87c70fa2 Fix issue with network core update when not a multiple of 4 bytes. The QSPI driver requires READ.CNT to be a multiple of 4 bytes (so read a bit more if odd remainder). 2024-10-11 10:29:59 +02:00
David Garske d803a20217 Switch to using IPC for communicating state. Prevents possible hard fault on network core reset. Cleanup make logic for using custom partition id (WOLFBOOT_PART_ID). On net update allow app core to continue booting if synchronization is enabled. 2024-10-11 10:29:59 +02:00
David Garske 7260ecbcbb Added tests for delta updates. Added logging for delta version errors. Added `SIGN_OPTIONS_EXTRA`. 2024-10-11 10:29:59 +02:00
David Garske d706916209 Fix `sleep_us` logic to use RTC. Resolves issue with different optimization levels breaking sleep. Also demonstrates synchronized boot and LED's matching from both cores. 2024-10-11 10:29:59 +02:00
David Garske f6c12839f3 Enable ECC384 and SHA384. Fix sleep_us. Add Cortex-M hard-fault handler support. 2024-10-11 10:29:59 +02:00
David Garske ab59175427 Fix for nRF5340 `uart_write` issue with memchr args, which caused occasional corrupt characters to be printed. Improve core state description in logging. Enabled network core test app GPIO work on `LED2 P0.29`. 2024-10-11 10:29:59 +02:00
David Garske 29a30a6efc Enable backup for network core, so the last known image will still be in shared ram. Fixed bug with swap offset on network core external memory map and "erase" init. 2024-10-11 10:29:59 +02:00
David Garske 8489736eac Fixed and improved erase of remainder of partition logic and logging. Added support for nRF5340 core synchronization (`NRF_SYNC_CORES`). Added test for `WOLFBOOT_FLASH_MULTI_SECTOR_ERASE`. 2024-10-11 10:29:59 +02:00
David Garske 832ac479c3 Example for using custom UART port/pin. Additional debug output on erase of unused flash sectors. 2024-10-11 10:29:59 +02:00
David Garske eb175cdfec Switch network core to use external flash HAL, but map to shared memory. Allows using update_flash logic including encrypted and delta updates. 2024-10-11 10:29:59 +02:00
David Garske f2b929affd QSPI Power control (active low). 2024-10-11 10:29:59 +02:00
David Garske 2cf70f0dbd Fix for the `set_trailer_at` with external flash to use 32-bit write using cached value (Many QSPI hardware peripherals do not support a single byte write). Fix delta build error with DISABLE_BACKUP. Added tests for updating both cores in build_flash.sh. 2024-10-11 10:29:59 +02:00
David Garske 322aa325b6 Consolidate duplicate TEST_FLASH code. 2024-10-11 10:29:59 +02:00
David Garske e3b98f1d7d Fixes for properly functioning network core updates. 2024-10-11 10:29:59 +02:00
David Garske 8a9fbe5674 Improve network core firmware update. 2024-10-11 10:29:59 +02:00
David Garske 6db7de6a75 Support for the Nordic nRF5340 (application and network cores):
* Added nRF5340 driver support for Clock, Internal Flash (NVMC), GPIO, SPU, OTP, UART, SPI, QSPI and IPC.
* Added support for updating the network core (Sign using "--id 2")
* Cleanup the nRF52 port
* Improved external QSPI and internal Flash tests and logging.
* Improved internal printf support for formatter length.
2024-10-11 10:29:59 +02:00
Daniele Lacamera c80937bdea Addressed reviewer's comments 2024-10-02 10:25:36 +02:00
Daniele Lacamera 238e678db6 [SAMA5D3] Fix nand driver read offset
Tested with 6MB image
2024-09-30 15:49:44 +02:00
Daniele Lacamera 294d62d0c6 [SAMA5D3] Support for DDR2 memory on -xplained 2024-09-30 14:06:23 +02:00