mipicsiss
Vitis Drivers API Documentation
xcsiss.h File Reference

Data Structures

struct  CsiRxSsSubCore
 Sub-Core Configuration Table. More...
 
struct  XCsiSs_Config
 MIPI CSI Rx Subsystem configuration structure. More...
 
struct  XCsiSs
 The XCsiSs driver instance data. More...
 

Macros

#define XCSISS_H_
 Prevent circular inclusions by using protection macros. More...
 
Interrupt Types for setting Callbacks

These handlers are used to determine the type of the interrupt handler being registered with the MIPI CSI Rx Subsystem.

Since the subsystem is tightly coupled with the CSI Rx Controller driver, the handlers from the sub core are promoted to the subsystem level so that the application can use them.

#define XCSISS_HANDLER_DPHY   XCSI_HANDLER_DPHY
 
#define XCSISS_HANDLER_PKTLVL   XCSI_HANDLER_PKTLVL
 
#define XCSISS_HANDLER_PROTLVL   XCSI_HANDLER_PROTLVL
 
#define XCSISS_HANDLER_SHORTPACKET   XCSI_HANDLER_SHORTPACKET
 
#define XCSISS_HANDLER_FRAMERECVD   XCSI_HANDLER_FRAMERECVD
 
#define XCSISS_HANDLER_OTHERERROR   XCSI_HANDLER_OTHERERROR
 
#define XCSISS_HANDLER_VCX   XCSI_HANDLER_VCXFRAMEERROR
 

Typedefs

typedef void(* XCsiSs_Callback )(void *CallbackRef, u32 Mask)
 Callback type which acts as a wrapper on top of CSI Callback. More...
 

Functions

XCsiSs_ConfigXCsiSs_LookupConfig (u32 DeviceId)
 This function looks for the device configuration based on the unique device ID. More...
 
u32 XCsiSs_CfgInitialize (XCsiSs *InstancePtr, XCsiSs_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the MIPI CSI subsystem and included sub-cores. More...
 
u32 XCsiSs_Configure (XCsiSs *InstancePtr, u8 ActiveLanes, u32 IntrMask)
 This function is used to configure the CSI lanes and interrupts that are to be handled by the application. More...
 
u32 XCsiSs_Activate (XCsiSs *InstancePtr, u8 Flag)
 This function is used to activate the CSI Subsystem. More...
 
u32 XCsiSs_Reset (XCsiSs *InstancePtr)
 This function is used to reset the CSI Subsystem. More...
 
void XCsiSs_ReportCoreInfo (XCsiSs *InstancePtr)
 This function reports list of cores included. More...
 
void XCsiSs_GetLaneInfo (XCsiSs *InstancePtr)
 This function gets the clk and data lane info. More...
 
void XCsiSs_GetShortPacket (XCsiSs *InstancePtr)
 This function gets the short packets. More...
 
void XCsiSs_GetVCInfo (XCsiSs *InstancePtr)
 This function gets the virtual channel information. More...
 
u32 XCsiSs_GetVCSelection (XCsiSs *InstancePtr)
 This function will return the virtual channels selected. More...
 
void XCsiSs_SetVCSelection (XCsiSs *InstancePtr, u16 Value)
 This function will control the virtual channels selection dynamically. More...
 
u32 XCsiSs_SelfTest (XCsiSs *InstancePtr)
 This function performs self test on MIPI CSI Rx Subsystem sub-cores. More...
 
void XCsiSs_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the MIPI CSI Rx Subsystem. More...
 
void XCsiSs_IntrDisable (XCsiSs *InstancePtr, u32 IntrMask)
 This function is used to disable the interrupts in the CSI core. More...
 
u32 XCsiSs_SetCallBack (XCsiSs *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This routine installs an asynchronous callback function for the given HandlerType: More...