xilloader
Vitis Drivers API Documentation
2ve_2vm/xloader_plat.h File Reference

Overview

MODIFICATION HISTORY:
Ver   Who  Date        Changes


1.00 bm 07/06/2022 Initial release bm 07/13/2022 Retain critical data structures after In-Place PLM Update bm 07/18/2022 Shutdown modules gracefully during update dc 07/20/2022 Added support for data measurement. har 08/29/2022 Updated secure chunk size from 16K to 32K 1.01 ng 11/11/2022 Fixed doxygen file name error kal 01/05/2023 Added XLoader_SecureConfigMeasurement function sk 02/22/2023 Added EoPDI SYNC dummy stub dd 03/28/2023 Updated doxygen comments sk 04/28/2023 Added define for Image Store as PDI source sk 05/31/2023 Reassign PDI inst DS id for BootPDI info DS sk 06/12/2023 Removed XLoader_GetPdiInstance function declaration sk 07/07/2023 Added function declaration for Config Jtag State Moved minor error codes to plat headers Added error codes for Invalid JTAG Config Request kpt 07/10/2023 Added IPI support to read DDR crypto status sk 07/10/2023 Removed TCM Address, Offset defines sk 07/31/2023 Added error code for Image Store feature ro 08/01/2023 Added error codes for DDR initialization mss 06/11/2023 Added XLOADER_ERR_INVALID_READBACK_PDI_DEST_ADDR, XLOADER_ERR_INVALID_DEST_IMGINFOTBL_ADDRESS and XLOADER_ERR_INVALID_IMAGE_STORE_ADDRESS error code macro 2.00 ng 01/26/2024 Updated minor error codes kpt 02/19/2024 Add support to extend secure state to SWPCR mss 04/12/2024 Added XLoader_DumpDdrmcRegisters function prototype mss 05/03/2024 Fixed doxygen warnings kal 06/29/2024 Rename XLoader_LoadPsmElf to XLoader_LoadLpdAndPsmElf pre 08/22/2024 Added error codes related to XLoader_CfiSelectiveRead command obs 09/30/2024 Fixed Doxygen Warnings pre 10/22/2024 Added XLOADER_ERR_CMD_NOT_SUPPORTED error code bm 11/11/2024 Move I2C Handshake feature to common code tri 03/01/2025 Added XLOADER_MEASURE_LAST macro tri 03/13/2025 Added XLoader_MeasureNLoad prototype sk 03/17/2025 Added define for RPU cluster C

 

Data Structures

struct  Xloader_DdrmcRegisters
 Structure to store DDRMC registers and there memory offsets. More...
 

Macros

#define XLOADER_SECURE_CHUNK_SIZE   (0x8000U)
 Secure chunk size 32K. More...
 
#define XLOADER_PDI_SRC_JTAG   (0x0U)
 PDI source JTAG. More...
 
#define XLOADER_PDI_SRC_QSPI24   (0x1U)
 PDI source QSPI24. More...
 
#define XLOADER_PDI_SRC_QSPI32   (0x2U)
 PDI source QSPI32. More...
 
#define XLOADER_PDI_SRC_SDLS_B0   (0x3U)
 PDI source SDLS_B0. More...
 
#define XLOADER_PDI_SRC_EMMC0   (0x4U)
 PDI source EMMC0. More...
 
#define XLOADER_PDI_SRC_SD_B1   (0x5U)
 PDI source SD_B1. More...
 
#define XLOADER_PDI_SRC_EMMC1   (0x6U)
 PDI source EMMC1. More...
 
#define XLOADER_PDI_SRC_USB   (0x7U)
 PDI source USB. More...
 
#define XLOADER_PDI_SRC_OSPI   (0x8U)
 PDI source OSPI. More...
 
#define XLOADER_PDI_SRC_SBI   (0x9U)
 PDI source SBI. More...
 
#define XLOADER_PDI_SRC_SMAP   (0xAU)
 PDI source SMAP. More...
 
#define XLOADER_PDI_SRC_UFS   (0xBU)
 PDI source PCIE used for now as UFS. More...
 
#define XLOADER_PDI_SRC_PCIE   (0xBU)
 PDI source PCIE. More...
 
#define XLOADER_PDI_SRC_SDLS_B1   (0xEU)
 PDI source SDLS_B1. More...
 
#define XLOADER_PDI_SRC_DDR   (0xFU)
 PDI source DDR. More...
 
