csi
Xilinx SDK Drivers API Documentation
Csi_v1_1

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

Typedefs

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

Functions

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_Reset (XCsi *InstancePtr)
 This function will do a reset of the IP. More...
 
u32 XCsi_Activate (XCsi *InstancePtr, u8 Flag)
 Thsi function will enable/disable the IP Core to start processing. More...
 
u32 XCsi_Configure (XCsi *InstancePtr)
 This function will configure the core with proper number of Active Lanes. 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...
 
XCsi_ConfigXCsi_LookupConfig (u32 DeviceId)
 Look up the hardware configuration for a device instance. 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...
 

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
 

Device registers

Register sets of MIPI CSI2 Rx Core

#define XCSI_CCR_OFFSET   0x00000000
 Core Configuration Register. More...
 
#define XCSI_PCR_OFFSET   0x00000004
 Protocol Configuration Register. More...
 
#define XCSI_CSR_OFFSET   0x00000010
 Core Status Register. More...
 
#define XCSI_GIER_OFFSET   0x00000020
 Global Interrupt Register. More...
 
#define XCSI_ISR_OFFSET   0x00000024
 Interrupt Status Register. More...
 
#define XCSI_IER_OFFSET   0x00000028
 Interrupt Enable Register. More...
 
#define XCSI_SPKTR_OFFSET   0x00000030
 Generic Short Packet Register. More...
 
#define XCSI_VCX_FE_OFFSET   0x00000034
 VCx Frame Error Register. More...
 
#define XCSI_CLKINFR_OFFSET   0x0000003C
 Clock Lane Info Register. More...
 
#define XCSI_L0INFR_OFFSET   0x00000040
 Lane Information Registers. More...
 
#define XCSI_L1INFR_OFFSET   0x00000044
 Lane 1 Info Register. More...
 
#define XCSI_L2INFR_OFFSET   0x00000048
 Lane 2 Info Register. More...
 
#define XCSI_L3INFR_OFFSET   0x0000004C
 Lane 3 Info Register. More...
 
#define XCSI_VC0INF1R_OFFSET   0x00000060
 Image Information Register for each Virtual Channel. More...
 
#define XCSI_VC0INF2R_OFFSET   0x00000064
 Virtual Channel 0 Image Information 2 Register. More...
 
#define XCSI_VC1INF1R_OFFSET   0x00000068
 Virtual Channel 1 Image Information 1 Register. More...
 
#define XCSI_VC1INF2R_OFFSET   0x0000006C
 Virtual Channel 1 Image Information 2 Register. More...
 
#define XCSI_VC2INF1R_OFFSET   0x00000070
 Virtual Channel 2 Image Information 1 Register. More...
 
#define XCSI_VC2INF2R_OFFSET   0x00000074
 Virtual Channel 2 Image Information 2 Register. More...
 
#define XCSI_VC3INF1R_OFFSET   0x00000078
 Virtual Channel 3 Image Information 1 Register. More...
 
#define XCSI_VC3INF2R_OFFSET   0x0000007C
 Virtual Channel 3 Image Information 2 Register. More...
 
#define XCSI_VC4INF1R_OFFSET   0x00000080
 Virtual Channel 4 Image Information 1 Register. More...
 
#define XCSI_VC4INF2R_OFFSET   0x00000084
 Virtual Channel 4 Image Information 2 Register. More...
 
#define XCSI_VC5INF1R_OFFSET   0x00000088
 Virtual Channel 5 Image Information 1 Register. More...
 
#define XCSI_VC5INF2R_OFFSET   0x0000008C
 Virtual Channel 5 Image Information 2 Register. More...
 
#define XCSI_VC6INF1R_OFFSET   0x00000090
 Virtual Channel 6 Image Information 1 Register. More...
 
#define XCSI_VC6INF2R_OFFSET   0x00000094
 Virtual Channel 6 Image Information 2 Register. More...
 
#define XCSI_VC7INF1R_OFFSET   0x00000098
 Virtual Channel 7 Image Information 1 Register. More...
 
#define XCSI_VC7INF2R_OFFSET   0x0000009C
 Virtual Channel 7 Image Information 2 Register. More...
 
#define XCSI_VC8INF1R_OFFSET   0x000000A0
 Virtual Channel 8 Image Information 1 Register. More...
 
#define XCSI_VC8INF2R_OFFSET   0x000000A4
 Virtual Channel 8 Image Information 2 Register. More...
 
#define XCSI_VC9INF1R_OFFSET   0x000000A8
 Virtual Channel 9 Image Information 1 Register. More...
 
#define XCSI_VC9INF2R_OFFSET   0x000000AC
 Virtual Channel 9 Image Information 2 Register. More...
 
#define XCSI_VC10INF1R_OFFSET   0x000000B0
 Virtual Channel 10 Image Information 1 Register. More...
 
#define XCSI_VC10INF2R_OFFSET   0x000000B4
 Virtual Channel 10 Image Information 2 Register. More...
 
#define XCSI_VC11INF1R_OFFSET   0x000000B8
 Virtual Channel 11 Image Information 1 Register. More...
 
#define XCSI_VC11INF2R_OFFSET   0x000000BC
 Virtual Channel 11 Image Information 2 Register. More...
 
#define XCSI_VC12INF1R_OFFSET   0x000000C0
 Virtual Channel 12 Image Information 1 Register. More...
 
#define XCSI_VC12INF2R_OFFSET   0x000000C4
 Virtual Channel 12 Image Information 2 Register. More...
 
#define XCSI_VC13INF1R_OFFSET   0x000000C8
 Virtual Channel 13 Image Information 1 Register. More...
 
#define XCSI_VC13INF2R_OFFSET   0x000000CC
 Virtual Channel 13 Image Information 2 Register. More...
 
#define XCSI_VC14INF1R_OFFSET   0x000000D0
 Virtual Channel 14 Image Information 1 Register. More...
 
#define XCSI_VC14INF2R_OFFSET   0x000000D4
 Virtual Channel 14 Image Information 2 Register. More...
 
#define XCSI_VC15INF1R_OFFSET   0x000000D8
 Virtual Channel 15 Image Information 1 Register. More...
 
#define XCSI_VC15INF2R_OFFSET   0x000000DC
 Virtual Channel 15 Image Information 2 Register. More...
 

Bitmasks and offsets of XCSI_CCR_OFFSET register

This register is used for the enabling/disabling and resetting the core of CSI2 Rx Controller

#define XCSI_CCR_SOFTRESET_MASK   0x00000002
 Soft Reset the core. More...
 
#define XCSI_CCR_COREENB_MASK   0x00000001
 Enable/Disable core. More...
 
#define XCSI_CCR_SOFTRESET_SHIFT   1
 Shift bits for Soft reset. More...
 
#define XCSI_CCR_COREENB_SHIFT   0
 Shift bits for Core Enable. More...
 

Bitmasks and offset of XCSI_PCR_OFFSET register

This register reports the number of lanes configured during core generation and number of lanes actively used.

#define XCSI_PCR_MAXLANES_MASK   0x00000018
 Maximum lanes in core. More...
 
#define XCSI_PCR_ACTLANES_MASK   0x00000003
 Active lanes in core. More...
 
#define XCSI_PCR_MAXLANES_SHIFT   3
 Shift bits for Max Lanes. More...
 
#define XCSI_PCR_ACTLANES_SHIFT   0
 Shift bits for Active Lanes. More...
 

Bitmasks and offsets of XCSI_CSR_OFFSET register

This register captures the core's status.

#define XCSI_CSR_PKTCOUNT_MASK   0xFFFF0000
 16-bit Packet Counter More...
 
#define XCSI_CSR_SPFIFOFULL_MASK   0x00000008
 Short Packet FIFO Full. More...
 
#define XCSI_CSR_SPFIFONE_MASK   0x00000004
 Short Packet FIFO Not Empty. More...
 
#define XCSI_CSR_SLBF_MASK   0x00000002
 Stream Line Buffer Full. More...
 
#define XCSI_CSR_RIPCD_MASK   0x00000001
 Reset in Progress OR Core Disabled. More...
 
#define XCSI_CSR_PKTCOUNT_SHIFT   16
 Shift bits for Packet Counter. More...
 
#define XCSI_CSR_SPFIFOFULL_SHIFT   3
 Shift bits for Short Packet FIFO Full. More...
 
#define XCSI_CSR_SPFIFONE_SHIFT   2
 Shift bits for Short Packet Not Empty. More...
 
#define XCSI_CSR_SLBF_SHIFT   1
 Shift bits for Stream Line Buffer Full. More...
 
#define XCSI_CSR_RIPCD_SHIFT   0
 Bit Shift for Reset in Progress. More...
 

Bitmasks and offsets of XCSI_GIER_OFFSET register

This register contains the global interrupt enable bit.

#define XCSI_GIER_GIE_MASK   0x00000001
 Global Interrupt Enable bit. More...
 
#define XCSI_GIER_GIE_SHIFT   0
 Shift bits for Global Interrupt Enable. More...
 
#define XCSI_GIER_SET   1
 Enable the Global Interrupts. More...
 
#define XCSI_GIER_RESET   0
 Disable the Global Interrupts. More...
 

Bitmasks and offsets of XCSI_ISR_OFFSET register

This register contains the interrupt status.

#define XCSI_ISR_FR_MASK   0x80000000
 Frame Received. More...
 
#define XCSI_ISR_VCXFE_MASK   0x40000000
 VCX Frame Error. More...
 
#define XCSI_ISR_WC_MASK   0x00400000
 Word count corruption. More...
 
#define XCSI_ISR_ILC_MASK   0x00200000
 Incorrect Lanes Configured. More...
 
