This is hardware include layer for DSS common region.
Files | |
file | csl_dssCommon.h |
DSS Common layer interface file. | |
Data Structures | |
struct | CSL_DssGlobalMFlagCfg |
DSS Global MFLAG Config parameters. More... | |
struct | CSL_DssCbaCfg |
DSS CBA Config parameters. 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... | |
uint32_t | CSL_dssIsOldiResetDone (const CSL_dss_commRegs *commRegs) |
Get OLDI reset status. 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, uint32_t enable) |
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... | |
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... | |
Typedefs | |
typedef CSL_dss_commonRegs | CSL_dss_commRegs |
DSS Common Registers. More... | |
DISPC Interrupt Mask | |
#define | CSL_DSS_DISPC_INTR_VIDL1_MASK ((uint32_t) 0x20U) |
Video Lite Pipeline 1 Interrupt. More... | |
#define | CSL_DSS_DISPC_INTR_VID1_MASK ((uint32_t) 0x10U) |
Video PipeLine 1 Interrupt. More... | |
#define | CSL_DSS_DISPC_INTR_VP2_MASK ((uint32_t) 0x02U) |
Video Port 2 Interrupt. More... | |
#define | CSL_DSS_DISPC_INTR_VP1_MASK ((uint32_t) 0x01U) |
Video Port 1 Interrupt. More... | |
Video Pipeline Interrupt Mask | |
#define | CSL_DSS_VID_PIPE_INTR_SAFETYVIOLATION_MASK ((uint32_t) CSL_DSS_COMMON_VID_IRQENABLE_0_SAFETYREGION_EN_MASK) |
Interrupt due to safety violation. More... | |
#define | CSL_DSS_VID_PIPE_INTR_WINDOWEND_MASK ((uint32_t) CSL_DSS_COMMON_VID_IRQENABLE_0_VIDENDWINDOW_EN_MASK) |
Interrupt due to video window end. More... | |
#define | CSL_DSS_VID_PIPE_INTR_BUFUNDERFLOW_MASK ((uint32_t) CSL_DSS_COMMON_VID_IRQENABLE_0_VIDBUFFERUNDERFLOW_EN_MASK) |
Interrupt due to buffer underflow. More... | |
#define | CSL_DSS_VID_PIPE_INTR_ALL_MASK |
All Video Pipe interrupts. More... | |
Mflag Start Mode | |
#define | CSL_DSS_MFLAG_START_NORMAL ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_START_VAL_MFLAGNORMALSTARTMODE) |
Mflag of each pipe is kept at 0 until preload is reached. More... | |
#define | CSL_DSS_MFLAG_START_FORCED ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_START_VAL_MFLAGFORCESTARTMODE) |
Mflag is driven as per Mflag Ctrl. More... | |
Mflag Control | |
#define | CSL_DSS_MFLAG_CTRL_DISABLED ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGDIS) |
Mflag is disabled. More... | |
#define | CSL_DSS_MFLAG_CTRL_FORCE_ENABLE ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGFORCE) |
Mflag is force enabled. More... | |
#define | CSL_DSS_MFLAG_CTRL_DYNAMIC ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGEN) |
Mflag signal is set dynamically as per rules. More... | |
#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_VP2_MASK ((uint32_t) 0x02U) |
Video Port 2 Interrupt.
#define CSL_DSS_DISPC_INTR_VP1_MASK ((uint32_t) 0x01U) |
Video Port 1 Interrupt.
#define CSL_DSS_VID_PIPE_INTR_SAFETYVIOLATION_MASK ((uint32_t) CSL_DSS_COMMON_VID_IRQENABLE_0_SAFETYREGION_EN_MASK) |
Interrupt due to safety violation.
#define CSL_DSS_VID_PIPE_INTR_WINDOWEND_MASK ((uint32_t) CSL_DSS_COMMON_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_VID_IRQENABLE_0_VIDBUFFERUNDERFLOW_EN_MASK) |
Interrupt due to buffer underflow.
#define CSL_DSS_VID_PIPE_INTR_ALL_MASK |
All Video Pipe interrupts.
#define CSL_DSS_VP_INTR_FRAMEDONE_MASK ((uint32_t) CSL_DSS_COMMON_VP_IRQENABLE_0_VPFRAMEDONE_EN_MASK) |
Frame Done for Video Port.
#define CSL_DSS_VP_INTR_VSYNC_MASK ((uint32_t) CSL_DSS_COMMON_VP_IRQENABLE_0_VPVSYNC_EN_MASK) |
Vertical Synchronization for Video Port.
#define CSL_DSS_VP_INTR_ODDVSYNC_MASK ((uint32_t) CSL_DSS_COMMON_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_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_VP_IRQENABLE_0_VPSYNCLOST_EN_MASK) |
Synchronization Lost for Video Port.
#define CSL_DSS_VP_INTR_ACBIASCOUNT_MASK ((uint32_t) CSL_DSS_COMMON_VP_IRQENABLE_0_ACBIASCOUNTSTATUS_EN_MASK) |
AC Bias transition counter has decremented to zero.
#define CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION0_MASK ((uint32_t) 0x40U) |
Interrupt due to region 0 safety violation.
#define CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION1_MASK ((uint32_t) 0x80U) |
Interrupt due to region 1 safety violation.
#define CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION2_MASK ((uint32_t) 0x100U) |
Interrupt due to region 2 safety violation.
#define CSL_DSS_VP_INTR_SAFETYVIOLATION_REGION3_MASK ((uint32_t) 0x200U) |
Interrupt due to region 3 safety violation.
#define CSL_DSS_VP_INTR_SECURITYVIOLATION_MASK ((uint32_t) CSL_DSS_COMMON_VP_IRQENABLE_0_SECURITYVIOLATION_EN_MASK) |
Interrupt due to security violation.
#define CSL_DSS_VP_INTR_GOBITCLEAR_MASK ((uint32_t) CSL_DSS_COMMON_VP_IRQENABLE_0_VPSYNC_EN_MASK) |
Go bit clear interrupt for VP.
#define CSL_DSS_VP_INTR_ALL_MASK |
All Video Port interrupts.
#define CSL_DSS_MFLAG_START_NORMAL ((uint32_t) CSL_DSS_COMMON_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_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_START_VAL_MFLAGFORCESTARTMODE) |
Mflag is driven as per Mflag Ctrl.
#define CSL_DSS_MFLAG_CTRL_DISABLED ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGDIS) |
Mflag is disabled.
#define CSL_DSS_MFLAG_CTRL_FORCE_ENABLE ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGFORCE) |
Mflag is force enabled.
#define CSL_DSS_MFLAG_CTRL_DYNAMIC ((uint32_t) CSL_DSS_COMMON_DISPC_GLOBAL_MFLAG_ATTRIBUTE_MFLAG_CTRL_VAL_MFLAGEN) |
Mflag signal is set dynamically as per rules.
typedef CSL_dss_commonRegs CSL_dss_commRegs |
DSS Common Registers.
DSS7 UL has two common blocks, hence define a generic structure to have common APIs
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 |
uint32_t CSL_dssIsOldiResetDone | ( | const CSL_dss_commRegs * | commRegs | ) |
Get OLDI reset status.
commRegs | Pointer to a CSL_dss_commRegs structure containing the common configuration |
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 |
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 |
intrMask | Interrupt Mask. Refer CSL_DssVpIntrMask for values |
intrEnable | Enable/Disable the interrupt TRUE: Enable interrupt FALSE: Disable interrupt |
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 |
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 |
intrMask | Interrupt Mask. Refer CSL_DssVpIntrMask for values |
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 status should be read. Valid Values: CSL_DSS_VID_PIPE_ID_VID1 CSL_DSS_VID_PIPE_ID_VIDL1 |
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 status should be read. Valid Values: CSL_DSS_VP_ID_1 CSL_DSS_VP_ID_2 |
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 |
void CSL_dssGlobalVpEnable | ( | CSL_dss_commRegs * | commRegs, |
uint32_t | portIdMask, | ||
uint32_t | enable | ||
) |
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. |
enable | Enable/Disable the ports TRUE: Enable ports synchronously FALSE: Disable ports synchronously |
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_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 |
|
inlinestatic |
CSL_DssGlobalMFlagCfg structure init function.
mflagCfg | Pointer to CSL_DssGlobalMFlagCfg structure |
|
inlinestatic |
CSL_DssCbaCfg structure init function.
cbaCfg | Pointer to CSL_DssCbaCfg structure |