G2D

1. 简介

图形 2D 加速器 (G2D) 是一种专用于图像操作的专用 DMA。它可以执行以下操作:

  • 用特定颜色填充目标图像的一部分或全部。

  • 将源图像的一部分或全部复制到目标图像的一部分或全部中。

  • 将源图像的一部分或全部复制到目标图像的一部分或全部中,并进行像素格式转换。

  • 将一个部分和/或两个具有不同像素格式的完整源图像进行混合,并将结果复制到具有不同颜色格式的目标图像的一部分或全部中。

支持所有经典的彩色编码方案,从每像素 4 位到 32 位,支持索引或直接彩色模式。

G2D 拥有自己专用的颜色查找表(CLUT)内存。

2. 主要特性

G2D 的主要特性包括:

  • 一个用于寄存器配置的内部从属总线。

  • 一个用于内存访问的内部主控总线(总线地址宽度可为 32位~64位,数据宽度为 32位)。

  • 从一个区域复制到另一个区域。

  • 在源图像和目标图像之间进行带像素格式转换的复制。

  • 从两个具有独立颜色格式的源进行复制并混合。

  • 用固定颜色填充区域。

  • 用户可编程的工作区域大小。

  • 用户可编程的源区域和目标区域偏移量。

  • 用户可在整个空间内编程源地址和目标地址。

  • 最多支持 2 个源进行混合操作。

  • 可修改 Alpha 值(源值、固定值或调制值)。

  • 用户可编程的源和目标颜色格式。

  • 支持最多 11 种颜色格式,从每像素 4 位到 32 位,支持间接(L8、AL44、AL88、L4)或直接(ARGB8888、RGB888、RGB565、ARGB1555、ARGB4444、A8、A4)颜色编码。

  • 2 个内部内存用于间接彩色模式下的 CLUT 存储。

  • 通过 CPU 自动 CLUT 加载或 CLUT 编程。

  • 用户可编程的 CLUT 大小(最大尺寸为 32x256 位)。

  • 4 种操作模式:寄存器到内存、内存到内存、带像素格式转换的内存到内存、以及带像素格式转换和混合的内存到内存。

  • 中止和挂起 G2D 操作。

  • 在用户可编程的目标行上产生水印中断。

  • 在总线错误或访问冲突时产生中断。

  • 在过程完成时产生中断。

  • 用户可编程的图像大小。

  • 支持 3 种镜像模式(X、Y、XY)。

  • 支持裁剪窗口。

  • 支持下采样(采样率可为 1~8)。

  • 支持 RGB 像素顺序和 BGR 像素顺序。

3. 功能描述

G2D 控制器作为主设备执行直接内存传输。

G2D 的框图如图 3.1 G2D 框图所示:

G2D 框图

图 3.1: G2D 框图

G2D 可在以下模式下运行:

  • 寄存器到内存

  • 内存到内存

  • 带像素格式转换的内存到内存

  • 带像素格式转换和混合的内存到内存

上述类型的传输以及采样、窗口裁剪和镜像是独立的,可以单独配置。

总线从端口用于编程 G2D 控制器。

G2D 提供 2 个查找表(LUT)来存储像素,供间接像素格式使用。如果像素格式是间接的,则在启用 G2D 传输之前,必须将像素数据写入 LUT。LUT 中的像素数据可以通过两种方式更新:

  • 自动加载。配置 G2D_FPCTL/G2D_BPCTL 寄存器的 FCNP/BCNP 字段以设置要加载的像素数量。要加载的像素数等于 FCNP+1 或 BCNP+1。然后设置 G2D_FPCTL/G2D_BPCTL 寄存器的 FLLEN/BLLEN 位开始加载。

  • 软件编程。可以通过从机总线端口直接将像素写入相应的 LUT 存储器地址。

LUT 支持两种像素格式,ARGB8888 和 RGB888,由 G2D_FPCTL/G2D_BPCTL 寄存器中的 FLPF 或 BLPF 字段决定。

如果 G2D 传输模式需要执行像素格式转换,前景层或背景层的像素数据需要从原始格式扩展到 ARGB8888 格式。G2D_FPCTL/G2D_BPCTL 寄存器的 FPF 和 BPF 字段定义了前景层和背景层的像素格式。一个像素包含以下 5 个通道:

  • Alpha 通道 A:透明度,0x00:透明,0xFF:不透明。

  • 红色通道 R:红色值,0x00:无红色,0xFF:全红。

  • 绿色通道 G:绿色值,0x00:无绿色,0xFF:全绿。

  • 蓝色通道 B:蓝色值,0x00:无蓝色,0xFF:全蓝。

  • 亮度通道:作为 LUT 的索引。

前景和背景的像素格式如下表:

表3.1 物理接口

BPF[3:0]/FPF[3:0]

像素格式

4’b0000

ARGB8888

4’b0001

RGB888

4’b0010

RGB565

4’b0011

ARGB1555

4’b0100

ARGB4444

4’b0101

L8

4’b0110

AL44

4’b0111

AL88

4’b1000

L4

4’b1001

A8

4’b1010

A4

各像素格式的存储地址如下表:

表 3.2 存储地址

像素格式

字节3 bit31~24

字节2 bit23~16

字节1 bit15~8

字节0 bit7~0

ARGB8888

  • 基地址 + 3

  • Ax[7:0]

  • 基地址 + 2

  • Rx[7:0]

  • 基地址 + 1

  • Gx[7:0]

  • 基地址 + 0

  • Bx[7:0]

RGB888

  • 基地址 + 3

  • Bx+1[7:0]

  • 基地址 + 2

  • Rx[7:0]

  • 基地址 + 1

  • Gx[7:0]

  • 基地址 + 0

  • Bx[7:0]

RGB565

  • 基地址 + 3

  • Rx+1[4:0]Gx+1[5:3]

  • 基地址 + 2

  • Gx+1[2:0]Bx+1[4:0]

  • 基地址 + 1

  • Rx[4:0]Gx[5:3]

  • 基地址 + 0

  • Gx[2:0]Bx[4:0]

ARGB1555

  • 基地址 + 3

  • Ax+1[0]Rx+1[4:0]Gx+1[4:3]

  • 基地址 + 2

  • Gx+1[2:0]Bx+1[4:0]

  • 基地址 + 1

  • Ax[0]Rx[4:0]Gx[4:3]

  • 基地址 + 0

  • Gx[2:0]Bx[4:0]

