ipipsu
Vitis Drivers API Documentation
xipipsu.h File Reference

Data Structures

struct  XIpiPsu_Target
 Data structure used to refer IPI Targets. More...
 
struct  XIpiPsu_Config
 This typedef contains configuration information for the device. More...
 
struct  XIpiPsu
 The XIpiPsu driver instance data. More...
 

Macros

#define XIPIPSU_BUF_TYPE_MSG   (0x001U)
 Message type buffer. More...
 
#define XIPIPSU_BUF_TYPE_RESP   (0x002U)
 Response buffer. More...
 
#define XIPIPSU_MAX_MSG_LEN   XIPIPSU_MSG_BUF_SIZE
 Maximum message length. More...
 
#define XIPIPSU_CRC_INDEX   (0x7U)
 Index where the CRC is stored. More...
 
#define XIPIPSU_W0_TO_W6_SIZE   (28U)
 Size of the word 0 to word 6. More...
 
#define XIPIPSU_CRC_ERROR   (0xFL)
 CRC error occurred. More...
 
#define ENABLE_IPI_CRC_VAL   (0x0U)
 Enable CRC. More...
 
#define XIpiPsu_ReadReg(BaseAddress, RegOffset)   Xil_In32((BaseAddress) + (RegOffset))
 Read the register specified by the base address and offset. More...
 
#define XIpiPsu_WriteReg(BaseAddress, RegOffset, Data)   Xil_Out32(((BaseAddress) + (RegOffset)), (Data))
 Write a value into a register specified by base address and offset. More...
 
#define XIpiPsu_InterruptEnable(InstancePtr, Mask)
 Enable interrupts specified in Mask. More...
 
#define XIpiPsu_InterruptDisable(InstancePtr, Mask)
 Disable interrupts specified in Mask. More...
 
#define XIpiPsu_GetInterruptStatus(InstancePtr)
 Get the STATUS REGISTER of the current IPI instance. More...
 
#define XIpiPsu_ClearInterruptStatus(InstancePtr, Mask)
 Clear the STATUS REGISTER of the current IPI instance. More...
 
#define XIpiPsu_GetObsStatus(InstancePtr)
 Get the OBSERVATION REGISTER of the current IPI instance. More...
 

Functions

XIpiPsu_ConfigXIpiPsu_LookupConfig (u32 DeviceId)
 Looks up the device configuration based on the unique device ID. More...
 
XStatus XIpiPsu_CfgInitialize (XIpiPsu *InstancePtr, XIpiPsu_Config *CfgPtr, UINTPTR EffectiveAddress)
 Initialize the Instance pointer based on a given Config Pointer. More...
 
void XIpiPsu_Reset (XIpiPsu *InstancePtr)
 Reset the given IPI register set. More...
 
XStatus XIpiPsu_TriggerIpi (XIpiPsu *InstancePtr, u32 DestCpuMask)
 Trigger an IPI to a Destination CPU. More...
 
XStatus XIpiPsu_PollForAck (const XIpiPsu *InstancePtr, u32 DestCpuMask, u32 TimeOutCount)
 Poll for an acknowledgement using Observation Register. More...
 
XStatus XIpiPsu_ReadMessage (XIpiPsu *InstancePtr, u32 SrcCpuMask, u32 *MsgPtr, u32 MsgLength, u8 BufferType)
 Read an Incoming Message from a Source. More...
 
XStatus XIpiPsu_WriteMessage (XIpiPsu *InstancePtr, u32 DestCpuMask, const u32 *MsgPtr, u32 MsgLength, u8 BufferType)
 Send a Message to Destination. More...
 
void XIpiPsu_SetConfigTable (u32 DeviceId, XIpiPsu_Config *ConfigTblPtr)
 Set up the device configuration based on the unique device ID. More...
 

Variables

XIpiPsu_Config XIpiPsu_ConfigTable [XPAR_XIPIPSU_NUM_INSTANCES]
 The IPIPSU configuration table, sized by the number of instances defined in xparameters.h. More...