srio
Vitis Drivers API Documentation
xsrio.h File Reference

Data Structures

struct  XSrio_Config
 This typedef contains the configuration information for the device. More...
 
struct  XSrio
 The XSrio driver instance data. More...
 

Macros

#define XSRIO_IS_MEMORY   1
 Core has physically addressable storage space. More...
 
#define XSRIO_IS_PROCESSOR   2
 Core has a local processor that runs code. More...
 
#define XSRIO_IS_BRIDGE   3
 Core can be used as a bridge to another interface. More...
 
#define XSRIO_OP_MODE_NREAD   0
 Core supports read Operation. More...
 
#define XSRIO_OP_MODE_NWRITE   1
 Core supports write Operation. More...
 
#define XSRIO_OP_MODE_SWRITE   2
 Core supports streaming-write Operation. More...
 
#define XSRIO_OP_MODE_NWRITE_R   3
 Core supports write with Response operation. More...
 
#define XSRIO_OP_MODE_DATA_MESSAGE   4
 Core supports data message Operation. More...
 
#define XSRIO_OP_MODE_DOORBELL   5
 Core supports doorbell Operation. More...
 
#define XSRIO_OP_MODE_ATOMIC   6
 Core supports atomic Operation. More...
 
#define XSRIO_PORT_OK   0
 Port is initialized. More...
 
#define XSRIO_PORT_UNINITIALIZED   1
 Port is uninitialized. More...
 
#define XSRIO_PORT_HAS_ERRORS   2
 Port has errors. More...
 
#define XSRIO_DIR_TX   1
 Transmit Direction Flag. More...
 
#define XSRIO_DIR_RX   2
 Receive Direction Flag. More...
 
#define XSrio_ReadDeviceVendorID(InstancePtr)
 XSrio_ReadDeviceVendorID returns the Device Vendor Id of the core. More...
 
#define XSrio_ReadDeviceID(InstancePtr)
 XSrio_ReadDeviceID returns the Device Id of the core. More...
 
#define XSrio_ReadAsmVendorID(InstancePtr)
 XSrio_ReadAsmVendorID returns the Assembly Vendor Id of the core. More...
 
#define XSrio_ReadAsmID(InstancePtr)
 XSrio_ReadAsmID returns the Assembly Id of the SRIO Gen2 core. More...
 
#define XSrio_GetExFeaturesPointer(InstancePtr)
 XSrio_GetExFeaturesPointer gives the pointer to the Phy Register space of the SRIO Gen2 core. More...
 
#define XSrio_ReadAsmRevision(InstancePtr)
 XSrio_ReadAsmRevision returns the Assembly Revision value of the core. More...
 
#define XSrio_IsLargeSystem(InstancePtr)
 XSrio_IsLargeSystem checks whether PE(Processing Element) supports a large system (16-bit Device ids) More...
 
#define XSrio_IsCRFSupported(InstancePtr)
 XSrio_IsCRFSupported checks whether the PE(Processing Element) supports CRF(Critical Request Flow indicator). More...
 
#define XSrio_ReadSrcOps(InstancePtr)
 XSrio_ReadSrcOps returns the Source Operations CAR Register contents. More...
 
#define XSrio_ReadDstOps(InstancePtr)
 XSrio_ReadDstOps returns the Destination Operations CAR Register contents. More...
 
#define XSrio_GetLCSBA(InstancePtr)
 XSrio_GetLCSBA returns the Local Configuration Space Base Address(LCSBA) of the SRIO Gen2 core. More...
 
#define XSrio_SetLCSBA(InstancePtr, Value)
 XSrio_SetLCSBA Configures the Local Configuration Space Base Address of the SRIO Gen2 core. More...
 
#define XSrio_GetLargeBaseDeviceID(InstancePtr)
 XSrio_GetLargeBaseDeviceID returns the 16-bit Device Id for an endpoint in a Large transport system. More...
 
#define XSrio_SetLargeBaseDeviceID(InstancePtr, DeviceId)
 XSrio_SetLargeBaseDeviceID configures the 16-bit Device Id for an endpoint in a Large transport system. More...
 
#define XSrio_GetBaseDeviceID(InstancePtr)
 XSrio_GetBaseDeviceID returns the 8-bit Device Id for an endpoint in a small Transport system. More...
 
#define XSrio_SetBaseDeviceID(InstancePtr, DeviceId)
 XSrio_SetBaseDeviceID configures the 8-bit Device Id for an endpoint in a small transport system. More...
 
#define XSrio_GetHostBaseDevID_LockCSR(InstancePtr)
 XSrio_GetHostBaseDevID_LockCSR returns the Device Id of the system host. More...
 