ARGB4444

  • 基地址 + 3

  • Ax+1[3:0]Rx+1[3:0]

  • 基地址 + 2

  • Gx+1[3:0]Bx+1[3:0]

  • 基地址 + 1

  • Ax[3:0]Rx[3:0]

  • 基地址 + 0

  • Gx[3:0]Bx[3:0]

L8

  • 基地址 + 3

  • Lx+3[7:0]

  • 基地址 + 2

  • Lx+2[7:0]

  • 基地址 + 1

  • Lx+1[7:0]

  • 基地址 + 0

  • Lx[7:0]

AL44

  • 基地址 + 3

  • Ax+3[3:0]Lx+3[3:0]

  • 基地址 + 2

  • Ax+2[3:0]Lx+2[3:0]

  • 基地址 + 1

  • Ax+1[3:0]Lx+1[3:0]

  • 基地址 + 0

  • Ax[3:0]Lx[3:0]

AL88

  • 基地址 + 3

  • Ax+1[7:0]

  • 基地址 + 2

  • Lx+1[7:0]

  • 基地址 + 1

  • Ax[7:0]

  • 基地址 + 0

  • Lx[7:0]

L4

  • 基地址 + 3

  • Lx+7[3:0]Lx+6[3:0]

  • 基地址 + 2

  • Lx+5[3:0]Lx+4[3:0]

  • 基地址 + 1

  • Lx+3[3:0]Lx+2[3:0]

  • 基地址 + 0

  • Lx+1[3:0]Lx[3:0]

A8

  • 基地址 + 3

  • Ax+3[7:0]

  • 基地址 + 2

  • Ax+2[7:0]

  • 基地址 + 1

  • Ax+1[7:0]

  • 基地址 + 0

  • Ax[7:0]

A4

  • 基地址 + 3

  • Ax+7[3:0]Ax+6[3:0]

  • 基地址 + 2

  • Ax+5[3:0]Ax+4[3:0]

  • 基地址 + 1

  • Ax+3[3:0]Ax+2[3:0]

  • 基地址 + 0

  • Ax+1[3:0]Ax[3:0]

像素格式扩展

如果格式是 RGB888,则 alpha 通道将设置为 0xFF。

表3.3 RGB888 转 ARGB8888

A

R

G

B

RGB888

R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0]

G[7] G[6] G[5] G[4] G[3] G[2] G[1] G[0]

B[7] B[6] B[5] B[4] B[3] B[2] B[1] B[0]

ARGB8888

1 1 1 1 1 1 1 1

R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0]

G[7] G[6] G[5] G[4] G[3] G[2] G[1] G[0]

B[7] B[6] B[5] B[4] B[3] B[2] B[1] B[0]

如果格式是 RGB565,则 alpha 通道将设置为 0xFF。

表3.4 RGB565 转 ARGB8888

A

R

G

B

RGB565

R[4] R[3] R[2] R[1] R[0]

G[5] G[4] G[3] G[2] G[1] G[0]

B[4] B[3] B[2] B[1] B[0]

ARGB8888

1 1 1 1 1 1 1 1

R[4] R[3] R[2] R[1] R[0] R[4] R[3] R[2]

G[5] G[4] G[3] G[2] G[1] G[0] G[5] G[4]

B[4] B[3] B[2] B[1] B[0] B[4] B[3] B[2]

表3.5 ARGB1555 转 ARGB8888

A

R

G

B

ARGB1555

A[0]

R[4] R[3] R[2] R[1] R[0]

G[4] G[3] G[2] G[1] G[0]

B[4] B[3] B[2] B[1] B[0]

ARGB8888

A[0] A[0] A[0] A[0] A[0] A[0] A[0] A[0]

R[4] R[3] R[2] R[1] R[0] R[4] R[3] R[2]

G[4] G[3] G[2] G[1] G[0] G[4] G[3] G[2]

B[4] B[3] B[2] B[1] B[0] B[4] B[3] B[2]

表3.6 ARGB4444 转 ARGB8888

A

R

G

B

ARGB1555

A[3] A[2] A[1] A[0]

R[3] R[2] R[1] R[0]

G[3] G[2] G[1] G[0]

B[3] B[2] B[1] B[0]

ARGB8888

A[3] A[2] A[1] A[0] A[3] A[2] A[1] A[0]

R[3] R[2] R[1] R[0] R[3] R[2] R[1] R[0]

G[3] G[2] G[1] G[0] G[3] G[2] G[1] G[0]

B[3] B[2] B[1] B[0] B[3] B[2] B[1] B[0]

如果像素格式是 L8 或 L4,则 8 位亮度通道值(当像素格式为 L4 时,高位填 0)用作索引值,从 LUT 获取像素数据。如果像素格式是 AL44,则 8 位亮度通道(高位填 0)用作索引值,从 LUT 获取红、绿和蓝通道值。Alpha 通道值将被扩展为 8 位,扩展后的高位将是通道值,并且通道值的高位将填充到低位。如果像素格式是 A8,则红、绿和蓝通道值分别等于 G2D_FPV 寄存器的 FPDRV、FPDGV 和 FPDBV 位或 G2D_BPV 寄存器的 BPDRV、BPDGV 和 BPDBV 位。

G2D 支持通过三种算法调制 alpha 通道值,由 G2D_FPCTL/G2D_BPCTL 寄存器的 FAVCA/BAVCA 位决定。

表3.7 alpha 通道值算法

FAVCA/BAVCA

alpha 算法

2’b00/2’b11

无影响

2’b01

等于 G2D_FPCTL/G2D_BPCTL 寄存器的 FPDAV/BPDAV 位的值

2’b10

等于 FPDAV/BPDAV 位的值乘以 alpha 值再除以 255

Alpha 通道值的混合基于以下公式(Af 是前景层 alpha 值,Ab 是背景层 alpha 值)

Amix = (Af * Ab)/255;

Ablend = Af + Ab - Amix;

红、绿和蓝通道值的混合基于以下公式(Rf, Gf, Bf 是前景层的红、绿和蓝值;Rb, Gb, Bb 是背景层的红、绿和蓝值):

Rblend = (RfAf + RbAb - Rb*Amix)/Ablend;