#define XLOADER_PDI_SRC_IS   (0x10U)
 PDI source Image Store. More...
 
#define XLOADER_PDI_SRC_INVALID   (0xFFU)
 PDI source invalid. More...
 
#define XLOADER_APU_CLUSTER0   (0U)
 APU cluster 0. More...
 
#define XLOADER_APU_CLUSTER1   (1U)
 APU cluster 1. More...
 
#define XLOADER_APU_CLUSTER2   (2U)
 APU cluster 2. More...
 
#define XLOADER_APU_CLUSTER3   (3U)
 APU cluster 3. More...
 
#define XLOADER_APU_CORE0   (0U)
 APU core 0. More...
 
#define XLOADER_APU_CORE1   (1U)
 APU core 1. More...
 
#define XLOADER_APU_CORE2   (2U)
 APU core 2. More...
 
#define XLOADER_APU_CORE3   (3U)
 APU core 3. More...
 
#define XLOADER_RPU_CLUSTERA_IDX   (0U)
 RPU cluster A. More...
 
#define XLOADER_RPU_CLUSTERB_IDX   (1U)
 RPU cluster B. More...
 
#define XLOADER_RPU_CLUSTERC_IDX   (2U)
 RPU cluster C. More...
 
#define XLOADER_RPU_CORE0   (0U)
 RPU core 0. More...
 
#define XLOADER_RPU_CORE1   (1U)
 RPU core 1. More...
 
#define XLOADER_IMAGE_INFO_DS_ID   (0x01U)
 Image information data structure Id. More...
 
#define XLOADER_BOOTPDI_INFO_DS_ID   (0x02U)
 Boot PDI Info data structure Id. More...
 
#define XLOADER_PDI_LIST_DS_ID   (0x03U)
 PDI list data structure Id. More...
 
#define XLOADER_ATF_HANDOFF_PARAMS_DS_ID   (0x04U)
 ATF handoff parameters data structure Id. More...
 
#define XLOADER_IMAGE_INFO_PTR_DS_ID   (0x05U)
 Image information data structure Id. More...
 
#define XLOADER_SHA3_1_DEVICE_ID   (1U)
 SHA3_1 device Id. More...
 
#define XLOADER_MEASURE_START   (0U)
 Data measure start. More...
 
#define XLOADER_MEASURE_UPDATE   (1U)
 Data measure update. More...
 
#define XLOADER_MEASURE_FINISH   (2U)
 Data measure finish. More...
 
#define XLOADER_VERSAL_2VE_2VM_PDI_VERSION_1   (0x00010000U)
 PDI Version. More...
 
#define XLOADER_GET_PDISRC_INFO()
 Get PDI source info. More...
 
#define XLoader_VerifyDataAuth   NULL
 Reserved. More...
 

Enumerations

