csi2txss
Vitis Drivers API Documentation
Overview

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...
 
#define XCSI2TXSS_HW_H_
 Prevent circular inclusions by using protection macros. More...
 

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

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...
 
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...
 
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_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...
 
XCsi2TxSs_ConfigXCsi2TxSs_LookupConfig (u32 DeviceId)
 This function looks for the device configuration based on the unique device ID. 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...
 
u32 Csi2TxSs_IntrExample (u32 DeviceId)
 This function is the main entry point for the interrupt example using the XCsi2TxSs driver. More...
 
u32 Csi2TxSs_PlatformInit (void)
 This function initialize required platform-specifc peripherals. More...
 
u32 Csi2TxSs_SetupIntrSystem (XINTC *IntcInstPtr)
 This function sets up the interrupt system so interrupts can occur for the MIPI CSI2Tx Subsystem core. More...
 
void Csi2TxSs_WrgLaneEventHandler (void *InstancePtr, u32 Mask)
 This function is called when Wrong number of lanes are configured by the MIPI CSI2Tx Subsystem core. More...
 
void Csi2TxSs_GSPFullEventHandler (void *InstancePtr, u32 Mask)
 This function is called when Genric Short Packet FIFO is found full by the MIPI CSI2Tx Subsystem core. More...
 
void Csi2TxSs_UlpsEventHandler (void *InstancePtr, u32 Mask)
 This function is called when there is a change in ULPS state of D-PHY Lanes. More...
 
void Csi2TxSs_LinebufEventHandler (void *InstancePtr, u32 Mask)
 This function is called when a Line buffer is full event recieved by MIPI CSI2Tx Subsystem core. More...
 
void Csi2TxSs_WrgDTypeEventHandler (void *InstancePtr, u32 Mask)
 This function is called when a event generated by unspported data type in GSP request to the MIPI CSI2Tx Subsystem core. More...
 
void Csi2TxSs_UrunPixelEventHandler (void *InstancePtr, u32 Mask)
 This function is called when during packet transmission, byte stream FIFO is found to be starves for pixel by the MIPI CSI2Tx Subsystem core. More...
 
int main ()
 This is the main function for XCsi2TxSs interrupt example. More...
 
u32 Csi2TxSs_SelfTestExample (u32 DeviceId)
 This function is the main entry point for the self test example using the XCsi2TxSs driver. 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
 

Macro Definition Documentation

#define XCSI2TXSS_H_

Prevent circular inclusions by using protection macros.

#define XCSI2TXSS_HW_H_

Prevent circular inclusions by using protection macros.

Typedef Documentation

typedef void(* XCsi2TxSs_Callback)(void *CallbackRef, u32 Mask)

Callback type which acts as a wrapper on top of CSI Callback.

Parameters
CallbackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
Maskis a bit mask indicating the cause of the event. For current core version, this parameter is "OR" of 0 or more XCSI2TXSS_ISR_*_MASK constants defined in xcsi2txss_hw.h.
Returns
None.
Note
None.

Enumeration Type Documentation

This typedef defines the different errors codes for Line Count status for a Virtual Channel when Frame End Generation is enabled.

Enumerator
XCSI2TXSS_LC_LESS_LINES 

Less no of lines recvd.

XCSI2TXSS_LC_MORE_LINES 

More no of lines recvd.

Function Documentation

void Csi2TxSs_GSPFullEventHandler ( void *  InstancePtr,
u32  Mask 
)

This function is called when Genric Short Packet FIFO is found full by the MIPI CSI2Tx Subsystem core.

Parameters
InstancePtris a pointer to the XCsi2TxSs instance.
Maskof interrupt which caused this event
Returns
None.
Note
Use the XCsi2TxSs_SetCallback driver function to set this function as the handler for Packet level error event.

Referenced by Csi2TxSs_SetupIntrSystem().

u32 Csi2TxSs_IntrExample ( u32  DeviceId)

This function is the main entry point for the interrupt example using the XCsi2TxSs driver.

