PDK API Guide for J721E
DSS SoC Config

Introduction

This is DSS documentation specific to J7 SoC

Sub Modules

 Display Controller IOCTLs
 

Files

file  dss_soc.h
 DSS Driver J7 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_DpInitParams
 Structure containing Display Port init parameters. More...
 
struct  Dss_DsiInitParams
 Structure containing DSI init parameters. More...
 
struct  Dss_SocParams
 DSS SOC parameters. More...
 
struct  Dss_DctrlDpHpdCbParams
 DSS DP HPD Callback parameters. 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_dpInitParamsInit (Dss_DpInitParams *dpInitParams)
 Dss_DpInitParams structure init function. More...
 
static void Dss_socParamsInit (Dss_SocParams *socParams)
 Dss_SocParams structure init function. More...
 
static void Dss_dctrlDpHpdCbParamsInit (Dss_DctrlDpHpdCbParams *cbParams)
 Dss_DctrlDpHpdCbParams structure init function. More...
 
static void Dss_dsiInitParamsInit (Dss_DsiInitParams *dsiInitParams)
 

Typedefs

typedef void(* Dss_DctrlDpHpdCbFxn) (uint32_t hpdState, void *appData)
 DP HPD callback function prototype. More...
 

Macros

#define DSS_DCTRL_MAX_NODES   (22U)
 Defines maximum number of nodes for allocation including invalid node. More...
 
#define DSS_DCTRL_MAX_EDGES   (32U)
 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   (52U)
 DSS Safety Interrupt Number for R5. More...
 
#define DSS_SAFE_IRQ_DEFAULT_NUM   (54U)
 DSS Functional Interrupt Number for R5. More...
 
#define DSS_SECURE_IRQ_DEFAULT_NUM   (56U)
 

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_VID2   (CSL_DSS_VID_PIPE_ID_VID2)
 Video 2 Pipeline display driver instance number. More...
 
#define DSS_DISP_INST_VIDL2   (CSL_DSS_VID_PIPE_ID_VIDL2)
 Video Lite 2 Pipeline display driver instance number. More...
 
#define DSS_DISP_INST_MAX   (CSL_DSS_VID_PIPE_ID_MAX)
 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   (0x0U)
 
#define DSS_DCTRL_NODE_VID1   (0x1U)
 
#define DSS_DCTRL_NODE_VIDL1   (0x2U)
 
#define DSS_DCTRL_NODE_VID2   (0x3U)
 
#define DSS_DCTRL_NODE_VIDL2   (0x4U)
 
#define DSS_DCTRL_NODE_OVERLAY1   (0x5U)
 
#define DSS_DCTRL_NODE_OVERLAY2   (0x6U)
 
#define DSS_DCTRL_NODE_OVERLAY3   (0x7U)
 
#define DSS_DCTRL_NODE_OVERLAY4   (0x8U)
 
#define DSS_DCTRL_NODE_VP1   (0x9U)
 
#define DSS_DCTRL_NODE_VP2   (0xAU)
 
#define DSS_DCTRL_NODE_VP3   (0xBU)
 
#define DSS_DCTRL_NODE_VP4   (0xCU)
 
#define DSS_DCTRL_NODE_DPI_DPI0   (0xDU)
 
#define DSS_DCTRL_NODE_DPI_DPI1   (0xEU)
 
#define DSS_DCTRL_NODE_EDP_DPI0   (0xFU)
 
#define DSS_DCTRL_NODE_EDP_DPI1   (0x10U)
 
#define DSS_DCTRL_NODE_EDP_DPI2   (0x11U)
 
#define DSS_DCTRL_NODE_EDP_DPI3   (0x12U)
 
#define DSS_DCTRL_NODE_DSI_DPI2   (0x13U)
 
#define DSS_DCTRL_NODE_DISCSYNC0   (0x14U)
 
#define DSS_DCTRL_NODE_DISCSYNC1   (0x15U)
 

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_SAFETY   ((uint32_t) 0x01U)
 Instance Id for security interrupts. More...
 
#define DSS_EVT_MGR_INST_ID_SECURITY   ((uint32_t) 0x02U)
 Max Instance Id. More...
 
#define DSS_EVT_MGR_INST_ID_MAX   ((uint32_t) 0x03U)
 Invalid Instance Id. More...
 
#define DSS_EVT_MGR_INST_ID_INVALID   ((uint32_t) 0xFFU)
 

Macro Definition Documentation

#define DSS_DCTRL_INST_0   (0U)

Display controller instance 0.

#define DSS_DCTRL_INST_MAX   (1U)

Maximum number of display driver instances.

#define DSS_DISP_INST_VID1   (CSL_DSS_VID_PIPE_ID_VID1)

Video 1 Pipeline display driver instance number.

#define DSS_DISP_INST_VIDL1   (CSL_DSS_VID_PIPE_ID_VIDL1)

Video Lite 1 Pipeline display driver instance number.

