![]() |
![]() |
Files | |
file | csl_dssCommon.h |
DSS Common CSL FL interface file. | |
Data Structures | |
struct | CSL_DssGlobalMFlagCfg |
DSS Global MFLAG Config parameters. More... | |
struct | CSL_DssCbaCfg |
DSS CBA Config parameters. More... | |
Typedefs | |
typedef CSL_dss_common_mRegs | CSL_dss_commRegs |
DSS Common Registers. More... | |
Functions | |
void | CSL_dssModuleReset (CSL_dss_commRegs *commRegs) |
Reset the DSS Module. Application should make sure Video Ports are disabled before calling this API. More... | |
void | CSL_dssEnableDispcIntr (CSL_dss_commRegs *commRegs, uint32_t intrMask, uint32_t intrEnable) |
Enable/disable the interrupts at DSS top level. More... | |
void | CSL_dssEnablePipeIntr (CSL_dss_commRegs *commRegs, uint32_t vidPipeId, uint32_t intrMask, uint32_t intrEnable) |
Enable/disable the interrupts for Video Pipe. More... | |
void | CSL_dssEnableVpIntr (CSL_dss_commRegs *commRegs, uint32_t portId, uint32_t intrMask, uint32_t intrEnable) |
Enable/disable the interrupts for Video Port. More... | |
void | CSL_dssClearDispcIntr (CSL_dss_commRegs *commRegs, uint32_t intrMask) |
Clear the interrupts at DSS top level. More... | |
void | CSL_dssClearPipeIntr (CSL_dss_commRegs *commRegs, uint32_t vidPipeId, uint32_t intrMask) |
Clear the interrupts for Video Pipe. More... | |
void | CSL_dssClearVpIntr (CSL_dss_commRegs *commRegs, uint32_t portId, uint32_t intrMask) |
Clear the interrupts for Video Port. More... | |
uint32_t | CSL_dssGetDispcIntrStatus (const CSL_dss_commRegs *commRegs) |
Get the top level interrupt status of DSS. More... | |
uint32_t | CSL_dssGetPipeIntrStatus (const CSL_dss_commRegs *commRegs, uint32_t vidPipeId) |
Get the interrupt status of Video Pipe. More... | |
uint32_t | CSL_dssGetVpIntrStatus (const CSL_dss_commRegs *commRegs, uint32_t portId) |
Get the interrupt status of Video Port. More... | |
void | CSL_dssSetGlobalMflagConfig (CSL_dss_commRegs *commRegs, const CSL_DssGlobalMFlagCfg *mflagCfg) |
Set the global MFLAG configuration. More... | |
void | CSL_dssGlobalVpEnable (CSL_dss_commRegs *commRegs, uint32_t portIdMask) |
Enable the global VP enable bit. This allows setting multiple outputs synchronously. The 'OR' result of different masks can be used as input parameter. More... | |
void | CSL_dssGlobalVpGoBitEnable (CSL_dss_commRegs *commRegs, uint32_t portIdMask) |
Enable the global VP go bit. This allows setting multiple outputs synchronously. The 'OR' result of different masks can be used as input parameter. More... | |
void | CSL_dssSetCbaConfig (CSL_dss_commRegs *commRegs, const CSL_DssCbaCfg *cbaCfg) |
Set the CBA configuration. More... | |
int32_t | CSL_dssConnectVpToDpi (CSL_dss_commRegs *commRegs, uint32_t portId, uint32_t dpiId) |
This API can be used to select the VP connection to DPI. More... | |
static void | CSL_dssGlobalMFlagCfgInit (CSL_DssGlobalMFlagCfg *mflagCfg) |
CSL_DssGlobalMFlagCfg structure init function. More... | |
static void | CSL_dssCbaCfgInit (CSL_DssCbaCfg *cbaCfg) |
CSL_DssCbaCfg structure init function. More... | |
DISPC Interrupt Mask | |
#define | CSL_DSS_DISPC_INTR_WB_MASK ((uint32_t) 0x4000U) |
Write Back Pipeline Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VIDL2_MASK ((uint32_t) 0x80U) |
Video Lite Pipeline 2 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VID2_MASK ((uint32_t) 0x40U) |
Video PipeLine 2 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VIDL1_MASK ((uint32_t) 0x20U) |
Video Lite Pipeline 1 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VID1_MASK ((uint32_t) 0x10U) |
Video PipeLine 1 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VP4_MASK ((uint32_t) 0x08U) |
Video Port 4 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VP3_MASK ((uint32_t) 0x04U) |
Video Port 3 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VP2_MASK ((uint32_t) 0x02U) |
Video Port 2 Interrupt. | |
#define | CSL_DSS_DISPC_INTR_VP1_MASK ((uint32_t) 0x01U) |
Video Port 1 Interrupt. | |
Video Pipeline Interrupt Mask | |
#define | CSL_DSS_VID_PIPE_INTR_FBDC_ILLEGALTILE_MASK ((uint32_t) CSL_DSS_COMMON_M_VID_IRQENABLE_0_FBDC_ILLEGALTILEREQ_EN_MASK) |
Interrupt due to FBDC illegal tile request. | |
#define | CSL_DSS_VID_PIPE_INTR_FBDC_CORRUPTTILE_MASK ((uint32_t) CSL_DSS_COMMON_M_VID_IRQENABLE_0_FBDC_CORRUPTTILE_EN_MASK) |
Interrupt due to FBDC corrupted tile detection. | |
#define | CSL_DSS_VID_PIPE_INTR_SAFETYVIOLATION_MASK ((uint32_t) CSL_DSS_COMMON_M_VID_IRQENABLE_0_SAFETYREGION_EN_MASK) |
Interrupt due to safety violation. | |
#define | CSL_DSS_VID_PIPE_INTR_WINDOWEND_MASK ((uint32_t) CSL_DSS_COMMON_M_VID_IRQENABLE_0_VIDENDWINDOW_EN_MASK) |
Interrupt due to video window end. | |
#define | CSL_DSS_VID_PIPE_INTR_BUFUNDERFLOW_MASK ((uint32_t) CSL_DSS_COMMON_M_VID_IRQENABLE_0_VIDBUFFERUNDERFLOW_EN_MASK) |
Interrupt due to buffer underflow. | |
#define | CSL_DSS_VID_PIPE_INTR_ALL_MASK |
All Video Pipe interrupts. More... | |
Video Port Interrupt Mask | |
#define | CSL_DSS_VP_INTR_FRAMEDONE_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_VPFRAMEDONE_EN_MASK) |
Frame Done for Video Port. | |
#define | CSL_DSS_VP_INTR_VSYNC_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_VPVSYNC_EN_MASK) |
Vertical Synchronization for Video Port. | |
#define | CSL_DSS_VP_INTR_ODDVSYNC_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_VPVSYNC_ODD_EN_MASK) |
VSYNC for odd field from interlace mode only. | |
#define | CSL_DSS_VP_INTR_PROGLINENUM_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_VPPROGRAMMEDLINENUMBER_EN_MASK) |
Display scan has reached the programmed user line number. | |
#define | CSL_DSS_VP_INTR_SYNCLOST_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_VPSYNCLOST_EN_MASK) |
Synchronization Lost for Video Port. | |
#define | CSL_DSS_VP_INTR_ACBIASCOUNT_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_ACBIASCOUNTSTATUS_EN_MASK) |
AC Bias transition counter has decremented to zero. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION1_MASK ((uint32_t) 0x40U) |
Interrupt due to region 1 safety violation. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION2_MASK ((uint32_t) 0x80U) |
Interrupt due to region 2 safety violation. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION3_MASK ((uint32_t) 0x100U) |
Interrupt due to region 3 safety violation. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION4_MASK ((uint32_t) 0x200U) |
Interrupt due to region 4 safety violation. | |
#define | CSL_DSS_VP_INTR_SECURITYVIOLATION_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_SECURITYVIOLATION_EN_MASK) |
Interrupt due to security violation. | |
#define | CSL_DSS_VP_INTR_GOBITCLEAR_MASK ((uint32_t) CSL_DSS_COMMON_M_VP_IRQENABLE_0_VPSYNC_EN_MASK) |
Go bit clear interrupt for VP. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION5_MASK ((uint32_t) 0x2000U) |
Interrupt due to region 5 safety violation. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION6_MASK ((uint32_t) 0x4000U) |
Interrupt due to region 6 safety violation. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION7_MASK ((uint32_t) 0x8000U) |
Interrupt due to region 7 safety violation. | |
#define | CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION8_MASK ((uint32_t) 0x10000U) |
Interrupt due to region 8 safety violation. | |
#define | CSL_DSS_VP_INTR_ALL_MASK |
All Video Port interrupts. More... | |
Write back Pipeline Interrupt Mask | |
#define | CSL_DSS_WB_PIPE_INTR_WBSYNC_MASK ((uint32_t) CSL_DSS_COMMON_M_WB_IRQENABLE_WBSYNC_EN_MASK) |
Interrupt due to completion of write back sync. | |
#define | CSL_DSS_WB_PIPE_INTR_SECURITYVIOLATION_MASK ((uint32_t) CSL_DSS_COMMON_M_WB_IRQENABLE_SECURITYVIOLATION_EN_MASK) |
Interrupt due to security violation. | |
#define | CSL_DSS_WB_PIPE_INTR_FRAMEDONE_MASK ((uint32_t) CSL_DSS_COMMON_M_WB_IRQENABLE_WBFRAMEDONE_EN_MASK) |
Interrupt due to write back frame completion. | |
#define | CSL_DSS_WB_PIPE_INTR_UNCOMPLETE_MASK ((uint32_t) CSL_DSS_COMMON_M_WB_IRQENABLE_WBUNCOMPLETEERROR_EN_MASK) |
Interrupt due to buffer flush before full drain (Only Capture WB) | |
#define | CSL_DSS_WB_PIPE_INTR_OVERFLOW_MASK ((uint32_t) CSL_DSS_COMMON_M_WB_IRQENABLE_WBBUFFEROVERFLOW_EN_MASK) |
Interrupt due to buffer overflow. | |
#define | CSL_DSS_WB_PIPE_INTR_ALL_MASK |
All Write Back Pipe interrupts. More... | |
Mflag Start Mode | |
#define | CSL_DSS_MFLAG_START_NORMAL ((uint32_t) CSL_DSS_COMMON_M_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_START_VAL_MFLAGNORMALSTARTMODE) |
Mflag of each pipe is kept at 0 until preload is reached. | |
#define | CSL_DSS_MFLAG_START_FORCED ((uint32_t) CSL_DSS_COMMON_M_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_START_VAL_MFLAGFORCESTARTMODE) |
Mflag is driven as per Mflag Ctrl. | |
Mflag Control | |
#define | CSL_DSS_MFLAG_CTRL_DISABLED ((uint32_t) CSL_DSS_COMMON_M_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGDIS) |
Mflag is disabled. | |
#define | CSL_DSS_MFLAG_CTRL_FORCE_ENABLE ((uint32_t) CSL_DSS_COMMON_M_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGFORCE) |
Mflag is force enabled. | |
#define | CSL_DSS_MFLAG_CTRL_DYNAMIC ((uint32_t) CSL_DSS_COMMON_M_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGEN) |
Mflag signal is set dynamically as per rules. | |
#define CSL_DSS_VID_PIPE_INTR_ALL_MASK |
All Video Pipe interrupts.
#define CSL_DSS_VP_INTR_ALL_MASK |
All Video Port interrupts.
#define CSL_DSS_WB_PIPE_INTR_ALL_MASK |
All Write Back Pipe interrupts.
typedef CSL_dss_common_mRegs CSL_dss_commRegs |
DSS Common Registers.
DSS7 has two identical Common blocks, hence define a generic structure to have common APIs
|
inlinestatic |
CSL_DssCbaCfg structure init function.
cbaCfg | Pointer to CSL_DssCbaCfg structure |
void CSL_dssClearDispcIntr | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | intrMask | ||
) |
Clear the interrupts at DSS top level.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
intrMask | Interrupt Mask. Refer CSL_DssDispcIntrMask for values |
void CSL_dssClearPipeIntr | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | vidPipeId, | ||
uint32_t | intrMask | ||
) |
Clear the interrupts for Video Pipe.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
vidPipeId | Video Pipe for which interrupt should be cleared. Valid Values: CSL_DSS_VID_PIPE_ID_VID1 CSL_DSS_VID_PIPE_ID_VIDL1 CSL_DSS_VID_PIPE_ID_VID2 CSL_DSS_VID_PIPE_ID_VIDL2 |
intrMask | Interrupt Mask. Refer CSL_DssVidPipeIntrMask for values |
void CSL_dssClearVpIntr | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | portId, | ||
uint32_t | intrMask | ||
) |
Clear the interrupts for Video Port.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
portId | Video Port for which interrupt should be cleared. Valid Values: CSL_DSS_VP_ID_1 CSL_DSS_VP_ID_2 CSL_DSS_VP_ID_3 CSL_DSS_VP_ID_4 |
intrMask | Interrupt Mask. Refer CSL_DssVpIntrMask for values |
int32_t CSL_dssConnectVpToDpi | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | portId, | ||
uint32_t | dpiId | ||
) |
This API can be used to select the VP connection to DPI.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
portId | Video Port Id. Possible values are: CSL_DSS_VP_ID_2 or CSL_DSS_VP_ID_4 |
dpiId | DPI Id. Possible values are: CSL_DSS_DPI_ID_0 or CSL_DSS_DPI_ID_1 |
void CSL_dssEnableDispcIntr | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | intrMask, | ||
uint32_t | intrEnable | ||
) |
Enable/disable the interrupts at DSS top level.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
intrMask | Interrupt Mask. Refer CSL_DssDispcIntrMask for values |
intrEnable | Enable/Disable the interrupt TRUE: Enable interrupt FALSE: Disable interrupt |
void CSL_dssEnablePipeIntr | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | vidPipeId, | ||
uint32_t | intrMask, | ||
uint32_t | intrEnable | ||
) |
Enable/disable the interrupts for Video Pipe.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
vidPipeId | Video Pipe for which interrupt should be configured. Valid Values: CSL_DSS_VID_PIPE_ID_VID1 CSL_DSS_VID_PIPE_ID_VIDL1 CSL_DSS_VID_PIPE_ID_VID2 CSL_DSS_VID_PIPE_ID_VIDL2 |
intrMask | Interrupt Mask. Refer CSL_DssVidPipeIntrMask for values |
intrEnable | Enable/Disable the interrupt TRUE: Enable interrupt FALSE: Disable interrupt |
void CSL_dssEnableVpIntr | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | portId, | ||
uint32_t | intrMask, | ||
uint32_t | intrEnable | ||
) |
Enable/disable the interrupts for Video Port.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
portId | Video Port for which interrupt should be configured. Valid Values: CSL_DSS_VP_ID_1 CSL_DSS_VP_ID_2 CSL_DSS_VP_ID_3 CSL_DSS_VP_ID_4 |
intrMask | Interrupt Mask. Refer CSL_DssVpIntrMask for values |
intrEnable | Enable/Disable the interrupt TRUE: Enable interrupt FALSE: Disable interrupt |
uint32_t CSL_dssGetDispcIntrStatus | ( | const CSL_dss_commRegs * | commRegs | ) |
Get the top level interrupt status of DSS.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
uint32_t CSL_dssGetPipeIntrStatus | ( | const CSL_dss_commRegs * | commRegs, |
uint32_t | vidPipeId | ||
) |
Get the interrupt status of Video Pipe.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
vidPipeId | Video Pipe for which interrupt should be cleared. Valid Values: CSL_DSS_VID_PIPE_ID_VID1 CSL_DSS_VID_PIPE_ID_VIDL1 CSL_DSS_VID_PIPE_ID_VID2 CSL_DSS_VID_PIPE_ID_VIDL2 |
uint32_t CSL_dssGetVpIntrStatus | ( | const CSL_dss_commRegs * | commRegs, |
uint32_t | portId | ||
) |
Get the interrupt status of Video Port.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
portId | Video Port for which interrupt should be cleared. Valid Values: CSL_DSS_VP_ID_1 CSL_DSS_VP_ID_2 CSL_DSS_VP_ID_3 CSL_DSS_VP_ID_4 |
|
inlinestatic |
CSL_DssGlobalMFlagCfg structure init function.
mflagCfg | Pointer to CSL_DssGlobalMFlagCfg structure |
void CSL_dssGlobalVpEnable | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | portIdMask | ||
) |
Enable the global VP enable bit. This allows setting multiple outputs synchronously. The 'OR' result of different masks can be used as input parameter.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
portIdMask | Video Port for which enable bit should be set. Refer CSL_DssVpIdMask for details. |
void CSL_dssGlobalVpGoBitEnable | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | portIdMask | ||
) |
Enable the global VP go bit. This allows setting multiple outputs synchronously. The 'OR' result of different masks can be used as input parameter.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
portIdMask | Video Port for which go bit should be set. Refer CSL_DssVpIdMask for details. |
void CSL_dssModuleReset | ( | CSL_dss_commRegs * | commRegs | ) |
Reset the DSS Module. Application should make sure Video Ports are disabled before calling this API.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
void CSL_dssSetCbaConfig | ( | CSL_dss_commRegs * | commRegs, |
const CSL_DssCbaCfg * | cbaCfg | ||
) |
Set the CBA configuration.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
cbaCfg | Pointer to CSL_DssCbaCfg structure. This parameter should not be NULL |
void CSL_dssSetGlobalMflagConfig | ( | CSL_dss_commRegs * | commRegs, |
const CSL_DssGlobalMFlagCfg * | mflagCfg | ||
) |
Set the global MFLAG configuration.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
mflagCfg | Pointer to CSL_DssGlobalMFlagCfg structure. This parameter should not be NULL |