#define XCSI_ISR_SPFIFOF_MASK   0x00100000
 Short Packet FIFO FULL. More...
 
#define XCSI_ISR_SPFIFONE_MASK   0x00080000
 Short Packet FIFO Not Empty. More...
 
#define XCSI_ISR_SLBF_MASK   0x00040000
 Stream Line Buffer Full. More...
 
#define XCSI_ISR_STOP_MASK   0x00020000
 Detect Stop State. More...
 
#define XCSI_ISR_SOTERR_MASK   0x00002000
 SoT Error. More...
 
#define XCSI_ISR_SOTSYNCERR_MASK   0x00001000
 SoT Sync Error. More...
 
#define XCSI_ISR_ECC2BERR_MASK   0x00000800
 ECC 2 bit Error. More...
 
#define XCSI_ISR_ECC1BERR_MASK   0x00000400
 ECC 1 bit Error. More...
 
#define XCSI_ISR_CRCERR_MASK   0x00000200
 CRC Error. More...
 
#define XCSI_ISR_DATAIDERR_MASK   0x00000100
 Unknown data ID packet Error. More...
 
#define XCSI_ISR_VC3FSYNCERR_MASK   0x00000080
 Frame Sync Error on Virtual Channel 3. More...
 
#define XCSI_ISR_VC3FLVLERR_MASK   0x00000040
 Frame Level Error on Virtual Channel 3. More...
 
#define XCSI_ISR_VC2FSYNCERR_MASK   0x00000020
 Frame Sync Error on Virtual Channel 2. More...
 
#define XCSI_ISR_VC2FLVLERR_MASK   0x00000010
 Frame Level Error on Virtual Channel 2. More...
 
#define XCSI_ISR_VC1FSYNCERR_MASK   0x00000008
 Frame Sync Error on Virtual Channel 1. More...
 
#define XCSI_ISR_VC1FLVLERR_MASK   0x00000004
 Frame Level Error on Virtual Channel 1. More...
 
#define XCSI_ISR_VC0FSYNCERR_MASK   0x00000002
 Frame Sync Error on Virtual Channel 0. More...
 
#define XCSI_ISR_VC0FLVLERR_MASK   0x00000001
 Frame Level Error on Virtual Channel 0. More...
 
#define XCSI_ISR_ALLINTR_MASK   0xC07FFFFF
 All interrupts mask. More...
 
#define XCSI_ISR_FR_SHIFT   31
 Shift bits for Frame received interrupt. More...
 
#define XCSI_ISR_VCXFE_SHIFT   30
 Shift bits for VCx Frame Error interrupt. More...
 
#define XCSI_ISR_WC_SHIFT   22
 Shift bits for Word Count corruption. More...
 
#define XCSI_ISR_ILC_SHIFT   21
 Shift bits for Incorrect Lanes configured. More...
 
#define XCSI_ISR_SPFIFOF_SHIFT   20
 Shift bits for Short Packet FIFO Full. More...
 
#define XCSI_ISR_SPFIFONE_SHIFT   19
 Shift bits for Short Packet FIFO Not Empty. More...
 
#define XCSI_ISR_SLBF_SHIFT   18
 Shift bits for Stream Line Buffer Full. More...
 
#define XCSI_ISR_STOP_SHIFT   17
 Shift bits for Stop State. More...
 
#define XCSI_ISR_SOTERR_SHIFT   13
 Shift bits for Start of Transmission Error. More...
 
#define XCSI_ISR_SOTSYNCERR_SHIFT   12
 Shift bits for Start of Transmission Sync Error. More...
 
#define XCSI_ISR_ECC2BERR_SHIFT   11
 Shift bits for 2 bit ECC error. More...
 
#define XCSI_ISR_ECC1BERR_SHIFT   10
 Shift bits for 1 bit ECC error. More...
 
#define XCSI_ISR_CRCERR_SHIFT   9
 Shift bits for Packet CRC error. More...
 
#define XCSI_ISR_DATAIDERR_SHIFT   8
 Shift bits for Unsupported Data ID error. More...
 
#define XCSI_ISR_VC3FSYNCERR_SHIFT   7
 Shift bits for Virtual Channel 3 Frame Synchronisation Error. More...
 
#define XCSI_ISR_VC3FLVLERR_SHIFT   6
 Shift bits for Virtual Channel 3 Frame Level Error. More...
 
#define XCSI_ISR_VC2FSYNCERR_SHIFT   5
 Shift bits for Virtual Channel 2 Frame Synchronisation Error. More...
 
#define XCSI_ISR_VC2FLVLERR_SHIFT   4
 Shift bits for Virtual Channel 2 Frame Level Error. More...
 
#define XCSI_ISR_VC1FSYNCERR_SHIFT   3
 Shift bits for Virtual Channel 1 Frame Synchronisation Error. More...
 
#define XCSI_ISR_VC1FLVLERR_SHIFT   2
 Shift bits for Virtual Channel 1 Frame Level Error. More...
 
#define XCSI_ISR_VC0FSYNCERR_SHIFT   1
 Shift bits for Virtual Channel 0 Frame Synchronisation Error. More...
 
#define XCSI_ISR_VC0FLVLERR_SHIFT   0
 Shift bits for Virtual Channel 0 Frame Level Error. More...
 

BitMasks for grouped interrupts

The interrupts are grouped into DPHY Level Errors, Protocol Decoding Errors, Packet Level Errors, Normal Errors, Frame Received interrupt and Short Packet related.

These are used in XCsi_InterruptHandler() to determine the particular callback

#define XCSI_INTR_PROT_MASK
 
#define XCSI_ISR_VC15FSYNCERR_MASK   0x00800000
 Frame Sync Error on Virtual Channel 15. More...
 
#define XCSI_ISR_VC15FLVLERR_MASK   0x00400000
 Frame Level Error on Virtual Channel 15. More...
 
#define XCSI_ISR_VC14FSYNCERR_MASK   0x00200000
 Frame Sync Error on Virtual Channel 14. More...
 
#define XCSI_ISR_VC14FLVLERR_MASK   0x00100000
 Frame Level Error on Virtual Channel 14. More...
 
#define XCSI_ISR_VC13FSYNCERR_MASK   0x00080000
 Frame Sync Error on Virtual Channel 13. More...
 
#define XCSI_ISR_VC13FLVLERR_MASK   0x00040000
 Frame Level Error on Virtual Channel 13. More...
 
#define XCSI_ISR_VC12FSYNCERR_MASK   0x00020000
 Frame Sync Error on Virtual Channel 12. More...
 
#define XCSI_ISR_VC12FLVLERR_MASK   0x00010000
 Frame Level Error on Virtual Channel 12. More...
 
#define XCSI_ISR_VC11FSYNCERR_MASK   0x00008000
 Frame Sync Error on Virtual Channel 11. More...
 
#define XCSI_ISR_VC11FLVLERR_MASK   0x00004000
 Frame Level Error on Virtual Channel 11. More...
 
#define XCSI_ISR_VC10FSYNCERR_MASK   0x00002000
 Frame Sync Error on Virtual Channel 10. More...
 
#define XCSI_ISR_VC10FLVLERR_MASK   0x00001000
 Frame Level Error on Virtual Channel 10. More...
 
#define XCSI_ISR_VC9FSYNCERR_MASK   0x00000800
 Frame Sync Error on Virtual Channel 9. More...
 
#define XCSI_ISR_VC9FLVLERR_MASK   0x00000400
 Frame Level Error on Virtual Channel 9. More...
 
#define XCSI_ISR_VC8FSYNCERR_MASK   0x00000200
 Frame Sync Error on Virtual Channel 8. More...
 
#define XCSI_ISR_VC8FLVLERR_MASK   0x00000100
 Frame Level Error on Virtual Channel 8. More...
 
#define XCSI_ISR_VC7FSYNCERR_MASK   0x00000080
 Frame Sync Error on Virtual Channel 7. More...
 
#define XCSI_ISR_VC7FLVLERR_MASK   0x00000040
 Frame Level Error on Virtual Channel 7. More...
 
#define XCSI_ISR_VC6FSYNCERR_MASK   0x00000020
 Frame Sync Error on Virtual Channel 6. More...
 
#define XCSI_ISR_VC6FLVLERR_MASK   0x00000010
 Frame Level Error on Virtual Channel 6. More...
 
#define XCSI_ISR_VC5FSYNCERR_MASK   0x00000008
 Frame Sync Error on Virtual Channel 5. More...
 
#define XCSI_ISR_VC5FLVLERR_MASK   0x00000004
 Frame Level Error on Virtual Channel 5. More...
 
#define XCSI_ISR_VC4FSYNCERR_MASK   0x00000002
 Frame Sync Error on Virtual Channel 4. More...
 
#define XCSI_ISR_VC4FLVLERR_MASK   0x00000001
 Frame Level Error on Virtual Channel 4. More...
 
#define XCSI_INTR_VCFE_MASK
 
#define XCSI_INTR_PKTLVL_MASK
 
#define XCSI_INTR_DPHY_MASK
 
#define XCSI_INTR_SPKT_MASK
 
#define XCSI_INTR_FRAMERCVD_MASK   (XCSI_ISR_FR_MASK)
 
#define XCSI_INTR_VCXFE_MASK   (XCSI_ISR_VCXFE_MASK)
 
#define XCSI_INTR_ERR_MASK
 

Bitmasks and offsets of XCSI_IER_OFFSET register

This register contains the interrupt enable masks

#define XCSI_IER_FR_MASK   0x80000000
 Frame Received. More...
 
