AM62x MCU+ SDK  10.01.00

Introduction

This is DSS documentation specific to AM62x SoC

Sub Modules

 Display Controller IOCTLs
 

Files

file  am62x/dss_soc.h
 DSS Driver AM62x SOC specific file.
 

Data Structures

struct  Dss_IrqParams
 Structure containing DSS interrupt information. Events should be enabled only for available Video Ports and Video Pipes. More...
 
struct  Dss_RmInfo
 Structure containing resources manager information. This enables display sharing between two different softwares. More...
 
struct  Dss_SocParams
 DSS SOC parameters. More...
 
struct  Dss_DctrlOldiParams
 Structure containing OLDI configuration. This structure is used as an argument to IOCTL_DSS_DCTRL_SET_OLDI_PARAMS. More...
 

Functions

static uint32_t Dss_dispIsVidInst (uint32_t instId)
 Check if the display driver instance is of type Video pipeline. More...
 
static uint32_t Dss_dispIsVidLInst (uint32_t instId)
 Check if the display driver instance is of type Video lite pipeline. More...
 
static void Dss_irqParamsInit (Dss_IrqParams *irqParams)
 Dss_IrqParams structure init function. More...
 
static void Dss_rmInfoInit (Dss_RmInfo *rmInfo)
 Dss_RmInfo structure init function. More...
 
static void Dss_socParamsInit (Dss_SocParams *socParams)
 Dss_SocParams structure init function. More...
 
static void Dss_dctrlOldiParamsInit (Dss_DctrlOldiParams *oldiParams)
 Dss_DctrlOldiParams structure init function. More...
 
void Dss_setDssSoftReset (void)
 Perform DSS Soft Reset. More...
 
void Dss_setOLDITxPowerDown (uint32_t oldiLinkMode, bool powerState)
 Set OLDI Power Domain Control to power on and off OLDI TX. More...
 

Macros

#define DSS_DCTRL_MAX_NODES   ((uint32_t) 9U)
 Defines maximum number of nodes for allocation including invalid node. More...
 
#define DSS_DCTRL_MAX_EDGES   ((uint32_t) 8U)
 Defines maximum number of edges for allocation. This is derived by looking at all possible DSS connections in the SoC. More...
 
#define DSS_FUNC_IRQ_DEFAULT_NUM   (CSLR_GICSS0_COMMON_0_SPI_DSS0_DISPC_INTR_REQ_0_0)
 

DSS DCTRL Instance IDs

#define DSS_DCTRL_INST_0   (0U)
 Display controller instance 0. More...
 
#define DSS_DCTRL_INST_MAX   (1U)
 Maximum number of display driver instances. More...
 

DSS Display Instance IDs

#define DSS_DISP_INST_VID1   (CSL_DSS_VID_PIPE_ID_VID1)
 Video 1 Pipeline display driver instance number. More...
 
#define DSS_DISP_INST_VIDL1   (CSL_DSS_VID_PIPE_ID_VIDL1)
 Video Lite 1 Pipeline display driver instance number. More...
 
#define DSS_DISP_INST_MAX   (CSL_DSS_VID_PIPE_ID_MAX)
 Maximum number of display driver instances. More...
 
#define DSS_DISP_INST_INVALID   (CSL_DSS_VID_PIPE_ID_INVALID)
 Maximum number of display driver instances. More...
 

DSS DCTRL Node type

Node types that are used by the set path to connect different modules and create a graph

#define DSS_DCTRL_NODE_TYPE_INVALID   ((uint32_t) 0x0U)
 
#define DSS_DCTRL_NODE_TYPE_PIPE   ((uint32_t) 0x1U)
 
#define DSS_DCTRL_NODE_TYPE_OVERLAY   ((uint32_t) 0x2U)
 
#define DSS_DCTRL_NODE_TYPE_VP   ((uint32_t) 0x3U)
 
#define DSS_DCTRL_NODE_TYPE_OUTPUT   ((uint32_t) 0x4U)
 