#define XSrio_SetHostBaseDevID_LockCSR(InstancePtr, DeviceId)
 XSrio_SetHostBaseDevID_LockCSR configures the Host Base Device Id of the SRIO gen2 Core. More...
 
#define XSrio_GetComponentTagCSR(InstancePtr)
 XSrio_GetComponentTagCSR returns the Component Tag Value set by the software during initialization. More...
 
#define XSrio_SetComponentTagCSR(InstancePtr, Value)
 XSrio_SetComponentTagCSR sets the Component Tag Value for SRIO Gen2 core. More...
 
#define XSrio_GetExtFeaturesID(InstancePtr)
 XSrio_GetExtFeaturesID returns the Extended Features Id value. More...
 
#define XSrio_GetSerialExtFeaturesPointer(InstancePtr)
 XSrio_GetSerialExtFeaturesPointer returns the Extended Features Pointer which will point to the next extended features block if one exists. More...
 
#define XSrio_GetPortLinkTimeOutValue(InstancePtr)
 XSrio_GetPortLinkTimeOutValue returns the Port Link Timeout value for the SRIO Gen2 core. More...
 
#define XSrio_SetPortLinkTimeOutValue(InstancePtr, Value)
 XSrio_SetPortLinkTimeOutValue sets the Port Link Timeout value for the SRIO Gen2 core. More...
 
#define XSrio_GetPortRespTimeOutValue(InstancePtr)
 XSrio_GetPortRespTimeOutValue returns the Port Response Timeout value for the the SRIO Gen2 core. More...
 
#define XSrio_SetPortRespTimeOutValue(InstancePtr, Value)
 XSrio_SetPortRespTimeOutValue sets the Port Response Timeout value for the The SRIO Gen2 core. More...
 
#define XSrio_IsPEDiscovered(InstancePtr)
 XSrio_IsPEDiscovered checks whether the PE(Processing Element) is discovered or not. More...
 
#define XSrio_SetDiscovered(InstancePtr)
 XSrio_SetDiscovered configures the device as Discovered so that it is responsible for system exploration. More...
 
#define XSrio_IsMasterEnabled(InstancePtr)
 XSrio_IsMasterEnabled checks whether PE(Processing Element) is allowed to issue request into the system. More...
 
#define XSrio_SetMasterEnabled(InstancePtr)
 XSrio_SetMasterEnabled configures the device so that it is allowed to issue requests into the system. More...
 
#define XSrio_IsHost(InstancePtr)
 XSrio_IsHost checks whether PE(Processing Element) is responsible for system exploration. More...
 
#define XSrio_SetHostEnabled(InstancePtr)
 XSrio_SetHostEnabled configures the device to be responsible for system exploration. More...
 
#define XSrio_GetCommand(InstancePtr)
 XSrio_GetCommand returns the command value that is sent on the Link-request Control symbol of the SRIO Gen2 core. More...
 
#define XSrio_SendCommand(InstancePtr, Value)
 XSrio_SendCommand sends the given command in the link-request control symbol of the SRIO Gen2 core. More...
 
#define XSrio_IsResponseValid(InstancePtr)
 XSrio_IsResponseValid checks whether the link response is valid or not in the SRIO Gen2 Core. More...
 
#define XSrio_GetOutboundAckID(InstancePtr)
 XSrio_GetOutboundAckID returns the value of the next transmitted Ackid of the SRIO Gen2 Core. More...
 
#define XSrio_SetOutboundAckID(InstancePtr, Value)
 XSrio_SetOutboundAckID sets value of the next transmitted Ackid of the SRIO Gen2 Core. More...
 
#define XSrio_GetInboundAckID(InstancePtr)
 XSrio_GetInboundAckID returns the expected Ackid of the next received packet of the SRIO Gen2 core. More...
 
#define XSrio_SetInboundAckID(InstancePtr, Value)
 XSrio_SetInboundAckID sets the value of the next transmitted Ackid of the SRIO Gen2 core. More...
 
#define XSrio_ClrOutStandingAckIDs(InstancePtr)
 XSrio_ClrOutStandingAckIDs clears all outstanding unacknowledged received packets of the SRIO Gen2 core. More...
 
#define XSrio_IsEnumerationBoundary(InstancePtr)
 XSrio_IsEnumerationBoundary checks whether the enumeration boundary is available or not for the SRIO Gen2 core. More...
 
#define XSrio_ClrEnumerationBoundary(InstancePtr)
 XSrio_ClrEnumerationBoundary clears the enumeration boundary of the SRIO Gen2 core. More...
 
#define XSrio_GetPortwidthOverride(InstancePtr)
 XSrio_GetPortwidthOverride returns the port width override value of the SRIO Gen2 core. More...
 
#define XSrio_SetPortwidthOverride(InstancePtr, Value)
 XSrio_SetPortwidthOverride configures the port width override value of the SRIO Gen2 core. More...
 