Gblend = (GfAf + GbAb - Gb*Amix)/Ablend;

Bblend = (BfAf + BbAb - Bb*Amix)/Ablend;

注意:

  • 除法结果向下取整;

  • 如果 Ablend 等于 0,则 Rblend、Gblend 和 Bblend 等于 0xFF。

像素压缩

表3.8 目标像素格式

DPF

像素格式

3’b000

ARGB8888

3’b001

RGB888

3’b010

RGB565

3’b011

ARGB1555

3’b0100

ARGB4444

表3.9 ARGB8888 压缩

A

R

G

B

ARGB8888

A[7] A[6] A[5] A[4] A[3] A[2] A[1] A[0]

R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0]

G[7] G[6] G[5] G[4] G[3] G[2] G[1] G[0]

B[7] B[6] B[5] B[4] B[3] B[2] B[1] B[0]

ARGB8888 -> RGB888

R[7] R[6] R[5] R[4] R[3] R[2] R[1] R[0]

G[7] G[6] G[5] G[4] G[3] G[2] G[1] G[0]

B[7] B[6] B[5] B[4] B[3] B[2] B[1] B[0]

ARGB8888 -> RGB565

R[7] R[6] R[5] R[4] R[3]

G[7] G[6] G[5] G[4] G[3] G[2]

B[7] B[6] B[5] B[4] B[3]

ARGB8888 -> ARGB1555

A[7]

R[7] R[6] R[5] R[4] R[3]

G[7] G[6] G[5] G[4] G[3]

B[7] B[6] B[5] B[4] B[3]

ARGB8888 -> ARGB4444

A[7] A[6] A[5] A[4]

R[7] R[6] R[5] R[4]

G[7] G[6] G[5] G[4]

B[7] B[6] B[5] B[4]

裁剪窗口

裁剪窗口的图片如图 3.2 G2D 裁剪窗口示意图所示

G2D 裁剪窗口示意图

图 3.2: G2D 裁剪窗口示意图

窗口的宽度为 x0-x1+1。

窗口的高度为 y0-y1+1。

G2D 目前支持 1-8 倍采样。

采样根据以下公式执行:

Cx = Sx/2 + Sx*x;

Cy = Sy/2 + Sy*y;

Cx 是 x 轴方向采样点的坐标。Sx 是 x 轴方向的采样率。x 是图片行中的像素坐标,范围为 [0, 图片宽度)。

Cy 是 y 轴方向采样点的坐标。Sy 是 y 轴方向的采样率。y 是图片中的行号,范围为 [0, 图片高度)。

G2D 配置

在启动任何传输之前,软件需要读取 TEN、FLLEN 和 BLLEN 位,以检查是否有 IPA 传输或 LUT 加载正在进行。如果有任何一项正在进行,则可以设置 TST 位来停止它,或等待它完成(G2D_INTF 寄存器中的 FTFIF 或 LLFIF 位被置位)。当 TEN、FLLEN 和 BLLEN 的值都为 0 时,可以启动新的传输。

  • 加载前景层 LUT

启动新的前景层 LUT 加载时,建议遵循以下步骤:

  1. 配置 G2D_FLMADDR 寄存器以设置前景层 LUT 基地址。

  2. 配置 G2D_FPCTL 寄存器中的 FLPF 字段以设置像素格式。

  3. 配置 G2D_FPCTL 中的 FCNP 字段以设置要加载的像素数量。实际加载的像素数为 fcnp+1。

  4. 配置 G2D_CTL 寄存器中的中断使能字段。

  5. 配置 G2D_FPCTL 寄存器中的 FLLEN 位为 1 以启动 LUT 加载。

  • 加载背景层 LUT

    1. 配置 G2D_BLMADDR 寄存器以设置背景层 LUT 基地址。

    2. 配置 G2D_BPCTL 寄存器中的 BLPF 字段以设置像素格式。

    3. 配置 G2D_BPCTL 中的 BCNP 字段以设置要加载的像素数量。实际加载的像素数为 bcnp+1。

    4. 配置 G2D_CTL 寄存器中的中断使能字段。

    5. 配置 G2D_BPCTL 寄存器中的 BLLEN 位为 1 以启动 LUT 加载。

  • G2D 传输

    1. 内存到内存

    1. 配置 G2D_FMADDR 和 G2D_DMADDR 寄存器以设置源基地址和目标基地址。

    2. 配置 G2D_FPCTL 寄存器的 FAVCA 和 FPF 字段,以设置前景层 alpha 值的计算方法和前景层像素格式。

    3. 配置 G2D_FPCTL 和 G2D_FPV 寄存器以设置预定义的像素值,包括 alpha、红、绿和蓝颜色值。

    4. 配置 G2D_DPCTL 寄存器的 DPF 字段以设置目标像素格式。

    5. 配置 G2D_FLOFF 和 G2D_DLOFF 寄存器的 FLOFF 和 DLOFF 字段以设置前景层和目标层的行偏移。

    6. 配置 G2D_LM 寄存器的 LM 字段以设置行水印。

    7. 配置 G2D_IMS 寄存器的 WIDTH 和 HEIGHT 字段以设置图像尺寸。

    8. 配置 G2D_CTL 中的中断使能字段。

    1. 配置 G2D_CTL 寄存器的 TEN 位为 1 以启动传输。

    1. 带像素格式转换的内存到内存

    1. 配置 G2D_FMADDR 和 G2D_DMADDR 寄存器以设置源基地址和目标基地址。

    2. 配置 G2D_FPCTL 寄存器的 FAVCA 和 FPF 字段,以设置前景层 alpha 值的计算方法和前景层像素格式。

    3. 配置 G2D_FPCTL 和 G2D_FPV 寄存器以设置预定义的像素值,包括 alpha、红、绿和蓝颜色值。

    4. 配置 G2D_DPCTL 寄存器的 DPF 字段以设置目标像素格式。

    5. 配置 G2D_FLOFF 和 G2D_DLOFF 寄存器的 FLOFF 和 DLOFF 字段以设置前景层和目标层的行偏移。

    6. 配置 G2D_LM 寄存器的 LM 字段以设置行水印。

    7. 配置 G2D_IMS 寄存器的 WIDTH 和 HEIGHT 字段以设置图像尺寸。

    8. 配置 G2D_CTL 中的中断使能字段。

    1. 配置 G2D_CTL 寄存器的 TEN 位为 1 以启动传输。

    1. 带像素格式转换和混合的内存到内存

    1. 配置 G2D_FMADDR、G2D_BMADDR 和 G2D_DMADDR 寄存器以设置前景层、背景层和目标内存基地址。

    2. 配置 G2D_FPCTL 寄存器的 FAVCA 和 FPF 字段,以设置前景层 alpha 值的计算方法和前景层像素格式。

    3. 配置 G2D_FPCTL 和 G2D_FPV 寄存器以设置预定义的像素值,包括 alpha、红、绿和蓝颜色值。

    4. 配置 G2D_BPCTL 寄存器的 BAVCA 和 BPF 位,以设置背景层 alpha 值的计算方法和背景层像素格式。

    5. 配置 G2D_BPCTL 和 G2D_BPV 寄存器以设置预定义的像素值,包括 alpha、红、绿和蓝颜色值。

    6. 配置 G2D_DPCTL 寄存器的 DPF 字段以设置目标像素格式。

    7. 配置 G2D_FLOFF、G2D_BLOFF 和 G2D_DLOFF 寄存器的 FLOFF、BLOFF 和 DLOFF,设置背景层、前景层和目标层的行偏移。

    8. 配置 G2D_LM 寄存器的 LM 字段以设置行水印。

    1. 配置 G2D_IMS 寄存器的 WIDTH 和 HEIGHT 字段以设置图像尺寸。

    2. 配置 G2D_CTL 中的中断使能字段。

    3. 配置 G2D_CTL 寄存器的 TEN 位为 1 以启用 G2D 传输。

    1. 寄存器到内存

    1. 配置 G2D_DMADDR 寄存器以设置目标内存区域的基地址。

    2. 配置 G2D_DPCTL 寄存器的 DPF 以设置目标像素格式。

    3. 配置 G2D_DPV 寄存器以设置目标区域中预定义的像素值,包括 alpha、红、绿和蓝颜色值。

    4. 配置 G2D_DLOFF 寄存器的 DLOFF 以设置目标的行偏移。

    5. 配置 G2D_LM 寄存器的 LM 字段以设置行标志。

    6. 配置 G2D_IMS 寄存器的 WIDTH 和 HEIGHT 字段以设置图像尺寸。

    7. 配置 G2D_CTL 中的中断使能字段。

    8. 配置 G2D_CTL 寄存器的 TEN 位为 1 以启用 G2D 传输。