#define DSS_DISP_INST_VID2   (CSL_DSS_VID_PIPE_ID_VID2)

Video 2 Pipeline display driver instance number.

#define DSS_DISP_INST_VIDL2   (CSL_DSS_VID_PIPE_ID_VIDL2)

Video Lite 2 Pipeline display driver instance number.

#define DSS_DISP_INST_MAX   (CSL_DSS_VID_PIPE_ID_MAX)

Maximum number of display driver instances.

#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)
#define DSS_DCTRL_NODE_INVALID   (0x0U)
#define DSS_DCTRL_NODE_VID1   (0x1U)
#define DSS_DCTRL_NODE_VIDL1   (0x2U)
#define DSS_DCTRL_NODE_VID2   (0x3U)
#define DSS_DCTRL_NODE_VIDL2   (0x4U)
#define DSS_DCTRL_NODE_OVERLAY1   (0x5U)
#define DSS_DCTRL_NODE_OVERLAY2   (0x6U)
#define DSS_DCTRL_NODE_OVERLAY3   (0x7U)
#define DSS_DCTRL_NODE_OVERLAY4   (0x8U)
#define DSS_DCTRL_NODE_VP1   (0x9U)
#define DSS_DCTRL_NODE_VP2   (0xAU)
#define DSS_DCTRL_NODE_VP3   (0xBU)
#define DSS_DCTRL_NODE_VP4   (0xCU)
#define DSS_DCTRL_NODE_DPI_DPI0   (0xDU)
#define DSS_DCTRL_NODE_DPI_DPI1   (0xEU)
#define DSS_DCTRL_NODE_EDP_DPI0   (0xFU)
#define DSS_DCTRL_NODE_EDP_DPI1   (0x10U)
#define DSS_DCTRL_NODE_EDP_DPI2   (0x11U)
#define DSS_DCTRL_NODE_EDP_DPI3   (0x12U)
#define DSS_DCTRL_NODE_DSI_DPI2   (0x13U)
#define DSS_DCTRL_NODE_DISCSYNC0   (0x14U)
#define DSS_DCTRL_NODE_DISCSYNC1   (0x15U)
#define DSS_DCTRL_MAX_NODES   (22U)

Defines maximum number of nodes for allocation including invalid node.

#define DSS_DCTRL_MAX_EDGES   (32U)

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

#define DSS_FUNC_IRQ_DEFAULT_NUM   (52U)

DSS Safety Interrupt Number for R5.

#define DSS_SAFE_IRQ_DEFAULT_NUM   (54U)

DSS Functional Interrupt Number for R5.

#define DSS_SECURE_IRQ_DEFAULT_NUM   (56U)
#define DSS_EVT_MGR_INST_ID_FUNC   ((uint32_t) 0x00U)

Instance Id for functional interrupts.

<Instance Id for safety interrupts

#define DSS_EVT_MGR_INST_ID_SAFETY   ((uint32_t) 0x01U)

Instance Id for security interrupts.

#define DSS_EVT_MGR_INST_ID_SECURITY   ((uint32_t) 0x02U)

Max Instance Id.

#define DSS_EVT_MGR_INST_ID_MAX   ((uint32_t) 0x03U)

Invalid Instance Id.

#define DSS_EVT_MGR_INST_ID_INVALID   ((uint32_t) 0xFFU)

Typedef Documentation

typedef void(* Dss_DctrlDpHpdCbFxn) (uint32_t hpdState, void *appData)

DP HPD callback function prototype.

Parameters
hpdState[OUT] HPD state TRUE / FALSE.
appData[OUT] Application's private data.
Returns
None.

Function Documentation

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.
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.
static void Dss_irqParamsInit ( Dss_IrqParams irqParams)
inlinestatic

Dss_IrqParams structure init function.

Parameters
irqParamsPointer to Dss_IrqParams structure.
Returns
None
static void Dss_rmInfoInit ( Dss_RmInfo rmInfo)
inlinestatic

Dss_RmInfo structure init function.

Parameters
rmInfoPointer to Dss_RmInfo structure.
Returns
None
static void Dss_dpInitParamsInit ( Dss_DpInitParams dpInitParams)
inlinestatic

Dss_DpInitParams structure init function.

Parameters
dpInitParamsPointer to Dss_DpInitParams structure.
Returns
None
static void Dss_socParamsInit ( Dss_SocParams socParams)
inlinestatic

Dss_SocParams structure init function.

Parameters
socParamsPointer to Dss_SocParams structure.
Returns
None
static void Dss_dctrlDpHpdCbParamsInit ( Dss_DctrlDpHpdCbParams cbParams)
inlinestatic

Dss_DctrlDpHpdCbParams structure init function.

Parameters
cbParamsPointer to Dss_DctrlDpHpdCbParams structure.
Returns
None
static void Dss_dsiInitParamsInit ( Dss_DsiInitParams dsiInitParams)
inlinestatic