#define XCSI_IER_VCXFE_MASK   0x40000000
 VCX Frame Error. More...
 
#define XCSI_IER_WC_MASK   0x00400000
 Word Count Corruption. More...
 
#define XCSI_IER_ILC_MASK   0x00200000
 Incorrect Lanes Configured. More...
 
#define XCSI_IER_SPFIFOF_MASK   0x00100000
 Short Packet FIFO FULL. More...
 
#define XCSI_IER_SPFIFONE_MASK   0x00080000
 Short Packet FIFO Not Empty. More...
 
#define XCSI_IER_SLBF_MASK   0x00040000
 Stream Line Buffer Full. More...
 
#define XCSI_IER_STOP_MASK   0x00020000
 Detect Stop State. More...
 
#define XCSI_IER_SOTERR_MASK   0x00002000
 SoT Error. More...
 
#define XCSI_IER_SOTSYNCERR_MASK   0x00001000
 SoT Sync Error. More...
 
#define XCSI_IER_ECC2BERR_MASK   0x00000800
 ECC 2 bit Error. More...
 
#define XCSI_IER_ECC1BERR_MASK   0x00000400
 ECC 1 bit Error. More...
 
#define XCSI_IER_CRCERR_MASK   0x00000200
 CRC Error. More...
 
#define XCSI_IER_DATAIDERR_MASK   0x00000100
 Unknown data ID packet Error. More...
 
#define XCSI_IER_VC3FSYNCERR_MASK   0x00000080
 Frame Sync Error on Virtual Channel 3. More...
 
#define XCSI_IER_VC3FLVLERR_MASK   0x00000040
 Frame Level Error on Virtual Channel 3. More...
 
#define XCSI_IER_VC2FSYNCERR_MASK   0x00000020
 Frame Sync Error on Virtual Channel 2. More...
 
#define XCSI_IER_VC2FLVLERR_MASK   0x00000010
 Frame Level Error on Virtual Channel 2. More...
 
#define XCSI_IER_VC1FSYNCERR_MASK   0x00000008
 Frame Sync Error on Virtual Channel 1. More...
 
#define XCSI_IER_VC1FLVLERR_MASK   0x00000004
 Frame Level Error on Virtual Channel 1. More...
 
#define XCSI_IER_VC0FSYNCERR_MASK   0x00000002
 Frame Sync Error on Virtual Channel 0. More...
 
#define XCSI_IER_VC0FLVLERR_MASK   0x00000001
 Frame Level Error on Virtual Channel 0. More...
 
#define XCSI_IER_ALLINTR_MASK   0xC07FFFFF
 All interrupts mask. More...
 
#define XCSI_IER_FR_SHIFT   31
 Shift bits for Frame received interrupt. More...
 
#define XCSI_IER_WC_SHIFT   22
 Shift bits for Word count corruption. More...
 
#define XCSI_IER_ILC_SHIFT   21
 Shift bits for Incorrect Lanes configured. More...
 
#define XCSI_IER_SPFIFOF_SHIFT   20
 Shift bits for Short Packet FIFO Full. More...
 
#define XCSI_IER_SPFIFONE_SHIFT   19
 Shift bits for Short Packet FIFO Not Empty. More...
 
#define XCSI_IER_SLBF_SHIFT   18
 Shift bits for Stream Line Buffer Full. More...
 
#define XCSI_IER_STOP_SHIFT   17
 Shift bits for Stop State. More...
 
#define XCSI_IER_SOTERR_SHIFT   13
 Shift bits for Start of Transmission Error. More...
 
#define XCSI_IER_SOTSYNCERR_SHIFT   12
 Shift bits for Start of Transmission Sync Error. More...
 
#define XCSI_IER_ECC2BERR_SHIFT   11
 Shift bits for 2 bit ECC error. More...
 
#define XCSI_IER_ECC1BERR_SHIFT   10
 Shift bits for 1 bit ECC error. More...
 
#define XCSI_IER_CRCERR_SHIFT   9
 Shift bits for Packet CRC error. More...
 
#define XCSI_IER_DATAIDERR_SHIFT   8
 Shift bits for Unsupported Data ID error. More...
 
#define XCSI_IER_VC3FSYNCERR_SHIFT   7
 Shift bits for Virtual Channel 3 Frame Synchronisation Error. More...
 
#define XCSI_IER_VC3FLVLERR_SHIFT   6
 Shift bits for Virtual Channel 3 Frame Level Error. More...
 
#define XCSI_IER_VC2FSYNCERR_SHIFT   5
 Shift bits for Virtual Channel 2 Frame Synchronisation Error. More...
 
#define XCSI_IER_VC2FLVLERR_SHIFT   4
 Shift bits for Virtual Channel 2 Frame Level Error. More...
 
#define XCSI_IER_VC1FSYNCERR_SHIFT   3
 Shift bits for Virtual Channel 1 Frame Synchronisation Error. More...
 
#define XCSI_IER_VC1FLVLERR_SHIFT   2
 Shift bits for Virtual Channel 1 Frame Level Error. More...
 
#define XCSI_IER_VC0FSYNCERR_SHIFT   1
 Shift bits for Virtual Channel 0 Frame Synchronisation Error. More...
 
#define XCSI_IER_VC0FLVLERR_SHIFT   0
 Shift bits for Virtual Channel 0 Frame Level Error. More...
 

Bitmasks and offsets of XCSI_SPKTR_OFFSET register

This register contains the masks for getting the 16 bit data, virtual channel and data type

#define XCSI_SPKTR_DATA_MASK   0x00FFFF00
 16 bit short packet data Received More...
 
#define XCSI_SPKTR_VC_MASK   0x000000C0
 Virtual channel number. More...
 
#define XCSI_SPKTR_DT_MASK   0x0000003F
 Data Type. More...
 
#define XCSI_SPKTR_DATA_SHIFT   8
 Shift bits for Short Packet Data. More...
 
#define XCSI_SPKTR_VC_SHIFT   6
 Shift bits for Short Packet Virtual Channel Data. More...
 
#define XCSI_SPKTR_DT_SHIFT   0
 Bit Shift for Short Packet Data Type. More...
 

Bitmasks and offsets of XCSI_CLKINFR_OFFSET register

This register contains the masks for getting current status of clock lane

#define XCSI_CLKINFR_STOP_MASK   0x00000002
 Stop State on clock lane. More...
 
#define XCSI_CLKINFR_STOP_SHIFT   1
 Shift bits for Clock Lane Stop bit. More...
 

Bitmasks and offsets of XCSI_L(0..3)INFR register

This register contains the masks for getting current status of data lanes.

#define XCSI_LXINFR_STOP_MASK   0x00000020
 Stop State on clock lane. More...
 
#define XCSI_LXINFR_SOTERR_MASK   0x00000002
 Detection of ErrSoTHS. More...
 
#define XCSI_LXINFR_SOTSYNCERR_MASK   0x00000001
 Detection of ErrSoTSyncHS. More...
 
#define XCSI_LXINFR_STOP_SHIFT   5
 Bit Shift for Data Lane Stop State. More...
 
#define XCSI_LXINFR_SOTERR_SHIFT   1
 Bit Shift for Start of Transmission Error. More...
 
#define XCSI_LXINFR_SOTSYNCERR_SHIFT   0
 Bit Shift for Start of Transmission Sync Error. More...
 

Bitmasks and offsets of XCSI_VC(0..3)INF(1/2)R register

This register contains the masks to get line count, byte count from Info Reg 1 and to get current data type being processed from Info Reg 2 for each virtual channel.

#define XCSI_VCXINF1R_LINECOUNT_MASK   0xFFFF0000
 Number of long packets written into line buffer. More...
 
#define XCSI_VCXINF1R_BYTECOUNT_MASK   0x0000FFFF
 Byte count of current packet in process. More...
 
#define XCSI_VCXINF1R_LINECOUNT_SHIFT   16
 Shift bits for Virtual Channel Line Count bits. More...
 
#define XCSI_VCXINF1R_BYTECOUNT_SHIFT   0
 Shift bits for Virtual Channel Byte Count bits. More...
 
#define XCSI_VCXINF2R_DATATYPE_MASK   0x0000003F
 Data type of current packet. More...
 
#define XCSI_VCXINF2R_DATATYPE_SHIFT   0
 Bit Shift for Virtual Channel Data Type. More...
 

Macro Definition Documentation

◆ XCSI_CCR_COREENB_MASK

#define XCSI_CCR_COREENB_MASK   0x00000001

#include <xcsi_hw.h>

Enable/Disable core.

◆ XCSI_CCR_COREENB_SHIFT

#define XCSI_CCR_COREENB_SHIFT   0

#include <xcsi_hw.h>

Shift bits for Core Enable.

◆ XCSI_CCR_OFFSET

#define XCSI_CCR_OFFSET   0x00000000

#include <xcsi_hw.h>

Core Configuration Register.

◆ XCSI_CCR_SOFTRESET_MASK

#define XCSI_CCR_SOFTRESET_MASK   0x00000002

#include <xcsi_hw.h>

Soft Reset the core.

◆ XCSI_CCR_SOFTRESET_SHIFT

#define XCSI_CCR_SOFTRESET_SHIFT   1

#include <xcsi_hw.h>

Shift bits for Soft reset.

◆ XCSI_CLKINFR_OFFSET

#define XCSI_CLKINFR_OFFSET   0x0000003C

#include <xcsi_hw.h>

Clock Lane Info Register.

◆ XCSI_CLKINFR_STOP_MASK

#define XCSI_CLKINFR_STOP_MASK   0x00000002

#include <xcsi_hw.h>

Stop State on clock lane.