为确保 G2D 传输的正确性,需要遵循一些规则:

启用前景 LUT 自动加载时:

  • 当 G2D_FPCTL 寄存器的 FLPF 位等于 0 时,G2D_FLMADDR 寄存器的 FLMADDR 位必须为 32 位对齐。

启用背景层 LUT 自动加载时:

  • 当 G2D_BPCTL 寄存器的 BLPF 位等于 0 时,G2D_BLMADDR 寄存器的 BLMADDR 位必须为 32 位对齐。

启用 G2D 传输时:

  1. 当 G2D_FPCTL 寄存器的 FPF 字段为 ‘ARGB8888’ 时,G2D_FMADDR 寄存器的 FMADDR 字段必须为 32 位对齐。当 FPF 为 ‘RGB565’、’ARGB1555’、’ARGB4444’ 或 ‘AL88’ 时,必须为 16 位对齐。

  2. 当 G2D_FPCTL 寄存器的 FPF 字段为 A4 或 L4 时,G2D_FLOFF 寄存器的 FLOFF 字段必须为偶数。

  3. 当 G2D_BPCTL 寄存器的 BPF 字段为 ‘ARGB8888’ 时,G2D_BMADDR 寄存器的 BMADDR 字段必须为 32 位对齐。当 BPF 为 ‘RGB565’、’ARGB1555’、’ARGB4444’ 或 ‘AL88’ 时,必须为 16 位对齐。

  4. 当 G2D_BPCTL 寄存器的 BPF 字段为 A4 或 L4 时,G2D_BLOFF 寄存器的 BLOFF 字段必须为偶数。

  5. G2D_FPCTL 寄存器的 FPF 字段必须小于或等于 ‘0b1010’。

  6. G2D_BPCTL 寄存器的 BPF 字段必须小于或等于 ‘0b1010’。

  7. G2D_DPCTL 寄存器的 DPF 字段必须小于或等于 ‘0b100’。

  8. 当 G2D_DPCTL 寄存器的 DPF 字段为 ‘ARGB8888’ 时,G2D_DMADDR 寄存器的 DMADDR 字段必须为 32 位对齐。当 DPF 为 ‘RGB565’、’ARGB1555’、’ARGB4444’ 或 ‘AL88’ 时,必须为 16 位对齐。

  9. 当 G2D_FPCTL 寄存器的 FPF 字段为 A4 或 L4 时,G2D_DLOFF 寄存器的 DLOFF 字段必须为偶数。

  10. 当 G2D_FPCTL 寄存器的 FPF 字段为 A4 或 L4 时,G2D_IMS 寄存器的 WIDTH 字段必须为偶数。

  11. 当 G2D_BPCTL 寄存器的 BPF 字段为 A4 或 L4 时,G2D_IMS 寄存器的 WIDTH 字段必须为偶数。

  12. G2D_IMS 寄存器的 WIDTH 字段必须大于 0。

  13. G2D_IMS 寄存器的 HEIGHT 字段必须大于 0。

当 PFCM 字段等于 ‘00’ 时,只考虑规则 1、2、5、9、10、12、13。

当 PFCM 字段等于 ‘01’ 时,只考虑规则 1、2、5、7、8、10、12、13。

当 PFCM 字段等于 ‘10’ 时,考虑所有规则。

当 PFCM 字段等于 ‘11’ 时,只考虑规则 12、13。

当上述任何规则未满足时,将产生配置错误中断,传输或 LUT 加载将自动复位,并且 G2D_INTF 寄存器中的 WCFIF 字段将立即被设置。

4. 中断

G2D 提供六个可屏蔽中断。中断源可以通过 G2D_CTL 寄存器单独启用或禁用。将相应的屏蔽位设置为 1 可启用相应的中断。这六个中断在以下事件上产生:

  • 配置错误中断。

  • CLUT 传输完成中断。

  • CLUT 访问错误中断。

  • 传输水印到达中断。

  • 传输完成中断。

  • 传输错误中断。

