coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ddp.h File Reference
#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 MAIN_PATH_OVL_NR   2
 

Enumerations

enum  {
  CG_CON0_DISP_MUTEX0 = BIT(0) , CG_CON0_DISPSYS_CONFIG = BIT(1) , CG_CON0_DISP_OVL0 = BIT(2) , CG_CON0_DISP_RDMA0 = BIT(3) ,
  CG_CON0_DISP_OVL0_2L = BIT(4) , CG_CON0_DISP_AAL0 = BIT(8) , CG_CON0_DISP_CCORR0 = BIT(9) , CG_CON0_DISP_DITHER0 = BIT(10) ,
  CG_CON0_SMI_INFRA = BIT(11) , CG_CON0_DISP_GAMMA0 = BIT(12) , CG_CON0_DISP_POSTMASK0 = BIT(13) , CG_CON0_DISP_DSI0 = BIT(15) ,
  CG_CON0_DISP_COLOR0 = BIT(16) , CG_CON0_SMI_COMMON = BIT(17) , CG_CON0_SMI_GALS = BIT(27) , CG_CON0_DISP_ALL ,
  CG_CON0_ALL = 0xffffffff
}
 
enum  { CG_CON1_SMI_IOMMU = BIT(0) , CG_CON1_DISP_ALL = CG_CON1_SMI_IOMMU , CG_CON1_ALL = 0xffffffff }
 
enum  {
  CG_CON2_DSI_DSI0 = BIT(0) , CG_CON2_DPI_DPI0 = BIT(8) , CG_CON2_MM_26MHZ = BIT(24) , CG_CON2_DISP_ALL ,
  CG_CON2_ALL = 0xffffffff
}
 
enum  {
  DISP_OVL0_GO_BLEND = BIT(0) , DISP_OVL0_GO_BG = BIT(1) , DISP_OVL0_2L_GO_BLEND = BIT(2) , DISP_OVL0_2L_GO_BG = BIT(3) ,
  OVL0_MOUT_EN_DISP_RDMA0 = BIT(0) , DITHER0_MOUT_DSI0 = BIT(0)
}
 
enum  {
  RDMA0_SEL_IN_OVL0_2L = 0x3 , RDMA0_SOUT_COLOR0 = 0x1 , CCORR0_SOUT_AAL0 = 0x1 , AAL0_SEL_IN_CCORR0 = 0x1 ,
  DSI0_SEL_IN_DITHER0 = 0x1
}
 
enum  {
  MUTEX_MOD_DISP_OVL0 = BIT(0) , MUTEX_MOD_DISP_OVL0_2L = BIT(1) , MUTEX_MOD_DISP_RDMA0 = BIT(2) , MUTEX_MOD_DISP_COLOR0 = BIT(4) ,
  MUTEX_MOD_DISP_CCORR0 = BIT(5) , MUTEX_MOD_DISP_AAL0 = BIT(6) , MUTEX_MOD_DISP_GAMMA0 = BIT(7) , MUTEX_MOD_DISP_POSTMASK0 = BIT(8) ,
  MUTEX_MOD_DISP_DITHER0 = BIT(9) , MUTEX_MOD_MAIN_PATH
}
 
enum  { MUTEX_SOF_SINGLE_MODE = 0 , MUTEX_SOF_DSI0 = 1 , MUTEX_SOF_DPI0 = 2 }
 
enum  { PQ_EN = BIT(0) , PQ_RELAY_MODE = BIT(0) , PQ_ENGINE_EN = BIT(1) }
 
enum  { SMI_LARB_PORT_L0_OVL_RDMA0 = 0x388 }
 

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_mout_en, 0xF04)
 
 check_member (mmsys_cfg_regs, ovl0_2l_mout_en, 0xF18)
 
 check_member (mmsys_cfg_regs, dsi0_sel_in, 0xF40)
 
 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, shadow, 0x100)
 
void mtk_ddp_init (void)
 
void mtk_ddp_mode_set (const struct edid *edid)
 

Variables

static struct mmsys_cfg_regs *const mmsys_cfg
 
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_dither_regs *const disp_dither = (void *)DISP_DITHER0_BASE
 
static struct disp_postmask_regs *const disp_postmask = (void *)DISP_POSTMASK0_BASE
 

Macro Definition Documentation

◆ MAIN_PATH_OVL_NR

