xilplmi
Vitis Drivers API Documentation
xplmi.h File Reference

Overview

This file contains declarations PLMI module.

MODIFICATION HISTORY:
Ver   Who  Date        Changes
----- ---- -------- -------------------------------------------------------
1.00  kc   02/07/2019 Initial release
1.01  ma   08/01/2019 Added LPD init code
1.02  kc   02/19/2020 Moved code to support PLM banner from PLM app
      bsv  04/04/2020 Code clean up
1.03  bsv  07/07/2020 Made functions used in single transaltion unit as
                                        static
      kc   07/28/2020 Added WDT MACRO to indicate WDT initialized
      skd  07/29/2020 Added device copy macros
      bm   09/08/2020 Added RunTime Configuration related registers
      bsv  09/30/2020 Added XPLMI_CHUNK_SIZE macro
      bm   10/14/2020 Code clean up
      td   10/19/2020 MISRA C Fixes
1.04  nsk  12/14/2020 Modified xplmi_event_logging.c to use Canonical
                      names.
1.05  ma   03/04/2021 Added IPI security defines
      har  03/17/2021 Added Secure State register for authentication and
                      encryption
      ma   03/24/2021 Added RTCA Debug Log Address define
      bm   03/24/2021 Added RTCA defines for Error Status registers
      har  03/31/2021 Added RTCA defines for PDI ID
      bm   05/05/2021 Added USR_ACCESS defines for PLD0 image
      ma   05/21/2021 Added RTCA define for Secure Boot State
1.06  bsv  07/16/2021 Fix doxygen warnings
      bsv  07/24/2021 Clear RTC area at the beginning of PLM
      bsv  08/02/2021 Code clean up to reduce elf size
      ma   08/06/2021 Added RTCA define for storing PMC_FW_ERR register value
      bm   08/09/2021 Cleared PMC CDO buffer by default after processing
      bm   08/12/2021 Added support to configure uart during run-time
      ma   08/23/2021 Do not clear Debug Log RTCA memory
      ma   08/30/2021 Added defines related to SSIT
      gm   09/17/2021 Added RunTime Configuration register for MJTAG
                      workaround
      tnt  11/11/2021 Added RTCA defines for MIO Flush routine
      tnt  12/17/2021 Added RTCA define for PL_POR HDIO workaround
1.07  ma   05/10/2022 Added PLM to PLM communication feature
      bm   07/06/2022 Refactor versal and versal_net code
      kpt  07/05/2022 Added XPLMI_RTCFG_SECURE_CTRL_ADDR
      ma   07/08/2022 Added support for secure lockdown
      kpt  07/19/2022 Added APIs and macros related to KAT
1.08  ng   12/08/2022 Updated SDK release version
      sk   01/13/2023 Added defines for Image Store
1.09  skd  02/10/2023 SDK release version updated
1.10  ma   09/27/2023 Add XPLMI_RTCFG_TAMPER_RESP_SLD_0_MASK macro
1.11  dd   10/18/2023 Updated SDK release year and SDK release quarter
      ng   02/12/2024 optimised u8 vars to u32 for size reduction
      sk   02/18/2024 Added define for DDRMC Calib Check Status RTCA Reg init
1.12  sk   06/05/2024 Added defines for PLM Version in RTCA register
24.2  prt  09/18/2024 Updated the SDK_RELEASE_QUARTER as 2 and XPLMI_PLM_MINOR_VERSION as 2
      obs  09/30/2024 Fixed Doxygen Warnings
25.1  prt  02/06/2025 Updated the SDK RELEASE YEAR and QUARTER
Note

Macros

#define SDK_RELEASE_YEAR   "2025"
 Specifies the SDK release year. More...
 
#define SDK_RELEASE_QUARTER   "1"
 Specifies the SDK release quarter. More...
 
#define XPLMI_PLM_MAJOR_VERSION   25U
 PLM Major Version. More...
 
#define XPLMI_PLM_MINOR_VERSION   1U
 PLM Minor Version. More...
 
#define XPLMI_PLM_RC_VERSION   XPLMI_PLM_PLAT_RC_VERSION
 PLM RC Version. More...
 
#define XPLMI_PLM_MAJOR_VERSION_SHIFT   24U
 PLM Major Version Shift. More...
 
#define XPLMI_PLM_MINOR_VERSION_SHIFT   16U
 PLM Minor Version Shift. More...
 
#define XPLMI_PLM_RC_VERSION_SHIFT   8U
 PLM RC Version Shift. More...
 
#define XPLMI_DEVICE_COPY_STATE_MASK   (0x7U << 5U)
 Device copy state mask flag. More...
 
#define XPLMI_DEVICE_COPY_STATE_BLK   (0x0U << 5U)
 Flag set to block device copy. More...
 