G2D 中断事件

图 4.1: G2D 中断事件

中断请求如下表:

表 4.1:G2D 中断请求

中断事件

事件标志

使能控制位

配置错误

WCFIF

WCFIE

CLUT 传输完成

LLFIF

LLFIE

CLUT 访问错误

LACIF

LACIE

传输水印

TLMIF

TLMIE

传输完成

FTFIF

FTFIE

传输错误

TAEIF

TAEIE

  • 配置错误中断

如果在启用 LUT 加载或 G2D 传输后立即违反任何配置规则,配置错误中断状态位将被设置。LUT 加载或 G2D 传输将自动停止,不进行任何访问。

当配置错误中断状态位被设置且相应的使能位被启用时,将产生 G2D 中断。

  • LUT 加载完成中断

当最后一个像素数据写入前景或背景 LUT 时,LUT 加载完成中断状态位将立即被设置,加载过程中的停止操作无法设置 LUT 加载完成中断状态位。

当 LUT 加载完成中断状态位被设置且相应的使能位被启用时,将产生 G2D 中断。

  • LUT 访问冲突中断

通过软件访问前景和背景 LUT 时,必须遵循以下规则:

  1. 当前景 LUT 自动加载时,禁止软件访问前景 LUT;

  2. 当背景层 LUT 自动加载时,不允许软件访问背景层 LUT;

  3. 当配置 G2D 传输模式 PFCM 字段等于 ‘01’/’10’ 时,如果前景层像素格式是间接的,在 G2D 传输进行期间禁止软件访问前景层 LUT;

  4. 当配置 G2D 传输模式 PFCM 字段等于 ‘10’ 时,如果背景层像素格式是间接的,在 G2D 传输进行期间禁止软件访问背景层 LUT。

当违反上述任一规则时,LUT 访问冲突中断状态位被设置,并且软件访问无效(写访问不执行,读访问返回无效值)。

当 LUT 访问冲突中断状态位寄存器被设置且相应的使能位被启用时,将产生 G2D 中断。

  • 行水印中断

在标记行的最后一个像素写入目标内存区域后,传输行标记中断状态位立即被设置。如果 G2D_LM 的 LM 字段等于 0,则在 G2D 传输期间不会设置传输行标记中断状态位。

  • 传输完成中断

在最后一个像素写入目标内存区域后,传输完成中断状态位立即被设置。G2D 传输期间的停止操作不会设置传输完成中断状态位。

当传输完成中断状态位被设置且相应的使能位被启用时,将产生 G2D 中断。

  • 传输错误中断

当 G2D 访问超出允许地址的地址时,G2D 将收到错误反馈;LUT 加载或 G2D 传输将立即被禁用,并且不会设置 LUT 加载完成中断状态位或传输完成中断状态位。

5. 寄存器

G2D 中的寄存器及其对应的偏移地址如 表 5.1 G2D 中的寄存器偏移地址所示。

表 5.1:G2D 中的寄存器偏移地址

偏移地址

寄存器名称

功能描述

0x0

G2D_CTL

G2D 控制寄存器

0x4

G2D_INTF

G2D 中断状态寄存器

0x8

G2D_INTC

G2D 中断标志清除寄存器

0xC

G2D_FMADDR

G2D 前景内存地址寄存器

0x14

G2D_FLOFF

G2D 前景偏移寄存器

0x18

G2D_BMADDR

G2D 背景内存地址寄存器

0x20

G2D_BLOFF

G2D 背景偏移寄存器

0x24

G2D_FPCTL

G2D 前景像素格式转换控制寄存器

0x28

G2D_FPV

G2D 前景颜色寄存器

0x2C

G2D_BPCTL

G2D 背景像素格式转换控制寄存器

0x30

G2D_BPV

G2D 背景颜色寄存器

0x34

G2D_FLMADDR

G2D 前景 CLUT 内存地址寄存器

0x3C

G2D_BLMADDR

G2D 背景 CLUT 内存地址寄存器

0x44

G2D_DPCTL

G2D 输出像素格式转换控制寄存器

0x48

G2D_DPV

G2D 输出颜色寄存器

0x4C

G2D_DMADDR

G2D 输出内存地址寄存器

0x54

G2D_DLOFF

G2D 输出偏移寄存器

0x58

G2D_IMS

G2D 图像尺寸寄存器

0x5C

G2D_LM

G2D 行水印寄存器

0x64

G2D_MIRMOD

G2D 镜像控制寄存器

0x68

G2D_CWCTL0

G2D 裁剪窗口控制寄存器

0x6C

G2D_CWCTL1

G2D 裁剪窗口控制寄存器

0x70

G2D_SAMCTL

G2D 采样控制寄存器

0x74

G2D_RGB

G2D 像素格式顺序

0x80

G2D_VER

G2D 版本寄存器

控制寄存器(G2D_CTRL)

地址偏移:0x0

表 5.2:G2D_CTRL 寄存器格式

字段

位

访问

复位值

描述

TEN

0

读/写

0x0

启动使能 此位可用于根据各种配置寄存器中加载的参数启动 G2D。此位在以下事件中自动复位
  • 传输结束时

  • 当用户应用程序通过设置 G2D_CTL 中的 TST 位中止数据传输时

  • 当发生数据传输错误时

  • 当由于配置错误或另一个传输操作(自动 CLUT 加载)已在运行而导致数据传输未启动时

THU

1

读/写

0x0

暂停使能 此位可用于暂停当前传输。此位由软件设置和复位。当 TEN 位复位时,由硬件自动复位。
  • 1’b0: 传输未暂停

  • 1’b1: 传输已暂停

TST

2

读/写

0x0

中止使能 此位可用于中止当前传输。此位由软件设置,当 START 位复位时由硬件自动复位
  • 1’b0: 未请求传输中止

  • 1’b1: 请求传输中止

保留

7:3

/

0x0

/

TAEIE

8

读/写

0x0

传输错误中断使能。此位由软件设置和清除。传输进行中无法修改。
  • 1’b0: 中断禁用

  • 1’b1: 中断使能

FTFIE

9

读/写

0x0

