coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ddp_common.h File Reference
#include <soc/addressmap.h>
#include <types.h>
Include dependency graph for ddp_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  disp_ovl_regs
 
struct  disp_rdma_regs
 
struct  disp_color_regs
 

Enumerations

enum  { RDMA_ENGINE_EN = BIT(0) , RDMA_FIFO_UNDERFLOW_EN = BIT(31) , RDMA_MEM_GMC = 0x40402020 }
 
enum  { COLOR_BYPASS_ALL = BIT(7) , COLOR_SEQ_SEL = BIT(13) }
 
enum  OVL_INPUT_FORMAT {
  OVL_INFMT_RGB565 = 0 , OVL_INFMT_RGB888 = 1 , OVL_INFMT_RGBA8888 = 2 , OVL_INFMT_ARGB8888 = 3 ,
  OVL_INFMT_UYVY = 4 , OVL_INFMT_YUYV = 5 , OVL_INFMT_UNKNOWN = 16 , OVL_COLOR_BASE = 30 ,
  OVL_INFMT_BGR565 = OVL_INFMT_RGB565 + OVL_COLOR_BASE , OVL_INFMT_BGR888 = OVL_INFMT_RGB888 + OVL_COLOR_BASE , OVL_INFMT_BGRA8888 = OVL_INFMT_RGBA8888 + OVL_COLOR_BASE , OVL_INFMT_ABGR8888 = OVL_INFMT_ARGB8888 + OVL_COLOR_BASE
}
 

Functions

 check_member (disp_ovl_regs, l3_addr, 0xFA0)
 
 check_member (disp_rdma_regs, debug_out_sel, 0x94)
 
 check_member (disp_color_regs, cfg_main, 0x400)
 
 check_member (disp_color_regs, start, 0xC00)
 
 check_member (disp_color_regs, width, 0xC50)
 
 check_member (disp_color_regs, height, 0xC54)
 
void ovl_set_roi (u32 idx, u32 width, u32 height, u32 color)
 
void rdma_start (void)
 
void rdma_config (u32 width, u32 height, u32 pixel_clk, u32 fifo_size)
 
void color_start (u32 width, u32 height)
 
void ovl_layer_config (u32 fmt, u32 bpp, u32 width, u32 height)
 

Variables

static struct disp_ovl_regs *const disp_ovl [2]
 
static struct disp_rdma_regs *const disp_rdma0 = (void *)DISP_RDMA0_BASE
 
static struct disp_color_regs *const disp_color0 = (void *)DISP_COLOR0_BASE
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RDMA_ENGINE_EN 
RDMA_FIFO_UNDERFLOW_EN 
RDMA_MEM_GMC 

Definition at line 90 of file ddp_common.h.

◆ anonymous enum

anonymous enum
Enumerator
COLOR_BYPASS_ALL 
COLOR_SEQ_SEL 

Definition at line 115 of file ddp_common.h.

◆ OVL_INPUT_FORMAT

Enumerator
OVL_INFMT_RGB565 
OVL_INFMT_RGB888 
OVL_INFMT_RGBA8888 
OVL_INFMT_ARGB8888 
OVL_INFMT_UYVY 
OVL_INFMT_YUYV 
OVL_INFMT_UNKNOWN 
OVL_COLOR_BASE 
OVL_INFMT_BGR565 
OVL_INFMT_BGR888 
OVL_INFMT_BGRA8888 
OVL_INFMT_ABGR8888 

Definition at line 120 of file ddp_common.h.

Function Documentation

◆ check_member() [1/6]

check_member ( disp_color_regs  ,
cfg_main  ,
0x400   
)

◆ check_member() [2/6]

check_member ( disp_color_regs  ,
height  ,
0xC54   
)

◆ check_member() [3/6]

check_member ( disp_color_regs  ,
start  ,
0xC00   
)

◆ check_member() [4/6]

check_member ( disp_color_regs  ,
width  ,
0xC50   
)

◆ check_member() [5/6]

check_member ( disp_ovl_regs  ,
l3_addr  ,
0xFA0   
)

◆ check_member() [6/6]

check_member ( disp_rdma_regs  ,
debug_out_sel  ,
0x94   
)

◆ color_start()

void color_start ( u32  width,
u32  height 
)

Definition at line 47 of file ddp.c.

References BIT, disp_color_regs::cfg_main, COLOR_BYPASS_ALL, COLOR_SEQ_SEL, disp_color0, height, disp_color_regs::height, disp_color_regs::start, width, disp_color_regs::width, and write32().

Referenced by main_disp_path_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ovl_layer_config()

void ovl_layer_config ( u32  fmt,
u32  bpp,
u32  width,
u32  height 
)

Definition at line 56 of file ddp.c.

References BIT, disp_ovl_regs::con, disp_ovl_regs::ctrl, disp_ovl, height, disp_ovl_regs::layer, disp_ovl_regs::mem_gmc_setting, disp_ovl_regs::pitch, disp_ovl_regs::rdma, RDMA_MEM_GMC, setbits32, disp_ovl_regs::src_con, disp_ovl_regs::src_size, width, and write32().

Referenced by mtk_ddp_mode_set().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ovl_set_roi()

void ovl_set_roi ( u32  idx,
u32  width,
u32  height,
u32  color 
)

Definition at line 12 of file ddp.c.

References disp_ovl, height, width, and write32().

Referenced by main_disp_path_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdma_config()

void rdma_config ( u32  width,
u32  height,
u32  pixel_clk,
u32  fifo_size 
)

Definition at line 23 of file ddp.c.

References clrsetbits32, disp_rdma0, disp_rdma_regs::fifo_con, height, RDMA_FIFO_PSEUDO_SIZE, RDMA_FIFO_UNDERFLOW_EN, RDMA_OUTPUT_VALID_FIFO_THRESHOLD, disp_rdma_regs::size_con_0, disp_rdma_regs::size_con_1, width, and write32().

Referenced by main_disp_path_setup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rdma_start()

void rdma_start ( void  )

Definition at line 18 of file ddp.c.

References disp_rdma0, disp_rdma_regs::global_con, RDMA_ENGINE_EN, and setbits32.

Referenced by mtk_ddp_mode_set().

Here is the caller graph for this function:

Variable Documentation

◆ disp_color0

struct disp_color_regs* const disp_color0 = (void *)DISP_COLOR0_BASE
static

Definition at line 113 of file ddp_common.h.

Referenced by color_start().

◆ disp_ovl

struct disp_ovl_regs* const disp_ovl[2]
static
Initial value:
= {
(void *)DISP_OVL0_BASE, (void *)DISP_OVL1_BASE
}
@ DISP_OVL1_BASE
Definition: addressmap.h:46
@ DISP_OVL0_BASE
Definition: addressmap.h:45

Definition at line 61 of file ddp_common.h.

Referenced by ovl_bgclr_in_sel(), ovl_layer_config(), ovl_layer_gclast_en(), ovl_layer_output_clamp_en(), ovl_layer_smi_id_en(), and ovl_set_roi().

◆ disp_rdma0

struct disp_rdma_regs* const disp_rdma0 = (void *)DISP_RDMA0_BASE
static

Definition at line 97 of file ddp_common.h.

Referenced by rdma_config(), and rdma_start().