enum  {
  XLOADER_ERR_FAILURE = 0x1, XLOADER_ERR_INVALID_IMGID, XLOADER_ERR_NO_VALID_IMG_FOUND, XLOADER_ERR_IMAGE_INFO_TBL_FULL,
  XLOADER_ERR_PARENT_QUERY_RELATION_CHECK, XLOADER_ERR_MEMSET_PDIPTR, XLOADER_ERR_MEMSET_QSPI_PSU_INST, XLOADER_ERR_MEMSET_SD_BOOT_FILE,
  XLOADER_ERR_MEMSET_SD_INSTANCE, XLOADER_ERR_MEMSET_USB_INSTANCE, XLOADER_ERR_MEMSET_USB_PRIVATE_DATA, XLOADER_ERR_MEMSET_DFU_OBJ,
  XLOADER_ERR_INVALID_METAHDR_BUFF_SIZE, XLOADER_ERR_INVALID_PDI_INPUT, XLOADER_ERR_INVALID_PARAM, XLOADER_ERR_INVALID_DEST_IMGINFOTBL_SIZE,
  XLOADER_ERR_INVALID_METAHEADER_SRC_ADDR, XLOADER_ERR_INVALID_METAHEADER_DEST_ADDR, XLOADER_ERR_INVALID_METAHEADER_OFFSET, XLOADER_ERR_IDCODE,
  XLOADER_ERR_EXT_IDCODE, XLOADER_ERR_EXT_ID_SI, XLOADER_ERR_PDI_LIST_EMPTY, XLOADER_ERR_PDI_ADDR_NOT_FOUND,
  XLOADER_ERR_PDI_IMG_STORE_CFG_NOT_SET, XLOADER_ERR_PDI_IMG_STORE_FULL, XLOADER_ERR_INVALID_READBACK_PDI_DEST_ADDR, XLOADER_ERR_INVALID_IMAGE_STORE_ADDRESS,
  XLOADER_ERR_INVALID_DEST_IMGINFOTBL_ADDRESS, XLOADER_INVALID_BLOCKTYPE, XLOADER_CFI_CFRAME_IS_BUSY, XLOADER_GLITCH_DETECTED,
  XLOADER_CFRAME_CRC_CHECK_FAILED, XLOADER_ERR_INVALID_HANDOFF_PARAM_DEST_ADDR, XLOADER_ERR_INVALID_HANDOFF_PARAM_DEST_SIZE, XLOADER_ERR_OPT_DATA_NOT_FOUND,
  XLOADER_ERR_INVALID_OPT_DATA_BUFF_SIZE, XLOADER_ERR_OPT_DATA_COPY_FAILED, XLOADER_ERR_INVALID_ROW, XLOADER_ERR_INVALID_BLOCK_TYPE,
  XLOADER_INVALID_FRAME_ADDRESS, XLOADER_FRAME_COUNT_EXCEEDS_LASTFRAME , XLOADER_ERR_MAX_BASE_ADDR, XLOADER_ERR_HS_TIMEOUT,
  XLOADER_ERR_I2C_TRANSACTION, XLOADER_ERR_I2C_BUS_BUSY, XLOADER_ERR_I2C_DEV_RELEASE, XLOADER_ERR_INVALID_JTAG_OPERATION = 0x100,
  XLOADER_ERR_DDR_DEVICE_ID, XLOADER_ERR_PCOMPLETE_NOT_DONE, XLOADER_ERR_MEMSET_UFS_BOOT_FILE
}
 

Functions

XLoader_ImageInfoTbl * XLoader_GetImageInfoTbl (void)
 This function provides ImageInfoTbl pointer. More...
 
int XLoader_StartImage (XilPdi *PdiPtr)
 This function is used to start the subsystems in the PDI. More...
 
int XLoader_GetSDPdiSrcNAddr (u32 SecBootMode, XilPdi *PdiPtr, u32 *PdiSrc, u64 *PdiAddr)
 This function is used to get PdiSrc and PdiAddr for Secondary SD boot modes. More...
 
int XLoader_UpdateHandoffParam (XilPdi *PdiPtr)
 This function is used to update the handoff parameters. More...
 
int XLoader_ProcessDeferredError (void)
 This function checks if MJTAG workaround is required. More...
 
int XLoader_ProcessElf (XilPdi *PdiPtr, const XilPdi_PrtnHdr *PrtnHdr, XLoader_PrtnParams *PrtnParams, XLoader_SecureParams *SecureParams)
 This function copies the elf partitions to specified destinations. More...
 
XLoader_ImageStore * XLoader_GetPdiList (void)
 This function provides pointer to PdiList. More...
 
int XLoader_UpdateHandler (XPlmi_ModuleOp Op)
 This function provides update handler for xilloader. More...
 
int XLoader_PlatInit (void)
 This function initializes the loader with platform specific initializations. More...
 
int XLoader_HdrMeasurement (XilPdi *PdiPtr)
 This function measures the PDI's meta header data by calculating the hash using SHA3. More...
 
int XLoader_DataMeasurement (XLoader_ImageMeasureInfo *ImageInfo)
 This function measures the data by calculating SHA3 hash. More...
 
int XLoader_SecureConfigMeasurement (XLoader_SecureParams *SecurePtr, u32 PcrInfo, u32 *DigestIndex, u32 OverWrite)
 This function measures the Secure Configuration that is SPK, SPK ID and Encryption Revoke ID and extends to the specified PCR. More...
 
XilBootPdiInfo * XLoader_GetBootPdiInfo (void)
 This function provides pointer to BootPDI Info. More...
 
int XLoader_ConfigureJtagState (XPlmi_Cmd *Cmd)
 This function enables or disable Jtag Access Command payload parameters are. More...
 
int XLoader_ReadDdrCryptoPerfCounters (XPlmi_Cmd *Cmd)
 This function reads DDR crypto performance counters of given DDR device id. More...
 