◆ XCSI_CLKINFR_STOP_SHIFT

#define XCSI_CLKINFR_STOP_SHIFT   1

#include <xcsi_hw.h>

Shift bits for Clock Lane Stop bit.

◆ XCSI_CSR_OFFSET

#define XCSI_CSR_OFFSET   0x00000010

#include <xcsi_hw.h>

Core Status Register.

◆ XCSI_CSR_PKTCOUNT_MASK

#define XCSI_CSR_PKTCOUNT_MASK   0xFFFF0000

#include <xcsi_hw.h>

16-bit Packet Counter

◆ XCSI_CSR_PKTCOUNT_SHIFT

#define XCSI_CSR_PKTCOUNT_SHIFT   16

#include <xcsi_hw.h>

Shift bits for Packet Counter.

◆ XCSI_CSR_RIPCD_MASK

#define XCSI_CSR_RIPCD_MASK   0x00000001

#include <xcsi_hw.h>

Reset in Progress OR Core Disabled.

◆ XCSI_CSR_RIPCD_SHIFT

#define XCSI_CSR_RIPCD_SHIFT   0

#include <xcsi_hw.h>

Bit Shift for Reset in Progress.

◆ XCSI_CSR_SLBF_MASK

#define XCSI_CSR_SLBF_MASK   0x00000002

#include <xcsi_hw.h>

Stream Line Buffer Full.

◆ XCSI_CSR_SLBF_SHIFT

#define XCSI_CSR_SLBF_SHIFT   1

#include <xcsi_hw.h>

Shift bits for Stream Line Buffer Full.

◆ XCSI_CSR_SPFIFOFULL_MASK

#define XCSI_CSR_SPFIFOFULL_MASK   0x00000008

#include <xcsi_hw.h>

Short Packet FIFO Full.

◆ XCSI_CSR_SPFIFOFULL_SHIFT

#define XCSI_CSR_SPFIFOFULL_SHIFT   3

#include <xcsi_hw.h>

Shift bits for Short Packet FIFO Full.

◆ XCSI_CSR_SPFIFONE_MASK

#define XCSI_CSR_SPFIFONE_MASK   0x00000004

#include <xcsi_hw.h>

Short Packet FIFO Not Empty.

◆ XCSI_CSR_SPFIFONE_SHIFT

#define XCSI_CSR_SPFIFONE_SHIFT   2

#include <xcsi_hw.h>

Shift bits for Short Packet Not Empty.

◆ XCSI_DISABLE

#define XCSI_DISABLE   0

#include <xcsi.h>

Flag denoting disabling of CSI.

◆ XCSI_ENABLE

#define XCSI_ENABLE   1

#include <xcsi.h>

Flag denoting enabling of CSI.

◆ XCSI_GIER_GIE_MASK

#define XCSI_GIER_GIE_MASK   0x00000001

#include <xcsi_hw.h>

Global Interrupt Enable bit.

◆ XCSI_GIER_GIE_SHIFT

#define XCSI_GIER_GIE_SHIFT   0

#include <xcsi_hw.h>

Shift bits for Global Interrupt Enable.

◆ XCSI_GIER_OFFSET

#define XCSI_GIER_OFFSET   0x00000020

#include <xcsi_hw.h>

Global Interrupt Register.

◆ XCSI_GIER_RESET

#define XCSI_GIER_RESET   0

#include <xcsi_hw.h>

Disable the Global Interrupts.

◆ XCSI_GIER_SET

#define XCSI_GIER_SET   1

#include <xcsi_hw.h>

Enable the Global Interrupts.

◆ XCSI_H_

#define XCSI_H_

#include <xcsi.h>

Prevent circular inclusions by using protection macros.

◆ XCSI_HW_H_

#define XCSI_HW_H_

#include <xcsi_hw.h>

Prevent circular inclusions by using protection macros.

◆ XCSI_IER_ALLINTR_MASK

#define XCSI_IER_ALLINTR_MASK   0xC07FFFFF

#include <xcsi_hw.h>

All interrupts mask.

Referenced by XCsi_InterruptClear(), XCsi_IntrDisable(), and XCsi_IntrEnable().

◆ XCSI_IER_CRCERR_MASK

#define XCSI_IER_CRCERR_MASK   0x00000200

#include <xcsi_hw.h>

CRC Error.

◆ XCSI_IER_CRCERR_SHIFT

#define XCSI_IER_CRCERR_SHIFT   9

#include <xcsi_hw.h>

Shift bits for Packet CRC error.

◆ XCSI_IER_DATAIDERR_MASK

#define XCSI_IER_DATAIDERR_MASK   0x00000100

#include <xcsi_hw.h>

Unknown data ID packet Error.

◆ XCSI_IER_DATAIDERR_SHIFT

#define XCSI_IER_DATAIDERR_SHIFT   8

#include <xcsi_hw.h>

Shift bits for Unsupported Data ID error.

◆ XCSI_IER_ECC1BERR_MASK

#define XCSI_IER_ECC1BERR_MASK   0x00000400

#include <xcsi_hw.h>

ECC 1 bit Error.

◆ XCSI_IER_ECC1BERR_SHIFT

#define XCSI_IER_ECC1BERR_SHIFT   10

#include <xcsi_hw.h>

Shift bits for 1 bit ECC error.

◆ XCSI_IER_ECC2BERR_MASK

#define XCSI_IER_ECC2BERR_MASK   0x00000800

#include <xcsi_hw.h>

ECC 2 bit Error.

◆ XCSI_IER_ECC2BERR_SHIFT

#define XCSI_IER_ECC2BERR_SHIFT   11

#include <xcsi_hw.h>

Shift bits for 2 bit ECC error.

◆ XCSI_IER_FR_MASK

#define XCSI_IER_FR_MASK   0x80000000

#include <xcsi_hw.h>

Frame Received.

◆ XCSI_IER_FR_SHIFT

#define XCSI_IER_FR_SHIFT   31

#include <xcsi_hw.h>

Shift bits for Frame received interrupt.

◆ XCSI_IER_ILC_MASK

#define XCSI_IER_ILC_MASK   0x00200000

#include <xcsi_hw.h>

Incorrect Lanes Configured.

◆ XCSI_IER_ILC_SHIFT

#define XCSI_IER_ILC_SHIFT   21

#include <xcsi_hw.h>

Shift bits for Incorrect Lanes configured.

◆ XCSI_IER_OFFSET

#define XCSI_IER_OFFSET   0x00000028

#include <xcsi_hw.h>

Interrupt Enable Register.

◆ XCSI_IER_SLBF_MASK

#define XCSI_IER_SLBF_MASK   0x00040000

#include <xcsi_hw.h>

Stream Line Buffer Full.

◆ XCSI_IER_SLBF_SHIFT

#define XCSI_IER_SLBF_SHIFT   18

#include <xcsi_hw.h>

Shift bits for Stream Line Buffer Full.

◆ XCSI_IER_SOTERR_MASK

#define XCSI_IER_SOTERR_MASK   0x00002000

#include <xcsi_hw.h>

SoT Error.

◆ XCSI_IER_SOTERR_SHIFT

#define XCSI_IER_SOTERR_SHIFT   13

#include <xcsi_hw.h>

Shift bits for Start of Transmission Error.

◆ XCSI_IER_SOTSYNCERR_MASK

#define XCSI_IER_SOTSYNCERR_MASK   0x00001000

#include <xcsi_hw.h>

SoT Sync Error.

◆ XCSI_IER_SOTSYNCERR_SHIFT

#define XCSI_IER_SOTSYNCERR_SHIFT   12

#include <xcsi_hw.h>

Shift bits for Start of Transmission Sync Error.

◆ XCSI_IER_SPFIFOF_MASK

#define XCSI_IER_SPFIFOF_MASK   0x00100000

#include <xcsi_hw.h>

Short Packet FIFO FULL.

◆ XCSI_IER_SPFIFOF_SHIFT

#define XCSI_IER_SPFIFOF_SHIFT   20

#include <xcsi_hw.h>

Shift bits for Short Packet FIFO Full.

◆ XCSI_IER_SPFIFONE_MASK

#define XCSI_IER_SPFIFONE_MASK   0x00080000

#include <xcsi_hw.h>

Short Packet FIFO Not Empty.

◆ XCSI_IER_SPFIFONE_SHIFT

#define XCSI_IER_SPFIFONE_SHIFT   19

#include <xcsi_hw.h>

Shift bits for Short Packet FIFO Not Empty.

◆ XCSI_IER_STOP_MASK

#define XCSI_IER_STOP_MASK   0x00020000

#include <xcsi_hw.h>

Detect Stop State.

◆ XCSI_IER_STOP_SHIFT

#define XCSI_IER_STOP_SHIFT   17

#include <xcsi_hw.h>

Shift bits for Stop State.

◆ XCSI_IER_VC0FLVLERR_MASK

#define XCSI_IER_VC0FLVLERR_MASK   0x00000001

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 0.

◆ XCSI_IER_VC0FLVLERR_SHIFT

#define XCSI_IER_VC0FLVLERR_SHIFT   0

#include <xcsi_hw.h>

Shift bits for Virtual Channel 0 Frame Level Error.

◆ XCSI_IER_VC0FSYNCERR_MASK

#define XCSI_IER_VC0FSYNCERR_MASK   0x00000002

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 0.

◆ XCSI_IER_VC0FSYNCERR_SHIFT

#define XCSI_IER_VC0FSYNCERR_SHIFT   1

#include <xcsi_hw.h>

Shift bits for Virtual Channel 0 Frame Synchronisation Error.

◆ XCSI_IER_VC1FLVLERR_MASK

