coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ddp.h File Reference
#include <device/mmio.h>
#include <soc/addressmap.h>
#include <soc/ddp_common.h>
#include <types.h>
Include dependency graph for ddp.h:

Go to the source code of this file.

Data Structures

struct  mmsys_cfg_regs
 
struct  disp_mutex_regs
 
struct  disp_ccorr_regs
 
struct  disp_gamma_regs
 
struct  disp_aal_regs
 
struct  disp_postmask_regs
 
struct  disp_dither_regs
 

Macros

#define SMI_LARB_PORT_L0_OVL_RDMA0   0x388
 
#define DISP_OVL0_MOUT_TO_RDMA0   BIT(0)
 
#define DISP_RDMA0_FROM_OVL0   0
 
#define DISP_OVL0_GO_BLEND   BIT(0)
 
#define DISP_RDMA0_SOUT_TO_COLOR0   1
 
#define DISP_DITHER0_MOUT_TO_DSI0   BIT(0)
 
#define DISP_DSI0_FROM_DITHER0   1
 
#define SMI_ID_EN_VAL   BIT(0)
 
#define PQ_EN   BIT(0)
 
#define PQ_RELAY_MODE   BIT(0)
 
#define PQ_ENGINE_EN   BIT(1)
 

Enumerations

enum  {
  CG_CON0_DISP_MUTEX0 = BIT(0) , CG_CON0_APB_MM_BUS = BIT(1) , CG_CON0_DISP_OVL0 = BIT(2) , CG_CON0_DISP_RDMA0 = BIT(3) ,
  CG_CON0_DISP_OVL0_2L = BIT(4) , CG_CON0_DISP_WDMA0 = BIT(5) , CG_CON0_DISP_RSZ0 = BIT(7) , CG_CON0_DISP_AAL0 = BIT(8) ,
  CG_CON0_DISP_CCORR0 = BIT(9) , CG_CON0_DISP_COLOR0 = BIT(10) , CG_CON0_SMI_INFRA = BIT(11) , CG_CON0_DISP_GAMMA0 = BIT(13) ,
  CG_CON0_DISP_POSTMASK0 = BIT(14) , CG_CON0_DISP_DITHER0 = BIT(16) , CG_CON0_SMI_COMMON = BIT(17) , CG_CON0_DISP_DSI0 = BIT(19) ,
  CG_CON0_DISP_FAKE_ENG0 = BIT(20) , CG_CON0_DISP_FAKE_ENG1 = BIT(21) , CG_CON0_SMI_GALS = BIT(22) , CG_CON0_SMI_IOMMU = BIT(24) ,
  CG_CON0_DISP_ALL , CG_CON0_ALL = 0xFFFFFFFF
}
 
enum  { CG_CON2_DSI0_DSI_CK_DOMAIN = BIT(0) , CG_CON2_DISP_26M = BIT(10) , CG_CON2_DISP_ALL , CG_CON2_ALL = 0xFFFFFFFF }
 
enum  {
  MUTEX_MOD_DISP_OVL0 = BIT(0) , MUTEX_MOD_DISP_RDMA0 = BIT(2) , MUTEX_MOD_DISP_COLOR0 = BIT(4) , MUTEX_MOD_DISP_CCORR0 = BIT(5) ,
  MUTEX_MOD_DISP_AAL0 = BIT(7) , MUTEX_MOD_DISP_GAMMA0 = BIT(8) , MUTEX_MOD_DISP_POSTMASK0 = BIT(9) , MUTEX_MOD_DISP_DITHER0 = BIT(10) ,
  MUTEX_MOD_MAIN_PATH
}
 
enum  { MUTEX_SOF_SINGLE_MODE = 0 , MUTEX_SOF_DSI0 = 1 , MUTEX_SOF_DPI0 = 2 }
 