DSS DCTRL Node Id

Node ids that are used by the set path to connect different modules and create a graph

#define DSS_DCTRL_NODE_INVALID   ((uint32_t) 0x0U)
 
#define DSS_DCTRL_NODE_VID1   ((uint32_t) 0x1U)
 
#define DSS_DCTRL_NODE_VIDL1   ((uint32_t) 0x2U)
 
#define DSS_DCTRL_NODE_OVR1   ((uint32_t) 0x3U)
 
#define DSS_DCTRL_NODE_OVR2   ((uint32_t) 0x4U)
 
#define DSS_DCTRL_NODE_VP1   ((uint32_t) 0x5U)
 
#define DSS_DCTRL_NODE_VP2   ((uint32_t) 0x6U)
 
#define DSS_DCTRL_NODE_OLDI   ((uint32_t) 0x7U)
 
#define DSS_DCTRL_NODE_DPI   ((uint32_t) 0x8U)
 
#define DSS_FWL_REGIONS_MAX   (8U)
 DSS register regions and associated firewall IDs. More...
 
#define DSS_FWL_COMMON0_ID   CSL_STD_FW_DSS0_COMMON_ID
 Properties of firewall at slave: DSS0_COMMON. More...
 
#define DSS_FWL_COMMON0_START   CSL_STD_FW_DSS0_COMMON_COMMON_START
 
#define DSS_FWL_COMMON0_END   CSL_STD_FW_DSS0_COMMON_COMMON_END
 
#define DSS_FWL_COMMON1_ID   CSL_STD_FW_DSS0_COMMON1_ID
 Properties of firewall at slave: DSS0_COMMON1. More...
 
#define DSS_FWL_COMMON1_START   CSL_STD_FW_DSS0_COMMON1_COMMON1_START
 
#define DSS_FWL_COMMON1_END   CSL_STD_FW_DSS0_COMMON1_COMMON1_END
 
#define DSS_FWL_VIDL1_ID   CSL_STD_FW_DSS0_VIDL1_ID
 Properties of firewall at slave: DSS0_VIDL1. More...
 
#define DSS_FWL_VIDL1_START   CSL_STD_FW_DSS0_VIDL1_VIDL1_START
 
#define DSS_FWL_VIDL1_END   CSL_STD_FW_DSS0_VIDL1_VIDL1_END
 
#define DSS_FWL_VID1_ID   CSL_STD_FW_DSS0_VID_ID
 Properties of firewall at slave: DSS0_VID. More...
 
#define DSS_FWL_VID1_START   CSL_STD_FW_DSS0_VID_VID_START
 
#define DSS_FWL_VID1_END   CSL_STD_FW_DSS0_VID_VID_END
 
#define DSS_FWL_OVR1_ID   CSL_STD_FW_DSS0_OVR1_ID
 Properties of firewall at slave: DSS0_OVR1. More...
 
#define DSS_FWL_OVR1_START   CSL_STD_FW_DSS0_OVR1_OVR1_START
 
#define DSS_FWL_OVR1_END   CSL_STD_FW_DSS0_OVR1_OVR1_END
 
#define DSS_FWL_OVR2_ID   CSL_STD_FW_DSS0_OVR2_ID
 Properties of firewall at slave: DSS0_OVR2. More...
 
#define DSS_FWL_OVR2_START   CSL_STD_FW_DSS0_OVR2_OVR2_START
 
#define DSS_FWL_OVR2_END   CSL_STD_FW_DSS0_OVR2_OVR2_END
 
#define DSS_FWL_VP1_ID   CSL_STD_FW_DSS0_VP1_ID
 Properties of firewall at slave: DSS0_VP1. More...
 
#define DSS_FWL_VP1_START   CSL_STD_FW_DSS0_VP1_VP1_START
 
#define DSS_FWL_VP1_END   CSL_STD_FW_DSS0_VP1_VP1_END
 
