Update MultiBoot - 2023.2 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
Release Date
2023.2 English

PLM provides a command for user applications to update the MultiBoot value during runtime. In case of QSPI, OSPI, and SD/eMMC raw boot devices, the value indicates the 32 KB offset in the flash device that is to be used to boot the image. For SD/eMMC file system, the value denotes the number that is appended to the BOOT.BIN image name. After updating the MultiBoot value, you can perform SRST to let the BootROM boot the image from the given MultiBoot offset in the respective boot device.

Table 1. Update MultiBoot Command Structure
Reserved[31:24]=0 Length[23:16]=2 XilLoader=7 CMD_UPDATE_MULTIBOOT=8
Reserved[31:16]=0 BootMode[15:8] Reserved[7:4]=0 [3:0] - Flash Type - 0: RAW, 1: FS, 2: RAW BP1, 3: RAW BP2
Image location ( In case of SD/eMMC File System - File Number, Remaining cases - PDI Location in the device )

This command updates the PMC_GLOBAL.PMC_MULTI_BOOT MultiBoot register. BootMode is the boot mode value corresponding to the boot device where the image is present. Flash Type is ignored in case of QSPI/OSPI as it supports only raw mode by default.

The image location for SD/eMMC file system should be the file number which is appended to BOOT.BIN file name. Up to 8191 files (boot0001.bin to boot8190.bin) are allowed. For all other cases, the image location is the address of the PDI in the respective device. It should be in multiples of 32 KB. The following boot modes are currently supported:

  • QSPI
  • OSPI
  • SD
  • eMMC

The response structure is as follows:

Table 2. Update MultiBoot Response Structure