Common Specifications

Common Specifications

This page contains specification and architecture information for the AMD Embedded Development Framework (EDF), which is applicable to all supported evaluation boards and custom development flows.

Table of Contents

General Specifications

This section provides common sections of the AMD Embedded Development Framework (EDF) specification, which are implemented across multiple platforms and device families. Some common specifications might be superseded based on device or evaluation board feature sets. See the device and board specific specification pages for more information.

Boot Architecture for AMD Evaluation boards

For AMD evaluation boards, a common boot architecture has been adopted, which is implemented in the BSPs and prebuilt disk images provided.

The boot architecture includes support for Arm SystemReady™ IR and Trusted Firmware-A Platform Security Architecture Firmware Update (PSA FWU).

  • Platforms are not certified; this is a reference implementation that can be used on a pathway to certification.

Multi-Stage Boot with Deferred PL Load* - Default Boot Architecture

This is the default boot flow for BSP and prebuilt images for AMD evaluation boards, supporting the latest AMD adaptive SoC and FPGA devices and AMD EDF development flows.

 

SOC_BootFlow_highlevel_update_PDI_mulit.png

Stage 1 - Primary boot device: OSPI / QSPI - AMD EDF boot firmware with image select and recovery

 

Stage 2 - Secondary boot device: SDMMC / USB / UFS - Common** Linux disk image

  • The Linux disk image will boot to a console - programmable logic (PL) not loaded

  • PL can be loaded from the Linux user space - TODO: fill in <refs> below

    • The Linux disk image contains PL firmware payloads - See <ref to payloads>

    • See <ref> for command to load, re-load, or automate loading of PL payloads

 

Single-Stage Boot with Deferred PL Load - Optional Boot Flow

A single-stage boot flow is also supported and is used for some AMD EDF Linux BSPs and prebuilt Linux disk images.

SOC_BootFlow_highlevel_update_PDI_single (1).png

Stage 1 - Primary boot device: SD card / UFS / USB

 

*AMD adaptive SoCs and FPGA with support for Segmented Configuration or deferred PL load: AMD Versal™ portfolio, AMD Zynq™ UltraScale+™ MPSoC.

** Common Linux disk image across compatible AMD adaptive SoC and FPGA, typically across device series.

AMD EDF supports all boot and configuration options available on AMD adaptive SoCs and FPGAs

  • QSPI, OSPI, SDCARD, UFS, JTAG, etc.

  • Single-stage boot flows (e.g., SDCARD), multi-stage boot flows (e.g., QSPI / OSPI / SDCARD / UFS)

  • Segmented Configuration with delayed PL load

  • Monolithic (or flat) configuration (PL load at PS boot time - Single bitstream / PDI)

Custom boot architectures using alternative boot modes can be created, stored, and built as custom image recipes, allowing end users to reflect their specific platform requirements. See Creating a Custom Image (Link and section needed).

 

Initial Programming of Primary Boot Device

System Controller enabled evaluation boards

  • System Controller can be used to program the OSPI / QSPI flash used by the target device.

  • AMD Vivado Design Suite can also be used to program OSPI / QSPI flash used by the target device, see the relevant Vivado documentation or evaluation board user guide for more information.

Boot Firmware overview

The AMD EDF boot firmware is an evolution of the Image Selector Application used on AMD Kria™ SoM, and is normally pre-loaded on AMD evaluation boards, but may need to be manually loaded for Early Access (EA) valuation boards or evaluation boards supported by AMD-EDF but which were originally released prior to 2025.

The boot firmware includes support for:

  • Multiple boot images (boot.pdi)

  • Fallback and recovery using an A-B scheme by default.

  • Arm SystemReady™ IR and Trusted Firmware-A Platform Security Architecture Firmware Update (PSA FWU)

    • Platforms are not certified, this is a reference implementation that could be used on a pathway to certification.

  • Flash management from Linux user space

The main components within the AMD EDF Boot firmware are outlined below

Image Selector Application

The Image Selector application boots on a cold reset of the device (POR_B) and acts as an platform controller selecting the "A" or "B" boot image from the firmware store implemented elsewhere in the primary boot non volatile memory device.

