PDK API Guide for J721E
CSI RX Sub-System

Introduction

Files

file  csirx_ss.h
 This file contains the prototypes of the APIs present in the device abstraction layer file of CSI RX SS. This also contains some related macros.
 

Data Structures

struct  CSL_CsirxVPConfig
 Structure for Video Port configuration for CSI Rx SS. More...
 
struct  CSL_CsirxDMAConfig
 Structure for PSI-L/DMA configuration for CSI Rx SS. More...
 
struct  CSL_CsirxRevisionId
 Structure for accessing Revision ID and Core Release Info. of CSI Rx module. More...
 

Functions

void CSL_csirxGetRevisionId (const CSL_csi_rx_ifRegs *ifRegisters, CSL_CsirxRevisionId *revId)
 This API is used get the CSI Rx revision ID. More...
 
int32_t CSL_csirxEnableVP (CSL_csi_rx_ifRegs *ifRegisters, uint32_t instance, uint32_t enable)
 This API is used enable/disable Video Port. More...
 
int32_t CSL_csirxConfigVP (CSL_csi_rx_ifRegs *ifRegisters, const CSL_CsirxVPConfig *config)
 This API is used to configure Video Port. More...
 
void CSL_csirxAssertPixelIfReset (CSL_csi_rx_ifRegs *ifRegisters, uint32_t assert_stat)
 This API is used assert/de-assert reset for pixel interface. More...
 
int32_t CSL_csirxEnableDMA (CSL_csi_rx_ifRegs *ifRegisters, uint32_t threadNum, uint32_t enable)
 This API is used enable/disable DMA. More...
 
int32_t CSL_csirxConfigDMA (CSL_csi_rx_ifRegs *ifRegisters, const CSL_CsirxDMAConfig *config)
 This API is used to configure DMA. More...
 

Enumerations

enum  CSL_CsirxVPInstance { CSL_CSIRX_VP_INSTANCE_0 = CSL_CSI_RX_IF_VP0, CSL_CSIRX_VP_INSTANCE_1 = CSL_CSI_RX_IF_VP1 }
 Enum to represent the Video Port Instance. More...
 

Macros

#define CSL_CSIRX_PSI_L_THREAD_NUM_MAX   ((uint32_t)32U)
 Maximum number of PSI-L Threads supported by CSI Rx SS. More...
 

Enum to represent Data Size Shift while unpacking

#define CSL_CSIRX_DMA_DATA_SIZE_SHIFT_8BITS   (uint32_t)0U
 Enum to represent Data Size Shift while unpacking. More...
 
#define CSL_CSIRX_DMA_DATA_SIZE_SHIFT_16BITS   (uint32_t)1U
 
#define CSL_CSIRX_DMA_DATA_SIZE_SHIFT_32BITS   (uint32_t)2U
 
#define CSL_CSIRX_YUV422_MODE_UYVY   (uint32_t)0U
 Enum to represent Data Size Shift while unpacking. More...
 
#define CSL_CSIRX_YUV422_MODE_VYUY   (uint32_t)1U
 
#define CSL_CSIRX_YUV422_MODE_YUYV   (uint32_t)2U
 
#define CSL_CSIRX_YUV422_MODE_YVYU   (uint32_t)3U
 

Macro Definition Documentation

◆ CSL_CSIRX_PSI_L_THREAD_NUM_MAX

#define CSL_CSIRX_PSI_L_THREAD_NUM_MAX   ((uint32_t)32U)

Maximum number of PSI-L Threads supported by CSI Rx SS.

◆ CSL_CSIRX_DMA_DATA_SIZE_SHIFT_8BITS

#define CSL_CSIRX_DMA_DATA_SIZE_SHIFT_8BITS   (uint32_t)0U

Enum to represent Data Size Shift while unpacking.

< Video Port 0 Video Port 0

◆ CSL_CSIRX_DMA_DATA_SIZE_SHIFT_16BITS

#define CSL_CSIRX_DMA_DATA_SIZE_SHIFT_16BITS   (uint32_t)1U

