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_pq_regs
 

Macros

#define MAIN_PATH_OVL_NR   2
 

Enumerations

enum  {
  CG_CON0_SMI_COMMON = BIT(0) , CG_CON0_SMI_LARB0 = BIT(1) , CG_CON0_GALS_COMMON0 = BIT(3) , CG_CON0_GALS_COMMON1 = BIT(4) ,
  CG_CON0_DISP_OVL0 = BIT(20) , CG_CON0_DISP_OVL0_2L = BIT(21) , CG_CON0_DISP_OVL1_2L = BIT(22) , CG_CON0_DISP_RDMA0 = BIT(23) ,
  CG_CON0_DISP_RDMA1 = BIT(24) , CG_CON0_DISP_WDMA0 = BIT(25) , CG_CON0_DISP_COLOR0 = BIT(26) , CG_CON0_DISP_CCORR0 = BIT(27) ,
  CG_CON0_DISP_AAL0 = BIT(28) , CG_CON0_DISP_GAMMA0 = BIT(29) , CG_CON0_DISP_DITHER0 = BIT(30) , CG_CON0_DISP_ALL ,
  CG_CON0_ALL = 0xffffffff
}
 
enum  { CG_CON1_DISP_DSI0 = BIT(0) , CG_CON1_DISP_DSI0_INTERFACE = BIT(1) , CG_CON1_DISP_26M = BIT(7) , CG_CON1_ALL = 0xffffffff }
 
enum  {
  OVL0_MOUT_EN_RDMA0 = BIT(0) , OVL0_MOUT_EN_OVL0_2L = BIT(4) , OVL0_2L_MOUT_EN_DISP_PATH0 = BIT(0) , OVL1_2L_MOUT_EN_DISP_RDMA1 = BIT(4) ,
  DITHER0_MOUT_EN_DISP_DSI0 = BIT(0)
}
 
enum  {
  DISP_PATH0_SEL_IN_OVL0 = 0 , DISP_PATH0_SEL_IN_OVL0_2L = 1 , DSI0_SEL_IN_DITHER0_MOUT = 0 , DSI0_SEL_IN_RDMA0 = 1 ,
  RDMA0_SOUT_SEL_IN_DSI0 = 0 , RDMA0_SOUT_SEL_IN_COLOR = 1
}
 
enum  {
  MUTEX_MOD_DISP_RDMA0 = BIT(0) , MUTEX_MOD_DISP_RDMA1 = BIT(1) , MUTEX_MOD_DISP_OVL0 = BIT(9) , MUTEX_MOD_DISP_OVL0_2L = BIT(10) ,
  MUTEX_MOD_DISP_OVL1_2L = BIT(11) , MUTEX_MOD_DISP_WDMA0 = BIT(12) , MUTEX_MOD_DISP_COLOR0 = BIT(13) , MUTEX_MOD_DISP_CCORR0 = BIT(14) ,
  MUTEX_MOD_DISP_AAL0 = BIT(15) , MUTEX_MOD_DISP_GAMMA0 = BIT(16) , MUTEX_MOD_DISP_DITHER0 = BIT(17) , MUTEX_MOD_DISP_PWM0 = BIT(28) ,
  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) }
 
enum  { SMI_LARB_NON_SEC_CON = 0x380 }
 

Functions

 check_member (mmsys_cfg_regs, mmsys_cg_con0, 0x100)
 
 check_member (mmsys_cfg_regs, dpi0_sel_sout_sel_in, 0xF64)
 
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_pq_regs *const disp_ccorr = (void *)DISP_CCORR0_BASE
 
static struct disp_pq_regs *const disp_aal = (void *)DISP_AAL0_BASE
 
static struct disp_pq_regs *const disp_gamma = (void *)DISP_GAMMA0_BASE
 
static struct disp_pq_regs *const disp_dither = (void *)DISP_DITHER0_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_SMI_COMMON 
CG_CON0_SMI_LARB0 
CG_CON0_GALS_COMMON0 
CG_CON0_GALS_COMMON1 
CG_CON0_DISP_OVL0 
CG_CON0_DISP_OVL0_2L 
CG_CON0_DISP_OVL1_2L 
CG_CON0_DISP_RDMA0 
CG_CON0_DISP_RDMA1 
CG_CON0_DISP_WDMA0 
CG_CON0_DISP_COLOR0 
CG_CON0_DISP_CCORR0 
CG_CON0_DISP_AAL0 
CG_CON0_DISP_GAMMA0 
CG_CON0_DISP_DITHER0 
CG_CON0_DISP_ALL 
CG_CON0_ALL 

Definition at line 49 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
CG_CON1_DISP_DSI0 
CG_CON1_DISP_DSI0_INTERFACE 
CG_CON1_DISP_26M 
CG_CON1_ALL 

Definition at line 84 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
OVL0_MOUT_EN_RDMA0 
OVL0_MOUT_EN_OVL0_2L 
OVL0_2L_MOUT_EN_DISP_PATH0 
OVL1_2L_MOUT_EN_DISP_RDMA1 
DITHER0_MOUT_EN_DISP_DSI0 

Definition at line 92 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
DISP_PATH0_SEL_IN_OVL0 
DISP_PATH0_SEL_IN_OVL0_2L 
DSI0_SEL_IN_DITHER0_MOUT 
DSI0_SEL_IN_RDMA0 
RDMA0_SOUT_SEL_IN_DSI0 
RDMA0_SOUT_SEL_IN_COLOR 

Definition at line 100 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
MUTEX_MOD_DISP_RDMA0 
MUTEX_MOD_DISP_RDMA1 
MUTEX_MOD_DISP_OVL0 
MUTEX_MOD_DISP_OVL0_2L 
MUTEX_MOD_DISP_OVL1_2L 
MUTEX_MOD_DISP_WDMA0 
MUTEX_MOD_DISP_COLOR0 
MUTEX_MOD_DISP_CCORR0 
MUTEX_MOD_DISP_AAL0 
MUTEX_MOD_DISP_GAMMA0 
MUTEX_MOD_DISP_DITHER0 
MUTEX_MOD_DISP_PWM0 
MUTEX_MOD_MAIN_PATH 

Definition at line 125 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
MUTEX_SOF_SINGLE_MODE 
MUTEX_SOF_DSI0 
MUTEX_SOF_DPI0 

Definition at line 145 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
PQ_EN 
PQ_RELAY_MODE 

Definition at line 163 of file ddp.h.

◆ anonymous enum

anonymous enum
Enumerator
SMI_LARB_NON_SEC_CON 

Definition at line 176 of file ddp.h.

Function Documentation

◆ check_member() [1/2]

check_member ( mmsys_cfg_regs  ,
dpi0_sel_sout_sel_in  ,
0xF64   
)

◆ check_member() [2/2]

check_member ( mmsys_cfg_regs  ,
mmsys_cg_con0  ,
0x100   
)

◆ 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_pq_regs* const disp_aal = (void *)DISP_AAL0_BASE
static

Definition at line 170 of file ddp.h.

Referenced by aal_config(), and main_disp_path_setup().

◆ disp_ccorr

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

Definition at line 168 of file ddp.h.

Referenced by ccorr_config(), and main_disp_path_setup().

◆ disp_dither

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

Definition at line 174 of file ddp.h.

Referenced by dither_config(), and main_disp_path_setup().

◆ disp_gamma

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

Definition at line 172 of file ddp.h.

Referenced by gamma_config(), and main_disp_path_setup().

◆ disp_mutex

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

Definition at line 123 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 42 of file ddp.h.