#define XPLMI_DEVICE_COPY_STATE_INITIATE   (0x1U << 5U)
 Flag set after device copy initiates. More...
 
#define XPLMI_DEVICE_COPY_STATE_WAIT_DONE   (0x2U << 5U)
 Flag set after device copy done. More...
 
#define XPLMI_CHUNK_SIZE   (0x10000U)
 PMCRAM chunk size. More...
 
#define XPLMI_CMD_SECURE   (0x0U)
 IPI command secure flag. More...
 
#define XPLMI_CMD_NON_SECURE   (0x1U)
 IPI command non-secure flag. More...
 
#define XPLMI_PMC_VERSION_MASK   (0xFU)
 Used to calculate PMC Version. More...
 
#define XPLMI_PMC_VERSION_SHIFT   (0x4U)
 Used to calculate PMC Version. More...
 
#define UART_INITIALIZED   ((u32)(1U << 0U))
 Flag indicates UART is initialized. More...
 
#define LPD_INITIALIZED   ((u32)(1U << 1U))
 Flag indicates LPD is initialized. More...
 
#define LPD_WDT_INITIALIZED   ((u32)(1U << 2U))
 Flag indicates LPD_WDT is initialized. More...
 
#define UART_PRINT_ENABLED   ((u32)(1U << 3U))
 Flag indicates UART prints are enabled. More...
 
#define UART_PRINT_INITIALIZED   (UART_INITIALIZED | UART_PRINT_ENABLED)
 Flag indicates UART is initialized and prints are enabled. More...
 

Macro Definition Documentation

#define LPD_INITIALIZED   ((u32)(1U << 1U))

Flag indicates LPD is initialized.

Referenced by XPlmi_LpdInit().

#define LPD_WDT_INITIALIZED   ((u32)(1U << 2U))

Flag indicates LPD_WDT is initialized.

Referenced by XPlmi_EnableWdt(), and XPlmi_ResetLpdInitialized().

#define SDK_RELEASE_QUARTER   "1"

Specifies the SDK release quarter.

Referenced by XPlmi_PrintPlmBanner().

#define SDK_RELEASE_YEAR   "2025"

Specifies the SDK release year.

Referenced by XPlmi_PrintPlmBanner().

#define UART_INITIALIZED   ((u32)(1U << 0U))

Flag indicates UART is initialized.

Referenced by XPlmi_InitUart().

#define UART_PRINT_ENABLED   ((u32)(1U << 3U))

Flag indicates UART prints are enabled.

Referenced by XPlmi_ConfigUart(), and XPlmi_InitUart().

#define UART_PRINT_INITIALIZED   (UART_INITIALIZED | UART_PRINT_ENABLED)

Flag indicates UART is initialized and prints are enabled.

#define XPLMI_CHUNK_SIZE   (0x10000U)

PMCRAM chunk size.

#define XPLMI_CMD_NON_SECURE   (0x1U)

IPI command non-secure flag.

#define XPLMI_CMD_SECURE   (0x0U)

IPI command secure flag.

#define XPLMI_DEVICE_COPY_STATE_BLK   (0x0U << 5U)

Flag set to block device copy.

#define XPLMI_DEVICE_COPY_STATE_INITIATE   (0x1U << 5U)

Flag set after device copy initiates.

#define XPLMI_DEVICE_COPY_STATE_MASK   (0x7U << 5U)

Device copy state mask flag.

#define XPLMI_DEVICE_COPY_STATE_WAIT_DONE   (0x2U << 5U)

Flag set after device copy done.

#define XPLMI_PLM_MAJOR_VERSION   25U

PLM Major Version.

Referenced by XPlmi_RunTimeConfigInit().

#define XPLMI_PLM_MAJOR_VERSION_SHIFT   24U

PLM Major Version Shift.

Referenced by XPlmi_RunTimeConfigInit().

#define XPLMI_PLM_MINOR_VERSION   1U

PLM Minor Version.

Referenced by XPlmi_RunTimeConfigInit().

#define XPLMI_PLM_MINOR_VERSION_SHIFT   16U

PLM Minor Version Shift.

Referenced by XPlmi_RunTimeConfigInit().

#define XPLMI_PLM_RC_VERSION   XPLMI_PLM_PLAT_RC_VERSION

PLM RC Version.

Referenced by XPlmi_RunTimeConfigInit().

#define XPLMI_PLM_RC_VERSION_SHIFT   8U

PLM RC Version Shift.

Referenced by XPlmi_RunTimeConfigInit().

#define XPLMI_PMC_VERSION_MASK   (0xFU)

Used to calculate PMC Version.

Referenced by XPlmi_PrintPlmBanner().

#define XPLMI_PMC_VERSION_SHIFT   (0x4U)

Used to calculate PMC Version.

Referenced by XPlmi_PrintPlmBanner().