#define XCSI_IER_VC1FLVLERR_MASK   0x00000004

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 1.

◆ XCSI_IER_VC1FLVLERR_SHIFT

#define XCSI_IER_VC1FLVLERR_SHIFT   2

#include <xcsi_hw.h>

Shift bits for Virtual Channel 1 Frame Level Error.

◆ XCSI_IER_VC1FSYNCERR_MASK

#define XCSI_IER_VC1FSYNCERR_MASK   0x00000008

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 1.

◆ XCSI_IER_VC1FSYNCERR_SHIFT

#define XCSI_IER_VC1FSYNCERR_SHIFT   3

#include <xcsi_hw.h>

Shift bits for Virtual Channel 1 Frame Synchronisation Error.

◆ XCSI_IER_VC2FLVLERR_MASK

#define XCSI_IER_VC2FLVLERR_MASK   0x00000010

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 2.

◆ XCSI_IER_VC2FLVLERR_SHIFT

#define XCSI_IER_VC2FLVLERR_SHIFT   4

#include <xcsi_hw.h>

Shift bits for Virtual Channel 2 Frame Level Error.

◆ XCSI_IER_VC2FSYNCERR_MASK

#define XCSI_IER_VC2FSYNCERR_MASK   0x00000020

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 2.

◆ XCSI_IER_VC2FSYNCERR_SHIFT

#define XCSI_IER_VC2FSYNCERR_SHIFT   5

#include <xcsi_hw.h>

Shift bits for Virtual Channel 2 Frame Synchronisation Error.

◆ XCSI_IER_VC3FLVLERR_MASK

#define XCSI_IER_VC3FLVLERR_MASK   0x00000040

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 3.

◆ XCSI_IER_VC3FLVLERR_SHIFT

#define XCSI_IER_VC3FLVLERR_SHIFT   6

#include <xcsi_hw.h>

Shift bits for Virtual Channel 3 Frame Level Error.

◆ XCSI_IER_VC3FSYNCERR_MASK

#define XCSI_IER_VC3FSYNCERR_MASK   0x00000080

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 3.

◆ XCSI_IER_VC3FSYNCERR_SHIFT

#define XCSI_IER_VC3FSYNCERR_SHIFT   7

#include <xcsi_hw.h>

Shift bits for Virtual Channel 3 Frame Synchronisation Error.

◆ XCSI_IER_VCXFE_MASK

#define XCSI_IER_VCXFE_MASK   0x40000000

#include <xcsi_hw.h>

VCX Frame Error.

◆ XCSI_IER_WC_MASK

#define XCSI_IER_WC_MASK   0x00400000

#include <xcsi_hw.h>

Word Count Corruption.

◆ XCSI_IER_WC_SHIFT

#define XCSI_IER_WC_SHIFT   22

#include <xcsi_hw.h>

Shift bits for Word count corruption.

◆ XCSI_ISR_ALLINTR_MASK

#define XCSI_ISR_ALLINTR_MASK   0xC07FFFFF

#include <xcsi_hw.h>

All interrupts mask.

◆ XCSI_ISR_CRCERR_MASK

#define XCSI_ISR_CRCERR_MASK   0x00000200

#include <xcsi_hw.h>

CRC Error.

◆ XCSI_ISR_CRCERR_SHIFT

#define XCSI_ISR_CRCERR_SHIFT   9

#include <xcsi_hw.h>

Shift bits for Packet CRC error.

◆ XCSI_ISR_DATAIDERR_MASK

#define XCSI_ISR_DATAIDERR_MASK   0x00000100

#include <xcsi_hw.h>

Unknown data ID packet Error.

◆ XCSI_ISR_DATAIDERR_SHIFT

#define XCSI_ISR_DATAIDERR_SHIFT   8

#include <xcsi_hw.h>

Shift bits for Unsupported Data ID error.

◆ XCSI_ISR_ECC1BERR_MASK

#define XCSI_ISR_ECC1BERR_MASK   0x00000400

#include <xcsi_hw.h>

ECC 1 bit Error.

◆ XCSI_ISR_ECC1BERR_SHIFT

#define XCSI_ISR_ECC1BERR_SHIFT   10

#include <xcsi_hw.h>

Shift bits for 1 bit ECC error.

◆ XCSI_ISR_ECC2BERR_MASK

#define XCSI_ISR_ECC2BERR_MASK   0x00000800

#include <xcsi_hw.h>

ECC 2 bit Error.

◆ XCSI_ISR_ECC2BERR_SHIFT

#define XCSI_ISR_ECC2BERR_SHIFT   11

#include <xcsi_hw.h>

Shift bits for 2 bit ECC error.

◆ XCSI_ISR_FR_MASK

#define XCSI_ISR_FR_MASK   0x80000000

#include <xcsi_hw.h>

Frame Received.

◆ XCSI_ISR_FR_SHIFT

#define XCSI_ISR_FR_SHIFT   31

#include <xcsi_hw.h>

Shift bits for Frame received interrupt.

◆ XCSI_ISR_ILC_MASK

#define XCSI_ISR_ILC_MASK   0x00200000

#include <xcsi_hw.h>

Incorrect Lanes Configured.

◆ XCSI_ISR_ILC_SHIFT

#define XCSI_ISR_ILC_SHIFT   21

#include <xcsi_hw.h>

Shift bits for Incorrect Lanes configured.

◆ XCSI_ISR_OFFSET

#define XCSI_ISR_OFFSET   0x00000024

#include <xcsi_hw.h>

Interrupt Status Register.

◆ XCSI_ISR_SLBF_MASK

#define XCSI_ISR_SLBF_MASK   0x00040000

#include <xcsi_hw.h>

Stream Line Buffer Full.

◆ XCSI_ISR_SLBF_SHIFT

#define XCSI_ISR_SLBF_SHIFT   18

#include <xcsi_hw.h>

Shift bits for Stream Line Buffer Full.

◆ XCSI_ISR_SOTERR_MASK

#define XCSI_ISR_SOTERR_MASK   0x00002000

#include <xcsi_hw.h>

SoT Error.

◆ XCSI_ISR_SOTERR_SHIFT

#define XCSI_ISR_SOTERR_SHIFT   13

#include <xcsi_hw.h>

Shift bits for Start of Transmission Error.

◆ XCSI_ISR_SOTSYNCERR_MASK

#define XCSI_ISR_SOTSYNCERR_MASK   0x00001000

#include <xcsi_hw.h>

SoT Sync Error.

◆ XCSI_ISR_SOTSYNCERR_SHIFT

#define XCSI_ISR_SOTSYNCERR_SHIFT   12

#include <xcsi_hw.h>

Shift bits for Start of Transmission Sync Error.

◆ XCSI_ISR_SPFIFOF_MASK

#define XCSI_ISR_SPFIFOF_MASK   0x00100000

#include <xcsi_hw.h>

Short Packet FIFO FULL.

◆ XCSI_ISR_SPFIFOF_SHIFT

#define XCSI_ISR_SPFIFOF_SHIFT   20

#include <xcsi_hw.h>

Shift bits for Short Packet FIFO Full.

◆ XCSI_ISR_SPFIFONE_MASK

#define XCSI_ISR_SPFIFONE_MASK   0x00080000

#include <xcsi_hw.h>

Short Packet FIFO Not Empty.

◆ XCSI_ISR_SPFIFONE_SHIFT

#define XCSI_ISR_SPFIFONE_SHIFT   19

#include <xcsi_hw.h>

Shift bits for Short Packet FIFO Not Empty.

◆ XCSI_ISR_STOP_MASK

#define XCSI_ISR_STOP_MASK   0x00020000

#include <xcsi_hw.h>

Detect Stop State.

◆ XCSI_ISR_STOP_SHIFT

#define XCSI_ISR_STOP_SHIFT   17

#include <xcsi_hw.h>

Shift bits for Stop State.

◆ XCSI_ISR_VC0FLVLERR_MASK

#define XCSI_ISR_VC0FLVLERR_MASK   0x00000001

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 0.

◆ XCSI_ISR_VC0FLVLERR_SHIFT

#define XCSI_ISR_VC0FLVLERR_SHIFT   0

#include <xcsi_hw.h>

Shift bits for Virtual Channel 0 Frame Level Error.

◆ XCSI_ISR_VC0FSYNCERR_MASK

#define XCSI_ISR_VC0FSYNCERR_MASK   0x00000002

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 0.

◆ XCSI_ISR_VC0FSYNCERR_SHIFT

#define XCSI_ISR_VC0FSYNCERR_SHIFT   1

#include <xcsi_hw.h>

Shift bits for Virtual Channel 0 Frame Synchronisation Error.

◆ XCSI_ISR_VC10FLVLERR_MASK

#define XCSI_ISR_VC10FLVLERR_MASK   0x00001000

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 10.

◆ XCSI_ISR_VC10FSYNCERR_MASK

#define XCSI_ISR_VC10FSYNCERR_MASK   0x00002000

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 10.

◆ XCSI_ISR_VC11FLVLERR_MASK

#define XCSI_ISR_VC11FLVLERR_MASK   0x00004000

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 11.

◆ XCSI_ISR_VC11FSYNCERR_MASK

#define XCSI_ISR_VC11FSYNCERR_MASK   0x00008000

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 11.

◆ XCSI_ISR_VC12FLVLERR_MASK

#define XCSI_ISR_VC12FLVLERR_MASK   0x00010000

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 12.

◆ XCSI_ISR_VC12FSYNCERR_MASK

#define XCSI_ISR_VC12FSYNCERR_MASK   0x00020000

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 12.

◆ XCSI_ISR_VC13FLVLERR_MASK