传输完成中断使能。此位由软件设置和清除。传输进行中无法修改。
  • 1’b0: 中断禁用

  • 1’b1: 中断使能

TLMIE

10

读/写

0x0

传输水印中断使能。此位由软件设置和清除。传输进行中无法修改。
  • 1’b0: 中断禁用

  • 1’b1: 中断使能

LACIE

11

读/写

0x0

CLUT 访问错误中断使能。此位由软件设置和清除。传输进行中无法修改。
  • 1’b0: 中断禁用

  • 1’b1: 中断使能

LLFIE

12

读/写

0x0

CLUT 传输完成中断使能。此位由软件设置和清除。传输进行中无法修改。
  • 1’b0: 中断禁用

  • 1’b1: 中断使能

WCFIE

13

读/写

0x0

配置错误中断使能。此位由软件设置和清除。传输进行中无法修改。
  • 1’b0: 中断禁用

  • 1’b1: 中断使能

保留

15:14

/

0x0

/

PFCM

17:16

读/写

0x0

像素格式转换模式。此位由软件设置和清除。传输进行中无法修改。
  • 2’b00: 内存到内存(仅获取前景)

  • 2’b01: 带像素格式转换的内存到内存(仅获取前景,并启用前景像素格式转换)

  • 2’b10: 带混合的内存到内存(获取前景和背景,并进行像素混合)

  • 2’b11: 寄存器到内存(无前景也无背景,仅输出级激活)

保留

31:18

/

0x0

/

中断状态寄存器(G2D_INTF)

地址偏移:0x4

表 5.3:G2D_INTF 寄存器格式

字段

位

访问

复位值

描述

TAEIF

0

只读

0x0

传输错误中断标志。当 DMA 传输(数据传输或自动 CLUT 加载)期间发生错误时,此位被设置。

FTFIF

1

只读

0x0

传输完成中断标志。当 G2D 传输操作完成(仅数据传输)时,此位被设置。

TLMIF

2

只读

0x0

传输完成中断标志。当 G2D 传输操作完成(仅数据传输)时,此位被设置。

LACIF

3

只读

0x0

CLUT 访问错误中断标志。当 CPU 在 CLUT 正从系统内存自动复制到内部 G2D 期间访问 CLUT 时,此位被设置。

LLFIF

4

只读

0x0

CLUT 传输完成中断标志。当从系统内存区域复制 CLUT 到内部 G2D 内存完成时,此位被设置。

WCFIF

5

只读

0x0

配置错误中断标志。当配置错误时,此位被设置。

保留

31:6

/

0x0

/

中断标志清除寄存器(G2D_INTC)

地址偏移:0x8

表 5.4:G2D_INTC 寄存器格式

字段

位

访问

复位值

描述

TAEIFC

0

读/写

0x0

清除传输错误中断标志。将此位编程为 1 会清除 G2D_INTF 寄存器中的 TAEIF 标志。

FTFIFC

1

读/写

0x0

清除传输完成中断标志。将此位编程为 1 会清除 G2D_INTF 寄存器中的 FTFIF 标志。

TLMIFC

2

读/写

0x0

清除传输水印中断标志。将此位编程为 1 会清除 G2D_INTF 寄存器中的 TLMIF 标志。

LACIFC

3

读/写

0x0

清除 CLUT 访问错误中断标志。将此位编程为 1 会清除 G2D_INTF 寄存器中的 LACIF 标志。

LLFIFC

4

读/写

0x0

清除 CLUT 传输完成中断标志。将此位编程为 1 会清除 G2D_INTF 寄存器中的 LLFIF 标志。

WCFIFC

5

读/写

0x0

清除配置错误中断标志。将此位编程为 1 会清除 G2D_INTF 寄存器中的 WCFIF 标志。

保留

31:6

/

0x0

/

前景内存地址寄存器(G2D_FMADDR)

地址偏移:0xC

表 5.5:G2D_FMADDR 寄存器格式

字段

位

访问

复位值

描述

FMADDR

31:0

读/写

0x0

  • 用于前景图像的数据的地址。此寄存器仅在数据传输禁用时可写。一旦数据传输开始,此寄存器变为只读。

  • 地址对齐必须与所选图像格式匹配,例如每像素 32 位的格式必须 32 位对齐,每像素 16 位的格式必须 16 位对齐,每像素 4 位的格式必须 8 位对齐。

  • 注意:当启用 Y 镜像或 XY 镜像时,此地址是图片最后一行的起始地址。

前景偏移寄存器(G2D_FLOFF)

地址偏移:0x14

表 5.6:G2D_FLOFF 寄存器格式

字段

位

访问

复位值

描述

FLOFF

13:0

读/写

0x0

  • 用于前景的行偏移(以像素为单位)。此值用于生成地址。它在每行末尾相加,以确定下一行的起始地址。

  • 这些位仅在数据传输禁用时可写。一旦数据传输开始,它们变为只读。

  • 如果图像格式为每像素 4 位,则行偏移必须为偶数。

保留

31:14

/

0x0

/

背景内存地址寄存器(G2D_BMADDR)

地址偏移:0x18

表 5.7:G2D_BMADDR 寄存器格式

字段

位

访问

复位值

描述

BMADDR

31:0

读/写

0x0

  • 用于背景图像的数据的地址。此寄存器仅在数据传输禁用时可写。一旦数据传输开始,此寄存器变为只读。

  • 地址对齐必须与所选图像格式匹配,例如每像素 32 位的格式必须 32 位对齐,每像素 16 位的格式必须 16 位对齐,每像素 4 位的格式必须 8 位对齐。

  • 注意:当启用 Y 镜像或 XY 镜像时,此地址是图片最后一行的起始地址。

背景偏移寄存器(G2D_BLOFF)

地址偏移:0x20

表 5.8:G2D_BLOFF 寄存器格式

字段

位

访问

复位值

描述

BLOFF

13:0

读/写

0x0

  • 用于背景的行偏移(以像素为单位)。此值用于生成地址。

  • 它在每行末尾相加,以确定下一行的起始地址。

  • 这些位仅在数据传输禁用时可写。一旦数据传输开始,它们变为只读。

  • 如果图像格式为每像素 4 位,则行偏移必须为偶数。

保留

31:14

/

0x0

/

前景像素格式转换控制寄存器(G2D_FPCTL)

地址偏移:0x24

