![]() |
csi
Xilinx SDK Drivers API Documentation
|
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_MAX_VC 4 |
Max Virtual Channels supported by 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_Config * | XCsi_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... | |
Device registers | |
#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_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... | |
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 | |
#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 | |
#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 | |
#define | XCSI_ISR_FR_MASK 0x80000000 |
Frame Received. 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 0x807FFFFF |
All interrupts mask. More... | |
#define | XCSI_ISR_FR_SHIFT 31 |
Shift bits for Frame received 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_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_ERR_MASK |
Bitmasks and offsets of XCSI_IER_OFFSET register | |
#define | XCSI_IER_FR_MASK 0x80000000 |
Frame Received. 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 0x807FFFFF |
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... | |
#define XCSI_CCR_COREENB_MASK 0x00000001 |
#include <xcsi_hw.h>
Enable/Disable core.
#define XCSI_CCR_COREENB_SHIFT 0 |
#include <xcsi_hw.h>
Shift bits for Core Enable.
#define XCSI_CCR_OFFSET 0x00000000 |
#include <xcsi_hw.h>
Core Configuration Register.
#define XCSI_CCR_SOFTRESET_MASK 0x00000002 |
#include <xcsi_hw.h>
Soft Reset the core.
#define XCSI_CCR_SOFTRESET_SHIFT 1 |
#include <xcsi_hw.h>
Shift bits for Soft reset.
#define XCSI_CLKINFR_OFFSET 0x0000003C |
#include <xcsi_hw.h>
Clock Lane Info Register.
#define XCSI_CLKINFR_STOP_MASK 0x00000002 |
#include <xcsi_hw.h>
Stop State on clock lane.
#define XCSI_CLKINFR_STOP_SHIFT 1 |
#include <xcsi_hw.h>
Shift bits for Clock Lane Stop bit.
#define XCSI_CSR_OFFSET 0x00000010 |
#include <xcsi_hw.h>
Core Status Register.
#define XCSI_CSR_PKTCOUNT_MASK 0xFFFF0000 |
#include <xcsi_hw.h>
16-bit Packet Counter
#define XCSI_CSR_PKTCOUNT_SHIFT 16 |
#include <xcsi_hw.h>
Shift bits for Packet Counter.
#define XCSI_CSR_RIPCD_MASK 0x00000001 |
#include <xcsi_hw.h>
Reset in Progress OR Core Disabled.
#define XCSI_CSR_RIPCD_SHIFT 0 |
#include <xcsi_hw.h>
Bit Shift for Reset in Progress.
#define XCSI_CSR_SLBF_MASK 0x00000002 |
#include <xcsi_hw.h>
Stream Line Buffer Full.
#define XCSI_CSR_SLBF_SHIFT 1 |
#include <xcsi_hw.h>
Shift bits for Stream Line Buffer Full.
#define XCSI_CSR_SPFIFOFULL_MASK 0x00000008 |
#include <xcsi_hw.h>
Short Packet FIFO Full.
#define XCSI_CSR_SPFIFOFULL_SHIFT 3 |
#include <xcsi_hw.h>
Shift bits for Short Packet FIFO Full.
#define XCSI_CSR_SPFIFONE_MASK 0x00000004 |
#include <xcsi_hw.h>
Short Packet FIFO Not Empty.
#define XCSI_CSR_SPFIFONE_SHIFT 2 |
#include <xcsi_hw.h>
Shift bits for Short Packet Not Empty.
#define XCSI_DISABLE 0 |
#include <xcsi.h>
Flag denoting disabling of CSI.
#define XCSI_ENABLE 1 |
#include <xcsi.h>
Flag denoting enabling of CSI.
#define XCSI_GIER_GIE_MASK 0x00000001 |
#include <xcsi_hw.h>
Global Interrupt Enable bit.
#define XCSI_GIER_GIE_SHIFT 0 |
#include <xcsi_hw.h>
Shift bits for Global Interrupt Enable.
#define XCSI_GIER_OFFSET 0x00000020 |
#include <xcsi_hw.h>
Global Interrupt Register.
#define XCSI_GIER_RESET 0 |
#include <xcsi_hw.h>
Disable the Global Interrupts.
#define XCSI_GIER_SET 1 |
#include <xcsi_hw.h>
Enable the Global Interrupts.
#define XCSI_H_ |
#include <xcsi.h>
Prevent circular inclusions by using protection macros.
#define XCSI_HW_H_ |
#include <xcsi_hw.h>
Prevent circular inclusions by using protection macros.
#define XCSI_IER_ALLINTR_MASK 0x807FFFFF |
#include <xcsi_hw.h>
All interrupts mask.
Referenced by XCsi_InterruptClear(), XCsi_IntrDisable(), and XCsi_IntrEnable().
#define XCSI_IER_CRCERR_MASK 0x00000200 |
#include <xcsi_hw.h>
CRC Error.
#define XCSI_IER_CRCERR_SHIFT 9 |
#include <xcsi_hw.h>
Shift bits for Packet CRC error.
#define XCSI_IER_DATAIDERR_MASK 0x00000100 |
#include <xcsi_hw.h>
Unknown data ID packet Error.
#define XCSI_IER_DATAIDERR_SHIFT 8 |
#include <xcsi_hw.h>
Shift bits for Unsupported Data ID error.
#define XCSI_IER_ECC1BERR_MASK 0x00000400 |
#include <xcsi_hw.h>
ECC 1 bit Error.
#define XCSI_IER_ECC1BERR_SHIFT 10 |
#include <xcsi_hw.h>
Shift bits for 1 bit ECC error.
#define XCSI_IER_ECC2BERR_MASK 0x00000800 |
#include <xcsi_hw.h>
ECC 2 bit Error.
#define XCSI_IER_ECC2BERR_SHIFT 11 |
#include <xcsi_hw.h>
Shift bits for 2 bit ECC error.
#define XCSI_IER_FR_MASK 0x80000000 |
#include <xcsi_hw.h>
Frame Received.
#define XCSI_IER_FR_SHIFT 31 |
#include <xcsi_hw.h>
Shift bits for Frame received interrupt.
#define XCSI_IER_ILC_MASK 0x00200000 |
#include <xcsi_hw.h>
Incorrect Lanes Configured.
#define XCSI_IER_ILC_SHIFT 21 |
#include <xcsi_hw.h>
Shift bits for Incorrect Lanes configured.
#define XCSI_IER_OFFSET 0x00000028 |
#include <xcsi_hw.h>
Interrupt Enable Register.
#define XCSI_IER_SLBF_MASK 0x00040000 |
#include <xcsi_hw.h>
Stream Line Buffer Full.
#define XCSI_IER_SLBF_SHIFT 18 |
#include <xcsi_hw.h>
Shift bits for Stream Line Buffer Full.
#define XCSI_IER_SOTERR_MASK 0x00002000 |
#include <xcsi_hw.h>
SoT Error.
#define XCSI_IER_SOTERR_SHIFT 13 |
#include <xcsi_hw.h>
Shift bits for Start of Transmission Error.
#define XCSI_IER_SOTSYNCERR_MASK 0x00001000 |
#include <xcsi_hw.h>
SoT Sync Error.
#define XCSI_IER_SOTSYNCERR_SHIFT 12 |
#include <xcsi_hw.h>
Shift bits for Start of Transmission Sync Error.
#define XCSI_IER_SPFIFOF_MASK 0x00100000 |
#include <xcsi_hw.h>
Short Packet FIFO FULL.
#define XCSI_IER_SPFIFOF_SHIFT 20 |
#include <xcsi_hw.h>
Shift bits for Short Packet FIFO Full.
#define XCSI_IER_SPFIFONE_MASK 0x00080000 |
#include <xcsi_hw.h>
Short Packet FIFO Not Empty.
#define XCSI_IER_SPFIFONE_SHIFT 19 |
#include <xcsi_hw.h>
Shift bits for Short Packet FIFO Not Empty.
#define XCSI_IER_STOP_MASK 0x00020000 |
#include <xcsi_hw.h>
Detect Stop State.
#define XCSI_IER_STOP_SHIFT 17 |
#include <xcsi_hw.h>
Shift bits for Stop State.
#define XCSI_IER_VC0FLVLERR_MASK 0x00000001 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 0.
#define XCSI_IER_VC0FLVLERR_SHIFT 0 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 0 Frame Level Error.
#define XCSI_IER_VC0FSYNCERR_MASK 0x00000002 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 0.
#define XCSI_IER_VC0FSYNCERR_SHIFT 1 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 0 Frame Synchronisation Error.
#define XCSI_IER_VC1FLVLERR_MASK 0x00000004 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 1.
#define XCSI_IER_VC1FLVLERR_SHIFT 2 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 1 Frame Level Error.
#define XCSI_IER_VC1FSYNCERR_MASK 0x00000008 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 1.
#define XCSI_IER_VC1FSYNCERR_SHIFT 3 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 1 Frame Synchronisation Error.
#define XCSI_IER_VC2FLVLERR_MASK 0x00000010 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 2.
#define XCSI_IER_VC2FLVLERR_SHIFT 4 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 2 Frame Level Error.
#define XCSI_IER_VC2FSYNCERR_MASK 0x00000020 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 2.
#define XCSI_IER_VC2FSYNCERR_SHIFT 5 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 2 Frame Synchronisation Error.
#define XCSI_IER_VC3FLVLERR_MASK 0x00000040 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 3.
#define XCSI_IER_VC3FLVLERR_SHIFT 6 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 3 Frame Level Error.
#define XCSI_IER_VC3FSYNCERR_MASK 0x00000080 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 3.
#define XCSI_IER_VC3FSYNCERR_SHIFT 7 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 3 Frame Synchronisation Error.
#define XCSI_IER_WC_MASK 0x00400000 |
#include <xcsi_hw.h>
Word Count Corruption.
#define XCSI_IER_WC_SHIFT 22 |
#include <xcsi_hw.h>
Shift bits for Word count corruption.
#define XCSI_ISR_ALLINTR_MASK 0x807FFFFF |
#include <xcsi_hw.h>
All interrupts mask.
#define XCSI_ISR_CRCERR_MASK 0x00000200 |
#include <xcsi_hw.h>
CRC Error.
#define XCSI_ISR_CRCERR_SHIFT 9 |
#include <xcsi_hw.h>
Shift bits for Packet CRC error.
#define XCSI_ISR_DATAIDERR_MASK 0x00000100 |
#include <xcsi_hw.h>
Unknown data ID packet Error.
#define XCSI_ISR_DATAIDERR_SHIFT 8 |
#include <xcsi_hw.h>
Shift bits for Unsupported Data ID error.
#define XCSI_ISR_ECC1BERR_MASK 0x00000400 |
#include <xcsi_hw.h>
ECC 1 bit Error.
#define XCSI_ISR_ECC1BERR_SHIFT 10 |
#include <xcsi_hw.h>
Shift bits for 1 bit ECC error.
#define XCSI_ISR_ECC2BERR_MASK 0x00000800 |
#include <xcsi_hw.h>
ECC 2 bit Error.
#define XCSI_ISR_ECC2BERR_SHIFT 11 |
#include <xcsi_hw.h>
Shift bits for 2 bit ECC error.
#define XCSI_ISR_FR_MASK 0x80000000 |
#include <xcsi_hw.h>
Frame Received.
#define XCSI_ISR_FR_SHIFT 31 |
#include <xcsi_hw.h>
Shift bits for Frame received interrupt.
#define XCSI_ISR_ILC_MASK 0x00200000 |
#include <xcsi_hw.h>
Incorrect Lanes Configured.
#define XCSI_ISR_ILC_SHIFT 21 |
#include <xcsi_hw.h>
Shift bits for Incorrect Lanes configured.
#define XCSI_ISR_OFFSET 0x00000024 |
#include <xcsi_hw.h>
Interrupt Status Register.
#define XCSI_ISR_SLBF_MASK 0x00040000 |
#include <xcsi_hw.h>
Stream Line Buffer Full.
#define XCSI_ISR_SLBF_SHIFT 18 |
#include <xcsi_hw.h>
Shift bits for Stream Line Buffer Full.
#define XCSI_ISR_SOTERR_MASK 0x00002000 |
#include <xcsi_hw.h>
SoT Error.
#define XCSI_ISR_SOTERR_SHIFT 13 |
#include <xcsi_hw.h>
Shift bits for Start of Transmission Error.
#define XCSI_ISR_SOTSYNCERR_MASK 0x00001000 |
#include <xcsi_hw.h>
SoT Sync Error.
#define XCSI_ISR_SOTSYNCERR_SHIFT 12 |
#include <xcsi_hw.h>
Shift bits for Start of Transmission Sync Error.
#define XCSI_ISR_SPFIFOF_MASK 0x00100000 |
#include <xcsi_hw.h>
Short Packet FIFO FULL.
#define XCSI_ISR_SPFIFOF_SHIFT 20 |
#include <xcsi_hw.h>
Shift bits for Short Packet FIFO Full.
#define XCSI_ISR_SPFIFONE_MASK 0x00080000 |
#include <xcsi_hw.h>
Short Packet FIFO Not Empty.
#define XCSI_ISR_SPFIFONE_SHIFT 19 |
#include <xcsi_hw.h>
Shift bits for Short Packet FIFO Not Empty.
#define XCSI_ISR_STOP_MASK 0x00020000 |
#include <xcsi_hw.h>
Detect Stop State.
#define XCSI_ISR_STOP_SHIFT 17 |
#include <xcsi_hw.h>
Shift bits for Stop State.
#define XCSI_ISR_VC0FLVLERR_MASK 0x00000001 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 0.
#define XCSI_ISR_VC0FLVLERR_SHIFT 0 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 0 Frame Level Error.
#define XCSI_ISR_VC0FSYNCERR_MASK 0x00000002 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 0.
#define XCSI_ISR_VC0FSYNCERR_SHIFT 1 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 0 Frame Synchronisation Error.
#define XCSI_ISR_VC1FLVLERR_MASK 0x00000004 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 1.
#define XCSI_ISR_VC1FLVLERR_SHIFT 2 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 1 Frame Level Error.
#define XCSI_ISR_VC1FSYNCERR_MASK 0x00000008 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 1.
#define XCSI_ISR_VC1FSYNCERR_SHIFT 3 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 1 Frame Synchronisation Error.
#define XCSI_ISR_VC2FLVLERR_MASK 0x00000010 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 2.
#define XCSI_ISR_VC2FLVLERR_SHIFT 4 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 2 Frame Level Error.
#define XCSI_ISR_VC2FSYNCERR_MASK 0x00000020 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 2.
#define XCSI_ISR_VC2FSYNCERR_SHIFT 5 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 2 Frame Synchronisation Error.
#define XCSI_ISR_VC3FLVLERR_MASK 0x00000040 |
#include <xcsi_hw.h>
Frame Level Error on Virtual Channel 3.
#define XCSI_ISR_VC3FLVLERR_SHIFT 6 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 3 Frame Level Error.
#define XCSI_ISR_VC3FSYNCERR_MASK 0x00000080 |
#include <xcsi_hw.h>
Frame Sync Error on Virtual Channel 3.
#define XCSI_ISR_VC3FSYNCERR_SHIFT 7 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel 3 Frame Synchronisation Error.
#define XCSI_ISR_WC_MASK 0x00400000 |
#include <xcsi_hw.h>
Word count corruption.
#define XCSI_ISR_WC_SHIFT 22 |
#include <xcsi_hw.h>
Shift bits for Word Count corruption.
#define XCSI_L0INFR_OFFSET 0x00000040 |
#include <xcsi_hw.h>
Lane Information Registers.
Lane 0 Info Register
Referenced by XCsi_GetDataLaneInfo().
#define XCSI_L1INFR_OFFSET 0x00000044 |
#define XCSI_L2INFR_OFFSET 0x00000048 |
#define XCSI_L3INFR_OFFSET 0x0000004C |
#define XCSI_LXINFR_SOTERR_MASK 0x00000002 |
#include <xcsi_hw.h>
Detection of ErrSoTHS.
#define XCSI_LXINFR_SOTERR_SHIFT 1 |
#include <xcsi_hw.h>
Bit Shift for Start of Transmission Error.
#define XCSI_LXINFR_SOTSYNCERR_MASK 0x00000001 |
#include <xcsi_hw.h>
Detection of ErrSoTSyncHS.
#define XCSI_LXINFR_SOTSYNCERR_SHIFT 0 |
#include <xcsi_hw.h>
Bit Shift for Start of Transmission Sync Error.
#define XCSI_LXINFR_STOP_MASK 0x00000020 |
#include <xcsi_hw.h>
Stop State on clock lane.
#define XCSI_LXINFR_STOP_SHIFT 5 |
#include <xcsi_hw.h>
Bit Shift for Data Lane Stop State.
#define XCSI_MAX_LANES 4 |
#include <xcsi.h>
Max Lanes supported by CSI.
#define XCSI_MAX_VC 4 |
#define XCSI_PCR_ACTLANES_MASK 0x00000003 |
#include <xcsi_hw.h>
Active lanes in core.
#define XCSI_PCR_ACTLANES_SHIFT 0 |
#include <xcsi_hw.h>
Shift bits for Active Lanes.
#define XCSI_PCR_MAXLANES_MASK 0x00000018 |
#include <xcsi_hw.h>
Maximum lanes in core.
#define XCSI_PCR_MAXLANES_SHIFT 3 |
#include <xcsi_hw.h>
Shift bits for Max Lanes.
#define XCSI_PCR_OFFSET 0x00000004 |
#include <xcsi_hw.h>
Protocol Configuration Register.
#define XCSI_SPKTR_DATA_MASK 0x00FFFF00 |
#include <xcsi_hw.h>
16 bit short packet data Received
#define XCSI_SPKTR_DATA_SHIFT 8 |
#include <xcsi_hw.h>
Shift bits for Short Packet Data.
#define XCSI_SPKTR_DT_MASK 0x0000003F |
#include <xcsi_hw.h>
Data Type.
#define XCSI_SPKTR_DT_SHIFT 0 |
#include <xcsi_hw.h>
Bit Shift for Short Packet Data Type.
#define XCSI_SPKTR_OFFSET 0x00000030 |
#include <xcsi_hw.h>
Generic Short Packet Register.
#define XCSI_SPKTR_VC_MASK 0x000000C0 |
#include <xcsi_hw.h>
Virtual channel number.
#define XCSI_SPKTR_VC_SHIFT 6 |
#include <xcsi_hw.h>
Shift bits for Short Packet Virtual Channel Data.
#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().
#define XCSI_VC0INF2R_OFFSET 0x00000064 |
#include <xcsi_hw.h>
Virtual Channel 0 Image Information 2 Register.
#define XCSI_VC1INF1R_OFFSET 0x00000068 |
#include <xcsi_hw.h>
Virtual Channel 1 Image Information 1 Register.
Referenced by XCsi_GetVCInfo().
#define XCSI_VC1INF2R_OFFSET 0x0000006C |
#include <xcsi_hw.h>
Virtual Channel 1 Image Information 2 Register.
#define XCSI_VC2INF1R_OFFSET 0x00000070 |
#include <xcsi_hw.h>
Virtual Channel 2 Image Information 1 Register.
Referenced by XCsi_GetVCInfo().
#define XCSI_VC2INF2R_OFFSET 0x00000074 |
#include <xcsi_hw.h>
Virtual Channel 2 Image Information 2 Register.
#define XCSI_VC3INF1R_OFFSET 0x00000078 |
#include <xcsi_hw.h>
Virtual Channel 3 Image Information 1 Register.
Referenced by XCsi_GetVCInfo().
#define XCSI_VC3INF2R_OFFSET 0x0000007C |
#include <xcsi_hw.h>
Virtual Channel 3 Image Information 2 Register.
#define XCSI_VCXINF1R_BYTECOUNT_MASK 0x0000FFFF |
#include <xcsi_hw.h>
Byte count of current packet in process.
#define XCSI_VCXINF1R_BYTECOUNT_SHIFT 0 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel Byte Count bits.
#define XCSI_VCXINF1R_LINECOUNT_MASK 0xFFFF0000 |
#include <xcsi_hw.h>
Number of long packets written into line buffer.
#define XCSI_VCXINF1R_LINECOUNT_SHIFT 16 |
#include <xcsi_hw.h>
Shift bits for Virtual Channel Line Count bits.
#define XCSI_VCXINF2R_DATATYPE_MASK 0x0000003F |
#include <xcsi_hw.h>
Data type of current packet.
#define XCSI_VCXINF2R_DATATYPE_SHIFT 0 |
#include <xcsi_hw.h>
Bit Shift for Virtual Channel Data Type.
typedef void(* XCsi_CallBack) (void *CallBackRef, u32 Mask) |
#include <xcsi.h>
Callback type for all interrupts defined.
CallBackRef | is 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. |
Mask | is 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. |
u32 XCsi_Activate | ( | XCsi * | InstancePtr, |
u8 | Flag | ||
) |
#include <xcsi.c>
Thsi function will enable/disable the IP Core to start processing.
InstancePtr | is the XCsi instance to operate on. |
Flag | will be used to indicate Enable or Disable action |
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.
InstancePtr | is the XCsi instance to operate on. |
CfgPtr | is the device configuration structure containing information about a specific CSI. |
EffectiveAddr | is 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. |
References XCsi_Config::BaseAddr, XCsi::Config, and XCsi::ShortPacketCallBack.
Referenced by CsiSelfTestExample().
u32 XCsi_Configure | ( | XCsi * | InstancePtr | ) |
void XCsi_GetClkLaneInfo | ( | XCsi * | InstancePtr, |
XCsi_ClkLaneInfo * | ClkLane | ||
) |
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.
InstancePtr | is the XCsi instance to operate on |
Lane | is the Lane number whose information is requested |
DataLane | is going to be filled up by this function and returned to the caller. |
References XCSI_L0INFR_OFFSET, XCSI_L1INFR_OFFSET, XCSI_L2INFR_OFFSET, and XCSI_L3INFR_OFFSET.
u32 XCsi_GetIntrEnable | ( | XCsi * | InstancePtr | ) |
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.
InstancePtr | is the XCsi instance to operate on |
Referenced by XCsi_IntrHandler().
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.
InstancePtr | is the XCsi instance to operate on |
ShortPacketStruct | is going to be filled up by this function and returned to the caller. |
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.
InstancePtr | is the XCsi instance to operate on |
Vc | is the Virtual Channel number whose information is requested |
VCInfo | is going to be filled up by this function and returned to the caller. |
References XCSI_MAX_VC, XCSI_VC0INF1R_OFFSET, XCSI_VC1INF1R_OFFSET, XCSI_VC2INF1R_OFFSET, and XCSI_VC3INF1R_OFFSET.
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.
InstancePtr | is the XCsi instance to operate on |
Mask | is Interrupt Mask with bits set for corresponding interrupt to be cleared in the Interrupt Status register |
References XCSI_IER_ALLINTR_MASK.
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.
InstancePtr | is the XCsi instance to operate on |
Mask | is the interrupt mask which need to be enabled in core |
References XCSI_IER_ALLINTR_MASK.
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.
InstancePtr | is the XCsi instance to operate on |
Mask | is the interrupt mask which need to be enabled in core |
References XCSI_IER_ALLINTR_MASK.
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.
InstancePtr | is a pointer to the XCsi core instance. |
References XCsi::IsReady, and XCsi_GetIntrStatus().
u8 XCsi_IsActiveLaneCountValid | ( | XCsi * | InstancePtr, |
u8 | ActiveLanesCount | ||
) |
#include <xcsi.c>
This function checks the validity of the active lanes parameter.
InstancePtr | is a pointer to the Subsystem instance to be worked on. |
ActiveLanesCount | is the lane count to check if valid. |
References XCsi::Config, XCsi_Config::FixedLanes, and XCsi_Config::MaxLanesPresent.
XCsi_Config * XCsi_LookupConfig | ( | u32 | DeviceId | ) |
#include <xcsi.h>
Look up the hardware configuration for a device instance.
DeviceId | is the unique device ID of the device to lookup for |
Referenced by CsiSelfTestExample().
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.
InstancePtr | is the XCsi instance to operate on. |
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.
InstancePtr | is a pointer to the XCsi instance. |
References XCsi::IsReady.
Referenced by CsiSelfTestExample().
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_OTHERERROR) ErrorCallBack
InstancePtr | is the XCsi instance to operate on |
HandleType | is the type of call back to be registered. |
Callbackfunc | is the pointer to a call back funtion which is called when a particular event occurs. |
Callbackref | is a void pointer to data to be referenced to by the Callbackfunc |
References XCsi::IsReady.