#define XCSI_ISR_VC13FLVLERR_MASK   0x00040000

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 13.

◆ XCSI_ISR_VC13FSYNCERR_MASK

#define XCSI_ISR_VC13FSYNCERR_MASK   0x00080000

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 13.

◆ XCSI_ISR_VC14FLVLERR_MASK

#define XCSI_ISR_VC14FLVLERR_MASK   0x00100000

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 14.

◆ XCSI_ISR_VC14FSYNCERR_MASK

#define XCSI_ISR_VC14FSYNCERR_MASK   0x00200000

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 14.

◆ XCSI_ISR_VC15FLVLERR_MASK

#define XCSI_ISR_VC15FLVLERR_MASK   0x00400000

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 15.

◆ XCSI_ISR_VC15FSYNCERR_MASK

#define XCSI_ISR_VC15FSYNCERR_MASK   0x00800000

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 15.

◆ XCSI_ISR_VC1FLVLERR_MASK

#define XCSI_ISR_VC1FLVLERR_MASK   0x00000004

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 1.

◆ XCSI_ISR_VC1FLVLERR_SHIFT

#define XCSI_ISR_VC1FLVLERR_SHIFT   2

#include <xcsi_hw.h>

Shift bits for Virtual Channel 1 Frame Level Error.

◆ XCSI_ISR_VC1FSYNCERR_MASK

#define XCSI_ISR_VC1FSYNCERR_MASK   0x00000008

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 1.

◆ XCSI_ISR_VC1FSYNCERR_SHIFT

#define XCSI_ISR_VC1FSYNCERR_SHIFT   3

#include <xcsi_hw.h>

Shift bits for Virtual Channel 1 Frame Synchronisation Error.

◆ XCSI_ISR_VC2FLVLERR_MASK

#define XCSI_ISR_VC2FLVLERR_MASK   0x00000010

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 2.

◆ XCSI_ISR_VC2FLVLERR_SHIFT

#define XCSI_ISR_VC2FLVLERR_SHIFT   4

#include <xcsi_hw.h>

Shift bits for Virtual Channel 2 Frame Level Error.

◆ XCSI_ISR_VC2FSYNCERR_MASK

#define XCSI_ISR_VC2FSYNCERR_MASK   0x00000020

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 2.

◆ XCSI_ISR_VC2FSYNCERR_SHIFT

#define XCSI_ISR_VC2FSYNCERR_SHIFT   5

#include <xcsi_hw.h>

Shift bits for Virtual Channel 2 Frame Synchronisation Error.

◆ XCSI_ISR_VC3FLVLERR_MASK

#define XCSI_ISR_VC3FLVLERR_MASK   0x00000040

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 3.

◆ XCSI_ISR_VC3FLVLERR_SHIFT

#define XCSI_ISR_VC3FLVLERR_SHIFT   6

#include <xcsi_hw.h>

Shift bits for Virtual Channel 3 Frame Level Error.

◆ XCSI_ISR_VC3FSYNCERR_MASK

#define XCSI_ISR_VC3FSYNCERR_MASK   0x00000080

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 3.

◆ XCSI_ISR_VC3FSYNCERR_SHIFT

#define XCSI_ISR_VC3FSYNCERR_SHIFT   7

#include <xcsi_hw.h>

Shift bits for Virtual Channel 3 Frame Synchronisation Error.

◆ XCSI_ISR_VC4FLVLERR_MASK

#define XCSI_ISR_VC4FLVLERR_MASK   0x00000001

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 4.

◆ XCSI_ISR_VC4FSYNCERR_MASK

#define XCSI_ISR_VC4FSYNCERR_MASK   0x00000002

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 4.

◆ XCSI_ISR_VC5FLVLERR_MASK

#define XCSI_ISR_VC5FLVLERR_MASK   0x00000004

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 5.

◆ XCSI_ISR_VC5FSYNCERR_MASK

#define XCSI_ISR_VC5FSYNCERR_MASK   0x00000008

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 5.

◆ XCSI_ISR_VC6FLVLERR_MASK

#define XCSI_ISR_VC6FLVLERR_MASK   0x00000010

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 6.

◆ XCSI_ISR_VC6FSYNCERR_MASK

#define XCSI_ISR_VC6FSYNCERR_MASK   0x00000020

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 6.

◆ XCSI_ISR_VC7FLVLERR_MASK

#define XCSI_ISR_VC7FLVLERR_MASK   0x00000040

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 7.

◆ XCSI_ISR_VC7FSYNCERR_MASK

#define XCSI_ISR_VC7FSYNCERR_MASK   0x00000080

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 7.

◆ XCSI_ISR_VC8FLVLERR_MASK

#define XCSI_ISR_VC8FLVLERR_MASK   0x00000100

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 8.

◆ XCSI_ISR_VC8FSYNCERR_MASK

#define XCSI_ISR_VC8FSYNCERR_MASK   0x00000200

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 8.

◆ XCSI_ISR_VC9FLVLERR_MASK

#define XCSI_ISR_VC9FLVLERR_MASK   0x00000400

#include <xcsi_hw.h>

Frame Level Error on Virtual Channel 9.

◆ XCSI_ISR_VC9FSYNCERR_MASK

#define XCSI_ISR_VC9FSYNCERR_MASK   0x00000800

#include <xcsi_hw.h>

Frame Sync Error on Virtual Channel 9.

◆ XCSI_ISR_VCXFE_MASK

#define XCSI_ISR_VCXFE_MASK   0x40000000

#include <xcsi_hw.h>

VCX Frame Error.

◆ XCSI_ISR_VCXFE_SHIFT

#define XCSI_ISR_VCXFE_SHIFT   30

#include <xcsi_hw.h>

Shift bits for VCx Frame Error interrupt.

◆ XCSI_ISR_WC_MASK

#define XCSI_ISR_WC_MASK   0x00400000

#include <xcsi_hw.h>

Word count corruption.

◆ XCSI_ISR_WC_SHIFT

#define XCSI_ISR_WC_SHIFT   22

#include <xcsi_hw.h>

Shift bits for Word Count corruption.

◆ XCSI_L0INFR_OFFSET

#define XCSI_L0INFR_OFFSET   0x00000040

#include <xcsi_hw.h>

Lane Information Registers.

Lane 0 Info Register

Referenced by XCsi_GetDataLaneInfo().

◆ XCSI_L1INFR_OFFSET

#define XCSI_L1INFR_OFFSET   0x00000044

#include <xcsi_hw.h>

Lane 1 Info Register.

Referenced by XCsi_GetDataLaneInfo().

◆ XCSI_L2INFR_OFFSET

#define XCSI_L2INFR_OFFSET   0x00000048

#include <xcsi_hw.h>

Lane 2 Info Register.

Referenced by XCsi_GetDataLaneInfo().

◆ XCSI_L3INFR_OFFSET

#define XCSI_L3INFR_OFFSET   0x0000004C

#include <xcsi_hw.h>

Lane 3 Info Register.

Referenced by XCsi_GetDataLaneInfo().

◆ XCSI_LXINFR_SOTERR_MASK

#define XCSI_LXINFR_SOTERR_MASK   0x00000002

#include <xcsi_hw.h>

Detection of ErrSoTHS.

◆ XCSI_LXINFR_SOTERR_SHIFT

#define XCSI_LXINFR_SOTERR_SHIFT   1

#include <xcsi_hw.h>

Bit Shift for Start of Transmission Error.

◆ XCSI_LXINFR_SOTSYNCERR_MASK

#define XCSI_LXINFR_SOTSYNCERR_MASK   0x00000001

#include <xcsi_hw.h>

Detection of ErrSoTSyncHS.

◆ XCSI_LXINFR_SOTSYNCERR_SHIFT

#define XCSI_LXINFR_SOTSYNCERR_SHIFT   0

#include <xcsi_hw.h>

Bit Shift for Start of Transmission Sync Error.

◆ XCSI_LXINFR_STOP_MASK

#define XCSI_LXINFR_STOP_MASK   0x00000020

#include <xcsi_hw.h>

Stop State on clock lane.

◆ XCSI_LXINFR_STOP_SHIFT

#define XCSI_LXINFR_STOP_SHIFT   5

#include <xcsi_hw.h>

Bit Shift for Data Lane Stop State.

◆ XCSI_MAX_LANES

#define XCSI_MAX_LANES   4

#include <xcsi.h>

Max Lanes supported by CSI.

◆ XCSI_MAX_VC

#define XCSI_MAX_VC   16

#include <xcsi.h>

Max Virtual Channels supported for CSI.

Referenced by XCsi_GetVCInfo().

◆ XCSI_PCR_ACTLANES_MASK

#define XCSI_PCR_ACTLANES_MASK   0x00000003

#include <xcsi_hw.h>

Active lanes in core.

◆ XCSI_PCR_ACTLANES_SHIFT

#define XCSI_PCR_ACTLANES_SHIFT   0

#include <xcsi_hw.h>

Shift bits for Active Lanes.

◆ XCSI_PCR_MAXLANES_MASK

#define XCSI_PCR_MAXLANES_MASK   0x00000018

#include <xcsi_hw.h>

Maximum lanes in core.

◆ XCSI_PCR_MAXLANES_SHIFT

#define XCSI_PCR_MAXLANES_SHIFT   3

#include <xcsi_hw.h>

Shift bits for Max Lanes.

◆ XCSI_PCR_OFFSET

#define XCSI_PCR_OFFSET   0x00000004

#include <xcsi_hw.h>

Protocol Configuration Register.

◆ XCSI_SPKTR_DATA_MASK

#define XCSI_SPKTR_DATA_MASK   0x00FFFF00

