coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ddp_common.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef _DDP_COMMON_H_
4 #define _DDP_COMMON_H_
5 
6 #include <soc/addressmap.h>
7 #include <types.h>
8 
9 struct disp_ovl_regs {
21  struct {
29  } layer[4];
31  struct {
37  u8 reserved[12];
38  } rdma[4];
39  u8 reserved12[148];
50  u8 reserved16[3300];
58 };
59 
60 check_member(disp_ovl_regs, l3_addr, 0xFA0);
61 static struct disp_ovl_regs *const disp_ovl[2] = {
62  (void *)DISP_OVL0_BASE, (void *)DISP_OVL1_BASE
63 };
64 
83  u32 cf[3][3];
88 };
89 
90 enum {
93  RDMA_MEM_GMC = 0x40402020,
94 };
95 
96 check_member(disp_rdma_regs, debug_out_sel, 0x94);
97 static struct disp_rdma_regs *const disp_rdma0 = (void *)DISP_RDMA0_BASE;
98 
100  u8 reserved0[1024];
102  u8 reserved1[2044];
107 };
108 
109 check_member(disp_color_regs, cfg_main, 0x400);
113 static struct disp_color_regs *const disp_color0 = (void *)DISP_COLOR0_BASE;
114 
115 enum {
118 };
119 
128 
134 };
135 
136 void ovl_set_roi(u32 idx, u32 width, u32 height, u32 color);
137 void rdma_start(void);
138 void rdma_config(u32 width, u32 height, u32 pixel_clk, u32 fifo_size);
140 void ovl_layer_config(u32 fmt, u32 bpp, u32 width, u32 height);
141 
142 #endif
static int width
Definition: bochs.c:42
check_member(disp_ovl_regs, l3_addr, 0xFA0)
OVL_INPUT_FORMAT
Definition: ddp_common.h:120
@ OVL_INFMT_BGR888
Definition: ddp_common.h:131
@ OVL_COLOR_BASE
Definition: ddp_common.h:129
@ OVL_INFMT_RGB565
Definition: ddp_common.h:121
@ OVL_INFMT_RGB888
Definition: ddp_common.h:122
@ OVL_INFMT_BGRA8888
Definition: ddp_common.h:132
@ OVL_INFMT_RGBA8888
Definition: ddp_common.h:123
@ OVL_INFMT_UNKNOWN
Definition: ddp_common.h:127
@ OVL_INFMT_ABGR8888
Definition: ddp_common.h:133
@ OVL_INFMT_ARGB8888
Definition: ddp_common.h:124
@ OVL_INFMT_BGR565
Definition: ddp_common.h:130
@ OVL_INFMT_UYVY
Definition: ddp_common.h:125
@ OVL_INFMT_YUYV
Definition: ddp_common.h:126
void color_start(u32 width, u32 height)
Definition: ddp.c:47
void rdma_config(u32 width, u32 height, u32 pixel_clk, u32 fifo_size)
Definition: ddp.c:23
static struct disp_color_regs *const disp_color0
Definition: ddp_common.h:113
static struct disp_rdma_regs *const disp_rdma0
Definition: ddp_common.h:97
void ovl_set_roi(u32 idx, u32 width, u32 height, u32 color)
Definition: ddp.c:12
static struct disp_ovl_regs *const disp_ovl[2]
Definition: ddp_common.h:61
void rdma_start(void)
Definition: ddp.c:18
@ COLOR_BYPASS_ALL
Definition: ddp_common.h:116
@ COLOR_SEQ_SEL
Definition: ddp_common.h:117
@ RDMA_MEM_GMC
Definition: ddp_common.h:93
@ RDMA_FIFO_UNDERFLOW_EN
Definition: ddp_common.h:92
@ RDMA_ENGINE_EN
Definition: ddp_common.h:91
void ovl_layer_config(u32 fmt, u32 bpp, u32 width, u32 height)
Definition: ddp.c:56
#define BIT(nr)
Definition: ec_commands.h:45
@ DISP_COLOR0_BASE
Definition: addressmap.h:50
@ DISP_OVL1_BASE
Definition: addressmap.h:46
@ DISP_RDMA0_BASE
Definition: addressmap.h:47
@ DISP_OVL0_BASE
Definition: addressmap.h:45
uint32_t u32
Definition: stdint.h:51
uint8_t u8
Definition: stdint.h:45
u8 reserved1[2044]
Definition: ddp_common.h:102
u8 reserved0[1024]
Definition: ddp_common.h:100
u8 reserved2[76]
Definition: ddp_common.h:104
u32 rdma_dbg[4]
Definition: ddp_common.h:49
u8 reserved15[60]
Definition: ddp_common.h:45
u8 reserved[12]
Definition: ddp_common.h:37
u32 rdma_mem_gmc_setting2[4]
Definition: ddp_common.h:42
u32 debug_mon_sel
Definition: ddp_common.h:40
u8 reserved8[16]
Definition: ddp_common.h:30
u8 reserved13[8]
Definition: ddp_common.h:41
u8 reserved18[28]
Definition: ddp_common.h:54
u8 reserved17[28]
Definition: ddp_common.h:52
u8 reserved16[3300]
Definition: ddp_common.h:50
struct disp_ovl_regs::@685 rdma[4]
u8 reserved12[148]
Definition: ddp_common.h:39
u32 datapath_con
Definition: ddp_common.h:18
u32 reserved1[2]
Definition: ddp_common.h:28
u8 reserved19[28]
Definition: ddp_common.h:56
u32 mem_slow_con
Definition: ddp_common.h:35
u32 mem_gmc_setting
Definition: ddp_common.h:34
u8 reserved0[8]
Definition: ddp_common.h:16
struct disp_ovl_regs::@684 layer[4]
u32 flow_ctrl_dbg
Definition: ddp_common.h:46
u8 reserved14[16]
Definition: ddp_common.h:43
u32 mem_start_trig
Definition: ddp_common.h:33
u32 mem_start_addr
Definition: ddp_common.h:75
u32 cf[3][3]
Definition: ddp_common.h:83
u8 reserved1[4]
Definition: ddp_common.h:73
u8 reserved0[8]
Definition: ddp_common.h:68
u8 reserved3[16]
Definition: ddp_common.h:82
u32 mem_gmc_setting_1
Definition: ddp_common.h:79
u8 reserved2[4]
Definition: ddp_common.h:80
u32 cf_pre_add[3]
Definition: ddp_common.h:84
u32 cf_post_add[3]
Definition: ddp_common.h:85
u32 mem_gmc_setting_0
Definition: ddp_common.h:77
#define height