表 5.9:G2D_FPCTL 寄存器格式

字段

位

访问

复位值

描述

FPF

3:0

读/写

0x0

这些位定义前景图像的颜色格式。它们仅在数据传输禁用时可写。传输开始后,它们为只读。
  • 4’b0000: ARGB8888

  • 4’b0001: RGB888

  • 4’b0010: RGB565

  • 4’b0011: ARGB1555

  • 4’b0100: ARGB4444

  • 4’b0101: L8

  • 4’b0110: AL44

  • 4’b0111: AL88

  • 4’b1000: L4

  • 4’b1001: A8

  • 4’b1010: A4

  • 其他:无意义

FLPF

4

读/写

0x0

此位定义 CLUT 的颜色格式。它仅在传输禁用时可写。一旦 CLUT 传输开始,此位为只读
  • 1’b0: ARGB8888

  • 1’b1: RGB888

FLLEN

5

读/写

0x0

可以设置此位以启动 CLUT 的自动加载。它在以下情况下自动复位
  • 传输结束时

  • 当用户应用程序通过设置 G2D_CTL 中的 ABORT 位中止传输时

  • 当发生传输错误时

  • 当由于配置错误或另一个传输操作(数据传输或自动背景 CLUT 传输)已在运行而导致传输未启动时

保留

7:6

/

0x0

/

FCNP

15:8

读/写

0x0

这些位定义用于前景图像的 CLUT 大小。一旦 CLUT 传输开始,此字段为只读。CLUT 条目数等于 FCNP + 1

FAVCA

17:16

读/写

0x0

这些位选择用于前景图像的 alpha 通道值。它们仅在数据传输禁用时可写。传输开始后,它们变为只读
  • 2’b00: 不修改前景图像 alpha 通道值

  • 2’b01: 用 ALPHA[7:0] 替换原始前景图像 alpha 通道值

  • 2’b10: 用 ALPHA[7:0] 乘以原始 alpha 通道值替换原始前景图像 alpha 通道值

  • 其他配置无意义

保留

23:18

/

0x0

/

FPDAV

31:24

读/写

0x0

  • 这些位定义一个固定的 alpha 通道值,该值可以根据通过 FPDAV 位选择的 alpha 模式替换原始 alpha 值或与原始 alpha 值相乘。

  • 这些位仅在数据传输禁用时可写。传输开始后,它们变为只读。

前景颜色寄存器(G2D_FPV)

地址偏移:0x28

表 5.10:G2D_FPV 寄存器格式

字段

位

访问

复位值

描述

FPDBV

7:0

读/写

0x0

  • 这些位定义前景图像的 A4 或 A8 模式的蓝色值。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

FPDGV

15:8

读/写

0x0

  • 这些位定义前景图像的 A4 或 A8 模式的绿色值。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

FPDRV

23:16

读/写

0x0

  • 这些位定义前景图像的 A4 或 A8 模式的红色值。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

保留

31:24

/

0x0

/

背景像素格式转换控制寄存器(G2D_BPCTL)

地址偏移:0x2C

表 5.11:G2D_BPCTL 寄存器格式

字段

位

访问

复位值

描述

BPF

3:0

读/写

0x0

这些位定义背景图像的颜色格式。它们仅在数据传输禁用时可写。传输开始后,它们为只读。
  • 4’b0000: ARGB8888

  • 4’b0001: RGB888

  • 4’b0010: RGB565

  • 4’b0011: ARGB1555

  • 4’b0100: ARGB4444

  • 4’b0101: L8

  • 4’b0110: AL44

  • 4’b0111: AL88

  • 4’b1000: L4

  • 4’b1001: A8

  • 4’b1010: A4

  • 其他:无意义

BLPF

4

读/写

0x0

此位定义 CLUT 的颜色格式。它仅在传输禁用时可写。一旦 CLUT 传输开始,此位为只读
  • 1’b0: ARGB8888

  • 1’b1: RGB888

BLLEN

5

读/写

0x0

可以设置此位以启动 CLUT 的自动加载。它在以下情况下自动复位
  • 传输结束时

  • 当用户应用程序通过设置 G2D_CTL 中的 ABORT 位中止传输时

  • 当发生传输错误时

  • 当由于配置错误或另一个传输操作导致传输未启动时

保留

7:6

/

0x0

/

BCNP

15:8

读/写

0x0

这些位定义用于背景图像的 CLUT 大小。一旦 CLUT 传输开始,此字段为只读。CLUT 条目数等于 FCNP + 1

BAVCA

17:16

读/写

0x0

这些位选择用于背景图像的 alpha 通道值。它们仅在数据传输禁用时可写。传输开始后,它们变为只读
  • 2’b00: 不修改前景图像 alpha 通道值

  • 2’b01: 用 ALPHA[7:0] 替换原始前景图像 alpha 通道值

  • 2’b10: 用 ALPHA[7:0] 乘以原始 alpha 通道值替换原始前景图像 alpha 通道值

  • 其他配置无意义

保留

23:18

/

0x0

/

BPDAV

31:24

读/写

0x0

  • 这些位定义一个固定的 alpha 通道值,该值可以根据通过 BPDAV 位选择的 alpha 模式替换原始 alpha 值或与原始 alpha 值相乘。

  • 这些位仅在数据传输禁用时可写。传输开始后,它们变为只读。

背景颜色寄存器(G2D_BPV)

地址偏移:0x30

表 5.12:G2D_BPV 寄存器格式

字段

位

访问

复位值

描述

BPDBV

7:0

读/写

0x0

  • 这些位定义背景图像的 A4 或 A8 模式的蓝色值。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

BPDGV

15:8

读/写

0x0

  • 这些位定义背景图像的 A4 或 A8 模式的绿色值。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

BPDRV

23:16

读/写

0x0

  • 这些位定义背景图像的 A4 或 A8 模式的红色值。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

保留

31:24

/

0x0

/

前景 CLUT 内存地址寄存器(G2D_FLMADDR)

地址偏移:0x34

表 5.13:G2D_FLMADDR 寄存器格式

字段

位

访问

复位值

描述

FLMADDR

31:0

读/写

0x0

  • 用于前景图像专用 CLUT 地址的数据地址。

  • 此寄存器仅在无传输进行时可写。一旦 CLUT 传输开始,此寄存器为只读。

  • 如果前景 CLUT 格式为 32 位,则地址必须为 32 位对齐。

