Load Partial PDI - 2024.1 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2024-05-30
Version
2024.1 English

The Load Partial PDI CDO command with IPI interface is used to support partial reconfiguration from DDR/Image store and flash devices. Partial reconfiguration request comes through IPI command with source field specified as DDR/IS/QSPI/OSPI flashes. The PdiSrc field will have the same values as boot mode values when used as primary boot device.

Table 1. Load Partial PDI Command Structure
Structure
Reserved[31:24]=0 Length[23:16]=3 XilLoader=7 CMD_XILLOADER_LOAD_PPDI = 1
PdiSrc – 0x1=QSPI24, 0x2=QSPI32, 0x8=OSPI, 0xF = DDR, 0x10 = IS (Image Store)
High PDI address / 0x00 (if PdiSrc is IS)
Low PDI address / PDI ID (if PdiSrc is IS)
  • Length field in the command header indicates length of the command excluding the header.
  • High PDI address:
    • For DDR/Flash devices: Upper 32-bit address where PDI is located
    • For IS: NA
  • Low PDI address:
    • For DDR/flash devices: Lower 32-bit address where PDI is located
    • For IS: PDI ID given while adding the PDI into image store

The length of the PDI is derived by PLM from the PDI itself. There is no need to provide that information explicitly in the command. The IPI Response Word 0 contains the success or failure (error code in 0x2xyz format) status of the command and response Word 1 contains full 32-bit error code in case of failure. For more information on the error codes, see https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2037088327/Versal+Platform+Loader+and+Manager#Debugging-Tips.

.pdi and .bin formats are same.