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)
 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...
 
enum  CSL_CsirxDMADataSizeShift { CSL_CSIRX_DMA_DATA_SIZE_SHIFT_8BITS = 0U, CSL_CSIRX_DMA_DATA_SIZE_SHIFT_16BITS = 1U, CSL_CSIRX_DMA_DATA_SIZE_SHIFT_32BITS = 2U }
 Enum to represent Data Size Shift while unpacking. More...
 
enum  CSL_CsirxYUV422Mode { CSL_CSIRX_YUV422_MODE_UYVY = 0U, CSL_CSIRX_YUV422_MODE_VYUY = 1U, CSL_CSIRX_YUV422_MODE_YUYV = 2U, CSL_CSIRX_YUV422_MODE_YVYU = 3U }
 Enum to represent Data Size Shift while unpacking. 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...
 

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.

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

◆ CSL_CsirxDMADataSizeShift

Enum to represent Data Size Shift while unpacking.

Enumerator
CSL_CSIRX_DMA_DATA_SIZE_SHIFT_8BITS 

Video Port 0

CSL_CSIRX_DMA_DATA_SIZE_SHIFT_16BITS 

Video Port 0

CSL_CSIRX_DMA_DATA_SIZE_SHIFT_32BITS 

Video Port 0

◆ CSL_CsirxYUV422Mode

Enum to represent Data Size Shift while unpacking.

Enumerator
CSL_CSIRX_YUV422_MODE_UYVY 

YUV422 Mode: UYVY

CSL_CSIRX_YUV422_MODE_VYUY 

YUV422 Mode: VYUY

CSL_CSIRX_YUV422_MODE_YUYV 

YUV422 Mode: YUYV

CSL_CSIRX_YUV422_MODE_YVYU 

YUV422 Mode: YVYU

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 
)

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

Parameters
ifRegistersBase Address of the CSI Rx SS Registers.
assertReset 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.