This function will set up the system with interrupts handlers.

Parameters
DeviceIdis the unique device ID of the MIPI CSI2Tx Subsystem core.
Returns
  • XST_FAILURE if the system setup failed.
  • XST_SUCCESS should never return since this function, if setup was successful, is blocking.
Note
If system setup was successful, this function is blocking in order to illustrate interrupt handling.

References XCsi2TxSs_Config::BaseAddr, Csi2TxSs_PlatformInit(), Csi2TxSs_SetupIntrSystem(), XCsi2TxSs_Activate(), XCsi2TxSs_CfgInitialize(), XCsi2TxSs_Configure(), XCsi2TxSs_LookupConfig(), XCsi2TxSs_ReportCoreInfo(), and XCsi2TxSs_Reset().

Referenced by main().

void Csi2TxSs_LinebufEventHandler ( void *  InstancePtr,
u32  Mask 
)

This function is called when a Line buffer is full event recieved by MIPI CSI2Tx Subsystem core.

Parameters
InstancePtris a pointer to the XCsi2TxSs instance.
Maskof interrupt which caused this event
Returns
None.
Note
Use the XCsi2TxSs_SetCallback driver function to set this function as the handler for Line buffer full event.

Referenced by Csi2TxSs_SetupIntrSystem().

u32 Csi2TxSs_PlatformInit ( void  )

This function initialize required platform-specifc peripherals.

Parameters
None.
Returns
  • XST_SUCCESS if required peripherals are initialized and configured successfully.
  • XST_FAILURE, otherwise.
Note
None.

Referenced by Csi2TxSs_IntrExample().

u32 Csi2TxSs_SelfTestExample ( u32  DeviceId)

This function is the main entry point for the self test example using the XCsi2TxSs driver.

This function check whether or not its sub-core drivers self test functions are in working state.

Parameters
DeviceIdis the unique device ID of the MIPI CSI2 TX Subsystem core.
Returns
  • XST_FAILURE if any of MIPI CSI2 TX Subsystem sub-core self test failed.
  • XST_SUCCESS, if all of MIPI CSI2 TX Subsystem sub-core self test passed.
Note
None.

References XCsi2TxSs_Config::BaseAddr, XCsi2TxSs_CfgInitialize(), XCsi2TxSs_LookupConfig(), and XCsi2TxSs_SelfTest().

u32 Csi2TxSs_SetupIntrSystem ( XINTC *  IntcInstPtr)

This function sets up the interrupt system so interrupts can occur for the MIPI CSI2Tx Subsystem core.

The function is application-specific since the actual system may or may not have an interrupt controller. The MIPI CSI Subsystem core could be directly connected to a processor without an interrupt controller. The user should modify this function to fit the application.

Parameters
IntcInstPtris a pointer to interrupt controller
Returns
  • XST_SUCCESS if interrupt setup was successful.
  • A specific error code defined in "xstatus.h" if an error occurs.
Note
None.

References Csi2TxSs_GSPFullEventHandler(), Csi2TxSs_LinebufEventHandler(), Csi2TxSs_UlpsEventHandler(), Csi2TxSs_UrunPixelEventHandler(), Csi2TxSs_WrgDTypeEventHandler(), Csi2TxSs_WrgLaneEventHandler(), XCsi2TxSs_IntrHandler(), and XCsi2TxSs_SetCallBack().

Referenced by Csi2TxSs_IntrExample().

void Csi2TxSs_UlpsEventHandler ( void *  InstancePtr,
u32  Mask 
)

This function is called when there is a change in ULPS state of D-PHY Lanes.

Parameters
InstancePtris a pointer to the XCsi2TxSs instance.
Maskof interrupt which caused this event
Returns
None.
Note
Use the XCsi2TxSs_SetCallback driver function to set this function as the handler for ULPS mode detection event.

Referenced by Csi2TxSs_SetupIntrSystem().

