-
Notifications
You must be signed in to change notification settings - Fork 45
Extending wolfIP AMD FPGA example support for full wolfBoot demo#137
Extending wolfIP AMD FPGA example support for full wolfBoot demo #137dgarske wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Extends the AMD/Xilinx bare-metal wolfIP examples to support a full wolfBoot demo flow: running at EL2 when chain-loaded by wolfBoot, adding a ZC702 DDR memory layout option, and enabling SD-card based OTA updates on ZCU102 via TFTP + wolfBoot’s disk/SDHCI drivers compiled into the app.
Changes:
- Add Zynq-7000 DDR linker script +
LAYOUT=ocm|ddrselection to improve ZC702 throughput and support wolfBoot load address. - Add ZCU102
EL=2|3selection (EL2 chain-load support) and adjust AArch64 startup/MMU code for EL2 system registers. - Add ZCU102 OTA path (
OTA=1) with SDHCI shim, newlib syscall stubs, and a TFTP-based update stager writing OFP_B then resetting.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
src/port/amd/README.md |
Updates performance table and loading notes reflecting ZC702 DDR support. |
src/port/amd/common/app.c |
Adds optional OTA trigger via UDP "UPDATE" and calls ota_poll() in main loop. |
src/port/amd/boards/zynq7000/target_ddr.ld |
New DDR-based linker layout aligned to wolfBoot load address. |
src/port/amd/boards/zynq7000/Makefile |
Adds LAYOUT selector and rebuild-stamp handling for layout switches. |
src/port/amd/boards/zcu102/syscalls_stub.c |
New minimal newlib syscall stubs for OTA builds pulling in snprintf(). |
src/port/amd/boards/zcu102/sdhci_shim.c |
New glue layer to reuse wolfBoot SDHCI/disk drivers inside the wolfIP app + reset hook. |
src/port/amd/boards/zcu102/ota.h |
Declares OTA trigger/poll API used by the common app. |
src/port/amd/boards/zcu102/ota.c |
Implements TFTP download → RAM staging → OFP_B write → reset sequencing. |
src/port/amd/boards/zcu102/Makefile |
Adds EL selector and OTA=1 build path pulling in wolfBoot driver sources. |
src/port/amd/boards/zcu102/board.c |
Updates banner to reflect whether running at EL2 or EL3. |
src/port/amd/arch/armv7/mmu_armv7.c |
Carves DDR cacheability around DMA buffer region when DMA buffers live in DDR. |
src/port/amd/arch/aarch64/startup_aarch64.S |
Retargets EL-specific system registers for EL2 chain-loaded entry. |
src/port/amd/arch/aarch64/mmu_aarch64.c |
Retargets MMU control registers/TLB ops for EL2 vs EL3 builds. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
wolfSSL/wolfBoot#800