Commit Graph

507 Commits (master)

Author SHA1 Message Date
Marco Oliverio 6e8870156e address reviewer comments 2025-06-09 16:29:31 +02:00
Marco Oliverio e3c7f6c663 hal: clean hal tests and PIC32C*.ld linker script 2025-06-09 16:29:31 +02:00
Marco Oliverio 1b9ec09b1a fix reviewer's comments 2025-06-09 16:29:31 +02:00
Marco Oliverio 16c160146f hal: add additional flash hal tests 2025-06-09 16:29:31 +02:00
Marco Oliverio 2d6cf95c20 add support for PIC32CZ and PIC32CK 2025-06-09 16:29:31 +02:00
Brett Nicholas d689656a71 Add support for wolfHSM cert chain verification on TC3xx 2025-05-30 11:15:56 -06:00
Brett Nicholas 38d1441627 copilot review feedback 2025-05-28 09:37:14 -06:00
Brett Nicholas 7660bf66f8 Add wolfHSM cert chain verification for ECC and RSA 2025-05-27 15:42:59 -06:00
Brett Nicholas d49e507926 - Support external flash for elf scatter-loading
- Support ELF scatter-loading on TC3xx
- Modify TC3xx HAL flash erase to support arbitrary offsets and sizes
- Realign partition size and addresses to support more efficient sector mass erase on update
2025-05-08 08:50:26 -06:00
Brett Nicholas 21a726ab46 fix tc3xx HAL to properly handle flash writes across sector boundariese 2025-04-30 11:48:40 +02:00
David Garske f7d1e24345 Fixed issue with hal/library.c around NO_FILESYSTEM. 2025-04-29 11:50:29 +02:00
David Garske a24a52fa65 Support building existing TARGET= with `make libwolfboot.a`. 2025-04-29 11:50:29 +02:00
David Garske adc003351b Support for building libwolfboot.a. Library target used to just build a test-lib, but that's not very portable. Added test cases. 2025-04-29 11:50:29 +02:00
David Garske b86d7fc308 Renesas RX minor fixes and documentation updates. Fix for malformed GNUC macro causing clock to not be setup properly when building with RX-GCC compiler. Fix warnings with using `%zu` on older GCC. 2025-04-29 11:50:29 +02:00
Daniele Lacamera 9c3e86241a Some of the fixes requested during review:
- ARCH_FLASH_OFFSET only used in simulation (dynamic 'base' address)
- Fixed the DISABLE_BACKUP case
- renamed define to WOLFBOOT_ELF_SCATTERED
2025-04-11 15:55:05 +02:00
Daniele Lacamera 386a172587 Fix regressions detected by github workflows 2025-04-07 17:10:37 +02:00
Daniele Lacamera d9104ec151 Fix scatter-gather ELF 2025-04-07 12:19:04 +02:00
Daniele Lacamera 11091944d7 ELF_SCATTERED: added sha check (WIP) 2025-04-04 19:15:04 +02:00
Daniele Lacamera e7cd340ebf Moved elf parsing/scattering to elf.c, WIP sim 2025-04-03 17:12:42 +02:00
David Garske d13f3260ab Documentation cleanups. Renamed zynqmp CSU `PKA` to `HW_SHA3`. Disabled CSU PUF code, since it is only supported with eFuses (it cannot be used adhoc). 2025-03-26 09:14:57 +01:00
David Garske 64c74b8233 Progress on RoT. Creation of PUF, Regeneration and use of it for AES Key wrapping. 2025-03-26 09:14:57 +01:00
David Garske 79437e5865 Fixes for PUF ROT 2025-03-26 09:14:57 +01:00
David Garske 851130293c Added Xilinx UltraScale+ MPSoC CSU Support CSU support.
Enabled support for offloading SHA3 hashing to CSU hardware using PKA=1.
Added support for enabling JTAG at runtime if CSU_DEBUG is set. Requires patching PMUFW to enable register access. See: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2587197506/Zynq+UltraScale+MPSoC+JTAG+Enable+in+U-Boot
2025-03-26 09:14:57 +01:00
David Garske 2d4d897acb
Merge pull request #544 from miyazakh/fix_raspi3
Revert simple start-up for Raspi3b
2025-03-20 16:16:56 -07:00
Patrik Dahlström 523051331e Add STM32F103 (Blue Pill) support
The Blue Pill board is typically fitted with a STM32F103C8T6, but
reports online seem to indicate that it sometimes can come with its
bigger sibling the STM32F103C8TB as is the case with my board.

This patch adds support for all low- to medium-density STM32F103
devices. All of these devices have their flash divided in 1 KB pages, up
to 128 KB. The high-density and connectivity line of devices, sometimes
called XL devices, use 2 KB pages and are not supported.

Similar to the STM32F4 support, the code will spin up the PLL for
maximum speed during init and turn it off just before booting the
application. the maxium speed is 72 MHz.

Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
2025-02-21 18:41:04 +01:00
Daniele Lacamera 9b4278265e Fixes to hal after review 2025-02-20 16:18:40 +01:00
Daniele Lacamera f4d1c02730 Fixed flash driver, added documentation, tested 2025-02-18 14:43:47 +01:00
Daniele Lacamera 354df34b6c Added build test. Updated mcxa + mcxw to mcux-sdk 2025-02-18 14:43:37 +01:00
Daniele Lacamera 4d1bf5df28 Draft support for MCX W71 2025-02-18 14:42:39 +01:00
Hideki Miyazaki b70987f86c
revert simple start-up
gard UART int
NO_QNX definition
2025-01-30 07:54:59 +09:00
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