xilpdi
Vitis Drivers API Documentation
2ve_2vm/xilpdi_plat.h File Reference

Overview

This is the header file which contains versal_2ve_2vm specific definitions for the PDI.

MODIFICATION HISTORY:
Ver   Who  Date        Changes
----- ---- -------- -------------------------------------------------------
1.10  kal  24/07/2024 Initial release
1.11  sk   03/05/2025 Added ASU destination CPU attribute
      sk   03/17/2025 Updated Header attributes for RPU clusters
Note

Data Structures

struct  XilPdi_BootHdrFwRsvd
 Structure to store the Boot Header PMC FW fields. More...
 
struct  XilPdi_BootHdr
 Structure to store the boot header table details. More...
 
struct  XilPdi_ImgHdrTbl
 Structure to store the image header table details. More...
 
struct  XilPdi_PrtnHdr
 Structure to store the partition header details. More...
 

XilPdi Definitions

#define XIH_BH_IMG_ATTRB_SIGNED_IMG_MASK   (0xC0000U)
 Boot header Attr fields. More...
 
#define XIH_BH_IMG_ATTRB_SIGNED_IMG_SHIFT   (18U)
 
#define XIH_BH_IMG_ATTRB_SIGNED_IMG_VALUE   (0x3U)
 
#define XIH_MAX_PRTNS   (32U)
 
#define XIH_MAX_IMGS   (32U)
 
#define XIH_IHT_ATTR_SBD_MASK   (0xFC0U)
 
#define XIH_IHT_ATTR_SBD_SHIFT   (0x6U)
 
#define XIH_IHT_ATTR_SBD_SAME   (0x0U)
 
#define XIH_IHT_ATTR_SBD_QSPI32   (0x1U)
 
#define XIH_IHT_ATTR_SBD_QSPI24   (0x2U)
 
#define XIH_IHT_ATTR_SBD_SDLS_B0   (0x4U)
 
#define XIH_IHT_ATTR_SBD_SD_B1   (0x5U)
 
#define XIH_IHT_ATTR_SBD_SDLS_B1   (0x6U)
 
#define XIH_IHT_ATTR_SBD_EMMC   (0x7U)
 
#define XIH_IHT_ATTR_SBD_USB   (0x8U)
 
#define XIH_IHT_ATTR_SBD_PCIE   (0xAU)
 
#define XIH_IHT_ATTR_SBD_OSPI   (0xCU)
 
#define XIH_IHT_ATTR_SBD_SMAP   (0xDU)
 
#define XIH_IHT_ATTR_SBD_JTAG   (0xEU)
 
#define XIH_IHT_ATTR_SBD_SDLS_B0_RAW   (0xFU)
 
#define XIH_IHT_ATTR_SBD_SD_B1_RAW   (0x10U)
 
#define XIH_IHT_ATTR_SBD_SDLS_B1_RAW   (0x11U)
 
#define XIH_IHT_ATTR_SBD_EMMC_RAW   (0x12U)
 
#define XIH_IHT_ATTR_SBD_EMMC_0   (0x13U)
 
#define XIH_IHT_ATTR_SBD_EMMC_0_RAW   (0x14U)
 
#define XIH_IHT_ATTR_IMAGE_STORE   (0x15U)
 
#define XIH_IHT_ATTR_SBD_UFS   (0x16U)
 
#define XIH_PH_ATTRB_HIVEC_MASK   (0x800000U)
 Prtn Attribute fields. More...
 
#define XIH_PH_ATTRB_ENDIAN_MASK   (0x40000U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_MASK   (0xE0000000U)
 
#define XIH_PH_ATTRB_CLUSTER_LOCKSTEP_MASK   (0x0030U)
 
#define XIH_PH_ATTRB_A78_EXEC_ST_MASK   (0x0008U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_SHIFT   (29U)
 
#define XIH_PH_ATTRB_TCM_BOOT_MASK   (0x180000U)
 
#define XIH_PH_ATTRB_PRTN_TYPE_RSVD   (0x0000000U)
 Prtn Attribute Values. More...
 
#define XIH_PH_ATTRB_PRTN_TYPE_ELF   (0x1000000U)
 
#define XIH_PH_ATTRB_PRTN_TYPE_CDO   (0x2000000U)
 
#define XIH_PH_ATTRB_PRTN_TYPE_CFI_GSC_UNMASK   (0x7000000U)
 
#define XIH_PH_ATTRB_PRTN_OWNER_PLM   (0x00000U)
 
#define XIH_PH_ATTRB_HASH_SHA3   (0x3000U)
 
#define XIH_PH_ATTRB_DSTN_CPU_NONE   (0x0000U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_0   (0x000U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_1   (0x20000000U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_2   (0x40000000U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_3   (0x60000000U)
 
#define XIH_PH_ATTRB_DSTN_CLUSTER_4   (0x80000000U)
 
#define XIH_ATTRB_DSTN_CLUSTER_0   (0x000U)
 
#define XIH_ATTRB_DSTN_CLUSTER_1   (0x001U)
 
#define XIH_ATTRB_DSTN_CLUSTER_2   (0x002U)
 
#define XIH_ATTRB_DSTN_CLUSTER_3   (0x003U)
 