int XLoader_LoadLpdAndPsmElf (void)
 This function will load the LPD and PSM ELF file from DDR. More...
 
int XLoader_CheckAndUpdateSecureState (void)
 This function checks and updates the secure state configuration. More...
 
int XLoader_MeasureNLoad (XilPdi *PdiPtr)
 This function measures the partion hashes. More...
 
int XLoader_DumpDdrmcRegisters (void)
 This function prints DDRMC register details. More...
 

Macro Definition Documentation

#define XLOADER_APU_CLUSTER0   (0U)

APU cluster 0.

#define XLOADER_APU_CLUSTER1   (1U)

APU cluster 1.

#define XLOADER_APU_CLUSTER2   (2U)

APU cluster 2.

#define XLOADER_APU_CLUSTER3   (3U)

APU cluster 3.

#define XLOADER_APU_CORE0   (0U)

APU core 0.

#define XLOADER_APU_CORE1   (1U)

APU core 1.

#define XLOADER_APU_CORE2   (2U)

APU core 2.

#define XLOADER_APU_CORE3   (3U)

APU core 3.

#define XLOADER_ATF_HANDOFF_PARAMS_DS_ID   (0x04U)

ATF handoff parameters data structure Id.

#define XLOADER_BOOTPDI_INFO_DS_ID   (0x02U)

Boot PDI Info data structure Id.

#define XLOADER_GET_PDISRC_INFO ( )
Value:
{\
{"SBI", XLOADER_SBI_INDEX}, /* SBI JTAG - 0 */\
{"QSPI24", XLOADER_QSPI_INDEX}, /* QSPI24 - 1 */\
{"QSPI32", XLOADER_QSPI_INDEX}, /* QSPI32 - 2 */\
{"SDLS_B0", XLOADER_SD_INDEX}, /* SDLS_B0 - 3 */\
{"EMMC0", XLOADER_SD_INDEX}, /* EMMC0 - 4 */\
{"SD_B1", XLOADER_SD_INDEX}, /* SD_B1 - 5 */\
{"EMMC1", XLOADER_SD_INDEX}, /* EMMC - 6 */\
{"USB", XLOADER_USB_INDEX}, /* USB - 7 */\
{"OSPI", XLOADER_OSPI_INDEX}, /* OSPI - 8 */\
{"SBI", XLOADER_SBI_INDEX}, /* SBI - 9*/\
{"SMAP", XLOADER_SBI_INDEX}, /* SMAP - 0xA */\
{"UFS", XLOADER_UFS_INDEX}, /* PCIE - 0xB for now using as UFS */\
{"", XLOADER_INVALID_INDEX}, /* Unused - 0xC */\
{"", XLOADER_INVALID_INDEX}, /* Unused - 0xD */\
{"SDLS_B1", XLOADER_SD_INDEX}, /* SDLS_B1 - 0xE */\
{"DDR", XLOADER_DDR_INDEX}, /* DDR - 0xF */\
}
#define XLOADER_SBI_INDEX
< PDI Src index
Definition: xloader.h:265

Get PDI source info.

Referenced by XLoader_PdiInit().

#define XLOADER_IMAGE_INFO_DS_ID   (0x01U)

Image information data structure Id.

#define XLOADER_IMAGE_INFO_PTR_DS_ID   (0x05U)

Image information data structure Id.

#define XLOADER_MEASURE_FINISH   (2U)
#define XLOADER_MEASURE_START   (0U)
#define XLOADER_MEASURE_UPDATE   (1U)
#define XLOADER_PDI_LIST_DS_ID   (0x03U)

PDI list data structure Id.

#define XLOADER_PDI_SRC_DDR   (0xFU)

PDI source DDR.

#define XLOADER_PDI_SRC_EMMC0   (0x4U)

PDI source EMMC0.

#define XLOADER_PDI_SRC_EMMC1   (0x6U)

PDI source EMMC1.

#define XLOADER_PDI_SRC_INVALID   (0xFFU)

PDI source invalid.

#define XLOADER_PDI_SRC_IS   (0x10U)

PDI source Image Store.

#define XLOADER_PDI_SRC_JTAG   (0x0U)
#define XLOADER_PDI_SRC_OSPI   (0x8U)

PDI source OSPI.

#define XLOADER_PDI_SRC_PCIE   (0xBU)

PDI source PCIE.

