scugic
Xilinx SDK Drivers API Documentation
xscugic.h File Reference

Data Structures

struct  XScuGic_Config
 This typedef contains configuration information for the device. More...
 
struct  XScuGic
 The XScuGic driver instance data. More...
 

Macros

#define XScuGic_CPUWriteReg(InstancePtr, RegOffset, Data)
 Write the given CPU Interface register. More...
 
#define XScuGic_CPUReadReg(InstancePtr, RegOffset)   (XScuGic_ReadReg(((InstancePtr)->Config->CpuBaseAddress), (RegOffset)))
 Read the given CPU Interface register. More...
 
#define XScuGic_DistWriteReg(InstancePtr, RegOffset, Data)
 Write the given Distributor Interface register. More...
 
#define XScuGic_DistReadReg(InstancePtr, RegOffset)   (XScuGic_ReadReg(((InstancePtr)->Config->DistBaseAddress), (RegOffset)))
 Read the given Distributor Interface register. More...
 
#define XScuGic_ReDistWriteReg(InstancePtr, RegOffset, Data)
 Write the given ReDistributor Interface register. More...
 
#define XScuGic_ReDistReadReg(InstancePtr, RegOffset)
 Read the given ReDistributor Interface register. More...
 
#define XScuGic_ReDistSGIPPIWriteReg(InstancePtr, RegOffset, Data)
 Write the given ReDistributor SGI PPI Interface register. More...
 
#define XScuGic_ReDistSGIPPIReadReg(InstancePtr, RegOffset)
 Read the given ReDistributor SGI PPI Interface register. More...
 
#define XScuGic_Enable_SystemReg_CPU_Interface_EL3()   mtcp(S3_6_C12_C12_5, 0xF);
 This function enables system register interface for GIC CPU Interface. More...
 
#define XScuGic_Enable_Group0_Interrupts()   mtcp(S3_0_C12_C12_6,0x1);
 This function enables Grou0 interrupts. More...
 
#define XScuGic_WriteICC_SGI0R_EL1(val)   mtcp(S3_0_C12_C11_7,val)
 This function enables Group1 interrupts. More...
 
#define XScuGic_WriteICC_SGI1R_EL1(val)   mtcp(S3_0_C12_C11_5,val)
 This function writes to ICC_SGI1R_EL1. More...
 
#define XScuGic_ReadICC_SGI1R_EL1()   mfcp(S3_0_C12_C11_5)
 This function reads ICC_SGI1R_EL1 register. More...
 
#define XScuGic_set_priority_filter(val)   __asm__ __volatile__("msr S3_0_C4_C6_0,%0" : : "r" (val))
 This function sets interrupt priority filter. More...
 
#define XScuGic_Get_Rdist_Int_Trigger_Index(IntrId)   (((Int_Id%16) & 0x1f) << 2) +1
 This function returns interrupt id of highest priority pending interrupt. More...
 

Functions

s32 XScuGic_Connect (XScuGic *InstancePtr, u32 Int_Id, Xil_InterruptHandler Handler, void *CallBackRef)
 Makes the connection between the Int_Id of the interrupt source and the associated handler that is to run when the interrupt is recognized. More...
 
void XScuGic_Disconnect (XScuGic *InstancePtr, u32 Int_Id)
 Updates the interrupt table with the Null Handler and NULL arguments at the location pointed at by the Int_Id. More...
 
void XScuGic_Enable (XScuGic *InstancePtr, u32 Int_Id)
 Enables the interrupt source provided as the argument Int_Id. More...
 
void XScuGic_Disable (XScuGic *InstancePtr, u32 Int_Id)
 Disables the interrupt source provided as the argument Int_Id such that the interrupt controller will not cause interrupts for the specified Int_Id. More...
 
s32 XScuGic_CfgInitialize (XScuGic *InstancePtr, XScuGic_Config *ConfigPtr, u32 EffectiveAddr)
 CfgInitialize a specific interrupt controller instance/driver. More...
 
s32 XScuGic_SoftwareIntr (XScuGic *InstancePtr, u32 Int_Id, u32 Cpu_Id)
 Allows software to simulate an interrupt in the interrupt controller. More...
 
void XScuGic_GetPriorityTriggerType (XScuGic *InstancePtr, u32 Int_Id, u8 *Priority, u8 *Trigger)
 Gets the interrupt priority and trigger type for the specificd IRQ source. More...
 
void XScuGic_SetPriorityTriggerType (XScuGic *InstancePtr, u32 Int_Id, u8 Priority, u8 Trigger)
 Sets the interrupt priority and trigger type for the specificd IRQ source. More...
 
void XScuGic_InterruptMaptoCpu (XScuGic *InstancePtr, u8 Cpu_Id, u32 Int_Id)
 Sets the target CPU for the interrupt of a peripheral. More...
 
void XScuGic_InterruptUnmapFromCpu (XScuGic *InstancePtr, u8 Cpu_Id, u32 Int_Id)
 Unmaps specific SPI interrupt from the target CPU. More...
 
void XScuGic_UnmapAllInterruptsFromCpu (XScuGic *InstancePtr, u8 Cpu_Id)
 Unmaps all SPI interrupts from the target CPU. More...
 
void XScuGic_Stop (XScuGic *InstancePtr)
 It checks if the interrupt target register contains all interrupts to be targeted for current CPU. More...
 
void XScuGic_SetCpuID (u32 CpuCoreId)
 This updates the CpuId global variable. More...
 
u32 XScuGic_GetCpuID (void)
 This function returns the CpuId variable. More...
 
XScuGic_ConfigXScuGic_LookupConfig (u16 DeviceId)
 Looks up the device configuration based on the unique device ID. More...
 
void XScuGic_InterruptHandler (XScuGic *InstancePtr)
 This function is the primary interrupt handler for the driver. More...
 
s32 XScuGic_SelfTest (XScuGic *InstancePtr)
 Run a self-test on the driver/device. More...