Functions

 check_member (mmsys_cfg_regs, mmsys_cg_con0, 0x100)
 
 check_member (mmsys_cfg_regs, mmsys_cg_con1, 0x110)
 
 check_member (mmsys_cfg_regs, mmsys_cg_con2, 0x1A0)
 
 check_member (mmsys_cfg_regs, mmsys_ovl_con, 0xF04)
 
 check_member (mmsys_cfg_regs, disp_rdma0_sout_sel, 0xF0C)
 
 check_member (mmsys_cfg_regs, disp_ovl0_mout_en, 0xF18)
 
 check_member (mmsys_cfg_regs, disp_dither0_mout_en, 0xF20)
 
 check_member (mmsys_cfg_regs, disp_rdma0_sel_in, 0xF28)
 
 check_member (mmsys_cfg_regs, disp_dsi0_sel_in, 0xF30)
 
 check_member (disp_ccorr_regs, shadow, 0xA0)
 
 check_member (disp_gamma_regs, size, 0x30)
 
 check_member (disp_aal_regs, shadow, 0xF0)
 
 check_member (disp_aal_regs, output_size, 0x4D8)
 
 check_member (disp_postmask_regs, size, 0x30)
 
 check_member (disp_dither_regs, disp_dither_0, 0x100)
 
void mtk_ddp_init (void)
 
void mtk_ddp_mode_set (const struct edid *edid)
 

Variables

static struct mmsys_cfg_regs *const mmsys_cfg = (void *)MMSYS_BASE
 
static struct disp_mutex_regs *const disp_mutex = (void *)DISP_MUTEX_BASE
 
static struct disp_ccorr_regs *const disp_ccorr = (void *)DISP_CCORR0_BASE
 
static struct disp_aal_regs *const disp_aal = (void *)DISP_AAL0_BASE
 
static struct disp_gamma_regs *const disp_gamma = (void *)DISP_GAMMA0_BASE
 
static struct disp_postmask_regs *const disp_postmask = (void *)DISP_POSTMASK0_BASE
 
static struct disp_dither_regs *const disp_dither = (void *)DISP_DITHER0_BASE
 

Macro Definition Documentation

◆ DISP_DITHER0_MOUT_TO_DSI0

#define DISP_DITHER0_MOUT_TO_DSI0   BIT(0)

Definition at line 215 of file ddp.h.

◆ DISP_DSI0_FROM_DITHER0

#define DISP_DSI0_FROM_DITHER0   1

Definition at line 216 of file ddp.h.

◆ DISP_OVL0_GO_BLEND

#define DISP_OVL0_GO_BLEND   BIT(0)

Definition at line 213 of file ddp.h.

◆ DISP_OVL0_MOUT_TO_RDMA0

#define DISP_OVL0_MOUT_TO_RDMA0   BIT(0)

Definition at line 211 of file ddp.h.

◆ DISP_RDMA0_FROM_OVL0

#define DISP_RDMA0_FROM_OVL0   0

Definition at line 212 of file ddp.h.

◆ DISP_RDMA0_SOUT_TO_COLOR0

#define DISP_RDMA0_SOUT_TO_COLOR0   1

Definition at line 214 of file ddp.h.

◆ PQ_EN

#define PQ_EN   BIT(0)

Definition at line 245 of file ddp.h.

◆ PQ_ENGINE_EN

#define PQ_ENGINE_EN   BIT(1)

Definition at line 247 of file ddp.h.

◆ PQ_RELAY_MODE

#define PQ_RELAY_MODE   BIT(0)

Definition at line 246 of file ddp.h.

◆ SMI_ID_EN_VAL

#define SMI_ID_EN_VAL   BIT(0)

Definition at line 218 of file ddp.h.

◆ SMI_LARB_PORT_L0_OVL_RDMA0

#define SMI_LARB_PORT_L0_OVL_RDMA0   0x388

Definition at line 16 of file ddp.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MUTEX_MOD_DISP_OVL0 
MUTEX_MOD_DISP_RDMA0 
MUTEX_MOD_DISP_COLOR0 
MUTEX_MOD_DISP_CCORR0 
MUTEX_MOD_DISP_AAL0 
MUTEX_MOD_DISP_GAMMA0 
MUTEX_MOD_DISP_POSTMASK0 
MUTEX_MOD_DISP_DITHER0 
MUTEX_MOD_MAIN_PATH 

Definition at line 220 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
MUTEX_SOF_SINGLE_MODE 
MUTEX_SOF_DSI0 
MUTEX_SOF_DPI0 