#include <xcsi_hw.h>

16 bit short packet data Received

◆ XCSI_SPKTR_DATA_SHIFT

#define XCSI_SPKTR_DATA_SHIFT   8

#include <xcsi_hw.h>

Shift bits for Short Packet Data.

◆ XCSI_SPKTR_DT_MASK

#define XCSI_SPKTR_DT_MASK   0x0000003F

#include <xcsi_hw.h>

Data Type.

◆ XCSI_SPKTR_DT_SHIFT

#define XCSI_SPKTR_DT_SHIFT   0

#include <xcsi_hw.h>

Bit Shift for Short Packet Data Type.

◆ XCSI_SPKTR_OFFSET

#define XCSI_SPKTR_OFFSET   0x00000030

#include <xcsi_hw.h>

Generic Short Packet Register.

◆ XCSI_SPKTR_VC_MASK

#define XCSI_SPKTR_VC_MASK   0x000000C0

#include <xcsi_hw.h>

Virtual channel number.

◆ XCSI_SPKTR_VC_SHIFT

#define XCSI_SPKTR_VC_SHIFT   6

#include <xcsi_hw.h>

Shift bits for Short Packet Virtual Channel Data.

◆ XCSI_V10_MAX_VC

#define XCSI_V10_MAX_VC   4

#include <xcsi.h>

Max Virtual Channels supported for v1.0.

◆ XCSI_V20_MAX_VC

#define XCSI_V20_MAX_VC   16

#include <xcsi.h>

Max Virtual Channels supported for v2.0.

◆ XCSI_VC0INF1R_OFFSET

#define XCSI_VC0INF1R_OFFSET   0x00000060

#include <xcsi_hw.h>

Image Information Register for each Virtual Channel.

Virtual Channel 0 Image Information 1 Register

Referenced by XCsi_GetVCInfo().

◆ XCSI_VC0INF2R_OFFSET

#define XCSI_VC0INF2R_OFFSET   0x00000064

#include <xcsi_hw.h>

Virtual Channel 0 Image Information 2 Register.

◆ XCSI_VC10INF1R_OFFSET

#define XCSI_VC10INF1R_OFFSET   0x000000B0

#include <xcsi_hw.h>

Virtual Channel 10 Image Information 1 Register.

◆ XCSI_VC10INF2R_OFFSET

#define XCSI_VC10INF2R_OFFSET   0x000000B4

#include <xcsi_hw.h>

Virtual Channel 10 Image Information 2 Register.

◆ XCSI_VC11INF1R_OFFSET

#define XCSI_VC11INF1R_OFFSET   0x000000B8

#include <xcsi_hw.h>

Virtual Channel 11 Image Information 1 Register.

◆ XCSI_VC11INF2R_OFFSET

#define XCSI_VC11INF2R_OFFSET   0x000000BC

#include <xcsi_hw.h>

Virtual Channel 11 Image Information 2 Register.

◆ XCSI_VC12INF1R_OFFSET

#define XCSI_VC12INF1R_OFFSET   0x000000C0

#include <xcsi_hw.h>

Virtual Channel 12 Image Information 1 Register.

◆ XCSI_VC12INF2R_OFFSET

#define XCSI_VC12INF2R_OFFSET   0x000000C4

#include <xcsi_hw.h>

Virtual Channel 12 Image Information 2 Register.

◆ XCSI_VC13INF1R_OFFSET

#define XCSI_VC13INF1R_OFFSET   0x000000C8

#include <xcsi_hw.h>

Virtual Channel 13 Image Information 1 Register.

◆ XCSI_VC13INF2R_OFFSET

#define XCSI_VC13INF2R_OFFSET   0x000000CC

#include <xcsi_hw.h>

Virtual Channel 13 Image Information 2 Register.

◆ XCSI_VC14INF1R_OFFSET

#define XCSI_VC14INF1R_OFFSET   0x000000D0

#include <xcsi_hw.h>

Virtual Channel 14 Image Information 1 Register.

◆ XCSI_VC14INF2R_OFFSET

#define XCSI_VC14INF2R_OFFSET   0x000000D4

#include <xcsi_hw.h>

Virtual Channel 14 Image Information 2 Register.

◆ XCSI_VC15INF1R_OFFSET

#define XCSI_VC15INF1R_OFFSET   0x000000D8

#include <xcsi_hw.h>

Virtual Channel 15 Image Information 1 Register.

◆ XCSI_VC15INF2R_OFFSET

#define XCSI_VC15INF2R_OFFSET   0x000000DC

#include <xcsi_hw.h>

Virtual Channel 15 Image Information 2 Register.

◆ XCSI_VC1INF1R_OFFSET

#define XCSI_VC1INF1R_OFFSET   0x00000068

#include <xcsi_hw.h>

Virtual Channel 1 Image Information 1 Register.

Referenced by XCsi_GetVCInfo().

◆ XCSI_VC1INF2R_OFFSET

#define XCSI_VC1INF2R_OFFSET   0x0000006C

#include <xcsi_hw.h>

Virtual Channel 1 Image Information 2 Register.

◆ XCSI_VC2INF1R_OFFSET

#define XCSI_VC2INF1R_OFFSET   0x00000070

#include <xcsi_hw.h>

Virtual Channel 2 Image Information 1 Register.

◆ XCSI_VC2INF2R_OFFSET

#define XCSI_VC2INF2R_OFFSET   0x00000074

#include <xcsi_hw.h>

Virtual Channel 2 Image Information 2 Register.

◆ XCSI_VC3INF1R_OFFSET

#define XCSI_VC3INF1R_OFFSET   0x00000078

#include <xcsi_hw.h>

Virtual Channel 3 Image Information 1 Register.

◆ XCSI_VC3INF2R_OFFSET

#define XCSI_VC3INF2R_OFFSET   0x0000007C

#include <xcsi_hw.h>

Virtual Channel 3 Image Information 2 Register.

◆ XCSI_VC4INF1R_OFFSET

#define XCSI_VC4INF1R_OFFSET   0x00000080

#include <xcsi_hw.h>

Virtual Channel 4 Image Information 1 Register.

◆ XCSI_VC4INF2R_OFFSET

#define XCSI_VC4INF2R_OFFSET   0x00000084

#include <xcsi_hw.h>

Virtual Channel 4 Image Information 2 Register.

◆ XCSI_VC5INF1R_OFFSET

#define XCSI_VC5INF1R_OFFSET   0x00000088

#include <xcsi_hw.h>

Virtual Channel 5 Image Information 1 Register.

◆ XCSI_VC5INF2R_OFFSET

#define XCSI_VC5INF2R_OFFSET   0x0000008C

#include <xcsi_hw.h>

Virtual Channel 5 Image Information 2 Register.

◆ XCSI_VC6INF1R_OFFSET

#define XCSI_VC6INF1R_OFFSET   0x00000090

#include <xcsi_hw.h>

Virtual Channel 6 Image Information 1 Register.

◆ XCSI_VC6INF2R_OFFSET

#define XCSI_VC6INF2R_OFFSET   0x00000094

#include <xcsi_hw.h>

Virtual Channel 6 Image Information 2 Register.

◆ XCSI_VC7INF1R_OFFSET

#define XCSI_VC7INF1R_OFFSET   0x00000098

#include <xcsi_hw.h>

Virtual Channel 7 Image Information 1 Register.

◆ XCSI_VC7INF2R_OFFSET

#define XCSI_VC7INF2R_OFFSET   0x0000009C

#include <xcsi_hw.h>

Virtual Channel 7 Image Information 2 Register.

◆ XCSI_VC8INF1R_OFFSET

#define XCSI_VC8INF1R_OFFSET   0x000000A0

#include <xcsi_hw.h>

Virtual Channel 8 Image Information 1 Register.

◆ XCSI_VC8INF2R_OFFSET

#define XCSI_VC8INF2R_OFFSET   0x000000A4

#include <xcsi_hw.h>

Virtual Channel 8 Image Information 2 Register.

◆ XCSI_VC9INF1R_OFFSET

#define XCSI_VC9INF1R_OFFSET   0x000000A8

#include <xcsi_hw.h>

Virtual Channel 9 Image Information 1 Register.

◆ XCSI_VC9INF2R_OFFSET

#define XCSI_VC9INF2R_OFFSET   0x000000AC

#include <xcsi_hw.h>

Virtual Channel 9 Image Information 2 Register.

◆ XCSI_VCX_FE_OFFSET

#define XCSI_VCX_FE_OFFSET   0x00000034

#include <xcsi_hw.h>

VCx Frame Error Register.

◆ XCSI_VCXINF1R_BYTECOUNT_MASK

#define XCSI_VCXINF1R_BYTECOUNT_MASK   0x0000FFFF

#include <xcsi_hw.h>

Byte count of current packet in process.

◆ XCSI_VCXINF1R_BYTECOUNT_SHIFT

#define XCSI_VCXINF1R_BYTECOUNT_SHIFT   0

#include <xcsi_hw.h>

Shift bits for Virtual Channel Byte Count bits.

◆ XCSI_VCXINF1R_LINECOUNT_MASK

#define XCSI_VCXINF1R_LINECOUNT_MASK   0xFFFF0000

#include <xcsi_hw.h>

Number of long packets written into line buffer.

◆ XCSI_VCXINF1R_LINECOUNT_SHIFT

#define XCSI_VCXINF1R_LINECOUNT_SHIFT   16

#include <xcsi_hw.h>

Shift bits for Virtual Channel Line Count bits.

◆ XCSI_VCXINF2R_DATATYPE_MASK

#define XCSI_VCXINF2R_DATATYPE_MASK   0x0000003F