#define XLOADER_PDI_SRC_QSPI24   (0x1U)

PDI source QSPI24.

#define XLOADER_PDI_SRC_QSPI32   (0x2U)

PDI source QSPI32.

#define XLOADER_PDI_SRC_SBI   (0x9U)

PDI source SBI.

#define XLOADER_PDI_SRC_SD_B1   (0x5U)

PDI source SD_B1.

#define XLOADER_PDI_SRC_SDLS_B0   (0x3U)

PDI source SDLS_B0.

#define XLOADER_PDI_SRC_SDLS_B1   (0xEU)

PDI source SDLS_B1.

#define XLOADER_PDI_SRC_SMAP   (0xAU)

PDI source SMAP.

Referenced by XLoader_PerformInternalPOR(), and XLoader_RestartImage().

#define XLOADER_PDI_SRC_UFS   (0xBU)

PDI source PCIE used for now as UFS.

#define XLOADER_PDI_SRC_USB   (0x7U)

PDI source USB.

Referenced by XLoader_PdiInit().

#define XLOADER_RPU_CLUSTERA_IDX   (0U)

RPU cluster A.

#define XLOADER_RPU_CLUSTERB_IDX   (1U)

RPU cluster B.

#define XLOADER_RPU_CLUSTERC_IDX   (2U)

RPU cluster C.

#define XLOADER_RPU_CORE0   (0U)

RPU core 0.

#define XLOADER_RPU_CORE1   (1U)

RPU core 1.

#define XLOADER_SECURE_CHUNK_SIZE   (0x8000U)

Secure chunk size 32K.

Referenced by XLoader_ReadAndVerifySecureHdrs(), and XLoader_SecureCopy().

#define XLOADER_SHA3_1_DEVICE_ID   (1U)

SHA3_1 device Id.

#define XLoader_VerifyDataAuth   NULL

Reserved.

#define XLOADER_VERSAL_2VE_2VM_PDI_VERSION_1   (0x00010000U)

PDI Version.

Enumeration Type Documentation

anonymous enum
Enumerator
XLOADER_ERR_FAILURE 

0x1 - XLOADER_ERR_FAILURE

XLOADER_ERR_INVALID_IMGID 

0x2 - Invalid ImgID passed in Command

XLOADER_ERR_NO_VALID_IMG_FOUND 

0x3 - No Valid Image Found in the Image Info Table

XLOADER_ERR_IMAGE_INFO_TBL_FULL 

0x4 - Image Info Table is Full

XLOADER_ERR_PARENT_QUERY_RELATION_CHECK 

0x5 - Error on Parent Query while checking for Child Relation

XLOADER_ERR_MEMSET_PDIPTR 

0x6 - Error during memset on PdiPtr

XLOADER_ERR_MEMSET_QSPI_PSU_INST 

0x7 - Error during memset on QspiPsuInstance

XLOADER_ERR_MEMSET_SD_BOOT_FILE 

0x8 - Error during memset on SD BootFile

XLOADER_ERR_MEMSET_SD_INSTANCE 

0x9 - Error during memset on SdInstance

XLOADER_ERR_MEMSET_USB_INSTANCE 

0xA - Error during memset on UsbInstance

XLOADER_ERR_MEMSET_USB_PRIVATE_DATA 

0xB - Error during memset on UsbPrivateData

XLOADER_ERR_MEMSET_DFU_OBJ 

0xC - Error during memset on DfuObj

XLOADER_ERR_INVALID_METAHDR_BUFF_SIZE 

0xD - Error when buffer size given by user is less than the metaheader length

XLOADER_ERR_INVALID_PDI_INPUT 

0xE - Error when PDI given is not a full PDI or partial PDI

XLOADER_ERR_INVALID_PARAM 

0xF - XLOADER_ERR_INVALID_PARAM

XLOADER_ERR_INVALID_DEST_IMGINFOTBL_SIZE 

0x10 - Error when the destination buffer provided to store image info table is less than the current length of image info table

XLOADER_ERR_INVALID_METAHEADER_SRC_ADDR 

0x11 - Error when invalid source address is passed as a input to extract metaheader command

XLOADER_ERR_INVALID_METAHEADER_DEST_ADDR 

0x12 - Error when invalid destination address is passed as a input to extract metaheader command

XLOADER_ERR_INVALID_METAHEADER_OFFSET 

0x13 - Error when the metaheader offset provided in full PDI is not present in DDR