Definition at line 239 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
CG_CON0_DISP_MUTEX0 
CG_CON0_APB_MM_BUS 
CG_CON0_DISP_OVL0 
CG_CON0_DISP_RDMA0 
CG_CON0_DISP_OVL0_2L 
CG_CON0_DISP_WDMA0 
CG_CON0_DISP_RSZ0 
CG_CON0_DISP_AAL0 
CG_CON0_DISP_CCORR0 
CG_CON0_DISP_COLOR0 
CG_CON0_SMI_INFRA 
CG_CON0_DISP_GAMMA0 
CG_CON0_DISP_POSTMASK0 
CG_CON0_DISP_DITHER0 
CG_CON0_SMI_COMMON 
CG_CON0_DISP_DSI0 
CG_CON0_DISP_FAKE_ENG0 
CG_CON0_DISP_FAKE_ENG1 
CG_CON0_SMI_GALS 
CG_CON0_SMI_IOMMU 
CG_CON0_DISP_ALL 
CG_CON0_ALL 

Definition at line 153 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
CG_CON2_DSI0_DSI_CK_DOMAIN 
CG_CON2_DISP_26M 
CG_CON2_DISP_ALL 
CG_CON2_ALL 

Definition at line 192 of file ddp.h.

Function Documentation

◆ check_member() [1/15]

check_member ( disp_aal_regs  ,
output_size  ,
0x4D8   
)

◆ check_member() [2/15]

check_member ( disp_aal_regs  ,
shadow  ,
0xF0   
)

◆ check_member() [3/15]

check_member ( disp_ccorr_regs  ,
shadow  ,
0xA0   
)

◆ check_member() [4/15]

check_member ( disp_dither_regs  ,
disp_dither_0  ,
0x100   
)

◆ check_member() [5/15]

check_member ( disp_gamma_regs  ,
size  ,
0x30   
)

◆ check_member() [6/15]

check_member ( disp_postmask_regs  ,
size  ,
0x30   
)

◆ check_member() [7/15]

check_member ( mmsys_cfg_regs  ,
disp_dither0_mout_en  ,
0xF20   
)

◆ check_member() [8/15]

check_member ( mmsys_cfg_regs  ,
disp_dsi0_sel_in  ,
0xF30   
)

◆ check_member() [9/15]

check_member ( mmsys_cfg_regs  ,
disp_ovl0_mout_en  ,
0xF18   
)

◆ check_member() [10/15]

check_member ( mmsys_cfg_regs  ,
disp_rdma0_sel_in  ,
0xF28   
)

◆ check_member() [11/15]

check_member ( mmsys_cfg_regs  ,
disp_rdma0_sout_sel  ,
0xF0C   
)

◆ check_member() [12/15]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con0  ,
0x100   
)

◆ check_member() [13/15]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con1  ,
0x110   
)

◆ check_member() [14/15]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con2  ,
0x1A0   
)

◆ check_member() [15/15]

check_member ( mmsys_cfg_regs  ,
mmsys_ovl_con  ,
0xF04   
)

◆ mtk_ddp_init()

void mtk_ddp_init ( void  )

Definition at line 61 of file ddp.c.

◆ mtk_ddp_mode_set()

void mtk_ddp_mode_set ( const struct edid edid)

Definition at line 66 of file ddp.c.

Variable Documentation

◆ disp_aal

struct disp_aal_regs* const disp_aal = (void *)DISP_AAL0_BASE
static

Definition at line 252 of file ddp.h.

◆ disp_ccorr

struct disp_ccorr_regs* const disp_ccorr = (void *)DISP_CCORR0_BASE
static

Definition at line 251 of file ddp.h.

◆ disp_dither

struct disp_dither_regs* const disp_dither = (void *)DISP_DITHER0_BASE
static

Definition at line 255 of file ddp.h.

◆ disp_gamma

struct disp_gamma_regs* const disp_gamma = (void *)DISP_GAMMA0_BASE
static

Definition at line 253 of file ddp.h.

◆ disp_mutex

struct disp_mutex_regs* const disp_mutex = (void *)DISP_MUTEX_BASE
static

Definition at line 250 of file ddp.h.

◆ disp_postmask

struct disp_postmask_regs* const disp_postmask = (void *)DISP_POSTMASK0_BASE
static

Definition at line 254 of file ddp.h.

Referenced by postmask_config().

◆ mmsys_cfg

struct mmsys_cfg_regs* const mmsys_cfg = (void *)MMSYS_BASE
static

Definition at line 249 of file ddp.h.