背景 CLUT 内存地址寄存器(G2D_BLMADDR)

地址偏移:0x3C

表 5.14:G2D_BLMADDR 寄存器格式

字段

位

访问

复位值

描述

BLMADDR

31:0

读/写

0x0

  • 用于背景图像专用 CLUT 地址的数据地址。

  • 此寄存器仅在无传输进行时可写。一旦 CLUT 传输开始,此寄存器为只读。

  • 如果背景 CLUT 格式为 32 位,则地址必须为 32 位对齐。

输出像素格式转换控制寄存器(G2D_DPCTL)

地址偏移:0x44

表 5.15:G2D_DPCTL 寄存器格式

字段

位

访问

复位值

描述

DPF

2:0

读/写

0x0

这些位定义输出图像的颜色格式。这些位仅在数据传输禁用时可写。传输开始后,它们为只读
  • 3’b000: ARGB8888

  • 3’b001: RGB888

  • 3’b010: RGB565

  • 3’b011: ARGB1555

  • 3’b100: ARGB4444

  • 其他:无意义

保留

31:3

/

0x0

/

输出颜色寄存器(G2D_DPV)

地址偏移:0x48

表 5.16:G2D_DPV 寄存器格式

字段

位

访问

复位值

描述

DPDBV

7:0

读/写

0x0

这些位定义输出图像的蓝色值。这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

DPDGV

15:8

读/写

0x0

这些位定义输出图像的绿色值。这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

DPDRV

23:16

读/写

0x0

这些位定义输出图像的红色值。这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

DPDAV

31:24

读/写

0x0

这些位定义输出颜色的 alpha 通道。这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

输出内存地址寄存器(G2D_DMADDR)

地址偏移:0x4C

表 5.17:G2D_DMADDR 寄存器格式

字段

位

访问

复位值

描述

DMADDR

31:0

读/写

0x0

  • 输出数据的地址。

  • 这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

  • 地址对齐必须与所选图像格式匹配,例如每像素 32 位的格式必须 32 位对齐,每像素 16 位的格式必须 16 位对齐。

输出偏移寄存器(G2D_DLOFF)

地址偏移:0x54

表 5.18:G2D_DLOFF 寄存器格式

字段

位

访问

复位值

描述

DLOFF

13:0

读/写

0x0

  • 用于输出的行偏移(以像素为单位)。

  • 此值用于地址生成。它在每行末尾相加,以确定下一行的起始地址。

  • 这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

保留

31:14

/

0x0

/

图像尺寸寄存器(G2D_IMS)

地址偏移:0x58

表 5.19:G2D_IMS 寄存器格式

字段

位

访问

复位值

描述

HEIGHT

15:0

读/写

0x0

要传输区域的行数。这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

WIDTH

29:16

读/写

0x0

  • 要传输区域每行的像素数。

  • 这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

  • 如果任何输入图像格式为每像素 4 位,则每行像素数必须为偶数。

保留

31:30

/

0x0

/

行水印寄存器(G2D_LM)

地址偏移:0x5C

表 5.20:G2D_LM 寄存器格式

字段

位

访问

复位值

描述

LM

15:0

读/写

0x0

  • 这些位允许配置用于中断生成的行水印。

  • 当水印行的最后一个像素被传输时,会产生中断。

  • 这些位仅在数据传输禁用时可写。传输开始后,它们为只读。

保留

31:16

/

0x0

/

镜像控制寄存器(G2D_MIRMOD)

地址偏移:0x64

表 5.21:G2D_MIRMOD 寄存器格式

字段

位

访问

复位值

描述

MIRMOD

1:0

读/写

0x0

这些位允许配置镜像模式。这些位仅在数据传输禁用时可写。传输开始后,它们为只读
  • 2’b00: 无镜像

  • 2’b01: X 镜像模式

  • 2’b10: Y 镜像模式

  • 2’b11: XY 镜像模式

保留

31:2

/

0x0

/

裁剪窗口控制寄存器(G2D_CWCTL0)

地址偏移:0x68

表 5.22:G2D_CWCTL0 寄存器格式

字段

位

访问

复位值

描述

保留

0

/

0x0

/

CW_Y0

16:1

读/写

0x0

右上角的 y 坐标

CW_X0

30:17

读/写

0x0

右上角的 x 坐标

保留

31

/

0x0

/

裁剪窗口控制寄存器(G2D_CWCTL1)

地址偏移:0x6C

表 5.23:G2D_CWCTL1 寄存器格式

字段

位

访问

复位值

描述

CWEN

0

读/写

0x0

裁剪窗口的使能信号
  • 1’b0: 禁用

  • 1’b1: 启用

CW_Y1

16:1

读/写

0x0

左下角的 y 坐标

CW_X1

30:17

读/写

0x0

左下角的 x 坐标

保留

31

/

0x0

/

采样控制寄存器(G2D_SAMCTL)

地址偏移:0x70

表 5.24:G2D_SAMCTL 寄存器格式

字段

位

访问

复位值

描述

SAMEN

0

读/写

0x0

采样的使能信号
  • 1’b0: 禁用

  • 1’b1: 启用

SAMY

4:1

读/写

0x0

这些位定义 Y 轴的采样点数。

SAMX

8:5

读/写

0x0

这些位定义 X 轴的采样点数。

保留

31:9

/

0x0

/

像素格式顺序寄存器(G2D_RGB)

地址偏移:0x74

表 5.25:G2D_RGB 寄存器格式

字段

位

访问

复位值

描述

IN_RGB

0

读/写

0x0

  • 这些位定义输入像素顺序。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

  • 当 pfcm 不等于 2’b00 时激活 - 1’b0: RGB - 1’b1: BGR

OUT_RGB

1

读/写

0x0

  • 这些位定义输出像素顺序。

  • 它们仅在数据传输禁用时可写。传输开始后,它们为只读。

  • 当 pfcm 不等于 2’b00 时激活 - 1’b0: RGB - 1’b1: BGR

保留

31:2

/

0x0

/

版本寄存器(G2D_VER)

地址偏移:0x80

表 5.26:G2D_VER 寄存器格式

字段

位

访问

复位值

描述

G2D_VER

31:0

只读

0x10102

g2d 版本