#define DSS_FWL_VP2_ID   CSL_STD_FW_DSS0_VP2_ID
 Properties of firewall at slave: DSS0_VP2. More...
 
#define DSS_FWL_VP2_START   CSL_STD_FW_DSS0_VP2_VP2_START
 
#define DSS_FWL_VP2_END   CSL_STD_FW_DSS0_VP2_VP2_END
 

Instance Ids for DSS Event Manager.

#define DSS_EVT_MGR_INST_ID_FUNC   ((uint32_t) 0x00U)
 Instance Id for functional interrupts. More...
 
#define DSS_EVT_MGR_INST_ID_MAX   ((uint32_t) 0x01U)
 Invalid Instance Id. More...
 
#define DSS_EVT_MGR_INST_ID_INVALID   ((uint32_t) 0xFFU)
 

Macro Definition Documentation

◆ DSS_DCTRL_INST_0

#define DSS_DCTRL_INST_0   (0U)

Display controller instance 0.

◆ DSS_DCTRL_INST_MAX

#define DSS_DCTRL_INST_MAX   (1U)

Maximum number of display driver instances.

◆ DSS_DISP_INST_VID1

#define DSS_DISP_INST_VID1   (CSL_DSS_VID_PIPE_ID_VID1)

Video 1 Pipeline display driver instance number.

◆ DSS_DISP_INST_VIDL1

#define DSS_DISP_INST_VIDL1   (CSL_DSS_VID_PIPE_ID_VIDL1)

Video Lite 1 Pipeline display driver instance number.

◆ DSS_DISP_INST_MAX

#define DSS_DISP_INST_MAX   (CSL_DSS_VID_PIPE_ID_MAX)

Maximum number of display driver instances.

◆ DSS_DISP_INST_INVALID

#define DSS_DISP_INST_INVALID   (CSL_DSS_VID_PIPE_ID_INVALID)

Maximum number of display driver instances.

◆ DSS_DCTRL_NODE_TYPE_INVALID

#define DSS_DCTRL_NODE_TYPE_INVALID   ((uint32_t) 0x0U)

◆ DSS_DCTRL_NODE_TYPE_PIPE

#define DSS_DCTRL_NODE_TYPE_PIPE   ((uint32_t) 0x1U)

◆ DSS_DCTRL_NODE_TYPE_OVERLAY

#define DSS_DCTRL_NODE_TYPE_OVERLAY   ((uint32_t) 0x2U)

◆ DSS_DCTRL_NODE_TYPE_VP

#define DSS_DCTRL_NODE_TYPE_VP   ((uint32_t) 0x3U)

◆ DSS_DCTRL_NODE_TYPE_OUTPUT

#define DSS_DCTRL_NODE_TYPE_OUTPUT   ((uint32_t) 0x4U)

◆ DSS_DCTRL_NODE_INVALID

#define DSS_DCTRL_NODE_INVALID   ((uint32_t) 0x0U)

◆ DSS_DCTRL_NODE_VID1

#define DSS_DCTRL_NODE_VID1   ((uint32_t) 0x1U)

◆ DSS_DCTRL_NODE_VIDL1

#define DSS_DCTRL_NODE_VIDL1   ((uint32_t) 0x2U)

◆ DSS_DCTRL_NODE_OVR1

#define DSS_DCTRL_NODE_OVR1   ((uint32_t) 0x3U)

◆ DSS_DCTRL_NODE_OVR2

#define DSS_DCTRL_NODE_OVR2   ((uint32_t) 0x4U)

◆ DSS_DCTRL_NODE_VP1

#define DSS_DCTRL_NODE_VP1   ((uint32_t) 0x5U)

◆ DSS_DCTRL_NODE_VP2

#define DSS_DCTRL_NODE_VP2   ((uint32_t) 0x6U)

◆ DSS_DCTRL_NODE_OLDI

#define DSS_DCTRL_NODE_OLDI   ((uint32_t) 0x7U)

◆ DSS_DCTRL_NODE_DPI