#define MAIN_PATH_OVL_NR   2

Definition at line 10 of file ddp.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CG_CON0_DISP_MUTEX0 
CG_CON0_DISPSYS_CONFIG 
CG_CON0_DISP_OVL0 
CG_CON0_DISP_RDMA0 
CG_CON0_DISP_OVL0_2L 
CG_CON0_DISP_AAL0 
CG_CON0_DISP_CCORR0 
CG_CON0_DISP_DITHER0 
CG_CON0_SMI_INFRA 
CG_CON0_DISP_GAMMA0 
CG_CON0_DISP_POSTMASK0 
CG_CON0_DISP_DSI0 
CG_CON0_DISP_COLOR0 
CG_CON0_SMI_COMMON 
CG_CON0_SMI_GALS 
CG_CON0_DISP_ALL 
CG_CON0_ALL 

Definition at line 59 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
CG_CON1_SMI_IOMMU 
CG_CON1_DISP_ALL 
CG_CON1_ALL 

Definition at line 98 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
CG_CON2_DSI_DSI0 
CG_CON2_DPI_DPI0 
CG_CON2_MM_26MHZ 
CG_CON2_DISP_ALL 
CG_CON2_ALL 

Definition at line 104 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
DISP_OVL0_GO_BLEND 
DISP_OVL0_GO_BG 
DISP_OVL0_2L_GO_BLEND 
DISP_OVL0_2L_GO_BG 
OVL0_MOUT_EN_DISP_RDMA0 
DITHER0_MOUT_DSI0 

Definition at line 114 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
RDMA0_SEL_IN_OVL0_2L 
RDMA0_SOUT_COLOR0 
CCORR0_SOUT_AAL0 
AAL0_SEL_IN_CCORR0 
DSI0_SEL_IN_DITHER0 

Definition at line 123 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
MUTEX_MOD_DISP_OVL0 
MUTEX_MOD_DISP_OVL0_2L 
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 147 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
MUTEX_SOF_SINGLE_MODE 
MUTEX_SOF_DSI0 
MUTEX_SOF_DPI0 

Definition at line 168 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
PQ_EN 
PQ_RELAY_MODE 
PQ_ENGINE_EN 

Definition at line 247 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
SMI_LARB_PORT_L0_OVL_RDMA0 

Definition at line 263 of file ddp.h.

Function Documentation

◆ check_member() [1/12]

check_member ( disp_aal_regs  ,
output_size  ,
0x4D8   
)

◆ check_member() [2/12]

check_member ( disp_aal_regs  ,
shadow  ,
0xF0   
)

◆ check_member() [3/12]

check_member ( disp_ccorr_regs  ,
shadow  ,
0xA0   
)

◆ check_member() [4/12]

check_member ( disp_dither_regs  ,
shadow  ,
0x100   
)

◆ check_member() [5/12]

check_member ( disp_gamma_regs  ,
size  ,
0x30   
)

◆ check_member() [6/12]

check_member ( disp_postmask_regs  ,
size  ,
0x30   
)

◆ check_member() [7/12]

check_member ( mmsys_cfg_regs  ,
dsi0_sel_in  ,
0xF40   
)

◆ check_member() [8/12]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con0  ,
0x100   
)

◆ check_member() [9/12]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con1  ,
0x110   
)

◆ check_member() [10/12]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con2  ,
0x1A0   
)

◆ check_member() [11/12]

check_member ( mmsys_cfg_regs  ,
mmsys_ovl_mout_en  ,
0xF04   
)

◆ check_member() [12/12]

check_member ( mmsys_cfg_regs  ,
ovl0_2l_mout_en  ,
0xF18   
)

◆ 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 255 of file ddp.h.

◆ disp_ccorr

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

Definition at line 253 of file ddp.h.

◆ disp_dither

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

Definition at line 259 of file ddp.h.

◆ disp_gamma

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

Definition at line 257 of file ddp.h.

◆ disp_mutex

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

Definition at line 145 of file ddp.h.

◆ disp_postmask

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

Definition at line 261 of file ddp.h.

◆ mmsys_cfg

struct mmsys_cfg_regs* const mmsys_cfg
static
Initial value:
=
(void *)MMSYS_BASE
@ MMSYS_BASE
Definition: addressmap.h:44

Definition at line 51 of file ddp.h.