void Csi2TxSs_UrunPixelEventHandler ( void *  InstancePtr,
u32  Mask 
)

This function is called when during packet transmission, byte stream FIFO is found to be starves for pixel by the MIPI CSI2Tx Subsystem core.

Parameters
InstancePtris a pointer to the XCsi2TxSs instance.
Maskof interrupt which caused this event
Returns
None.
Note
Use the XCsi2TxSs_SetCallback driver function to set this function as the handler for Byte stream FIFO starve event.

Referenced by Csi2TxSs_SetupIntrSystem().

void Csi2TxSs_WrgDTypeEventHandler ( void *  InstancePtr,
u32  Mask 
)

This function is called when a event generated by unspported data type in GSP request to the MIPI CSI2Tx Subsystem core.

Parameters
InstancePtris a pointer to the XCsi2TxSs instance.
Maskof interrupt which caused this event
Returns
None.
Note
Use the XCsi2TxSs_SetCallback driver function to set this function as the handler for Short Packet FIFO error event.

Referenced by Csi2TxSs_SetupIntrSystem().

void Csi2TxSs_WrgLaneEventHandler ( void *  InstancePtr,
u32  Mask 
)

This function is called when Wrong number of lanes are configured by the MIPI CSI2Tx Subsystem core.

Parameters
InstancePtris a pointer to the XCsi2TxSs instance.
Maskof interrupt which caused this event
Returns
None.
Note
Use the XCsi2TxSs_SetCallback driver function to set this function as the handler for wrong lane configuration event.

Referenced by Csi2TxSs_SetupIntrSystem().

int main ( )

This is the main function for XCsi2TxSs interrupt example.

This is the main function for XCsi2TxSs self test example.

If the Csi2TxSs_IntrExample function which sets up the system succeeds, this function will wait for the interrupts. Once a connection event or pulse is detected, Csi2TxSs will TX device capabilities and re-start the subsystem.

Parameters
None.
Returns
  • XST_FAILURE if the interrupt example was unsuccessful.
  • XST_SUCCESS if the interrupt example was successful.
Parameters
None.
Returns
  • XST_SUCCESS if the self test example passed.
  • XST_FAILURE if the self test example was unsuccessful.
Note
None.

References Csi2TxSs_IntrExample().

u32 XCsi2TxSs_Activate ( XCsi2TxSs InstancePtr,
u8  Flag 
)

This function is used to activate the CSI Subsystem.

Internally it activates the DPHY and CSI.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Flagis used to denote whether to enable or disable the subsystem
Returns
  • XST_SUCCESS on successful operation
  • XST_FAILURE on failed operation
Note
None

References XCsi2TxSs::Config, and XCsi2TxSs_Config::IsDphyRegIntfcPresent.

Referenced by Csi2TxSs_IntrExample().

u32 XCsi2TxSs_CfgInitialize ( XCsi2TxSs InstancePtr,
XCsi2TxSs_Config CfgPtr,
UINTPTR  EffectiveAddr 
)

This function initializes the MIPI CSI subsystem and included sub-cores.

This function must be called prior to using the subsystem. Initialization includes setting up the instance data for top level as well as all included sub-core therein, and ensuring the hardware is in a known stable state.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
CfgPtrpoints to the configuration structure associated with the subsystem instance.
EffectiveAddris the base address of the device. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.
Returns
  • XST_SUCCESS if initialization is successful
  • XST_FAILURE, otherwise
Note
None.

References XCsi2TxSs_Config::BaseAddr, XCsi2TxSs::Config, XCsi2TxSs_Config::IsDphyRegIntfcPresent, and XCsi2TxSs::IsReady.

Referenced by Csi2TxSs_IntrExample(), and Csi2TxSs_SelfTestExample().

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.

Refer to XCsi2Tx.h for interrupt masks.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
ActiveLanesis no of active lanes to be configure. This value ranges between 1 and 4.
IntrMaskIndicates Mask for enable interrupts.
Returns
  • XST_SUCCESS on successful configuration of parameters
    • XST_FAILURE otherwise