In the context of the Platform Security Firmware Update for the A-profile Arm® Architecture specification, this is represented by the "BMC/Immutable" component of the boot flow shown in the figure below. 

The Image Selectors behavior is data driven, based on the information available in the metadata fields of its primary boot device. 

 

ImageSelectorApp_bootflow.png

The Image Selector app also implements a function for initiating the Image Recovery application which can be initiated by the user through physical interaction with the platform at time of POR_B. This is implemented with a MIO-GPIO accessible pushbutton where available.

The Image Selector in Versal devices stores soft reset data such as SystemReady-DT boot counter in the PMC Persistent Global General Storage registers. These "user" facing registers are documented at this public Wiki.

The Image Selector uses PERS_GLOB_GEN_STORAGE4 with the following SystemReady-DT information consolidated within the register, aligned by byte.

  • MSB = "Magic" number - Unique value to help validate correct register read, Value = 0x1D

  • MSB-1 = Boot Counter

  • MSB-2 = Image Selected, Value = 0x0, "A", 0x1 "B"

  • MSB-3 = Rollback Counter

Image Recovery Application

The Image Recovery application simplifies the process for users to update the primary and secondary boot devices without requiring AMD-Xilinx specific tools. It supports the "Recovery Mode" called out in the Arm Platform Security Firmware Update for the A-profile Arm Architecture specification, and supports update of "A", "B" and the corresponding "Metadata" fields in the primary boot memory device. 

The Image Recovery Application is a Linux-based web application that runs on the target and supports

  • Updating boot firmware (OSPI / QSPI) content and boot slots (A / B)

  • Updating disk images on secondary boot devices (SD, USB, UFS)

The web interface operates using an IP address (e.g., 10.10.70.2:8080), which is displayed on the UART console output of the target when image recovery boot mode is triggered

  • Image recovery boot mode is triggered by pressing the recovery mode push button on the Evaluation board

  • It can also be triggered via a register write from u-boot or via XRDB (JTAG) for boards without a recovery mode button.

Upon launching the web interface using the IP address shown on the UART console, a page will open, providing basic information about the hardware:

image-20250806-095108.png

To update the Boot Firmware or Linux image using Ethernet Recovery, click the Browse button and select the desired file.

  • To update the Boot Image, select the boot.bin file, toggle the ‘Boot Image’ option, and click ‘Upload’.

  • To update the disk image, select the wic/wic.xz file, toggle the ‘Wic Image’ option, and click ‘Upload’.

Upon successful update, you will see the message displayed below.

image-20250806-095732.png

See the boot firmware Linux utility for information on how to update and manage the images in the boot flash (Primary Boot device) from Linux user space (normal runtime image)

Boot Firmware Image Update Utility (fwupdate tool)

WARNING: Please be aware that in EDF 25.10 the boot firmware update process using UEFI capsules require the manual addition of a UEFI boot entry in uboot in order for the capsule to be discovered and installed - uboot is not capable of installing a capsule from an auto-generated UEFI boot entry. See Known Issues at the end of this section.

Starting in 2025.2, for versal devices and later, the partition layout has changed. The efi folder is now a top-level directory, and not under /boot. Therefore in the following sections when working under these conditions replace /boot/efi with /efi.

The image update utility is a Linux utility integrated within the Linux OS capable of interfacing with the primary boot device (QSPI/OSPI) and doing the following:

  • Updating the non-active A or B partition, modifying the necessary meta-data, and preparing the system for a reboot in which it switches to the new firmware (FW) image (boot.pdi). This functionality is referred to as the "Update Client" in the Arm FW Update guide.

  • Inquiring on the status of the boot device FW contents - To follow

The Boot Firmware Image Update Utility checks the GUID of a given FW before attempting updates in order to ensure that the FW capsule is aligned with the hardware (HW) target it is about to attempt an update on. The board GUID is located in the Board-ID EEPROM on AMD Evaluation boards.

fwupdtool tool