#define DSS_DCTRL_NODE_DPI   ((uint32_t) 0x8U)

◆ DSS_FWL_REGIONS_MAX

#define DSS_FWL_REGIONS_MAX   (8U)

DSS register regions and associated firewall IDs.

Node ids that are used by the set path to connect different modules and create a graph

Max number for DSS Firewall regions

◆ DSS_FWL_COMMON0_ID

#define DSS_FWL_COMMON0_ID   CSL_STD_FW_DSS0_COMMON_ID

Properties of firewall at slave: DSS0_COMMON.

◆ DSS_FWL_COMMON0_START

#define DSS_FWL_COMMON0_START   CSL_STD_FW_DSS0_COMMON_COMMON_START

◆ DSS_FWL_COMMON0_END

#define DSS_FWL_COMMON0_END   CSL_STD_FW_DSS0_COMMON_COMMON_END

◆ DSS_FWL_COMMON1_ID

#define DSS_FWL_COMMON1_ID   CSL_STD_FW_DSS0_COMMON1_ID

Properties of firewall at slave: DSS0_COMMON1.

◆ DSS_FWL_COMMON1_START

#define DSS_FWL_COMMON1_START   CSL_STD_FW_DSS0_COMMON1_COMMON1_START

◆ DSS_FWL_COMMON1_END

#define DSS_FWL_COMMON1_END   CSL_STD_FW_DSS0_COMMON1_COMMON1_END

◆ DSS_FWL_VIDL1_ID

#define DSS_FWL_VIDL1_ID   CSL_STD_FW_DSS0_VIDL1_ID

Properties of firewall at slave: DSS0_VIDL1.

◆ DSS_FWL_VIDL1_START

#define DSS_FWL_VIDL1_START   CSL_STD_FW_DSS0_VIDL1_VIDL1_START

◆ DSS_FWL_VIDL1_END

#define DSS_FWL_VIDL1_END   CSL_STD_FW_DSS0_VIDL1_VIDL1_END

◆ DSS_FWL_VID1_ID

#define DSS_FWL_VID1_ID   CSL_STD_FW_DSS0_VID_ID

Properties of firewall at slave: DSS0_VID.

◆ DSS_FWL_VID1_START

#define DSS_FWL_VID1_START   CSL_STD_FW_DSS0_VID_VID_START

◆ DSS_FWL_VID1_END

#define DSS_FWL_VID1_END   CSL_STD_FW_DSS0_VID_VID_END

◆ DSS_FWL_OVR1_ID

#define DSS_FWL_OVR1_ID   CSL_STD_FW_DSS0_OVR1_ID

Properties of firewall at slave: DSS0_OVR1.

◆ DSS_FWL_OVR1_START

#define DSS_FWL_OVR1_START   CSL_STD_FW_DSS0_OVR1_OVR1_START

◆ DSS_FWL_OVR1_END

#define DSS_FWL_OVR1_END   CSL_STD_FW_DSS0_OVR1_OVR1_END

◆ DSS_FWL_OVR2_ID

#define DSS_FWL_OVR2_ID   CSL_STD_FW_DSS0_OVR2_ID

Properties of firewall at slave: DSS0_OVR2.

◆ DSS_FWL_OVR2_START

#define DSS_FWL_OVR2_START   CSL_STD_FW_DSS0_OVR2_OVR2_START

◆ DSS_FWL_OVR2_END

#define DSS_FWL_OVR2_END   CSL_STD_FW_DSS0_OVR2_OVR2_END

◆ DSS_FWL_VP1_ID

#define DSS_FWL_VP1_ID   CSL_STD_FW_DSS0_VP1_ID

Properties of firewall at slave: DSS0_VP1.

◆ DSS_FWL_VP1_START

#define DSS_FWL_VP1_START   CSL_STD_FW_DSS0_VP1_VP1_START

◆ DSS_FWL_VP1_END

#define DSS_FWL_VP1_END   CSL_STD_FW_DSS0_VP1_VP1_END