Note
When EnableActiveLanes is 0, then the ActiveLanes parameter passed should be equal to Max Lanes of design.

References XCsi2TxSs::Config, and XCsi2TxSs_Config::FEGenEnabled.

Referenced by Csi2TxSs_IntrExample().

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.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Returns
0 - Continuous Clock Mode 1 - Non-continuous Clock Mode
Note
None
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.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
VCis which Virtual channel to be configured for (0-3).
LineCountis pointer to variable to be filled with line count for the Virtual channel
Returns
  • XST_NO_FEATURE if Frame End generation is not enabled
  • XST_INVALID_PARAM if any param is invalid e.g. VC is always 0 to 3 and Line Count is 0 to 0xFFFF.
  • XST_SUCCESS otherwise
Note
None.

References XCsi2TxSs::Config, and XCsi2TxSs_Config::FEGenEnabled.

u32 XCsi2TxSs_GetMaxLaneCount ( XCsi2TxSs InstancePtr)

This function is used to get the number of lanes configured in the IP.

Parameters
InstancePtris a pointer to the CSI2TX SS Instance to be worked on.
Returns
Max number of lanes available in u32 format
Note
None
u32 XCsi2TxSs_GetPixelMode ( XCsi2TxSs InstancePtr)

This function is used to get the Pixel Mode.

Parameters
InstancePtris a pointer to the CSI2TX SS Instance to be worked on.
Returns
0x0 - Single Pixel Mode 0x1 - Dual Pixel Mode 0x3 - Quad Pixel Mode
Note
None
void XCsi2TxSs_GetShortPacket ( XCsi2TxSs InstancePtr)

This function gets the short packets.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Returns
None
Note
None

References XCsi2TxSs::SpktData.

void XCsi2TxSs_IntrDisable ( XCsi2TxSs InstancePtr,
u32  IntrMask 
)

This function is used to disable the interrupts in the CSI core.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
IntrMaskIndicates Mask for enable interrupts.
Returns
None
Note
None

References XCsi2TxSs::Config, and XCsi2TxSs_Config::FEGenEnabled.

void XCsi2TxSs_IntrHandler ( void *  InstancePtr)

This function is the interrupt handler for the MIPI CSI2 Tx Subsystem.

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XCsi2TxSs_SetCallBack() during initialization phase.

Parameters
InstancePtris a pointer to the XCsi2TxSs core instance that just interrupted.
Returns
None.
Note
None.

Referenced by Csi2TxSs_SetupIntrSystem().

u32 XCsi2TxSs_IsUlps ( XCsi2TxSs InstancePtr)

This function is used to check if lanes are in ulps mode.

Parameters
InstancePtris a pointer to the CSI2TX SS Instance to be worked on.
Returns
  • 1 - ulps mode enter
  • 0 - ulps mode exit
Note
None
void XCsi2TxSs_LineGen ( XCsi2TxSs InstancePtr,
u32  Value 
)

This function is to set the Line Synchronization packet Generation status.

Parameters
InstancePtris a pointer to the CSI2 TX SS Instance to be worked on.
Value0 : DISABLE 1 : ENABLE
Returns
None
Note
None
XCsi2TxSs_Config * XCsi2TxSs_LookupConfig ( u32  DeviceId)

This function looks for the device configuration based on the unique device ID.

The table XCsi2TxSs_ConfigTable[] contains the configuration information for each instance of the device in the system.

Parameters
DeviceIdis the unique device ID of the device being looked up
Returns
A pointer to the configuration table entry corresponding to the given device ID, or NULL if no match is found
Note
None.

Referenced by Csi2TxSs_IntrExample(), and Csi2TxSs_SelfTestExample().

void XCsi2TxSs_ReportCoreInfo ( XCsi2TxSs InstancePtr)

This function reports list of cores included.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Returns
None
Note
None

References XCsi2TxSs::Config, and XCsi2TxSs_Config::IsDphyRegIntfcPresent.