The Linux firmware update system, fwupdtool, utilizes .cab files as standard containers for firmware update metadata and binaries. These CAB files are meticulously signed and organized, enabling fwupdtool to verify their integrity and apply updates securely.

Pre-requisites

  • The system must be running EDF boot firmware and be configured for multi-state boot

  • The secondary boot device must be running an image based on EDF, with EFI partitions present

To utilize the first partition of an SD/USB drive with fwupdtool, ensure that it is formatted as an EFI type.

amd-edf:~$ sudo fdisk -l ... Disk /dev/sdb: 59.48 GiB, 63864569856 bytes, 124735488 sectors Disk model: Ultra HS-COMBO Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 00000000-0000-0000-0000-00004D9B9EF0 Device Start End Sectors Size Type /dev/sdb1 64 1048639 1048576 512M EFI System /dev/sdb2 1048640 2097215 1048576 512M Linux filesystem /dev/sdb3 2097216 16777279 14680064 7G Linux root (ARM-64) /dev/sdb4 16777280 18874431 2097152 1G Microsoft basic data

fwupdtool get-devices

The fwupdtool get-devices command is utilized to display all devices recognized by fwupdtool on your system that may be eligible for firmware updates.

It will print device metadata, such as:

  • Device name & GUID

  • Firmware version

  • Vendor

  • Status (e.g., updatable, not updatable)

  • Flags (e.g., internal, requires reboot)

amd-edf:/home/amd-edf# FWUPD_UEFI_ESP_PATH=/boot/efi fwupdtool get-devices Loading? [************************************** ] WARNING: This package has not been validated, it may not work properly. amd AMD Versal VEK385 revA ? ??Bank A Space: ? Device ID: 801b063a5daf54ed4763bdf05365be2960f635b4 ? Summary: Memory Technology Device ? Vendor: DMI:amd ? GUIDs: bd5d37df-4d51-5d5e-a085-514ab4dcf384 ? MTD\NAME_Bank-A-Space ? dc173611-e6a6-551b-a303-adbd0d9fc51d ? MTD\VENDOR_amd&NAME_Bank-A-Space ? ccfc3bb3-7a99-511f-b8a1-e1aedb51b47d ? MTD\VENDOR_amd&PRODUCT_AMD-Versal-VEK385-revA&NAME_Bank-A-Space ? Device Flags: ? Internal device ? ? Updatable ? ? Needs a reboot after installation ? ? Cryptographic hash verification is available ? ??Bank B Space: ? Device ID: f93c02c7eef61e91938930caed8c9eb899006969 ? Summary: Memory Technology Device ? Vendor: DMI:amd ? GUIDs: c06436f3-e1e7-55a5-9567-ec3015ee6c9a ? MTD\NAME_Bank-B-Space ? b10adb7f-d896-5c8e-8bef-4467f70cf2fb ? MTD\VENDOR_amd&NAME_Bank-B-Space ? 6b8a8aaf-f23b-5dd7-9804-26aeb47d704f ? MTD\VENDOR_amd&PRODUCT_AMD-Versal-VEK385-revA&NAME_Bank-B-Space ? Device Flags: ? Internal device ? ? Updatable ? ? Needs a reboot after installation ? ? Cryptographic hash verification is available ? ??Image Recovery: ? Device ID: 7c6b1fbcd3e4899c8719ed709bbce0200f44413f ? Summary: Memory Technology Device ? Vendor: DMI:amd ... ... ??User Scratchpad: Device ID: bd0d9e0bd371a2f3caa6d12313b6cc72e7263963 Summary: Memory Technology Device Vendor: DMI:amd GUIDs: 0c4aa683-fd32-556c-8e14-422a5dbeb272 ? MTD\NAME_User-Scratchpad 09e0e3e8-10f4-5f7e-a804-cc57f00d9975 ? MTD\VENDOR_amd&NAME_User-Scratchpad 0480d7e9-2829-5f81-ab28-8006997ce1e3 ? MTD\VENDOR_amd&PRODUCT_AMD-Versal-VEK385-revA&NAME_User-Scratchpad Device Flags: ? Internal device ? Updatable ? Needs a reboot after installation ? Cryptographic hash verification is available amd-edf:/home/amd-edf#