Video Port 0

◆ CSL_CSIRX_DMA_DATA_SIZE_SHIFT_32BITS

#define CSL_CSIRX_DMA_DATA_SIZE_SHIFT_32BITS   (uint32_t)2U

◆ CSL_CSIRX_YUV422_MODE_UYVY

#define CSL_CSIRX_YUV422_MODE_UYVY   (uint32_t)0U

Enum to represent Data Size Shift while unpacking.

< YUV422 Mode: UYVY YUV422 Mode: VYUY

◆ CSL_CSIRX_YUV422_MODE_VYUY

#define CSL_CSIRX_YUV422_MODE_VYUY   (uint32_t)1U

YUV422 Mode: YUYV

◆ CSL_CSIRX_YUV422_MODE_YUYV

#define CSL_CSIRX_YUV422_MODE_YUYV   (uint32_t)2U

YUV422 Mode: YVYU

◆ CSL_CSIRX_YUV422_MODE_YVYU

#define CSL_CSIRX_YUV422_MODE_YVYU   (uint32_t)3U

Enumeration Type Documentation

◆ CSL_CsirxVPInstance

Enum to represent the Video Port Instance.

Enumerator
CSL_CSIRX_VP_INSTANCE_0 

Video Port 0

CSL_CSIRX_VP_INSTANCE_1 

Video Port 1

Function Documentation

◆ CSL_csirxGetRevisionId()

void CSL_csirxGetRevisionId ( const CSL_csi_rx_ifRegs ifRegisters,
CSL_CsirxRevisionId revId 
)

This API is used get the CSI Rx revision ID.

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
revIdContains Revision ID of CSI Rx module. Refer to CSL_CsirxRevisionId.
Returns
None.

◆ CSL_csirxEnableVP()

int32_t CSL_csirxEnableVP ( CSL_csi_rx_ifRegs ifRegisters,
uint32_t  instance,
uint32_t  enable 
)

This API is used enable/disable Video Port.

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
instanceVideo Port instance to enable/disable. Refer to CSL_CsirxVPInstance
enableVideo Port is enabled if it is TRUE. Video Port Mode is disabled if it is FALSE.
Returns
None.

◆ CSL_csirxConfigVP()

int32_t CSL_csirxConfigVP ( CSL_csi_rx_ifRegs ifRegisters,
const CSL_CsirxVPConfig config 
)

This API is used to configure Video Port.

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
configPointer to Video Port Configurations. Refer to CSL_CsirxVPConfig
Returns
None.
Note
This API will disable VP and then will configure it. Application shall re-enable VP after calling this API.

◆ CSL_csirxAssertPixelIfReset()

void CSL_csirxAssertPixelIfReset ( CSL_csi_rx_ifRegs ifRegisters,
uint32_t  assert_stat 
)

This API is used assert/de-assert reset for pixel interface.

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
assert_statReset is asserted if it is TRUE. Reset is not asserted if it is FALSE.
Returns
None.

◆ CSL_csirxEnableDMA()

int32_t CSL_csirxEnableDMA ( CSL_csi_rx_ifRegs ifRegisters,
uint32_t  threadNum,
uint32_t  enable 
)

This API is used enable/disable DMA.

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
threadNumPSIL-L Thread to use for transfer. Range:[0:(CSL_CSIRX_PSI_L_THREAD_NUM_MAX - 1)]
enableDMA is enabled if it is TRUE. DMA is disabled if it is FALSE.
Returns
status CSL_PASS if successful otherwise CSL_EFAIL.

◆ CSL_csirxConfigDMA()

int32_t CSL_csirxConfigDMA ( CSL_csi_rx_ifRegs ifRegisters,
const CSL_CsirxDMAConfig config 
)

This API is used to configure DMA.

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
configPointer to Video Port Configurations. Refer to CSL_CsirxDMAConfig
Returns
status CSL_PASS if successful otherwise CSL_EFAIL.
Note
This API will disable DMA and then will configure it. Application shall re-enable DMA after calling this API.