csi
Vitis Drivers API Documentation
xcsi.h File Reference

Data Structures

struct  XCsi_SPktData
 This typedef contains the Short Packet information from the Generic Short Packet Register. More...
 
struct  XCsi_VCInfo
 This typdef contains the structure for getting the information about a Virtual Channel. More...
 
struct  XCsi_ClkLaneInfo
 This typdef contains the structure for getting the information about the Clock Lane. More...
 
struct  XCsi_DataLaneInfo
 This typdef contains the structure for getting the information about the Data Lane. More...
 
struct  XCsi_Config
 The configuration structure for CSI Controller. More...
 
struct  XCsi
 The XCsi driver instance data. More...
 

Macros

#define XCSI_H_
 Prevent circular inclusions by using protection macros. More...
 
#define XCSI_ENABLE   1
 Flag denoting enabling of CSI. More...
 
#define XCSI_DISABLE   0
 Flag denoting disabling of CSI. More...
 
#define XCSI_MAX_LANES   4
 Max Lanes supported by CSI. More...
 
#define XCSI_V10_MAX_VC   4
 Max Virtual Channels supported for v1.0. More...
 
#define XCSI_V20_MAX_VC   16
 Max Virtual Channels supported for v2.0. More...
 
#define XCSI_MAX_VC   16
 Max Virtual Channels supported for CSI. More...
 
Interrupt Types for setting Callbacks
#define XCSI_HANDLER_DPHY   1
 
#define XCSI_HANDLER_PKTLVL   2
 
#define XCSI_HANDLER_PROTLVL   3
 
#define XCSI_HANDLER_SHORTPACKET   4
 
#define XCSI_HANDLER_FRAMERECVD   5
 
#define XCSI_HANDLER_VCXERR   6
 
#define XCSI_HANDLER_OTHERERROR   7
 

Typedefs

typedef void(* XCsi_CallBack )(void *CallBackRef, u32 Mask)
 Callback type for all interrupts defined. More...
 

Functions

XCsi_ConfigXCsi_LookupConfig (u32 DeviceId)
 Look up the hardware configuration for a device instance. More...
 
u32 XCsi_CfgInitialize (XCsi *InstancePtr, XCsi_Config *CfgPtr, UINTPTR EffectiveAddr)
 Initialize the XCsi instance provided by the caller based on the given Config structure. More...
 
u32 XCsi_Configure (XCsi *InstancePtr)
 This function will configure the core with proper number of Active Lanes. More...
 
u32 XCsi_Activate (XCsi *InstancePtr, u8 Flag)
 Thsi function will enable/disable the IP Core to start processing. More...
 
u32 XCsi_Reset (XCsi *InstancePtr)
 This function will do a reset of the IP. More...
 
void XCsi_SetVCSelection (XCsi *InstancePtr, u16 Value)
 This function will control the virtual channels selection dynamically. More...
 
u32 XCsi_GetVCSelection (XCsi *InstancePtr)
 This function will return the virtual channels selected. More...
 
void XCsi_GetShortPacket (XCsi *InstancePtr, XCsi_SPktData *ShortPacketStruct)
 This function will get the short packet received in the FIFO from the Generic Short Packet Register and fill up the structure passed from caller. More...
 
void XCsi_GetClkLaneInfo (XCsi *InstancePtr, XCsi_ClkLaneInfo *ClkLane)
 This function will get the information about the state of the Clock Lane. More...
 
void XCsi_GetDataLaneInfo (XCsi *InstancePtr, u8 Lane, XCsi_DataLaneInfo *DataLane)
 This function will get the information about the state of a Data Lane. More...
 
void XCsi_GetVCInfo (XCsi *InstancePtr, u8 Vc, XCsi_VCInfo *VCInfo)
 This function will get the line count, byte count and data type information about a Virtual Channel. More...
 
u8 XCsi_IsActiveLaneCountValid (XCsi *InstancePtr, u8 ActiveLanesCount)
 This function checks the validity of the active lanes parameter. More...
 
u32 XCsi_SelfTest (XCsi *InstancePtr)
 Runs a self-test on the driver/device. More...
 
void XCsi_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the CSI2 Rx core. More...
 
int XCsi_SetCallBack (XCsi *InstancePtr, u32 HandleType, void *Callbackfunc, void *Callbackref)
 This routine installs an asynchronous callback function for the given HandlerType: More...
 
u32 XCsi_GetIntrEnable (XCsi *InstancePtr)
 This function will get the interrupt mask set (enabled) in the CSI2 Rx core. More...
 
void XCsi_IntrEnable (XCsi *InstancePtr, u32 Mask)
 This function will enable the interrupts present in the interrupt mask passed onto the function. More...
 
void XCsi_IntrDisable (XCsi *InstancePtr, u32 Mask)
 This function will disable the interrupts present in the interrupt mask passed onto the function. More...
 
u32 XCsi_GetIntrStatus (XCsi *InstancePtr)
 This function will get the list of interrupts pending in the Interrupt Status Register of the CSI2 Rx core. More...
 
void XCsi_InterruptClear (XCsi *InstancePtr, u32 Mask)
 This function will clear the interrupts set in the Interrupt Status Register of the CSI2 Rx core. More...