Generating Capsule files (cab) for use with fwupdate

Capsule files (cab) for use with fwupdate are generated from the EDF Yocto Project based build environment using the uefi-capsule recipe

yocto/build $ MACHINE=versal-2ve-2vm-vek385-sdt-seg bitbake uefi-capsule

To ensure compatibility with the fwuptool, it is essential to maintain the incremental rollback counter. In version 2025.1, the rollback counter is set to (1) for both the OSPI boot.bin and the uefi-capsule boot.bin.

For more details see LINK TO DEVOPMENT FLOWS

Installing the CAB files with fwupdate

The CAB file is installed with the fwupdate tool

amd-edf:/home/amd-edf# FWUPD_UEFI_ESP_PATH=/boot/efi fwupdtool install uefi-capsules-v2/uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-bootfw-firmware.cab Loading? [******************* ] WARNING: This package has not been validated, it may not work properly. Waiting? [***************************************] An update requires a reboot to complete. Restart now? [y|N]: y

During a reboot you can view the logs of the capsule file being applied, and the switch to the Trail state.

U-Boot 2025.01-gaedc0ad8e17f-dirty (Jul 01 2025 - 13:49:05 +0000) CPU: Versal Gen 2 Silicon: v1.0 Chip: v1.0 Model: AMD Versal VEK385 revA DRAM: 2 GiB (effective 10 GiB) ... ... ################################## Applying capsule fwupd-cb27e54d-8f3a-4c77-8a72-1c76d2d4e938.cap succeeded. Reboot after firmware update. INFO: BL31: Early console setup INFO: Successfully initialized new runtime console NOTICE: TF-A running on Silicon v0.0, RTL v8.6, PS v8.6, PMC v8.6 INFO: CPU Revision = 0x3 INFO: cpu_clock = 100000000Hz, uart_clock = 100000000Hz NOTICE: BL31: Executing from 0xbbf00000 NOTICE: BL31: Secure code at 0x1800000 NOTICE: BL31: Non secure code at 0x40000000 NOTICE: BL31: v2.12.0(debug):xlnx_rebase_v2.12_2025.1-dirty NOTICE: BL31: Built : 07:04:54, Apr 24 2025 INFO: GICv3 without legacy support detected. INFO: ARM GICv3 driver initialized in EL3 INFO: Maximum SPI INTID supported: 543 INFO: SCMI: Server initialized INFO: BL31: Initializing runtime services INFO: BL31: cortex_a78_ae: CPU workaround for CVE 2024_5660 was applied INFO: BL31: cortex_a78_ae: CPU workaround for CVE 2022_23960 was applied INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x40000000 INFO: SPSR = 0x3c9 U-Boot 2025.01-gaedc0ad8e17f-dirty (Jul 01 2025 - 13:49:05 +0000) CPU: Versal Gen 2 Silicon: v1.0 Chip: v1.0 Model: AMD Versal VEK385 revA DRAM: 2 GiB (effective 10 GiB) ... ... Warning: ethernet@ed920000 (eth1) using random MAC address - 12:81:8b:f8:75:77 , eth1: ethernet@ed920000 Missing TPMv2 device for EFI_TCG_PROTOCOL Missing RNG device for EFI_RNG_PROTOCOL Trial State count: attempt 1 out of 3

Please be aware of the limitation in 2025.2 as it does not ship with any UEFI boot options preconfigured and reiles on the auto-generated boot options for booting - these will not work for capsule update and you will need to manually add a boot option for it to work. Further details at the end of this section.

Accepting the update and existing Trial state

If boot is successful the capsule update must be accepted, the Trial State must be exited, and a reboot should be initiated

amd-edf:/home/amd-edf# ls uefi-capsules-v2/ uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-acceptance-capsule.bin uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-capsule.bin uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-bootfw-firmware.cab amd-edf:/home/amd-edf# amd-edf:/home/amd-edf# amd-edf:/home/amd-edf# cp uefi-capsules-v2/uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-acceptance-capsule.bin /boot/efi/EFI/UpdateCapsule/ amd-edf:/home/amd-edf# amd-edf:/home/amd-edf# sudo reboot