◆ DSS_FWL_VP2_ID

#define DSS_FWL_VP2_ID   CSL_STD_FW_DSS0_VP2_ID

Properties of firewall at slave: DSS0_VP2.

◆ DSS_FWL_VP2_START

#define DSS_FWL_VP2_START   CSL_STD_FW_DSS0_VP2_VP2_START

◆ DSS_FWL_VP2_END

#define DSS_FWL_VP2_END   CSL_STD_FW_DSS0_VP2_VP2_END

◆ DSS_DCTRL_MAX_NODES

#define DSS_DCTRL_MAX_NODES   ((uint32_t) 9U)

Defines maximum number of nodes for allocation including invalid node.

◆ DSS_DCTRL_MAX_EDGES

#define DSS_DCTRL_MAX_EDGES   ((uint32_t) 8U)

Defines maximum number of edges for allocation. This is derived by looking at all possible DSS connections in the SoC.

DSS Functional Interrupt Number for R5

◆ DSS_FUNC_IRQ_DEFAULT_NUM

#define DSS_FUNC_IRQ_DEFAULT_NUM   (CSLR_GICSS0_COMMON_0_SPI_DSS0_DISPC_INTR_REQ_0_0)

◆ DSS_EVT_MGR_INST_ID_FUNC

#define DSS_EVT_MGR_INST_ID_FUNC   ((uint32_t) 0x00U)

Instance Id for functional interrupts.

<

Max Instance Id

◆ DSS_EVT_MGR_INST_ID_MAX

#define DSS_EVT_MGR_INST_ID_MAX   ((uint32_t) 0x01U)

Invalid Instance Id.

◆ DSS_EVT_MGR_INST_ID_INVALID

#define DSS_EVT_MGR_INST_ID_INVALID   ((uint32_t) 0xFFU)

Function Documentation

◆ Dss_dispIsVidInst()

static uint32_t Dss_dispIsVidInst ( uint32_t  instId)
inlinestatic

Check if the display driver instance is of type Video pipeline.

Parameters
instId[IN]Driver Instance Id.
Returns
TRUE if instance is Video pipeline else returns FALSE.

◆ Dss_dispIsVidLInst()

static uint32_t Dss_dispIsVidLInst ( uint32_t  instId)
inlinestatic

Check if the display driver instance is of type Video lite pipeline.

Parameters
instId[IN]Driver Instance Id.
Returns
TRUE if instance is Video lite pipeline else returns FALSE.

◆ Dss_irqParamsInit()

static void Dss_irqParamsInit ( Dss_IrqParams irqParams)
inlinestatic

Dss_IrqParams structure init function.

Parameters
irqParamsPointer to Dss_IrqParams structure.

◆ Dss_rmInfoInit()

static void Dss_rmInfoInit ( Dss_RmInfo rmInfo)
inlinestatic

Dss_RmInfo structure init function.

Parameters
rmInfoPointer to Dss_RmInfo structure.

◆ Dss_socParamsInit()

static void Dss_socParamsInit ( Dss_SocParams socParams)
inlinestatic

Dss_SocParams structure init function.

Parameters
socParamsPointer to Dss_SocParams structure.

◆ Dss_dctrlOldiParamsInit()

static void Dss_dctrlOldiParamsInit ( Dss_DctrlOldiParams oldiParams)
inlinestatic

Dss_DctrlOldiParams structure init function.

Parameters
oldiParams[IN]Pointer to Dss_DctrlOldiParams structure.

◆ Dss_setDssSoftReset()

void Dss_setDssSoftReset ( void  )

Perform DSS Soft Reset.

◆ Dss_setOLDITxPowerDown()

void Dss_setOLDITxPowerDown ( uint32_t  oldiLinkMode,
bool  powerState 
)

Set OLDI Power Domain Control to power on and off OLDI TX.

Parameters
oldiLinkModeOldi Map type. See CSL_DssVpOldiMapType for valid values
powerStateTrue to switch ON, false to switch OFF