#define XSrio_GetSerialLaneExtFeaturesPointer(InstancePtr)
 XSrio_GetSerialLaneExtFeaturesPointer returns the extended features pointer For the serial lane which will point to the next extended features block If one exists. More...
 
#define XSrio_ClrDecodingErrors(InstancePtr, Lanenum)
 XSrio_ClrDecodingErrors clears the 8B/10B decoding errors and return Result. More...
 
#define XSrio_GetRxSize(InstancePtr)
 XSrio_GetRxSize returns the number of maximum-size packets the rx buffer holded. More...
 
#define XSrio_ForceRxFlowControl(InstancePtr)
 XSrio_ForceRxFlowControl forces the Tx flow control enabled core to use Rx flow control. More...
 
#define XSrio_GetTxSize(InstancePtr)
 XSrio_GetTxSize returns the number of maximum-size packets the tx buffer holds. More...
 
#define XSrio_CheckforTxReqreorder(InstancePtr)
 XSrio_CheckforTxReqreorder checks whether the transmit buffer has been configured to allow reordering of requests. More...
 
#define XSrio_IsTxFlowControl(InstancePtr)
 XSrio_IsTxFlowControl checks whether the BUF is currently operating in Tx flow control mode or not. More...
 
#define XSrio_GetDestinationID(InstancePtr)
 XSrio_GetDestinationID gets the destination id value which will be used for outgoing maintenance requests. More...
 
#define XSrio_SetDestinationID(InstancePtr, Value)
 XSrio_SetDestinationID sets Device Id which will be used for Outgoing maintenance requests. More...
 
#define XSrio_GetCRF(InstancePtr)
 XSrio_GetCRF checks whether the CRF is enabled in the core or not which will be used for outgoing maintenance requests. More...
 
#define XSrio_SetCRF(InstancePtr)
 XSrio_SetCRF sets CRF value that is used for outgoing maintenance requests. More...
 
#define XSrio_GetPriority(InstancePtr)
 XSrio_GetPriority priority used for outgoing maintenance requests. More...
 
#define XSrio_SetPriority(InstancePtr, Value)
 XSrio_SetPriority sets the Priority which will be used for outgoing maintenance requests. More...
 
#define XSrio_RequestTID(InstancePtr)
 XSrio_RequestTID gives the transfer id value which will be used for the next outgoing maintenance request. More...
 
#define XSrio_SetTID(InstancePtr, Value)
 XSrio_SetTID sets the transfer id which will be used for the next outgoing maintenance request. More...
 
#define XSrio_ClrPortError(InstancePtr, Mask)
 XSrio_ClrPortError clears the Port Error specified by the Mask. More...
 
#define XSrio_GetPortErrorStatus(InstancePtr)
 XSrio_GetPortErrorStatus returns the mask for the port errors currently enabled in the SRIO Gen2 core. More...
 
#define XSrio_SetPortControlStatus(InstancePtr, Mask)
 XSrio_SetPortControlStatus Configures specific port specified by the Mask. More...
 
#define XSrio_GetPortControlStatus(InstancePtr)
 XSrio_GetPortControlStatus returns the status of the port that is currently enabled in the SRIO Gen2 core. More...
 

Typedefs

typedef struct XSrio_Config XSrio_Config
 This typedef contains the configuration information for the device. More...
 
typedef struct XSrio XSrio
 The XSrio driver instance data. More...
 

Functions

int XSrio_CfgInitialize (XSrio *InstancePtr, XSrio_Config *Config, UINTPTR EffectiveAddress)
 Initialize the XSrio instance provided by the caller based on the given Config structure. More...
 
XSrio_ConfigXSrio_LookupConfig (u32 DeviceId)
 Looks up the device configuration based on the unique device ID. More...
 
int XSrio_GetPortStatus (XSrio *InstancePtr)
 XSrio_GetPortStatus will check the status of the port and returns the status of the port to the user. More...
 
int XSrio_GetPEType (XSrio *InstancePtr)
 XSrio_GetPEType API will check for the Processing Element type and return the type of type of Processing Element. More...
 
int XSrio_IsOperationSupported (XSrio *InstancePtr, u8 Operation, u8 Direction)
 XSrio_IsOperationSupported tells whether the operation is supported by the SRIO Gen2 core or not. More...
 
void XSrio_SetWaterMark (XSrio *InstancePtr, u8 WaterMark0, u8 WaterMark1, u8 WaterMark2)
 XSrio_SetWaterMark Configures the watermark to transfer a priority packet. More...
 
void XSrio_GetWaterMark (XSrio *InstancePtr, u8 *WaterMark0, u8 *WaterMark1, u8 *WaterMark2)
 XSrio_GetWaterMark API reads the water mark values. More...