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.
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.