axipcie: xaxipcie.h File Reference

| axipcie Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Data Structures | Macros | Functions
xaxipcie.h File Reference

## Data Structures
struct | XAxiPcie_Config
| This typedef contains IP hardware configuration information. More...
struct | XAxiPcie
| The XAxiPcie driver instance data. More...
struct | XAxiPcie_BarAddr
| The user is required to use this strucuture when reading or writing translation vector between local bus BARs and AXI PCIe BARs. More...

## Macros
#define | XAXIPCIE_VSEC1 0x00
| First VSEC Register. More...
#define | XAXIPCIE_VSEC2 0x01
| Second VSEC Register. More...
#define | XAxiPcie_IsLinkUp(InstancePtr)
| Check whether link is up or not. More...
#define | XAxiPcie_IsEcamBusy(InstancePtr)
| Check whether ECAM is busy or not. More...

## Functions
XAxiPcie_Config * | XAxiPcie_LookupConfig (u16 DeviceId)
| Lookup the device configuration based on the unique device ID. More...
int | XAxiPcie_CfgInitialize (XAxiPcie *InstancePtr, XAxiPcie_Config *CfgPtr, UINTPTR EffectiveAddress)
| Initialize the XAxiPcie instance provided by the caller based on the given Config structure. More...
void | XAxiPcie_GetVsecCapability (XAxiPcie *InstancePtr, u8 VsecNum, u16 *VsecIdPtr, u8 *VersionPtr, u16 *NextCapPtr)
| This API is used to read the VSEC Capability Register. More...
void | XAxiPcie_GetVsecHeader (XAxiPcie *InstancePtr, u8 VsecNum, u16 *VsecIdPtr, u8 *RevisionPtr, u16 *LengthPtr)
| This API is used to read the VSEC Header Register. More...
void | XAxiPcie_GetBridgeInfo (XAxiPcie *InstancePtr, u8 *Gen2Ptr, u8 *RootPortPtr, u8 *ECAMSizePtr)
| This API Reads the Bridge info register. More...
void | XAxiPcie_GetRequesterId (XAxiPcie *InstancePtr, u8 *BusNumPtr, u8 *DevNumPtr, u8 *FunNumPtr, u8 *PortNumPtr)
| Read the Bus Location register. More...
void | XAxiPcie_GetPhyStatusCtrl (XAxiPcie *InstancePtr, u32 *PhyState)
| This API is used to read the Phy Status/Control Register. More...
void | XAxiPcie_GetRootPortStatusCtrl (XAxiPcie *InstancePtr, u32 *StatusPtr)
| Read Root Port Status/Control Register. More...
void | XAxiPcie_SetRootPortStatusCtrl (XAxiPcie *InstancePtr, u32 StatusData)
| Write Value in Root Port Status/Control Register. More...
int | XAxiPcie_SetRootPortMSIBase (XAxiPcie *InstancePtr, unsigned long long MsiBase)
| Write MSI Base Address to Root Port MSI Base Address Register. More...
void | XAxiPcie_GetRootPortErrFIFOMsg (XAxiPcie *InstancePtr, u16 *ReqIdPtr, u8 *ErrType, u8 *ErrValid)
| Read Root Port Error FIFO Message. More...
void | XAxiPcie_ClearRootPortErrFIFOMsg (XAxiPcie *InstancePtr)
| Clear Root Port Error FIFO Message. More...
int | XAxiPcie_GetRootPortIntFIFOReg (XAxiPcie *InstancePtr, u16 *ReqIdPtr, u16 *MsiAddr, u8 *MsiInt, u8 *IntValid, u16 *MsiMsgData)
| Read Root Port Interrupt FIFO message Register 1 & 2. More...
void | XAxiPcie_ClearRootPortIntFIFOReg (XAxiPcie *InstancePtr)
| Clear Root Port FIFO Interrupt message Register 1 & 2. More...
void | XAxiPcie_GetLocalBusBar2PcieBar (XAxiPcie *InstancePtr, u8 BarNumber, XAxiPcie_BarAddr *BarAddrPtr)
| Read PCIe address translation vector that corresponds to one of AXI local bus bars passed by the caller. More...
void | XAxiPcie_SetLocalBusBar2PcieBar (XAxiPcie *InstancePtr, u8 BarNumber, XAxiPcie_BarAddr *BarAddrPtr)
| Write PCIe address translation vector that corresponds to one of AXI local bus bars passed by the caller. More...
void | XAxiPcie_ReadLocalConfigSpace (XAxiPcie *InstancePtr, u16 Offset, u32 *DataPtr)
| Read 32-bit value from one of this IP own configuration space. More...
void | XAxiPcie_WriteLocalConfigSpace (XAxiPcie *InstancePtr, u16 Offset, u32 Data)
| Write 32-bit value to one of this IP own configuration space. More...
void | XAxiPcie_ReadRemoteConfigSpace (XAxiPcie *InstancePtr, u8 Bus, u8 Device, u8 Function, u16 Offset, u32 *DataPtr)
| Read 32-bit value from external PCIe Function's configuration space. More...
void | XAxiPcie_WriteRemoteConfigSpace (XAxiPcie *InstancePtr, u8 Bus, u8 Device, u8 Function, u16 Offset, u32 Data)
| Write 32-bit value to external PCIe function's configuration space. More...
void | XAxiPcie_EnableGlobalInterrupt (XAxiPcie *InstancePtr)
| Enable the Global Interrupt. More...
void | XAxiPcie_DisableGlobalInterrupt (XAxiPcie *InstancePtr)
| Disable the Global Interrupt. More...
void | XAxiPcie_EnableInterrupts (XAxiPcie *InstancePtr, u32 EnableMask)
| Enable the IP interrupt bits passed into "EnableMask". More...
void | XAxiPcie_DisableInterrupts (XAxiPcie *InstancePtr, u32 DisableMask)
| Disable the IP interrupt bits passed into "DisableMask". More...
void | XAxiPcie_GetEnabledInterrupts (XAxiPcie *InstancePtr, u32 *EnabledMaskPtr)
| Get the currently enabled interrupt bits of the IP and pass them back to the caller into "EnabledMask". More...
void | XAxiPcie_GetPendingInterrupts (XAxiPcie *InstancePtr, u32 *PendingMaskPtr)
| Get the currently pending interrupt bits of the IP and pass them back to the caller into "PendingMask". More...
void | XAxiPcie_ClearPendingInterrupts (XAxiPcie *InstancePtr, u32 ClearMask)
| Clear the currently pending interrupt bits of the IP passed from the caller into "ClearMask". More...