#include <xcsi_hw.h>

Data type of current packet.

◆ XCSI_VCXINF2R_DATATYPE_SHIFT

#define XCSI_VCXINF2R_DATATYPE_SHIFT   0

#include <xcsi_hw.h>

Bit Shift for Virtual Channel Data Type.

Typedef Documentation

◆ XCsi_CallBack

typedef void(* XCsi_CallBack) (void *CallBackRef, u32 Mask)

#include <xcsi.h>

Callback type for all interrupts defined.

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 XCSI_ISR_*_MASK constants defined in xcsi_hw.h.
Returns
None.
Note
None.

Function Documentation

◆ XCsi_Activate()

u32 XCsi_Activate ( XCsi InstancePtr,
u8  Flag 
)

#include <xcsi.c>

Thsi function will enable/disable the IP Core to start processing.

Parameters
InstancePtris the XCsi instance to operate on.
Flagwill be used to indicate Enable or Disable action
Returns
  • XST_SUCCESS on successful core enable or disable
  • XST_FAILURE if core disable times out.
Note
None.

◆ XCsi_CfgInitialize()

u32 XCsi_CfgInitialize ( XCsi InstancePtr,
XCsi_Config CfgPtr,
UINTPTR  EffectiveAddr 
)

#include <xcsi.c>

Initialize the XCsi instance provided by the caller based on the given Config structure.

Parameters
InstancePtris the XCsi instance to operate on.
CfgPtris the device configuration structure containing information about a specific CSI.
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 Initialization was successful.
Note
None.

References XCsi_Config::BaseAddr, XCsi::Config, and XCsi::ShortPacketCallBack.

Referenced by CsiSelfTestExample().

◆ XCsi_Configure()

u32 XCsi_Configure ( XCsi InstancePtr)

#include <xcsi.c>

This function will configure the core with proper number of Active Lanes.

Parameters
InstancePtris the XCsi instance to operate on.
Returns
  • XST_SUCCESS On configuring the core.
  • XST_FAILURE if active lanes not set correctly
Note
None.

◆ XCsi_GetClkLaneInfo()

void XCsi_GetClkLaneInfo ( XCsi InstancePtr,
XCsi_ClkLaneInfo ClkLane 
)

#include <xcsi.c>

This function will get the information about the state of the Clock Lane.

Parameters
InstancePtris the XCsi instance to operate on
ClkLaneis going to be filled up by this function and returned to the caller.
Returns
None

◆ XCsi_GetDataLaneInfo()

void XCsi_GetDataLaneInfo ( XCsi InstancePtr,
u8  Lane,
XCsi_DataLaneInfo DataLane 
)

#include <xcsi.c>

This function will get the information about the state of a Data Lane.

Parameters
InstancePtris the XCsi instance to operate on
Laneis the Lane number whose information is requested
DataLaneis going to be filled up by this function and returned to the caller.
Returns
None

References XCSI_L0INFR_OFFSET, XCSI_L1INFR_OFFSET, XCSI_L2INFR_OFFSET, and XCSI_L3INFR_OFFSET.

◆ XCsi_GetIntrEnable()

u32 XCsi_GetIntrEnable ( XCsi InstancePtr)

#include <xcsi.h>

This function will get the interrupt mask set (enabled) in the CSI2 Rx core.

Parameters
InstancePtris the XCsi instance to operate on
Returns
Interrupt Mask with bits set for corresponding interrupt in Interrupt enable register
Note
None

◆ XCsi_GetIntrStatus()

u32 XCsi_GetIntrStatus ( XCsi InstancePtr)

#include <xcsi.h>

This function will get the list of interrupts pending in the Interrupt Status Register of the CSI2 Rx core.

Parameters
InstancePtris the XCsi instance to operate on
Returns
Interrupt Mask with bits set for corresponding interrupt in Interrupt Status register
Note
None

Referenced by XCsi_IntrHandler().

◆ XCsi_GetShortPacket()

void XCsi_GetShortPacket ( XCsi InstancePtr,
XCsi_SPktData ShortPacketStruct 
)

#include <xcsi.c>

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.

Parameters
InstancePtris the XCsi instance to operate on
ShortPacketStructis going to be filled up by this function and returned to the caller.
Returns
None

◆ XCsi_GetVCInfo()

void XCsi_GetVCInfo ( XCsi InstancePtr,
u8  Vc,
XCsi_VCInfo VCInfo 
)

#include <xcsi.c>

This function will get the line count, byte count and data type information about a Virtual Channel.

Parameters
InstancePtris the XCsi instance to operate on
Vcis the Virtual Channel number whose information is requested
VCInfois going to be filled up by this function and returned to the caller.
Returns
None

References XCSI_MAX_VC, XCSI_VC0INF1R_OFFSET, and XCSI_VC1INF1R_OFFSET.

◆ XCsi_InterruptClear()

void XCsi_InterruptClear ( XCsi InstancePtr,
u32  Mask 
)

#include <xcsi.h>

This function will clear the interrupts set in the Interrupt Status Register of the CSI2 Rx core.

Parameters
InstancePtris the XCsi instance to operate on
Maskis Interrupt Mask with bits set for corresponding interrupt to be cleared in the Interrupt Status register
Returns
None
Note
None

References XCSI_IER_ALLINTR_MASK.

◆ XCsi_IntrDisable()

void XCsi_IntrDisable ( XCsi InstancePtr,
u32  Mask 
)

#include <xcsi.h>

This function will disable the interrupts present in the interrupt mask passed onto the function.

Parameters
InstancePtris the XCsi instance to operate on
Maskis the interrupt mask which need to be enabled in core
Returns
None
Note
None

References XCSI_IER_ALLINTR_MASK.

◆ XCsi_IntrEnable()

void XCsi_IntrEnable ( XCsi InstancePtr,
u32  Mask 
)

#include <xcsi.h>

This function will enable the interrupts present in the interrupt mask passed onto the function.

Parameters
InstancePtris the XCsi instance to operate on
Maskis the interrupt mask which need to be enabled in core
Returns
None
Note
None

References XCSI_IER_ALLINTR_MASK.

◆ XCsi_IntrHandler()

void XCsi_IntrHandler ( void *  InstancePtr)

#include <xcsi.h>

This function is the interrupt handler for the CSI2 Rx core.

This handler reads the pending interrupt from the Interrupt Status register, determines the source of the interrupts and calls the respective callbacks for the interrupts that are enabled in Interrupt Enable register, and finally clears the interrupts.

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

Parameters
InstancePtris a pointer to the XCsi core instance.
Returns
None.
Note
Interrupt should be enabled to execute interrupt handler.

References XCsi::IsReady, and XCsi_GetIntrStatus().

◆ XCsi_IsActiveLaneCountValid()

u8 XCsi_IsActiveLaneCountValid ( XCsi InstancePtr,
u8  ActiveLanesCount 
)

#include <xcsi.c>

This function checks the validity of the active lanes parameter.

Parameters
InstancePtris a pointer to the Subsystem instance to be worked on.
ActiveLanesCountis the lane count to check if valid.
Returns
  • 1 if specified Active Lanes is valid.
  • 0 otherwise, if the Active Lanes specified isn't valid as per spec and design.
Note
None.

References XCsi::Config, XCsi_Config::FixedLanes, and XCsi_Config::MaxLanesPresent.

◆ XCsi_LookupConfig()

XCsi_Config * XCsi_LookupConfig ( u32  DeviceId)

#include <xcsi.h>

Look up the hardware configuration for a device instance.

Parameters
DeviceIdis the unique device ID of the device to lookup for
Returns
The reference to the configuration record in the configuration table (in xcsi_g.c) corresponding to the Device ID or if not found,a NULL pointer is returned.
Note
None

Referenced by CsiSelfTestExample().

◆ XCsi_Reset()

u32 XCsi_Reset ( XCsi InstancePtr)

#include <xcsi.c>

This function will do a reset of the IP.

This will reset the values of all regiters except Core Config and Protocol Config registers.

Parameters
InstancePtris the XCsi instance to operate on.
Returns
  • XST_SUCCESS On proper reset.
  • XST_FAILURE on timeout and core being stuck in reset
Note
None.

◆ XCsi_SelfTest()

u32 XCsi_SelfTest ( XCsi InstancePtr)

#include <xcsi.h>

Runs a self-test on the driver/device.

This test checks if the LaneCount present in register matches the one from the generated file.

Parameters
InstancePtris a pointer to the XCsi instance.
Returns
  • XST_SUCCESS if self-test was successful
  • XST_FAILURE if the read value was not equal to _g.c file
Note
None

References XCsi::IsReady.

Referenced by CsiSelfTestExample().

◆ XCsi_SetCallBack()

int XCsi_SetCallBack ( XCsi InstancePtr,
u32  HandleType,
void *  Callbackfunc,
void *  Callbackref 
)

#include <xcsi.h>

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

HandlerType                     Callback Function Type
----------------------------  --------------------------------------------
(XCSI_HANDLER_DPHY)             DPhyLvlErrCallBack
(XCSI_HANDLER_PROTLVL)  ProtDecodeErrCallBack
(XCSI_HANDLER_PKTLVL)           PktLvlErrCallBack
(XCSI_HANDLER_SHORTPACKET)      ShortPacketCallBack
(XCSI_HANDLER_FRAMERECVD)       FrameRecvdCallBack
(XCSI_HANDLER_VCXERR)           VCXErrCallBack
(XCSI_HANDLER_OTHERERROR)       ErrorCallBack
Parameters
InstancePtris the XCsi instance to operate on
HandleTypeis 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 XCsi::IsReady.