寄存器描述
0x000 GE_INT_CTRL
默认值:0x00000000 | GE 中断控制(GE Interrupt Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:9 | - | - | - |
8 | R/W | 0x0 | HW_CMDQ_LENGTH_ERR_IRQ_EN 命令队列长度错误中断控制
|
7:4 | - | - | - |
3 | R/W | 0x0 | HW_TIMEOUT_IRQ_EN 超时中断控制
用于控制硬件执行时间超时后,是否发送中断请求,如果要使能超时中断,需要通过 HW_TIMEOUT_CYCLE来设置超时时间。 |
2 | - | - | - |
1 | R/W | 0x0 |
HW_ERR_IRQ_EN
硬件错误中断控制
HW_ERR_IRQ_EN用于控制GE硬件出错后,是否发送中断请求,当HW_ERR_IRQ_EN为1的时候,发送中断请求,否则不发送。是否产生中断请求,不影响相应的状态标志位的产生。 |
0 | R/W | 0x0 |
FINISH_IRQ_EN
任务结束中断控制。用于控制任务处理结束后,是否发送中断请求:
是否产生中断请求,不影响相应的状态标志位的产生。 |
0x004 GE_STATUS
默认值:0x00000000 | GE 状态(GE Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W1C | 0 | TASK_NUM 启动一次硬件完成任务个数统计,当开启 Command Queue 模式的时候,启动一次硬件可以连续完成多个任务,没有开启Command Queue,一次只能完成一个任务。 |
15:9 | - | - | - |
8 | R/W1C | 0x0 | HW_CMDQ_LENGTH_ERR_IRQ_STATUS 命令队列长度错误状态 当硬件检测到命令队列长度出错,停止当前任务,由硬件置‘1’,软件向该位写‘1’清除中断状态。 |
7:6 | - | - | - |
5 | R/W1C | 0x0 | HW_BUSY_STATUS 硬件 busy 状态,如果为1,表示硬件处于 busy 状态。 |
4 | - | - | - |
3 | R/W1C | 0x0 | HW_TIMEOUT_STATUS 硬件超时状态,如果为1,表示硬件执行时间超时。 |
2 | - | - | - |
1 | R/W1C | 0 | HW_ERR_IRQ_STATUS 硬件错误标记状态 当出现硬件错误后,停止当前任务,由硬件置‘1’,软件向该位写‘1’清除中断状态。 |
0 | R/W1C | 0 | FINISH_IRQ_STATUS 当前任务结束后,由硬件置‘1’,软件向该位写‘1’清除中断状态。 |
0x008 GE_START
默认值:0x00000000 | GE启动(GE Start) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:3 | - | - | - |
2 | R/W | 0x0 | SW_RESET
|
1 | R/W | 0x0 | GE_CMD_QUEUE_CTRL
|
0 | R/W | 0x0 | GE_START GE 启动控制由软件写‘1’启动GE,启动后由硬件自动清零 |
0x00C GE_VER_ID
默认值: | GE 版本(GE Version ID) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R0 | - | GE_PATCH_ID |
15:0 | RO | GE_VER_ID 采用BCD码显示, |
0x010 SRC_SURFACE_CTRL
默认值:0x00000000 | SRC 控制(Source Surface Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | R/W | 0x0 | G_ALPHA图层全局alpha值0 ~ 255 |
23:22 | R/W | 0x0 | SOURCE_ALPHA_MODE Source Alpha 模式
|
21 | R/W | 0x0 | P_MUL Source Pre-multiplied alpha 标记
此标记只应用于RGB格式。 |
20 | - | - | - |
19:18 | - | - | SCAN_ORDER
|
17 | - | - | - |
16 | R/W | 0x0 | FUNC_SELECT 功能选择
当FUNC_SELECT为0的时候,可以进行固定角度旋转,镜像和scaler。当FUNC_SELECT为1的时候选择任意角度旋转功能。将不可以使用scaler与Flip功能 |
15 | - | - | - |
14:8 | R/W | 0x0 | FORMAT 像素格式
|
7 | R/W | 0x0 | V_FLIP 垂直镜像控制
当FUNC_SELECT为0的时候,此功能可以使用,在Rotation0之前生效 |
6 | R/W | 0x0 | H_FLIP 水平镜像控制
当FUNC_SELECT为0的时候,此功能可以使用,在Rotation0之前生效 |
5:4 | R/W | 0x0 | ROT0_CTRL Rotation0 旋转控制
当FUNC_SELECT为0的时候,此功能可以使用,在 Rotation0 之前生效。 |
3:2 | R/W | 0x0 | SOURCE_MODE Source Surface模式选择
当SOURCE_MODE为0的时候,为从buffer中读取数据,当SOURCE_MODE为1的时候为固定颜色填充模式,填充颜色为SRC_SURFACE_FILL_COLOR,当SOURCE_MODE为2或3时,SRC_SURFACE_FILL_COLOR为初始颜色值 |
1 | - | - | - |
0 | R/W | 0x0 | EN Source Surface使能控制
|
0x014 SRC_SURFACE_INPUT_SIZE
默认值:0x00000000 | SRC 输入宽高(Source Surface Input Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:16 | R/W | 0x0 | INPUT_HEIGHT 输入高度 |
15:13 | - | - | - |
12:0 | R/W | 0x0 | INPUT_WIDTH 输入宽度 |
0x018 SRC_SURFACE_STRIDE
默认值:0x00000000 | SRC 行对齐(Source Surface Stride) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:0 | R/W | 0x0 | PLANE0_STRIDE Plane0行对齐宽度,需要8Bytes对齐 |
0x01C SRC_SURFACE_FILL_COLOR
默认值:0x00000000 | SRC 颜色填充(Source Surface Fill color) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | R/W | 0x0 | PIXELS_ALPHA 颜色填充Alpha分量 |
24:16 | R/W | 0x0 | PIXELS_R 颜色填充红色分量 |
15:8 | R/W | 0x0 | PIXELS_G 颜色填充绿色分量 |
7:0 | R/W | 0x0 | PIXELS_B 颜色填充蓝色分量 |
0x020 SRC_SURFACE_ADDR0
默认值:0x00000000 | SRC 地址 0(Source Surface Address0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | 0x0 | ADDR0 Source Surface plane0 地址 |
0x30 SRC_GRADIENT_A_STEP
默认值:0x00000000 | SRC 渐变填充 Alpha 步进(Source Gradient Alpha Step) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24:16 | R/W | 0x0 | A_STEP_INIT 渐变步进alpha整数部分,为有符号数。 |
15:0 | R/W | 0x0 | A_STEP_FRAC 渐变步进alpha小数部分。 |
0x34 SRC_GRADIENT_R_STEP
默认值:0x00000000 | SRC 渐变填充 Red 步进(Source Gradient Red Step) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24:16 | R/W | 0x0 | R_STEP_INIT 渐变步进Red整数部分,为有符号数。 |
15:0 | R/W | 0x0 | R_STEP_FRAC 渐变步进Red小数部分。 |
0x38 SRC_GRADIENT_G_STEP
默认值:0x00000000 | SRC 渐变填充 Green 步进(Source Gradient Green Step) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24:16 | R/W | 0x0 | G_STEP_INIT 渐变步进Green整数部分,为有符号数 |
15:0 | R/W | 0x0 | G_STEP_FRAC 渐变步进Green小数部分 |
0x3C SRC_GRADIENT_B_STEP
默认值:0x00000000 | SRC 渐变填充 Blue 步进(Source Gradient Blue Step) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:25 | - | - | - |
24:16 | R/W | 0x0 | B_STEP_INIT 渐变步进Blue整数部分,为有符号数 |
15:0 | R/W | 0x0 | B_STEP_FRAC 渐变步进blue小数部分 |
0x050 DST_SURFACE_CTRL
默认值:0x00000000 | DST 控制(Dst Surface Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | R/W | 0x0 | G_ALPHA图层全局alpha值0 ~ 255 |
23:22 | R/W | 0x0 | DST_ALPHA_MODE Dst Alpha模式
|
21:15 | - | - | - |
14:8 | R/W | 0x0 | FORMAT 像素格式
|
7:1 | - | - | - |
0 | R/W | 0x0 | EN Destination Surface使能控制
|
0x054 DST_SURFACE_INPUT_SIZE
默认值:0x00000000 | DST 输入宽高(Dst Surface Input Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:16 | R/W | 0x0 | INPUT_HEIGHT 图层高度 |
15:13 | - | - | - |
12:0 | R/W | 0x0 | INPUT_WIDTH 图层宽度 |
0x058 DST_SURFACE_STRIDE
默认值:0x00000000 | DST 行对齐(Dst Surface Stride) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:0 | R/W | 0x0 | PLANE0_STRIDE Plane0行对齐宽度,需要8Bytes对齐 |
0x060 DST_SURFACE_ADDR0
默认值:0x00000000 | DST 地址 0(Dst Surface Address0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | 0x0 | ADDR0 Destination Surface plane0地址 |
0x070 SRC_ROT1_CENTER
默认值:0x00000000 | SRC 旋转中心(Source Rotate1 Center) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:30 | - | - | - |
29:16 | R/W | 0x0 | Y_POTISION 当SRC开启任意角度旋转的时候,旋转中心Y坐标,取值范围 0 ~ 4095。 |
15:14 | - | - | - |
13:0 | R/W | 0x0 | X_POTISION 当SRC开启任意角度旋转的时候,旋转中心X坐标,取值范围 0 ~ 4095。 |
0x074 SRC_ROT1_DEGREE
默认值:0x00000000 | SRC 旋转角度(Source Rotate1 Degree) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:30 | - | - | - |
29:16 | R/W | 0x0 | COS_VALUE 当SRC开启任意角度旋转的时候,旋转角度的cos值,为有符号数,其中bits[27:16]为小数部分,bits[29:28]为整数部分。 |
15:14 | - | - | - |
13:0 | R/W | 0x0 | SIN_VALUE 当SRC开启任意角度旋转的时候,旋转角度的sin值,为有符号数,其中bits[11:0]为小数部分,bits[13:12]为整数部分。 |
0x078 DST_ROT1_CENTER
默认值:0x00000000 | DST 旋转中心(Dst Rotate1 Center) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:30 | - | - | - |
29:16 | R/W | 0x0 | Y_POTISION 当SRC开启任意角度旋转的时候,SRC旋转中心对应的DST旋转中心的位置Y坐标, 取值范围 0 ~ 4095。 |
15:14 | - | - | - |
13:0 | R/W | 0x0 | X_POTISION 当SRC开启任意角度旋转的时候,SRC旋转中心对应的DST旋转中心的位置X坐标, 取值范围 0 ~ 4095。 |
0x080 HW_TIMEOUT_CYCLE
默认值:0x00000000 | 硬件超时 Cycle(HW Timeout Cycle) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | 0x0 | HW_TIMEOUT_CYCLE 硬件超时计数(APB Clock域)以Clock Cycle个数进行设置,当设置为0时,不开启超时功能。 |
0x088 HW_COUNTER
默认值:0x00000000 | 硬件执行时间计数(HW Counter) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x0 | HW_COUNTER 硬件执行时间计数(APB Clock域)以Clock Cycle个数进行统计。 |
0x08C SOFT_RESET_CYCLE
默认值:0x00100010 | 软复位 Cycle(Soft Reset Cycle) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x0010 | SOFT_RESET_DELAY 软复位后延时时间(AXI Clock域)以Clock Cycle个数进行设置。 |
15:0 | R/W | 0x0010 | SOFT_RESET_CYCLE 软复位时间(AXI Clock域)以Clock Cycle个数进行设置。 |
0x90 BLENDING_CTRL
默认值:0x00000000 | Blending 控制(Blending Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:18 | - | - | - |
17 | R/W | 0x0 | SRC_DE_P_MUL SRC 去预乘标记0:SRC不进行去预乘操作1:SRC进行去除预乘操作在进行Blending之前生效,此标记只应用于RGB格式。 |
16 | R/W | 0x0 | DST_DE_P_MUL DST 去预乘标记0:DST不进行去预乘操作1:DST进行去除预乘操作在进行Blending之前生效,此标记只应用于RGB格式。 |
15 | R/W | 0x0 | OUTPUT_ALPHA_CTRL Alpha输出控制
|
14 | - | - | - |
13:11 | R/W | 0x02 | SRC_ALPHA_COEF Source Surface Alpha 混合系数
|
10:8 | R/W | 0x03 | DST_ALPHA_COEF Dst Surface Alpha 混合系数
|
7:2 | - | - | - |
1 | R/W | 0x0 | CK_EN Color Key开关控制
当 BLEND_EN 和 CK_EN 同时开启的时候,ColorKey 匹配上的区域做 ColorKey,没有匹配的区域做 Alpha Blending, 当 rotation1 或者 shear 功能打开时不支持CK。 |
0 | R/W | 0x0 | ALPHA_BLEND_EN Alpha混合开关控制
|
0x94 COLORKEY_MATCH_COLOR
默认值:0x00000000 | Colorkey 匹配颜色(Colorkey Match Color) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:16 | R/W | 0x0 | CK_R Colorkey 红色分量匹配值 |
15:8 | R/W | 0x0 | CK_G Colorkey 绿色分量匹配值 |
7:0 | R/W | 0x0 | CK_B Colorkey 蓝色分量匹配值 |
0x100 OUTPUT_CTRL
默认值:0x00000000 | DST 输出控制(Dst Output Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:17 | - | - | - |
16 | R/W | 0x0 | OUT_P_MUL_ALPHA 输出像素预乘 Alpha
|
15 | - | - | - |
14:8 | R/W | 0x0 | FORMAT 像素格式
|
7:5 | - | - | - |
4 | R/W | 0x0 | DITHER_EN Dither控制
当输出为16bits RGB格式时,开启Dither功能可以优化图像渐变区域的显示效果, Dither不对alpha分量进行处理 |
3:1 | - | - | - |
0 | - | - | - |
0x104 OUTPUT_SIZE
默认值:0x00000000 | DST 输出宽高(Dst Output Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:16 | R/W | 0x0 | OUTPUT_HEIGHT 输出高度 |
15:13 | - | - | - |
12:0 | R/W | 0x0 | OUTPUT_WIDTH 输出宽度 |
0x108 OUTPUT_STRIDE
默认值:0x00000000 | DST 输出行对齐(Dst Output Stride) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | - | - | - |
15:0 | R/W | 0x0 | PLANE0_STRIDE Plane0行对齐宽度,需要8Bytes对齐 |
0x110 OUTPUT_ADDR0
默认值:0x00000000 | DST 输出地址0(Dst Output Address0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | 0x0 | ADDR0 输出 plane0 地址 |
0x120 DITHER_LINE_BUF_ADDR
默认值:0x00000000 | Dither 行缓冲地址(Dither Line Buffer Address) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | R/W | 0x0 | DITHER_LINE_BUF_ADDR Dither行缓冲地址 |
0x130 CMD_BUF_START_ADDR
默认值:0x00000000 | CMD BUF 起始地址(CMD Buffer Start Address) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:7 | R/W | 0x0 | CMD_BUF_START_ADDR[31:7] 命令队列缓冲区的起始地址 |
6:0 | RO | 0x0 | 固定为0 |
0x134 CMD_BUF_END_ADDR
默认值:0x00000000 | CMD BUF 结束地址(CMD Buffer End Address) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:7 | R/W | 0x0 | CMD_BUF_END_ADDR[31:7] 命令队列缓冲区的结束地址 |
6:0 | RO | 0x7F | 每个bit固定全为1 |
0x0138 CMD_BUF_OFFSET
默认值:0x00000000 | CMD BUF 地址偏移寄存器 (CMD Buffer Address Offset) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:0 | R/W | 0x0000_0000 | 当前有效配置命令开始的位置,该位置是相对于CMD_BUF_START_ADDR计算的,以bytes为单位 |
0x013C CMD_BUF_VALID_LENGTH
默认值:0x00000000 | CMD BUF 有效长度寄存器 (CMD Buffer Valid Length) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:0 | R/W | 0x0000_0000 | 当前CMD Buffer 的有效长度,以bytes为单位,最大16MB,也就是说命令缓冲区最大为16MB,CMD Buffer 是一个 Ring Buffer,有效长度为 length,当硬件读取长度为length0(length0 < length) 的命令,此时CMD 的读地址大于 CMD Buffer End Address,硬件会切换 CMD 读取地址 到CMD Buffer Start Address,继续读取长度为 length1 的命令,此时有效长度length 由 length0 和 length1 两部分组成,length = length0 + length1 |
0x200 SCALER0_CTRL
默认值:0x00000000 | Scaler0 控制(Scaler0 Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:1 | - | - | - |
0 | R/W | 0x0 | ENScaler0 使能控制(采用bilinear滤波算法)
|
0x210 SCALER_CH0_INPUT_SIZE
默认值:0x00000000 | Scaler0 Chan0 输入宽高(Scaler0 Ch0 Input Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:16 | R/W | 0x0 | INPUT_HEIGHT Channel 0输入高度 |
15:13 | - | - | - |
12:0 | R/W | 0x0 | INPUT_WIDTH Channel 0输入宽度 |
0x214 SCALER_CH0_OUTPUT_SIZE
默认值:0x00000000 | Chan0 输出宽高(Scaler0 Ch0 Output Size) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28:16 | R/W | 0x0 | OUTPUT_HEIGHT Channel 0输出高度 |
15:13 | - | - | - |
12:0 | R/W | 0x0 | OUTPUT_WIDTH Channel 0输出宽度 |
0x218 SCALER0_CH0_H_INIT_PHASE
默认值:0x00000000 | Scaler0 Chan0 水平初始相位(Scaler0 Ch0 H Init Phase) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:20 | - | - | - |
19:16 | R/W | 0x0 | H_INIT_PHASE_INT 水平初始相位整数部分 |
15:0 | R/W | 0x0 | H_INIT_PHASE_FRAC 水平初始相位小数部分 |
0x21C SCALER0_CH0_H_RATIO
默认值:0x00000000 | Scaler0 Chan0 水平缩放比例(Scaler0 Ch0 H Ratio) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:21 | - | - | - |
20:16 | R/W | 0x0 | H_RATIO_INIT 水平缩放比例整数部分 |
15:0 | R/W | 0x0 | H_RATIO_FRAC 水平缩放比例小数部分 |
0x220 SCALER0_CH0_V_INIT_PHASE
默认值:0x00000000 | Scaler0 Chan0 垂直初始相位(Scaler0 Ch0 V Init Phase) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:20 | - | - | - |
19:16 | R/W | 0x0 | V_INIT_PHASE_INIT 垂直初始相位整数部分 |
15:0 | R/W | 0x0 | V_INIT_PHASE_FRAC 垂直初始相位小数部分 |
0x224 SCALER0_CH0_V_RATIO
默认值:0x00000000 | Scaler0 Chan0 垂直缩放比例(Scaler0 Ch0 V Ratio) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:21 | - | - | - |
20:16 | R/W | 0x0 | V_RATIO_INIT 垂直缩放比例整数部分 |
15:0 | R/W | 0x0 | V_RATIO_FRAC 垂直缩放比例小数部分 |