Referenced by Csi2TxSs_IntrExample().

u32 XCsi2TxSs_Reset ( XCsi2TxSs InstancePtr)

This function is used to reset the CSI Subsystem.

Internally it resets the DPHY and CSI

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Returns
  • XST_SUCCESS if all the sub core IP resets occur correctly
  • XST_FAILURE if reset fails for any sub core IP fails
Note
None

Referenced by Csi2TxSs_IntrExample().

u32 XCsi2TxSs_SelfTest ( XCsi2TxSs InstancePtr)

This function performs self test on MIPI CSI Tx Subsystem sub-cores.

Parameters
InstancePtris a pointer to the XCsi2TxSs core instance.
Returns
  • XST_SUCCESS if self test passed.
  • XST_FAILURE if self test failed.
Note
None.

Referenced by Csi2TxSs_SelfTestExample().

u32 XCsi2TxSs_SetCallBack ( XCsi2TxSs InstancePtr,
u32  HandlerType,
void *  CallbackFunc,
void *  CallbackRef 
)

This routine installs an asynchronous callback function for the given HandlerType:

HandlerType                                     Invoked by this driver when:
-------------------------                       -------------------------------
(XCSI2TXSS_HANDLER_WRG_LANE)            IncorrectLaneCallBack
(XCSI2TXSS_HANDLER_GSPFIFO_FULL)                GSPFIFOCallBack
(XCSI2TXSS_HANDLER_ULPS)                        DPhyUlpsCallBack
(XCSI2TXSS_HANDLER_LINEBUF_FULL)                LineBufferCallBack
(XCSI2TXSS_HANDLER_WRG_DATATYPE)                WrgDataTypeCallBack
(XCSI2TXSS_HANDLER_UNDERRUN_PIXEL)              UnderrunPixelCallBack
(XCSI2TXSS_HANDLER_LCERRVC0                     LineCountErrVC0
(XCSI2TXSS_HANDLER_LCERRVC1                     LineCountErrVC1
(XCSI2TXSS_HANDLER_LCERRVC2                     LineCountErrVC2
(XCSI2TXSS_HANDLER_LCERRVC3                     LineCountErrVC3
Parameters
InstancePtris the XCsi instance to operate on
HandlerTypeis the type of call back to be registered.
CallbackFuncis the pointer to a call back funtion which is called when a particular event occurs.
CallbackRefis a void pointer to data to be referenced to by the CallBackFunc
Returns
  • XST_SUCCESS when handler is installed.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XCsi2TxSs::IsReady.

Referenced by Csi2TxSs_SetupIntrSystem().

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.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
Modefor Continuous Mode (0) or Non-continuous Mode (1)
Returns
None
Note
None
void XCsi2TxSs_SetGSPEntry ( XCsi2TxSs InstancePtr,
u32  Value 
)

This function is to set Generic Short Packet Entries.

Parameters
InstancePtris a pointer to the CSI2 TX SS Instance to be worked on.
ValueGSP 32 bit Entry
Returns
None
Note
None
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.

This is to be called before starting the core.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
VCis which Virtual channel to be configured for (0-3).
LineCountis valid line count for the Virtual channel.
Returns
  • XST_NO_FEATURE if Frame End generation is not enabled
  • XST_INVALID_PARAM if any param is invalid e.g. VC is always 0 to 3 and Line Count is 0 to 0xFFFF.
  • XST_FAILURE in case the core is already running.
  • XST_SUCCESS otherwise
Note
None.

References XCsi2TxSs::Config, and XCsi2TxSs_Config::FEGenEnabled.

void XCsi2TxSs_SetUlps ( XCsi2TxSs InstancePtr,
u32  Value 
)

This function is used to set lanes in ulps mode.

Parameters
InstancePtris a pointer to the CSI2TX SS Instance to be worked on.
Value
  • 1 - ulps mode enter
  • 0 - ulps mode exit
Returns
None
Note
None