During the reboot, you can view the logs of the acceptance capsule file being applied and the automatic reboot.

Device 2: (0:2) Vendor: MICRON Prod.: MT064GBCAV1U31AA Rev: 0302 Type: Hard Disk Capacity: 4096.0 MB = 4.0 GB (1048576 x 4096) Applying capsule uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-acceptance-capsule.bin succeeded. Reboot after firmware update. INFO: BL31: Early console setup

Image Selector output at boot time (EDF boot firmware)

The Image Selector log file will displays the status at boot time

active_index: 0 - indicates bank number A,   1 - indicates bank number B

bank_state : FC - Accepted, FE - Not accepted

Image Type Guid: CB27E54D-8F3A-4C77-8A72-1C76D2D4E938     GUID specific to board

ImageSelector Version: 2.0 Boot Count: 1 MaxBootCnt: 4 Rollback counter: 1 Mdata.crc32: D7F6B374 Mdata.version: 2 Mdata.active_index: 0 Mdata.previous_active_index: 1 Mdata.metadata_size: 7C Mdata.desc_offset: 20 Mdata.bank_state[0]: FC Mdata.bank_state[1]: FC Mdata.bank_state[2]: FF Mdata.bank_state[3]: FF Mdata.fw_desc.num_banks: 2 Mdata.fw_desc.num_images: 1 Mdata.fw_desc.img_entry_size: 50 Mdata.fw_desc.bank_info_entry_size: 18 Image Type Guid: CB27E54D-8F3A-4C77-8A72-1C76D2D4E938 Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223 Image Guid: 7E1B930B-F6B2-EF11-8565-EB65D140066B Image Acceptance: yes Image Guid: 00D84312-F6B2-EF11-8F4F-8BDDC3AA326D Image Acceptance: yes Active bank image version: amd-edf-versal-2ve-2vm-vek385-sdt-seg-bootfw-v25.05.1+release-d5858d

The PLM output at boot time

The PLM UART output will also show status and which image bank (A/B) is in use

[0.154]BOOTMODE: 0x8, MULTIBOOT: 0x2B0     # bank A [0.154]BOOTMODE: 0x8, MULTIBOOT: 0x10F8   # bank B

U-boot output at boot time

The u-boot UART output will also show Image status

versal2> fw FWU Metadata crc32: 0xa9b9eadb version: 0x2 size: 0x7c active_index: 0x0 previous_active_index: 0x1 bank_state[0]: 0xfe bank_state[1]: 0xfc bank_state[2]: 0xff bank_state[3]: 0xff Image Info Image Type Guid: CB27E54D-8F3A-4C77-8A72-1C76D2D4E938 Location Guid: D7CE8A58-CE2C-11ED-81CD-D324E93AC223 Image Guid: 7E1B930B-F6B2-EF11-8565-EB65D140066B Image Acceptance: no Image Guid: 00D84312-F6B2-EF11-8F4F-8BDDC3AA326D Image Acceptance: yes versal2>

Known issues in EDF 25.05.1

  • It is essential to always specify the FWUPD_UEFI_ESP_PATH=/boot/efi when executing the fwupdtool.

amd-edf:~$ sudo fwupdtool install uefi-capsules-v2/uefi-capsule-versal-2ve-2vm-vek385-sdt-seg-bootfw-firmware.cab Loading? [** ] 19:36:28.258 FuPluginUefiCapsule cannot find default ESP: No valid 'EspLocation' specified in /etc/fwupd/fwupd.conf Loading?

Known issues in EDF 25.11

u-boot is not currently able to install capsule using the auto-generated boot entries (“mmc0”, “mmc1”, “usb0”, etc.) so it is necessary to manually add a boot entry to the UEFI menu pointing to the device that contains the capsule you wish to install. This entry can be removed once the update has completed if desired. Below is an example of adding an entry to u-boot for the purposes of capsule install and triggering the install. This entry assumes that the capsule is available in the EFI System Partition of the first MMC device, hence “mmc 0:1”.