#define XIH_ATTRB_DSTN_CLUSTER_4   (0x004U)
 
#define XIH_PH_ATTRB_CLUSTER_LOCKSTEP_ENABLED   (0x030U)
 
#define XIH_PH_ATTRB_CLUSTER_LOCKSTEP_DISABLED   (0x000U)
 
#define XIH_PH_ATTRB_DSTN_CPU_A78_0   (0x100U)
 
#define XIH_PH_ATTRB_DSTN_CPU_A78_1   (0x200U)
 
#define XIH_PH_ATTRB_DSTN_CPU_A78_2   (0x300U)
 
#define XIH_PH_ATTRB_DSTN_CPU_A78_3   (0x400U)
 
#define XIH_PH_ATTRB_DSTN_CPU_R52_0   (0x500U)
 
#define XIH_PH_ATTRB_DSTN_CPU_R52_1   (0x600U)
 
#define XIH_PH_ATTRB_DSTN_CPU_ASU   (0x800U)
 
#define XIH_PH_ATTRB_TCM_BOOT_ENABLED   (0x180000U)
 
#define XIH_ATTRB_A78_EXEC_ST_SHIFT_DIFF   (3U)
 Below is the bit mapping of fields in the ATF Handoff parameters with that of Prtn header. More...
 
#define XIH_ATTRB_ENDIAN_SHIFT_DIFF   (17U)
 
#define XIH_ATTRB_TR_SECURE_SHIFT_DIFF   (2U)
 
#define XIH_ATTRB_TARGET_EL_SHIFT_DIFF   (2U)
 
#define XIH_PRTN_FLAGS_DSTN_CLUSTER_SHIFT_DIFF   (18U)
 
#define XIH_ATTRB_EL_MASK   (0x18U)
 
#define XIH_PRTN_FLAGS_EL_2   (0x10U)
 
#define XIH_PRTN_FLAGS_EL_3   (0x18U)
 
#define XIH_PRTN_FLAGS_DSTN_CPU_A78_0   (0x00U)
 
#define XIH_PRTN_FLAGS_DSTN_CPU_A78_1   (0x20U)
 
#define XIH_PRTN_FLAGS_DSTN_CPU_A78_2   (0x40U)
 
#define XIH_PRTN_FLAGS_DSTN_CPU_A78_3   (0x60U)
 
#define XIH_OPTIONAL_DATA_LEN_OFFSET   (0x58U)
 
#define XIH_OPT_DATA_NON_DATA_LEN   (8U)
 
#define XIH_OPT_DATA_STRUCT_INFO_ID   (2U)
 
#define XIH_BH_META_HDR_OFFSET   (0x2D0U)
 Offset to the metaheader offset field present in boot header. More...
 
#define XIH_BH_PRAM_ADDR   (0xF201EEC0U)
 Boot header address in PRAM copied by ROM. More...
 
#define XIH_HASH_BLOCK_1_HASH_OFFSET   (0xF201ED60U)
 MetaHeader HashBlock address in PRAM copied by ROM. More...
 
#define XIH_BH_PUF_HD_OFFSET   (0xB24U)
 Boot header PUF fields. More...
 
#define XIH_BH_PUF_CHASH_OFFSET   (0x1124U)
 BootHeader PUF CHASH offset. More...
 
#define XIH_BH_PUF_AUX_OFFSET   (0x1128U)
 BootHeader PUF auxiliary offset. More...
 

Macro Definition Documentation

#define XIH_ATTRB_A78_EXEC_ST_SHIFT_DIFF   (3U)

Below is the bit mapping of fields in the ATF Handoff parameters with that of Prtn header.

The number of bits shifted is is based on the difference between these two offsets

              ATFHandoffParams     PrtnHdr              Shift

Parameter PrtnFlags PrtnAttrb difference

Exec State 0 3 3 right ENDIAN 1 18 17 right SECURE 2 0 2 left EL 3:4 1:2 2 left CPU_A78 5:6 8:11 Cluster# 11:12 29:31 18 right Reserved 13:16

#define XIH_BH_IMG_ATTRB_SIGNED_IMG_MASK   (0xC0000U)

Boot header Attr fields.

#define XIH_BH_META_HDR_OFFSET   (0x2D0U)

Offset to the metaheader offset field present in boot header.

#define XIH_BH_PRAM_ADDR   (0xF201EEC0U)

Boot header address in PRAM copied by ROM.

#define XIH_BH_PUF_AUX_OFFSET   (0x1128U)

BootHeader PUF auxiliary offset.

#define XIH_BH_PUF_CHASH_OFFSET   (0x1124U)

BootHeader PUF CHASH offset.

#define XIH_BH_PUF_HD_OFFSET   (0xB24U)

Boot header PUF fields.

BootHeader PUF HD offset.

#define XIH_HASH_BLOCK_1_HASH_OFFSET   (0xF201ED60U)

MetaHeader HashBlock address in PRAM copied by ROM.

#define XIH_PH_ATTRB_HIVEC_MASK   (0x800000U)

Prtn Attribute fields.

#define XIH_PH_ATTRB_PRTN_TYPE_RSVD   (0x0000000U)

Prtn Attribute Values.