寄存器描述
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 硬件出错后,是否发送中断请求,当 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 模式的时候,启动一次硬件可以连续完成多个任务,没有开启 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
默认值:0x00000100 | GE 版本(GE Version ID) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R0 | - | GE_PATCH_ID |
15:0 | RO | 0x00000100 | GE_VER_ID 采用 BCD 码显示,V1.0 |
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 模式选择
当 MODE 为 0 的时候,为从 buffer 中读取数据,当 MODE 为 1 的时候为固定颜色填充模式,填充颜色为 COLOR,当 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 行对齐宽度,需要 8 bytes 对齐 |
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 行对齐宽度,需要 8 bytes 对齐 |
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 域)以 Cycle 个数进行设置,当设置为 0 时,不开启超时功能。 |
0x088 HW_COUNTER
默认值:0x00000000 | 硬件执行时间计数(HW Counter) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x0 | HW_COUNTER 硬件执行时间计数(APB Clock 域)以 Cycle 个数进行统计。 |
0x08C SOFT_RESET_CYCLE
默认值:0x00100010 | 软复位 Cycle(Soft Reset Cycle) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:16 | R/W | 0x0010 | SOFT_RESET_DELAY 软复位后延时时间(AXI Clock 域)以 Cycle 个数进行设置。 |
15:0 | R/W | 0x0010 | SOFT_RESET_CYCLE 软复位时间(AXI Clock 域)以 Cycle 个数进行设置。 |
0x90 BLENDING_CTRL
默认值:0x00000000 | Blending 控制(Blending Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:18 | - | - | - |
17 | R/W | 0x0 | SRC_DE_P_MUL SRC 去预乘标记,在进行 Blending 之前生效,此标记只应用于 RGB 格式。
|
16 | R/W | 0x0 | DST_DE_P_MUL 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 同时开启的时候,Color Key (CK) 匹配上的区域做 Color Key,没有匹配的区域做 Alpha Blending,当 Rotation1 功能打开时不支持 CK。 |
0 | R/W | 0x0 | ALPHA_BLEND_EN Alpha 混合开关控制
|
0x94 COLORKEY_MATCH_COLOR
默认值:0x00000000 | Color Key 匹配颜色(Color Key Match Color) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:16 | R/W | 0x0 | CK_R Color Key 红色分量匹配值 |
15:8 | R/W | 0x0 | CK_G Color Key 绿色分量匹配值 |
7:0 | R/W | 0x0 | CK_B Color Key 蓝色分量匹配值 |
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 控制
当输出为 16-bit 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 行对齐宽度,需要 8 bytes 对齐 |
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 | 当前有效配置命令开始的位置,该位置是相对于 ADDR 计算的,以 bytes 为单位。 |
0x013C CMD_BUF_VALID_LENGTH
默认值:0x00000000 | CMD BUF 有效长度寄存器 (CMD Buffer Valid Length) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:24 | - | - | - |
23:0 | R/W | 0x0000_0000 | 当前 Buffer 的有效长度,以 bytes 为单位,最大 16 MB,即命令缓冲区最大为 16 MB。 CMD Buffer 是一个 Ring Buffer,有效长度为 length。 当硬件读取长度为 length0(length0 < length) 的命令时,CMD 的读地址大于 CMD Buffer End Address,硬件会切换 CMD 读取地址 到 Address,继续读取长度为 length1 的命令。此时有效长度 length 由 length0 和 length1 两部分组成,length = length0 + length1。 |
0x200 SCALER0_CTRL
默认值:0x00000000 | Scaler0 控制(Scaler0 Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:1 | - | - | - |
0 | R/W | 0x0 | EN Scaler0 使能控制(采用 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 垂直缩放比例小数部分 |