versal> efidebug boot add -b 6 "Capsule Update" mmc 0:1 EFI/UpdateCapsule versal> efidebug boot next 6 versal> efidebug capsule disk-update

OSPI/QSPI Memory Layout - Common Specification

The OSPI Memory Map bellow illustrates the high-level structure of the memory layout specifically designed to be consistent across multiple memory devices and AMD Evaluation boards.

Each region in the memory map has a designated functionality, as indicated in the "R or R/W" column. This column depicts whether the sector is read-only (R) or both read and write (R/W). Notably, some platforms might lock read-only sectors utilizing the hardware-level lock feature built into QSPI/OSPI systems.

By providing a unified framework for memory layouts, the OSPI (Flash) Memory Map simplifies the process of adapting to different memory devices and ensures a seamless experience across multiple platforms.

Offset

Description

Size

(# sectors)

R or R/W

Offset

Description

Size

(# sectors)

R or R/W

0x0

Image Selector App

1

R

1 * (sector boundary)

Image Selector App - Backup

1

R

+1 sector

U-Boot variables - Bank A

1 sector

R/W

+1 sector

U-Boot variables - Bank A

1 sector

R/W

Remaining Device

User Area

 

R/W

X * (sector boundary)

Image Recovery App

Size of Image Recovery Linux

R

Y * (sector boundary)

Bank "A" Image Directory

Accommodate max device image size

R/W

Z * (sector boundary)

Bank "B" Image Directory

Accommodate max device image size

R/W

 

Image Selector Revision

1

R

 

Image Recovery Revision

1 sector

R

 

FW Update Metadata 

1 sector

R/W

 

FW Update Metadata - Backup

1 sector

R/W

Offsets of the primary boot device will be aligned to device sector offsets, to support corresponding erase and lock functions which occur in the physical memory device at sector boundaries. 

Board-ID EEPROM

AMD Evaluation boards with support for AMD-EDF boot flows contain a Board-ID EEPROM, which includes a unique device identifier used for the UEFI Capsule Update GUID firmware identifier or "image type" that is embedded as part of the capsule header.

The following table provides pre-allocation of GUIDs based on target platforms for the Basecamp FW alignment:

Board Name

GUID (16 bytes)

Board Name

GUID (16 bytes)

VEK280 Evaluation Board

a1f0d8c9-b3a7-4e09-9f25-7c9823b8a6f2

VEK385 Evaluation Board

cb27e54d-8f3a-4c77-8a72-1c76d2d4e938

Over The Air (OTA) Firmware (FW) Deployment - To follow

AMD-EDF also contains support for OTA FW update. New FW update capsules can be deployed to AMD targets via Linux packages (*.deb, *.rpm) aligned with the platforms target Linux distribution. Package names will be aligned with the platform name, and package revision information will be updated and incrementally aligned with the FW image revision to allow "apt update" like operations to grab new FW revisions automatically. 

EDF 25.05 - AMD Vivado Design Suite 2025.1

  • This feature will follow in a future release of the AMD Embedded Development Framework

 

Trusted Platform Module (TPM) - To follow

AMD-EDF boot firmware is architected to support the concept and implementation of "measured boot", where a boot time measurement of each element FW boot time configuration sequence can be stored.

This functionality is due to be added in a future release.

EDF 25.05 - AMD Vivado Design Suite 2025.1

  • This feature will follow in a future release of the AMD Embedded Development Framework

PS common minimum specification

This specification has a strong device specific element, also see the PS sections of https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3250586239

The default PS configuration aligned with the board defines fixed MIO, clocks, and enabling of clock frequencies enabled by the speed grade of the target device. 

  • MIO Controller - All MIO controllers (for example, I2C, SPI) associated with fixed peripherals of the platform will be enabled and configured based on the hardware board design.

  • MIO I/O Configurations - All MIO default I/O controls (for example,. pull-ups, slew rates) will be based on the hardware platform design. 

  • Secondary Boot - Should be set to "None". The Vivado feature is for a PLM PDI load from the secondary device, but in the context of Basecamp, the secondary boot device for boot Linux is managed by U-Boot and not PLM. 

The minimal requirements for PS connected peripherals and settings are as follows and also reflect minimal peripheral requirements for evaluation boards:

Embedded common platform Configurable Example Design (CED)

The embedded common platform CED is mapped to all supported evaluation boards and enforces common settings and PS minimum specifications to provide a unified starting point for platforms, reference designs and BSP creation. A part based flow uses the same for custom board development.

The CED implements the PS common minimum specification, and other items to support the EDF common boot architecture, using support in the AMD Vivado™ Design Suite for segmented configuration. This allows for creation of multiple compatible PL payloads that can be loaded at runtime onto a single initial boot image.

  • The files needed to build compatible designs are included in the CED package in the AMD Vivado™ Design Suite installation.

When the CED is mapped to an Evaluation board, the minimum requirements are extended to ensure that all PS enabled IP supported by the evaluation board are supported.

See https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/3250586284

 

CED Hierarchy

The CED flow also includes hierarchy from AMD Vivado™ Design Suite version 2025.1, and allows users to build alternative configurations or sub-platforms from a single CED. One CED can generate multiple alternative platform configurations or designs with aligned settings, based on user selections.

The picture below tries to illustrate this hierarchy

  • Common PS settings + multiple alternate PL Payloads

image-2025-3-25_10-45-22-1.png

EDF 25.05 - AMD Vivado™ Design Suite 2025.1

  • The supported alternative PL payloads for VEK385 are limited to

    • Base - Minimal PL (default)

    • Extensible - Vitis Extensible Platform

 

Minimal PL payload (default)

This a deliberately simplistic PL design, it gives enough functionality to prove the PL is available.

This PL Payload is also shipped as part of the common disk image, and captured as the "default" PL firmware via dfx-mgr during the Linux boot process.

PL Payload content

  • AXI-BRAM

    • To support simple read/write scratchpad between the PL and the PS. It shall be configured with a single BRAM utilization which acts as a memory scratchpad.

  • AXI-GPIO

CED_25.1_v3.png

EDF prebuilt Yocto machine definitions

List of Yocto pre-built Machine names for supported AMD evaluation boards

Devices

Evaluation Board

Supported boot mode (for pre-built images)

Supported Versions

Board specific machine name

BOOT FW Supported recipes

Devices

Evaluation Board

Supported boot mode (for pre-built images)

Supported Versions

Board specific machine name

BOOT FW Supported recipes

Zynq-7000

ZC702

Single Stage with deferred PL Load - SD

2025.2 and later

MACHINE=zynq-zc702-sdt-full

  • xilinx-bootbin

Zynq MPSoC

ZCU104

Single Stage with deferred PL Load - SD

2025.1 and later

MACHINE=zynqmp-zcu104-sdt-full

  • xilinx-bootbin

ZCU106

Single Stage with deferred PL Load - SD

2025.2 and later

MACHINE=zynqmp-zcu106-sdt-full

  • xilinx-bootbin

ZCU102

Single Stage with deferred PL Load - SD

2025.2 and later

MACHINE=zynqmp-zcu102-sdt-full

  • xilinx-bootbin

Zynq RFSoC

ZCU111

Single Stage with deferred PL Load - SD

2025.1 and later

MACHINE=zynqmp-zcu111-sdt-full

  • xilinx-bootbin

Versal

VEK280

Single Stage with deferred PL Load - SD

2025.1 and later

MACHINE=versal-vek280-sdt-seg

  • xilinx-bootbin

VCK190

Single Stage with deferred PL Load - SD

2025.1 and later

MACHINE=versal-vck190-sdt-seg

  • xilinx-bootbin

VPK120

Single Stage with deferred PL Load - SD

2025.2 and later

MACHINE=versal-vpk120-sdt-seg

  • xilinx-bootbin

VMK180

Single Stage with deferred PL Load - SD

2025.2 and later

MACHINE=versal-vmk180-sdt-seg

© 2025 Advanced Micro Devices, Inc. Privacy Policy