csi2txss
Vitis Drivers API Documentation
xcsi2txss.h File Reference

Data Structures

struct  SubCoreCsi2Tx
 Sub-Core Configuration Table. More...
 
struct  XCsi2TxSs_Config
 MIPI CSI Tx Subsystem configuration structure. More...
 
struct  XCsi2TxSs
 The XCsi2TxSs driver instance data. More...
 

Macros

#define XCSI2TXSS_H_
 Prevent circular inclusions by using protection macros. More...
 
Clock Modes for CSI2 Tx

These macros are used to set/get the clock mode in CSI2 Tx.

CCM - continuous clock mode. NCCM - non-continuous clock mode.

#define XCSI2TXSS_CCM   0
 
#define XCSI2TXSS_NCCM   1
 
Interrupt Types for setting Callbacks

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

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

#define XCSI2TXSS_HANDLER_WRG_LANE   XCSI2TX_HANDLER_WRG_LANE
 
#define XCSI2TXSS_HANDLER_GSPFIFO_FULL   XCSI2TX_HANDLER_GSPFIFO_FULL
 
#define XCSI2TXSS_HANDLER_ULPS   XCSI2TX_HANDLER_ULPS
 
#define XCSI2TXSS_HANDLER_LINEBUF_FULL   XCSI2TX_HANDLER_LINEBUF_FULL
 
#define XCSI2TXSS_HANDLER_WRG_DATATYPE   XCSI2TX_HANDLER_WRG_DATATYPE
 
#define XCSI2TXSS_HANDLER_UNDERRUN_PIXEL   XCSI2TX_HANDLER_UNDERRUN_PIXEL
 
#define XCSI2TXSS_HANDLER_LCERRVC0   XCSI2TX_HANDLER_LCERRVC0
 
#define XCSI2TXSS_HANDLER_LCERRVC1   XCSI2TX_HANDLER_LCERRVC1
 
#define XCSI2TXSS_HANDLER_LCERRVC2   XCSI2TX_HANDLER_LCERRVC2
 
#define XCSI2TXSS_HANDLER_LCERRVC3   XCSI2TX_HANDLER_LCERRVC3
 

Typedefs

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

Enumerations

enum  XCsi2TxSS_LCStatus { XCSI2TXSS_LC_LESS_LINES = XCSI2TX_LC_LESS_LINES, XCSI2TXSS_LC_MORE_LINES = XCSI2TX_LC_MORE_LINES }
 This typedef defines the different errors codes for Line Count status for a Virtual Channel when Frame End Generation is enabled. More...
 

Functions

XCsi2TxSs_ConfigXCsi2TxSs_LookupConfig (u32 DeviceId)
 This function looks for the device configuration based on the unique device ID. More...
 
u32 XCsi2TxSs_CfgInitialize (XCsi2TxSs *InstancePtr, XCsi2TxSs_Config *CfgPtr, UINTPTR EffectiveAddr)
 This function initializes the MIPI CSI subsystem and included sub-cores. More...
 
u32 XCsi2TxSs_Configure (XCsi2TxSs *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 XCsi2TxSs_Activate (XCsi2TxSs *InstancePtr, u8 Flag)
 This function is used to activate the CSI Subsystem. More...
 
u32 XCsi2TxSs_Reset (XCsi2TxSs *InstancePtr)
 This function is used to reset the CSI Subsystem. More...
 
void XCsi2TxSs_ReportCoreInfo (XCsi2TxSs *InstancePtr)
 This function reports list of cores included. More...
 
void XCsi2TxSs_GetShortPacket (XCsi2TxSs *InstancePtr)
 This function gets the short packets. More...
 
void XCsi2TxSs_LineGen (XCsi2TxSs *InstancePtr, u32 Value)
 This function is to set the Line Synchronization packet Generation status. More...
 
void XCsi2TxSs_SetGSPEntry (XCsi2TxSs *InstancePtr, u32 Value)
 This function is to set Generic Short Packet Entries. More...
 
u32 XCsi2TxSs_GetPixelMode (XCsi2TxSs *InstancePtr)
 This function is used to get the Pixel Mode. More...
 
u32 XCsi2TxSs_GetMaxLaneCount (XCsi2TxSs *InstancePtr)
 This function is used to get the number of lanes configured in the IP. More...
 
void XCsi2TxSs_SetClkMode (XCsi2TxSs *InstancePtr, u8 Mode)
 This function is used to set the CSI2 Tx Subsystem Clock Mode as either Continuous (0) or Non-Continuous (1) mode. More...
 
u32 XCsi2TxSs_GetClkMode (XCsi2TxSs *InstancePtr)
 This function is used to get the CSI2 Tx Subsystem Clock Mode as either Continuous (0) or Non-Continuous (1) mode. More...
 
u32 XCsi2TxSs_IsUlps (XCsi2TxSs *InstancePtr)
 This function is used to check if lanes are in ulps mode. More...
 
void XCsi2TxSs_SetUlps (XCsi2TxSs *InstancePtr, u32 Value)
 This function is used to set lanes in ulps mode. More...
 
u32 XCsi2TxSs_SetLineCountForVC (XCsi2TxSs *InstancePtr, u8 VC, u16 LineCount)
 This function sets the Line Count for virtual Channel if Frame End Generation feature is enabled. More...
 
u32 XCsi2TxSs_GetLineCountForVC (XCsi2TxSs *InstancePtr, u8 VC, u16 *LineCount)
 This function gets the Line Count for virtual Channel if Frame End Generation feature is enabled. More...
 
u32 XCsi2TxSs_SelfTest (XCsi2TxSs *InstancePtr)
 This function performs self test on MIPI CSI Tx Subsystem sub-cores. More...
 
void XCsi2TxSs_IntrHandler (void *InstancePtr)
 This function is the interrupt handler for the MIPI CSI2 Tx Subsystem. More...
 
void XCsi2TxSs_IntrDisable (XCsi2TxSs *InstancePtr, u32 IntrMask)
 This function is used to disable the interrupts in the CSI core. More...
 
u32 XCsi2TxSs_SetCallBack (XCsi2TxSs *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This routine installs an asynchronous callback function for the given HandlerType: More...