XLOADER_ERR_IDCODE 

0x14 - IDCODE mismatch

XLOADER_ERR_EXT_IDCODE 

0x15 - EXTENDED IDCODE mismatch

XLOADER_ERR_EXT_ID_SI 

0x16 - Invalid combination of EXTENDED IDCODE - Device

XLOADER_ERR_PDI_LIST_EMPTY 

0x17 - Error when PdiList is empty

XLOADER_ERR_PDI_ADDR_NOT_FOUND 

0x18 - Error when the PdiAddr that is being tried to remove does not exist in the PdiList

XLOADER_ERR_PDI_IMG_STORE_CFG_NOT_SET 

0x19 - Image Store configuration is not enabled/error

XLOADER_ERR_PDI_IMG_STORE_FULL 

0x1A - Error when PdiList is full and user is trying to add a new Pdi

XLOADER_ERR_INVALID_READBACK_PDI_DEST_ADDR 

0x1B - Error when invalid destination address is passed for Readback PDI overriding

XLOADER_ERR_INVALID_IMAGE_STORE_ADDRESS 

0x1C - Error when invalid Image Store Address is encountered

XLOADER_ERR_INVALID_DEST_IMGINFOTBL_ADDRESS 

0x1D - Error when invalid Destination Address where Image Info Table to be copied is encountered

XLOADER_INVALID_BLOCKTYPE 

0x1E - Invalid Blocktype to Cframe data clear check

XLOADER_CFI_CFRAME_IS_BUSY 

0x1F - CRAM self check failed as CFI CFrame is busy

XLOADER_GLITCH_DETECTED 

0x20 - XLOADER_GLITCH_DETECTED.

XLOADER_CFRAME_CRC_CHECK_FAILED 

0x21 - CFRAME CRC check failed

XLOADER_ERR_INVALID_HANDOFF_PARAM_DEST_ADDR 

0x22 - Invalid destination address for copying ATF Handoff Parameters

XLOADER_ERR_INVALID_HANDOFF_PARAM_DEST_SIZE 

0x23 - Invalid destination size for copying ATF Handoff Parameters

XLOADER_ERR_OPT_DATA_NOT_FOUND 

0x24 - Optional data associated with provided data ID is not found

XLOADER_ERR_INVALID_OPT_DATA_BUFF_SIZE 

0x25 - Error when buffer size given by user is less than the optional data length

XLOADER_ERR_OPT_DATA_COPY_FAILED 

0x26 - Error when copy of optional data to destination buffer failed

0x27 - Error when row is invalid

XLOADER_ERR_INVALID_ROW 

0x28 - Error when block type is invalid

XLOADER_ERR_INVALID_BLOCK_TYPE 

0x29 - Error when frame address is not in the range

XLOADER_INVALID_FRAME_ADDRESS 

0x2A - Error when frame count added with start frame address exceeds last frame address

XLOADER_FRAME_COUNT_EXCEEDS_LASTFRAME 

0x2B - Error when command given is not supported

XLOADER_ERR_MAX_BASE_ADDR 

0x2C - Error when Max ddr base addr

XLOADER_ERR_HS_TIMEOUT 

0x2D - Handshake process timeout

XLOADER_ERR_I2C_TRANSACTION 

0x2E - I2c transaction error

XLOADER_ERR_I2C_BUS_BUSY 

0x2F - I2c bus busy error

XLOADER_ERR_I2C_DEV_RELEASE 

0x30 - Error while releasing I2C device used for Handshake

XLOADER_ERR_INVALID_JTAG_OPERATION 

0x100 - Invalid JTAG/DAP config request

XLOADER_ERR_DDR_DEVICE_ID 

0x101 - Invalid DDR device id

XLOADER_ERR_PCOMPLETE_NOT_DONE 

0x102 - Pcomplete not done for given DDR device id

XLOADER_ERR_MEMSET_UFS_BOOT_FILE 

0x103 - Error during memset on UFS Bootfile

Function Documentation

int XLoader_DumpDdrmcRegisters ( void  )

This function prints DDRMC register details.

Returns
  • XST_SUCCESS on success and error code on failure

Get DDRMC UB Base address

Read PCSR Control

Skip DDRMC dump if PComplete is zero

References XLoader_DdrInit(), and XLOADER_PDI_SRC_DDR.

Referenced by XLoader_ProcessDeferredError().