The following table lists PLM error codes that can be flagged during
boot and configuration. The PLM error codes start above 0x0900. See BootROM Error Codes for
BootROM error conditions.
| Error Code | Name | Description |
|---|---|---|
| 0x0901 | XPLM_ERR_DMA_LOOKUP | DMA driver lookup fails. |
| 0x0902 | XPLM_ERR_DMA_CFG | DMA driver config fails. |
| 0x0903 | XPLM_ERR_DMA_SELFTEST | DMA Self-test fails. Occurs when DMA is in reset and PLM tries to initialize it. |
| 0x0904 | XPLM_ERR_DMA_XFER_WAIT | DMA transfer failed waiting for done. |
| 0x0905 | XPLM_ERR_CMD_APIID | Tried to process unregistered API ID. |
| 0x0906 | XPLM_ERR_CMD_HANDLER_NULL | Handler is not registered for the given CDO cmd. |
| 0x0907 | XPLM_ERR_MODULE_NOT_REGISTERED | The given CDO cmd is not registered. |
| 0x0908 | XPLM_ERR_INVLD_RESUME_HANDLER | The handler is not assigned. |
| 0x0909 | XPLM_ERR_INIT_CDO_INSTANCE | Failed to initialize the CDO instance. |
| 0x090A | XPLM_ERR_CDO_HDR_ID | Valid CDO header ID is not present in CDO header. Can be triggered when a different partition type is processed as CDO. |
| 0x090B | XPLM_ERR_CDO_CHECKSUM | CDO header checksum is wrong. Can be triggered when CDO header is corrupted. |
| 0x090C | XPLM_ERR_MEMCPY_CMD_EXEC | Error copying CDO CMD to buffer. |
| 0x090D | XPLM_ERR_INVALID_BREAK_LENGTH | The break length required to jump is less than the processed CDO length. |
| 0x090E | XPLM_ERR_UNSUPPORTED_OSPI_FLASH_MAKE | SPI or OSPI flash make is not supported. |
| 0x090F | XPLM_ERR_UNSUPPORTED_OSPI_SIZE | SPI or OSPI flash size is not supported. |
| 0x0910 | XPLM_ERR_OSPI_CFG | SPI/OSPI driver lookup fails. |
| 0x0911 | XPLM_ERR_OSPI_INIT | OSPI driver CFG fails. |
| 0x0912 | XPLM_ERR_OSPI_SEL_FLASH_CS0 | OSPI driver is unable to select flash CS0. Check minor code for OSPI driver error code. |
| 0x0913 | XPLM_ERR_OSPI_READ_ID | Failed to read OSPI flash ID. |
| 0x0914 | XPLM_ERR_OSPI_READ_DATA | Failed to read the data from flash. |
| 0x0915 | XPLM_ERR_OSPI_SET_DDR_WRITE_ENABLE | Failed to enable write mode in flash. |
| 0x0916 | XPLM_ERR_OSPI_SET_DDR_WRITE_CFG_REG | Failed to configure DDR mode in flash. |
| 0x0917 | XPLM_ERR_OSPI_SET_DDR_DUAL_BYTE_OP_ENABLE | Failed to enable dual byte op code. |
| 0x0918 | XPLM_ERR_OSPI_SET_DDR_PHY | Failed to set the controller to DDR PHY mode |
| 0x0919 | XPLM_ERR_OSPI_SET_DDR_READ_CFG_REG | Failed to readback configuration from flash. |
| 0x091A | XPLM_ERR_OSPI_SET_DDR_CFG_MISMATCH | Failed to validate configuration after enabling DDR PHY mode. |
| 0x091B | XPLM_ERR_OSPI_DUAL_BYTE_OP_DISABLE | Failed to disable DUAL BYTE OP code. |
| 0x091C | XPLM_ERR_OSPI_SINGLE_CONN_MODE | OSPI connection mode is other than single. |
| 0x091D | XPLM_ERR_OSPI_SET_SDR_NON_PHY | Failed to set the controller to SDR NON PHY mode |
| 0x091E | XPLM_ERR_OSPI_SET_SDR_PHY | Failed to set the controller to SDR PHY mode. |
| 0x091F | XPLM_ERR_OSPI_COPY_LENGTH_OVERFLOW | Source address in OSPI copy exceeds flash size. |
| 0x0920 | XPLM_ERR_OSPI_4B_ADDR_MODE_WRITE_ENABLE | Failed to enable write mode in flash. |
| 0x0921 | XPLM_ERR_OSPI_4B_ADDR_MODE_ENTER_OR_EXIT_CMD | Failed to enter or exit 4 byte addressing mode. |
| 0x0922 | XPLM_ERR_OSPI_4B_ADDR_MODE_ENTER_OR_EXIT_CMD_STATUS | Failed to verify 4 byte addressing mode. |
| 0x0923 | XPLM_ERR_OSPI_4B_ADDR_MODE_WRITE_DISABLE | Failed disable write mode in flash. |
| 0x0924 | XPLM_ERR_AES_KEY_CLEAR_TIMEOUT | Failed to clean AES key. |
| 0x0925 | XPLM_ERR_RTCA_OSPI_CLK_DIV_MAX | The ref clk divisor in RTCA sets more than 6-bits. |
| 0x0926 | XPLM_ERR_RTCA_OSPI_INVLD_DDR_PHY_CFG | OSPI configuration is set to DDR and NON_PHY mode. |
| 0x0927 | XPLM_ERR_QSPI_READ_ID | Failed to read SPI x4 flash ID. |
| 0x0928 | XPLM_ERR_QSPI_FLASH_MAKE_NOT_SUPPORTED | SPI x4 flash make is not supported. |
| 0x0929 | XPLM_ERR_QSPI_FLASH_SIZE_NOT_SUPPORTED | SPI x4 flash size is not supported. |
| 0x092A | XPLM_ERR_QSPI_CFG_NOT_FOUND | SPI x4 driver lookup fails. |
| 0x092B | XPLM_ERR_QSPI_CFG_INIT | SPI x4 driver configuration fails. |
| 0x092C | XPLM_ERR_QSPI_FLASH_CS | SPI x4 driver failed to select flash. |
| 0x092D | XPLM_ERR_QSPI_SINGLE_CONN_MODE | SPI x4 connection mode is other than single. |
| 0x092E | XPLM_ERR_QSPI_COPY_LENGTH_OVERFLOW | Source address in OSPI copy exceeds flash size. |
| 0x092F | XPLM_ERR_QSPI_READ | Failed to read the data from flash. |
| 0x0930 | XPLM_ERR_QSPI_LENGTH | SPI x4 read length is greater than flash size |
| 0x0931 | XPLM_ERR_QSPI_BUS_WIDTH_NOT_SUPPORTED | SPI x4 bus width is not supported. |
| 0x0932 | XPLM_ERR_QSPI_READ_BANK_SEL | Failed to select the flash bank for read. |
| 0x0933 | XPLM_ERR_QSPI_BANK_SEL | Failed to select the flash bank |
| 0x0934 | XPLM_ERR_QSPI_BANK_SEL_SEND_WREN | Failed to enable write mode during flash bank select. |
| 0x0935 | XPLM_ERR_QSPI_BANK_SEL_SEND_EXT_ADDR | Failed to extended address write command for flash device. |
| 0x0936 | XPLM_ERR_QSPI_BANK_SEL_VERIFY_EXT_ADDR | Failed to verify the extended address write cmd. |
| 0x0937 | XPLM_ERR_RTCA_QSPI_INVLD_DDR_CFG | SPI x4 configuration in RTCA is set to DDR mode. |
| 0x0938 | XPLM_ERR_IO_MOD_INIT | Error if failed to initialize IO module. |
| 0x0939 | XPLM_ERR_ASSERT | Assertion error |
| 0x093A | XPLM_ERR_PPDI_ROM_INST_ZEROIZE | Failed to initialize ROM instance to zero. |
| 0x093B | XPLM_ERR_PPDI_BH_ZEROIZE | Failed to initialize boot header table to zero. |
| 0x093C | XPLM_ERR_PPDI_SBI_BUF_READ_WIDTH_WORD | Failed to read boot header from SBI buffer. |
| 0x093D | XPLM_ERR_PPDI_SBI_BUF_READ_BH | Failed to read boot header from SBI buffer. |
| 0x093E | XPLM_ERR_CALC_BH_CHECKSUM | Failed to validate Boot Header checksum. |
| 0x093F | XPLM_ERR_HASH_BLOCK_ZEROIZE | Failed to initialize hash block to zero. |
| 0x0940 | XPLM_ERR_HASH_BLOCK_READ_SBI_BUF | Failed to read hash block from SBI buffer. |
| 0x0941 | XPLM_ERR_GCM_TAG_READ_SBI_BUF | Failed to read GCM TAG from SBI buffer. |
| 0x0942 | XPLM_ERR_HASH_BLOCK_AUTHENTICATION | Failed to authenticate Hash block. |
| 0x0943 | XPLM_ERR_PPDI_INVALID_IMG_DET_WORD | Failed to validate "XLNX" image identification word. |
| 0x0944 | XPLM_ERR_INVALID_SECONDARY_BOOT_INTF | Secondary boot interface configured it not supported. |
| 0x0945 | XPLM_ERR_PPDI_DEC_EFUSE_ONLY | Error if BH encryption status is other than @ref XPLM_ENC_STATUS_eFUSE_PUF_KEK. |
| 0x0946 | XPLM_ERR_PPDI_INVALID_BH_ENC_STATUS | Encryption source or type is not supported. |
| 0x0947 | XPLM_ERR_PPDI_AHWROT_UNSIGNED_IMG | Failed to validate A-HWROT. |
| 0x0948 | XPLM_ERR_PPDI_SEC_TRANSITION_AUTH | Partial PDI authentication status is different from full PDI authentication status. |
| 0x0949 | XPLM_ERR_PPDI_SEC_TO_SEC_KEY_MISMATCH | Partial PDI encryption source or type does not match with full PDI. |
| 0x094A | XPLM_ERR_PPDI_FAMILY_KEY_NOT_ALLOWED | Family key is used to encrypt partial PDI. |
| 0x094B | XPLM_ERR_PPDI_TEMPORAL_ERR_AUTH_ENC_STATUS | Failed to validate encryption or authentication status. |
| 0x094C | XPLM_ERR_PPDI_PUF_DISABLED | Error if PUF is disabled. |
| 0x094D | XPLM_ERR_PPDI_PMCFWLEN_NON_ZERO | Partial PDI contains PLM firmware. |
| 0x094E | XPLM_ERR_PPDI_CDO_LEN_ALIGN | CDO length is not byte aligned. |
| 0x094F | XPLM_ERR_PPDI_PUF_IMG_NOT_SUPPORTED | PUF image ID is set for partial PDI. |
| 0x0950 | XPLM_ERR_PPDI_PUF_HD_BUFF_ZEROIZE | Failed to initialize PUF HD to zero. |
| 0x0951 | XPLM_ERR_PUF_HD_DIGEST_VALIDATION | Failed to validate PUF HD. |
| 0x0952 | XPLM_ERR_INIT_CHUNK_INST | Failed to initialize chunk instance. |
| 0x0953 | XPLM_ERR_SECURE_CLR | Failed to reset crypto engines. |
| 0x0954 | XPLM_ERR_PPDI_INVLD_PUF_DIGEST | Failed to validate PUF digest for partial PDI. |
| 0x0955 | XPLM_ERR_GLITCH_DETECTED | Glitch detected |
| 0x0956 | XPLM_ERR_URAM_CLR_BUSY_TIMEOUT | URAM clear not finished. |
| 0x0957 | XPLM_ERR_CDO_LENGTH_OVERFLOW | The length of the remaining CDO commands exceeds the expected limit ( @ref XPLM_FINISH_CDO_READ_REMAINING_CMD_MAX_LENGTH ) after detecting the 'finish_cdo_read' CDO command. |
| 0x0958 | XPLM_ERR_CDO_MOVE_FAILURE | Moving the remaining CDO commands to the top of the chunk buffer fails after detecting the 'finish_cdo_read' CDO command. |
| 0x0959 | XPLM_ERR_OSPI_SET_CLK_PRESCALE_4 | Failed to set the prescaler for the OSPI clock. |
| 0x095A | XPLM_ERR_OSPI_IDAC_EN_OPTION | Failed to enable IDAC controller in OSPI. |
| 0x095B | XPLM_ERR_SEC_LOCKDOWN | Secure lockdown error for non-tamper events. |
| 0x095C | XPLM_ERR_INVALID_KEYSOURCE | Error if key source is not valid. |
| 0x0C00 | XPLM_ERR_FEATURE_NOT_SUPPORTED | The feature CMD ID is not supported. |
| 0x0C01 | XPLM_ERR_MASK_POLL_INVLD_CMD_LEN | The mask_poll command length exceeds the maximum supported. |
| 0x0C02 | XPLM_ERR_MASK_POLL_TIMEOUT | mask_poll command timeout while expecting a value. |
| 0x0C11 | XPLM_ERR_IDCODE | PLM IDCODE check error. |
| 0x0C50 | XPLM_ERR_RDBK_DISABLED | Readback is disabled in secure boot. |
| 0x0C51 | XPLM_ERR_RDBK_INVALID_INFR_SEL | Invalid interface type is selected for readback. |
| 0x0C52 | XPLM_ERR_RDBK_PAYLOAD_TO_CCU | Failed to transfer CFI read command payload to CCU. |
| 0x0C53 | XPLM_ERR_RDBK_CCU_READ | Failed to readback the bitstream from CCU. |
| 0x0C54 | XPLM_ERR_RDBK_READ_TIMEOUT | Failed to read the readback data from the SBI interface. |
| 0x0C55 | XPLM_ERR_SET_MEM | Failed to set the memory with the value. |
| 0x0C56 | XPLM_ERR_KEYHOLE_XFER | Failed to transfer the payload to CCU. |
| 0x0C57 | XPLM_ERR_MAX_NESTED_BEGIN | The number of nested begin exceeds the limit of 10. |
| 0x0C58 | XPLM_ERR_STORE_END_OFFSET | Failed to store the end offset of begin command. |
| 0x0C59 | XPLM_ERR_INVLD_BEGIN_END_PAIR | Begin and end cmds are not paired. |
| 0x0C5A | XPLM_ERR_INVLD_END_ADDR | End address is not valid. |
| 0x0C5B | XPLM_ERR_REG_READ_LEN_LIMIT | The register read length exceeds the supported limit of 128 registers. |
| 0x0C5C | XPLM_ERR_REG_READ_DMA_XFER | The DMA transfer to SBI failed. |
| 0x0C5D | XPLM_ERR_REG_READ_TIMEOUT | The data placed in SBI buffer is not read back. |
| 0x0C5E | XPLM_ERR_REG_READ_ADDR_INVALID | The register address is not within the limits. |
| 0x0D16 | XPLM_ERR_SEC_LOAD_HASH_VERIFY | Hash validation failed due to a mismatch between the calculated and expected values. |