![]() |
xilplmi
Vitis Drivers API Documentation
|
This is the file which contains general commands.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00 kc 08/23/2018 Initial release 1.01 bsv 04/18/2019 Added support for NPI and CFI readback bsv 05/01/2019 Added support to load CFI bitstreams larger than 64K ma 08/24/2019 Added SSIT commands 1.02 bsv 12/13/2019 Added support for NOP and SET commands kc 12/17/2019 Add deferred error mechanism for mask poll bsv 01/09/2020 Changes related to bitstream loading bsv 01/31/2020 Added API to read device ID from hardware ma 03/18/2020 Added event logging code bsv 03/09/2020 Added support for CDO features command bsv 04/04/2020 Code clean up 1.03 bsv 06/10/2020 Added SetBoard and GetBoard APIs kc 07/28/2020 Added SetWdt command support skd 07/29/2020 Cfi Write related changes for Qspi and Ospi bm 08/03/2020 Added ReadBack Override support bsv 09/30/2020 Added parallel DMA support for SBI, JTAG, SMAP and PCIE boot modes bm 10/14/2020 Code clean up td 10/19/2020 MISRA C Fixes ana 10/19/2020 Added doxygen comments 1.04 td 11/23/2020 MISRA C Rule 17.8 Fixes bsv 01/04/2021 Added support for LogString and LogAddress commands bm 02/17/2021 Added const to XPlmi_GenericCmds variable bsv 02/28/2021 Added code to avoid unaligned NPI writes 1.05 ma 03/04/2021 Added XPlmi_CheckIpiAccess handler to check access for secure IPI commands ma 03/10/2021 Removed Get Device Id and Get Board commands from secure commands list ma 03/18/2021 Added support for Marker command bsv 04/13/2021 Added support for variable Keyhole sizes in DmaWriteKeyHole command 1.06 ma 06/17/2021 Added readback support for SSIT Slave SLRs ma 06/28/2021 Added support for proc command bsv 07/05/2021 Added code to handle case where bitstream data starts at 32K boundary bsv 07/16/2021 Fix doxygen warnings bsv 07/18/2021 Debug enhancements bsv 08/02/2021 Code clean up to reduce size bsv 08/15/2021 Removed unwanted goto statements rb 08/19/2021 Fix compilation warning 1.07 bsv 10/26/2021 Code clean up ma 11/22/2021 Remove hardcoding of Proc addresses kpt 12/13/2021 Replaced Xil_SecureMemCpy with Xil_SMemCpy is 01/10/2022 Added support for OT_CHECK command (XPlmi_OTCheck) is 01/10/2022 Updated Copyright Year to 2022 bm 01/20/2022 Fix compilation warnings in Xil_SMemCpy 1.08 bsv 06/03/2022 Add CommandInfo to a separate section in elf bm 07/06/2022 Refactor versal and versal_net code ma 07/08/2022 Add support for storing procs to PMC RAM based on ID ma 07/08/2022 Add ScatterWrite and ScatterWrite2 commands to versal ma 07/08/2022 Add support for Tamper Trigger over IPI ma 07/20/2022 Print XPlmi_MaskPoll failures in all cases bm 07/20/2022 Retain critical data structures after In-Place PLM Update bm 07/24/2022 Set PlmLiveStatus during boot time bsv 08/23/2022 Clear BoardParams instance in case of failure bm 08/24/2022 Support Begin, Break and End commands across chunk boundaries bm 08/30/2022 Ignore strings in begin command beyond 24 characters instead of erroring out bm 09/14/2022 Move ScatterWrite commands from common to versal_net 1.09 ng 11/11/2022 Updated doxygen comments bm 01/03/2023 Create Secure Lockdown as a Critical Priority Task bm 01/03/2023 Clear End Stack before processing a CDO partition bm 01/03/2023 Notify Other SLRs about Secure Lockdown sk 01/11/2023 Update XPlmi_MoveProc to handle 64 bit Address bm 01/18/2023 Fix CFI readback logic with correct keyhole size ng 03/07/2023 Fixed circular dependency between xilpm and xilplmi libraries bm 03/11/2023 Added Temporal redundancy to tamper response condition ng 03/16/2023 Added control to disable minimal timeout in maskpoll ng 03/30/2023 Updated algorithm and return values in doxygen comments 1.10 ng 05/19/2023 Added null termination for log string buffer bm 06/13/2023 Added unique error code support for mask poll. Also added generic logic for 32-bit and 64-bit mask poll. bm 06/13/2023 Log PLM error before deferring bm 06/23/2023 Added access permissions for IPI commands Added set_ipi_access cdo command bm 07/06/2023 Updated Begin offset Stack logic bm 07/06/2023 Refactored Proc logic to more generic logic bm 07/06/2023 Added list commands sk 08/30/2023 Added Address range check for PSM Buff List dd 09/12/2023 MISRA-C violation Rule 14.4 fixed 2.0 ng 11/11/2023 Implemented user modules mss 11/02/2023 Added VerifyAddr check for address mentioned in GetBoard command 2.00 ng 12/27/2023 Reduced log level for less frequent prints sk 12/14/2023 Moved XPlmi_GetBufferList to platform files pre 01/10/2024 XPlmi_LogString, XPlmi_Begin logic enhancement pre 01/22/2024 Addition of new line after string printing in XPlmi_LogString, XPlmi_Begin functions ng 01/28/2024 optimized u8 variables ng 01/26/2024 Updated minor error codes mss 03/13/2024 MISRA-C violatiom Rule 17.8 fixed mss 03/13/2024 MISRA-C violation Rule 2.2 fixed jb 04/09/2024 Reduced log level for proc print am 04/15/2024 Fixed doxygen warnings 2.01 kpt 06/19/2024 Trigger secure lockdown immediately when requested through CDO pre 07/11/2024 Implemented secure PLM to PLM communication pre 07/16/2024 Added command routing to slave SLRs pre 08/22/2024 Modified XPlmi_GetReadbackLen for external linkage pre 09/30/24 Added support for get secure communication status command pre 10/26/2024 Removed XPlmi_GetReadBackPropsValue, XPlmi_SetReadBackProps and XPlmi_GetReadBackPropsInstance APIs bm 10/29/2024 Fix chunk boundary handling in KeyholeXfr logic pre 12/24/2024 Skip LPD initialized check for other than PSM_BUFFER_LIST type pre 01/13/2025 Added command to set access status of DDRMC main registers
Functions | |
| int | XPlmi_GenericMaskPoll (XPlmi_Cmd *Cmd, u64 Addr, u32 Type) |
| This function provides generic implementation for both 32-bit and 64-bit mask poll command execution. More... | |
| int | XPlmi_DmaTransfer (u64 Dest, u64 Src, u32 Len, u32 Flags) |
| This function provides functionality for DMA write. More... | |
| u32 | XPlmi_GetReadbackLen (u32 Len) |
| This function processes and provides readback length. More... | |
| int | XPlmi_MoveBuffer (u32 BufferIndex, XPlmi_BufferList *BufferList) |
| This function provides functionality to move procs when proc command is received for existing BufferId. More... | |
| int | XPlmi_SetBufferList (u32 Address, u16 Size) |
| This function sets PSM BufferList address to given Address and Size. More... | |
| int | XPlmi_SearchBufferList (XPlmi_BufferList *BufferList, u32 BufferId, u64 *BufAddr, u32 *BufLen) |
| This function searches Buffer list with the buffer Id to provide buffer address and buffer length. More... | |
| int | XPlmi_ExecuteProc (u32 ProcId) |
| This function provides functionality to execute given ProcId when request to execute a particular ProcId. More... | |
| int | XPlmi_StoreBuffer (XPlmi_Cmd *Cmd, u32 BufferId, XPlmi_BufferList *BufferList) |
| This function stores the buffer data into the buffer list provided. More... | |
| int | XPlmi_SetDDRMCMainRegSts (u32 DDRMCNum, u32 RegSts) |
| This function sets the access status of DDR MC main registers. More... | |