USER GUIDE / IMAGE INPUT & ENCODING / IPU / REGISTER DESCRIPTION

寄存器描述

寄存器说明

寄存器和字段描述

IPU_FM_CONTROL 寄存器(IPU_FM_CONTROL, 0x0000)

IPU_FM_CONTROLIPU_FM_CONTROL BASE + 0x0000
Bit313029282726252423222120191817161514131211109876543210
字段ReservedIPU_CHIP_EN
RST00000000000000000000000000000001
位名称说明RW
31:1Reserved写入无影响,读取为零。R
0IPU_CHIP_ENIPU模块启用标志。复位后,该位将保持为1。因此
写入该位无影响,读取时为常值0x1。
RW

IPU_STATUS 寄存器(IPU_STATUS, 0x0004)

IPU_STATUS 寄存器包含一些IPU 操作的状态。

IPU_STATUSIPU_STATUS BASE + 0x0004
Bit313029282726252423222120191817161514131211109876543210
字段IDReservedMSTATUSReservedSIZE_ERRReservedOUT_END
RST10000000000000010000000000000001
位名称说明RW
31:16IDIPU版本号。写入无影响。
读取为0x8001。
R
15:7Reserved写入无影响,读取为零。R
6:4MSTATUSIPU主状态。
000:IPU空闲
其他值:IPU正在运行
R
3Reserved写入无影响,读取为零。R
2SIZE_ERR大小错误标志。
0:大小正常
1:大小错误
R
1Reserved写入无影响,读取为零。R
0OUT_END输出终止标志。
0:输出终止未完成
1:输出终止已完成
RW
注:
  1. 如果GLB_CTRL.IRQ_EN 设置为1,一旦OUT_END 设置为1(表示帧的后处理完成),就会发出低电平有效的中断请求,直到相应的软件处理程序读取IPU_STATUS 并清除结束标志。

D_FMT 寄存器(D_FMT, 0x0008)

D_FMT 寄存器用于设置输出数据的格式。

D_FMTD_FMT BASE + 0x0008
Bit313029282726252423222120191817161514131211109876543210
字段ReservedOUT_ARGB_OFTOUT_FMT
RST00000000000000000000000000000000
位名称说明RW
31:7Reserved写入无影响,读取为零。R
6:3OUT_ARGB_OFTargb type.
4'b0000: ARGB4'b0001: ARBG4'b0010: AGRB
4'b0011: AGBR4'b0100: ABRG4'b0101: ABGR
RW
2:0OUT_FMTPic type.
3'b000: ARGB
3'b001: RGB(每个像素占用4个字节的内存存储空间)
3'b010: NV12
3'b011: NV21
3'b101: HSV
RW

Y_ADDR 寄存器(Y_ADDR, 0x000C)

Y_ADDR 寄存器用于指示PSRAM 中的大图Y 起始数据地址。

Y_ADDRY_ADDR BASE + 0x000C
Bit313029282726252423222120191817161514131211109876543210
字段Y_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0Y_ADDR1. 8字节对齐。
2. NV格式时表示Y数据的起始地址
3.YUV422、ARGB8888格式时表示像素数据的起始地址
RW

UV_ADDR 寄存器(UV_ADDR, 0x0010)

UV_ADDR 寄存器用于指示PSRAM 中的大图UV 起始数据地址。

UV_ADDRUV_ADDR BASE + 0x0010
Bit313029282726252423222120191817161514131211109876543210
字段UV_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0UV_ADDR1. 8字节对齐。
2. NV格式时表示UV数据缓冲区的起始地址。
RW

Y_ADDR_PP 寄存器(Y_ADDR_PP, 0x01C0)

Y_ADDR_PP 寄存器用于指示PSRAM 中的乒乓BUFF 大图Y 起始数据地址。

Y_ADDR_PPY_ADDR_PP BASE + 0x01C0
Bit313029282726252423222120191817161514131211109876543210
字段Y_ADDR_PP
RST00000000000000000000000000000000
位名称说明RW
31:0Y_ADDR_PP1. 8字节对齐
2. NV格式时表示乒乓BUFF Y数据的起始地址
3.YUV422、ARGB8888格式时表示像素数据的起始地址
RW

UV_ADDR_PP 寄存器(UV_ADDR_PP, 0x01C4)

UV_ADDR_PP 寄存器用于指示PSRAM 中的乒乓BUFF 大图UV 起始数据地址。

UV_ADDR_PPUV_ADDR_PP BASE + 0x01C4
Bit313029282726252423222120191817161514131211109876543210
字段UV_ADDR_PP
RST00000000000000000000000000000000
位名称说明RW
31:0UV_ADDR_PP1. 8字节对齐。
2.乒乓BUFF UV数据的起始地址
RW

IN_FM_GS 寄存器(IN_FM_GS, 0x0018)

IN_FM_GS 寄存器用于指示大图输入图像的几何尺寸。

IN_FM_GSIN_FM_GS BASE + 0x0018
Bit313029282726252423222120191817161514131211109876543210
字段IN_FM_WIN_FM_H
RST00000000000000000000000000000000
位名称说明RW
31:16IN_FM_W输入帧的宽度(单位:像素)。
该值等于像素数。
RW
15:0IN_FM_H输入帧的高度RW

Y_STRIDE 寄存器(Y_STRIDE, 0x001C)

Y_STRIDE 寄存器用于指示大图Y 源数据的行跨距。

Y_STRIDEY_STRIDE BASE + 0x001C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedY_STRIDE
RST00000000000000000000000000000000
位名称说明RW
31:24Reserved写入无影响,读数为零。R
23:0Y_STRIDE1. 8字节对齐
2. NV数据格式下,用于设置Y行距
3. YUV422、ARRGB8888,用于设置一行像素的行距
RW

UV_STRIDE 寄存器(UV_STRIDE, 0x0020)

UV_STRIDE 寄存器用于指示大图UV 源数据的行跨距。

UV_STRIDEUV_STRIDE BASE + 0x0020
Bit313029282726252423222120191817161514131211109876543210
字段U_STRIDEReserved
RST00000000000000000000000000000000
位名称说明RW
31:16U_STRIDE1. 8字节对齐。
2. NV格式时表示UV数据源的行距。
RW
15:0Reserved写入无影响,读取为零。RW

OUT_ADDR 寄存器(OUT_ADDR, 0x0024)

OUT_ADDR 寄存器用于表示外部存储器中输出缓存器中的起始地址。

OUT_ADDROUT_ADDR BASE + 0x0024
Bit313029282726252423222120191817161514131211109876543210
字段OUT_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0OUT_ADDR1. 8字节对齐
2. NV数据格式下,用于设置Y起始地址。
3.YUV422、ARGB8888、RGB888数据格式下,用于设置像素数
据的起始地址。
4.HSV数据格式下,用于设置S起始地址
RW

OUT_STRIDE 寄存器(OUT_STRIDE, 0x002C)

OUT_STRIDE 寄存器用于指示输出图像的行跨距。

OUT_STRIDEOUT_STRIDE BASE + 0x002C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedOUT_STRIDE
RST00000000000000000000000000000000
位名称说明RW
31:16Reserved写入无影响,读数为零。R
15:0OUT_STRIDE1. 8字节对齐
2. NV数据格式下,用于设置Y行跨距。
3.YUV422、ARGB8888、RGB888数据格式下,用于设置像素数据
行跨距。
4.HSV数据格式下,用于设置S行跨距
RW

UV_OUT_ADDR 寄存器(UV_OUT_ADDR, 0x00B4)

UV_OUT_ADDR 寄存器用于设置UV 起始地址。

UV_OUT_ADDRUV_OUT_ADDR BASE + 0x00B4
Bit313029282726252423222120191817161514131211109876543210
字段UV_OUT_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0UV_OUT_ADDR1. 8字节对齐
2. NV12/NV21数据格式下,用于设置UV起始地址
3.HSV数据格式下,用于设置H起始地址
RW

UV_OUT_STRIDE 寄存器(UV_OUT_STRIDE, 0x00B8)

UV_OUT_STRIDE 寄存器用于设置UV 输出格式的行跨距。

UV_OUT_STRIDEUV_OUT_STRIDE BASE + 0x00B8
Bit313029282726252423222120191817161514131211109876543210
字段ReservedUV_OUT_S
RST00000000000000000000000000000000
位名称说明RW
31:16Reserved写入无影响,读数为零。R
15:0UV_OUT_S1. 8字节对齐
2. NV12/NV21数据格式下,用于设置UV行跨距
3.HSV数据格式下,用于设置H行跨距
RW

OUT_V_ADDR 寄存器(OUT_V_ADDR, 0x0030)

OUT_V_ADDR 寄存器用于指示外部存储器中输出缓冲器的V 数据起始地址。

OUT_V_ADDROUT_V_ADDR BASE + 0x0030
Bit313029282726252423222120191817161514131211109876543210
字段OUT_V_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0OUT_V_ADDR1. 8字节对齐RW

OUT_V_STRIDE 寄存器(OUT_V_STRIDE, 0x0034)

OUT_V_STRIDE 寄存器用于指示输出图像的V 数据行跨距。

OUT_V_STRIDEOUT_V_STRIDE BASE + 0x0034
Bit313029282726252423222120191817161514131211109876543210
字段ReservedOUT_V_STRIDE
RST00000000000000000000000000000000
位名称说明RW
31:16Reserved写入无影响,读数为零。R
15:0OUT_V_STRIDE1. 8字节对齐
2.HSV数据格式下,用于设置V行跨距
RW

IPU_REG_CTRL 寄存器(IPU_REG_CTRL, 0x0064)

IPU_REG_CTRL 寄存器用于使您配置的寄存器工作。

IPU_REG_CTRLIPU_REG_CTRL BASE + 0x0064
Bit313029282726252423222120191817161514131211109876543210
字段ReservedRD_ARB_RYOSD_BK_RYReservedOSD_CH0_RYUV_STR_RYUV_D_RYV_STR_RYV_D_RYReservedDSTR_RYReservedCSTR_RYYSTR_RYIGS_RYDF_RYCTRL_RYReservedD_RYV_RYU_RYY_RY
RST00000000000000000000000000000000
位名称说明RW
31:27Reserved写入无影响,读数为零。R
26RD_ARB_RY读取仲裁器模式和优先级就绪RW
25OSD_BK_RYOSD大图通道地址、跨距、宽度、高度、pic_type、启用globe A
准备就绪
RW
24:22Reserved写入无影响,读取为不确定的值RW
21OSD_CH0_RYOSD小图通道地址、跨距、宽度、高度、pic_type、启用、xpos、
ypos、globe A准备就绪
RW
20UV_STR_RY新目标UV帧跨距就绪。RW
19UV_D_RY新目标UV帧起始地址就绪RW
18V_STR_RY新目标V帧跨距就绪。RW
17V_D_RY新目标V帧起始地址就绪RW
16:13Reserved写入无影响,读取为零。R
12DSTR_RY新的目标位置跨距(OUT_STRIDE)已就绪。RW
11Reserved写入无影响,读取为零。RW
10CSTR_RY新的UV跨距(UV_STRIDE)已就绪RW
9YSTR_RY新的Y跨距(Y_STRIDE)已就绪RW
8IGS_RY新的输入几何尺寸(IN_FM_GS)已就绪。RW
7DF_RY新的输出数据格式(OUT_D_FMT )已就绪。RW
6CTRL_RY新的帧控制(IPU_FM_CONTROL )已就绪RW
5:4Reserved写入无影响,读取为零。RW
3D_RY新目标地址就绪。RW
2V_RY新的源V地址就绪。RW
1U_RY新U源地址就绪。RW
0Y_RY新的Y源地址就绪。RW
注:
  1. 当xx_RY 位被置1 时,IPU 将在下一帧中使用新的相应寄存器,并使用IPU_REG_CTRL 中相应位为0 的旧地址值。

IPU_TRIGGER 寄存器(IPU_TRIGGER, 0x0074)

IPU_TRIGGER 寄存器用于控制IPU 的运行/停止状态。

IPU_TRIGGERIPU_TRIGGER BASE + 0x0074
Bit313029282726252423222120191817161514131211109876543210
字段ReservedDEBUG_SELReservedREFRESH_MODERESETDPU_ENSTOPRUN
RST00000000000000000000000000000000
位名称说明RW
31:9Reserved写入无影响,读取为零。R
8:6DEBUG_SEL从IPU选择调试信号,调试信号应从寄存器0x1b4读取RW
5Reserved写入无影响,读取为零。R
4REFRESH_MODE0:单帧模式(在帧结束后需软件配置RUN启动IPU)
1:连续帧模式(在帧结束后硬件自动启动IPU)
注意:
1、在连续帧模式下,软件必须为输入的大图和小图各分配两块
BUFF,用于IPU做乒乓操作。相对应的,要配置寄存器
0x1C0~0x1D0。
2、在连续帧模式下,原BUFF和乒乓BUFF除了源地址以外,
其他的配置共用同一个寄存器
3RESET重置W
2DPU_EN与DPU直通接口使能
0:数据通过写DMA输出至PSRAM
1:数据通过DPU半直通接口输出至DPU
R
1STOP停止IPU,IPU将立即停止在安全状态。W
0RUN新的帧配置需要运行。RW

GLB_CTRL 寄存器(GLB_CTRL, 0x007C)

GLB_CTRL 寄存器用于配置IPU 的全局信号,如IRQ 启用等。

GLB_CTRLGLB_CTRL BASE + 0x007C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedIRQ_EN
RST00000000000000000000000000000000
位名称说明RW
31:1Reserved写入无影响,读取为零。R
0IRQ_EN启用中断
0:禁用
1:启用
R/W

OSD_IN_CH0_Y_ADDR 寄存器(OSD_IN_CH0_Y_ADDR, 0x00BC)

OSD_IN_CH0_Y_ADDR 寄存器用于设置OSD 小图通道的Y 起始地址。

OSD_IN_CH0_Y_ADDROSD_IN_CH0_Y_ADDR BASE + 0x00BC
Bit313029282726252423222120191817161514131211109876543210
字段OSD_IN_CH0_Y_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0OSD_IN_CH0_Y_ADDR1.8字节对
2.NV格式下,设置Y起始地址
3.ARGB32、ARGB1555、RGB32、2bit模式下设置像素数
据起始地址。
RW

OSD_IN_CH0_Y_STRIDE 寄存器(OSD_IN_CH0_Y_STRIDE, 0x00C0)

OSD_IN_CH0_Y_STRIDE 寄存器用于设置OSD 小图通道的Y 行跨距。

OSD_IN_CH0_Y_STRIDEOSD_IN_CH0_Y_STRIDE BASE + 0x00C0
Bit313029282726252423222120191817161514131211109876543210
字段ReservedOSD_IN_CH0_Y_STRIDE
RST00000000000000000000000000000000
位名称说明RW
31:16Reserved写入无影响,读数为零。R
15:0OSD_IN_CH0_Y_STRIDE1.8字节对齐
2.NV格式下,设置Y行跨距
3.ARGB32、ARGB1555、RGB32、2bit模式下设置像素
行跨距。
RW

OSD_IN_CH0_UV_ADDR 寄存器(OSD_IN_CH0_UV_ADDR, 0x00C4)

OSD_IN_CH0_UV_ADDR 寄存器用于设置OSD 小图通道的UV 起始地址。

OSD_IN_CH0_UV_ADDROSD_IN_CH0_UV_ADDR BASE + 0x00C4
Bit313029282726252423222120191817161514131211109876543210
字段OSD_IN_CH0_UV_ADDR
RST00000000000000000000000000000000
位名称说明RW
31:0OSD_IN_CH0_UV_ADDR1.8字节对齐
2.NV格式下,设置UV起始地址
RW

OSD_IN_CH0_UV_STRIDE 寄存器(OSD_IN_CH0_UV_STRIDE, 0x00C8)

OSD_IN_CH0_UV_STRIDE 寄存器用于设置OSD 小图通道的UV 行跨距。

OSD_IN_CH0_UV_STRIDEOSD_IN_CH0_UV_STRIDE BASE + 0x00C8
Bit313029282726252423222120191817161514131211109876543210
字段ReservedOSD_IN_CH0_UV_STRIDE
RST00000000000000000000000000000000
位名称说明RW
31:16Reserved写入无影响,读数为零。R
15:0OSD_IN_CH0_UV_STRIDE1.8字节对齐
2.NV格式下,设置UV行跨距
RW

OSD_IN_CH0_Y_ADDR_PP 寄存器(OSD_IN_CH0_Y_ADDR_PP, 0x01C8)

OSD_IN_CH0_Y_ADDR_PP 寄存器用于指示PSRAM 中的乒乓BUFF 小图Y 起始数据地址。

OSD_IN_CH0_Y_ADDR_PPOSD_IN_CH0_Y_ADDR_PP BASE + 0x01C8
Bit313029282726252423222120191817161514131211109876543210
字段OSD_IN_CH0_Y_ADDR_PP
RST00000000000000000000000000000000
位名称说明RW
31:0OSD_IN_CH0_Y_ADDR_PP1.8字节对齐
2.NV格式下,设置乒乓BUFF Y起始地址
3、ARGB32、ARGB1555、RGB32、2bit模式下设置乒乓BUFF
像素数据起始地址。
RW

OSD_IN_CH0_UV_ADDR_PP 寄存器(OSD_IN_CH0_UV_ADDR_PP, 0x01CC)

OSD_IN_CH0_UV_ADDR_PP 寄存器用于指示 PSRAM 中的乒乓BUFF 小图UV 起始数据地址。

OSD_IN_CH0_UV_ADDR_PPOSD_IN_CH0_UV_ADDR_PP BASE + 0x01CC
Bit313029282726252423222120191817161514131211109876543210
字段OSD_IN_CH0_UV_ADDR_PP
RST00000000000000000000000000000000
位名称说明RW
31:0OSD_IN_CH0_UV_ADDR_PP1. 8字节对齐
2.BUFF UV
乒乓数据的起始地址
RW

BUFF_STATE 寄存器(BUFF_STATE, 0x01D0)

BUFF_STATE 寄存器用于指示乒乓BUFF 的状态。

BUFF_STATEBUFF_STATE BASE + 0x01D0
Bit313029282726252423222120191817161514131211109876543210
字段ReservedCH0_BUFF1_STATEReservedCH0_BUFF0_STATEReservedBK_BUFF1_STATEReservedBK_BUFF0_STATE
RST00000000000000000000000000000000
位名称说明RW
31:13Reserved写入无影响,读取为零。R
12CH0_BUFF1_STATE小图BUFF1状态
1:BUFF1已就绪,IPU可从BUFF1读取数据
0:BUFF1未就绪,IPU不可从BUFF1读取数据
RW
11:9Reserved写入无影响,读取为零。R
8CH0_BUFF0_STATE小图BUFF0状态
1:BUFF0已就绪,IPU可从BUFF0读取数据
0:BUFF0未就绪,IPU不可从BUFF0读取数据
RW
7:5Reserved写入无影响,读取为零。R
4BK_BUFF1_STATE大图BUFF1状态
1:BUFF1已就绪,IPU可从BUFF1读取数据
0:BUFF1未就绪,IPU不可从BUFF1读取数据
RW
3:1Reserved写入无影响,读取为零。R
0BK_BUFF0_STATE大图BUFF0状态
1:BUFF0已就绪,IPU可从BUFF0读取数据
0:BUFF0未就绪,IPU不可从BUFF0读取数据
RW
注:
  1. 在叠图时使用连续帧模式时,软件必须保证大图的BK_BUFF0_STATE 和BK_BUFF1_STATE 中有一个为1;以及小图的CH0_BUFF0_STATE 和CH0_BUFF1_STATE 中有一个为1。
  2. 在CSC 时使用连续帧模式时,软件必须保证BK_BUFF0_STATE 和BK_BUFF1_STATE 中有一个为1。
  3. 以BK_BUFF0_STATE 和BK_BUFF1_STATE 举例,2’b11 时IPU 轮询搬运两个BUFF 的帧数据(以帧为单位),2’b01 时IPU 循环搬运BUFF1 的帧数据,2’b10 时IPU 循环搬运BUFF0 的帧数据。
  4. BK_BUFF0_STATE 对应Y_ADDR(0x000C)和U_ADDR(0x0010),BK_BUFF1_STATE 对应Y_ADDR_PP(0x01C0)和UV_ADDR_PP(0x01C4);
  5. CH0_BUFF0_STATE 对应OSD_IN_CH0_Y_ADDR(0x00BC)和OSD_IN_CH0_UV_ADDR(0x00C4),BK_BUFF1_STATE 对应OSD_IN_CH0_Y_ADDR_PP(0x01C8)和OSD_IN_CH0_UV_ADDR_PP(0x01CC)。
  6. 配置IPU_TRIGGER.RUN 之前,BK_BUFF0_STATE 和CH0_BUFF0_STATE 必须为1。

OSD_CH0_GS 寄存器(OSD_CH0_GS, 0x00FC)

OSD_CH0_GS 寄存器用于指示小图通道图像的几何尺寸。

OSD_CH0_GSOSD_CH0_GS BASE + 0x00FC
Bit313029282726252423222120191817161514131211109876543210
字段OSD_CH0_FM_WReservedOSD_CH0_FM_H
RST00000000000000000000000000000000
位名称说明RW
31:16OSD_CH0_FM_W通道0帧OSD的宽度(单位:字节)。RW
15:13Reserved写入无影响,读取为零。R
12:0OSD_CH0_FM_H通道0帧OSD的高度(单位:字节)。RW
注:
  1. 如果是NV12/NV21 模式,OSD_CH0_FM_W 为一行中的像素数。
  2. 如果是ARGB/RGB 模式,OSD_CH0_FM_W 为像素数* 4。
  3. 小图通道图像的尺寸必须小于大图图像的尺寸。
  4. 在2 位模式下,OSD_CH0_FM_W 为一行中的像素数。

OSD_CH0_POS 寄存器(OSD_CH0_POS, 0x010C)

OSD_CH0_POS 寄存器用于指示小图通道图像在大图中的OSD 位置。

OSD_CH0_POSOSD_CH0_POS BASE + 0x010C
Bit313029282726252423222120191817161514131211109876543210
字段OSD_CH0_XPOSReservedOSD_CH0_YPOS
RST00000000000000000000000000000000
位名称说明RW
31:16OSD_CH0_XPOS小图通道图像在大图上的x起始位置(单位:像素)。RW
15:13Reserved写入无影响,读取时为零。R
12:0OSD_CH0_YPOS小图通道图像在大图上的y起始位置(单位:像素)。RW

OSD_CH0_PARA 寄存器(OSD_CH0_PARA, 0x011C)

OSD_CH0_PARA 寄存器用于设置小图通道OSD 功能的控制信号。

OSD_CH0_PARAOSD_CH0_PARA BASE + 0x011C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedCH0_PAD_SELCH0_OSD_SELReservedCH0_CSC_CTLCH0_MASK_ENCH0_OSDMCH0_PREMCH0_ARGB_TYPECH0_PIC_TYPECH0_GLO_ACH0_ALPHA_SELCH0_EN
RST00000000000000000000000000000000
位名称说明RW
31:30Reserved写入无影响,读取为零。R
29CH0_PAD_SEL非叠图区域前/背景图选择
0:OSD_LAY_PADDING_ARGB为前景图,大图为背景图
1:OSD_LAY_PADDING_ARGB为背景图,大图为前景图
RW
28CH0_OSD_SEL叠图区域前/背景图选择
0:CH0(小图)为前景图,BK(大图)为背景图
1:CH0(小图)为背景图,BK(大图)为前景图
RW
27:26Reserved写入无影响,读取为零。R
25:24CH0_CSC_CTL小图色彩空间转换控制,只有在使用OSD功能时需要配置。
2'b00:无色彩转换
2'b01:YUV至RGB转换
2'b10:RGB至YUV转换
RW
23CH0_MASK_EN小图通道屏蔽启用。
如果该位设置为1,则该通道的像素值将始终是
OSD_CH0_BAK_ARGB中的值。
0:禁用掩码。
1:启用掩码
RW
22:19CH0_OSDM小图通道OSD模式。
4'd0: source over4'd1: src
4'd2: dst4'd3: clear
4'd4: dst over4'd5: src in
4'd6: dst in4'd7: src out
4'd8: dst out4'd9: src at top
4'd10: dst at top4'd11: XOR
RW
18CH0_PREM小图通道OSD预乘法器。
如果该位设置为0,则计算OSD的像素值为
OSD_R = Alpha x R
OSD_G = Alpha x G
OSD_B = Alpha x B
如果该位设置为1,则用于OSD计算的像素值不会改变。
0:预乘
1:不预乘
RW
17:14CH0_ARGB_TYPE小图通道ARGB类型。
4'b0000: ARGB4'b0001: ARBG4'b0010: AGRB
RW
13:11CH0_PIC_TYPE图像类型
3'b000: ARGB
3'b001: RGB(每个像素占用4个字节的内存存储空间)
3'b010: NV12
3'b011: NV21
3'b100: RGBA1555(RGB序列由CH0_ARGB_TYPE决
定)
3’b101:2bit模式
RW
10:3CH0_GLO_A小图通道全局值RW
2:1CH0_ALPHA_SEL小图通道0αsel.
2'b00:像素透明度
2'b01:全局透明度
2'b10:像素Alpha x(全局Alpha/256)
RW
0CH0_EN启用小图通道dma
0:禁用
1:启用
RW

OSD_CH_BK_PARA 寄存器(OSD_CH_BK_PARA, 0x012C)

OSD_CH_BK_PARA 寄存器用于设置大图通道的控制信号。

OSD_CH_BK_PARAOSD_CH_BK_PARA BASE + 0x012C
Bit313029282726252423222120191817161514131211109876543210
字段ReservedReservedCH_BK_MASK_ENCH_BK_PREMCH_BK_ARGB_TYPECH_BK_PIC_TYPECH_BK_GLO_ACH_BK_ALPHA_SELReserved
RST00000000000000000001000000000000
位名称说明RW
31:21Reserved写入无影响,读取为零。R
20Reserved写入无影响,读取为不确定的值。RW
19CH_BK_MASK_EN启用大图通道屏蔽
如果该位设置为1,则该通道的像素值将始终是
OSD_BK_BAK_ARGB中的值
0:禁用
1:启用
RW
18CH_BK_PREM大图通道OSD预乘法器。
如果该位设置为0,则计算OSD的像素值为
BK_R = Alpha x R
BK_G = Alpha x G
BK_B = Alpha x B
如果该位设置为1,则用于OSD计算的像素值不会改变。
0:预乘
1:不预乘
RW
17:14CH_BK_ARGB_TYPEargb type.
4'b0000: ARGB4'b0001: ARBG4'b0010: AGRB
4'b0011: AGBR4'b0100: ABRG4'b0101: ABGR
4'b1000: RGBA4'b1001: RBGA4'b1010: GRBA
4'b1011: GBRA4'b1100: BRGA4'b1101: BGRA
RW
13:11CH_BK_PIC_TYPEPic类型。
3’b000:ARGB8888
3'b010: NV12
3’b100:YUV422
RW
10:3CH_BK_GLO_A大图通道全局Alpha值RW
2:1CH_BK_ALPHA_SEL大图通道alpha sel。
2'b00:像素Alpha
2'b01:全局Alpha
2'b10:像素Alpha x(全局Alpha/256)
RW
0Reserved写入无影响,读取为零。R

OSD_CH0_BAK_ARGB 寄存器(OSD_CH0_BAK_ARGB, 0x0130)

OSD_CH0_BAK_ARGB 寄存器用于设置小图通道的背景ARGB 值。

OSD_CH0_BAK_ARGBOSD_CH0_BAK_ARGB BASE + 0x0130
Bit313029282726252423222120191817161514131211109876543210
字段OSD_CH0_BAK_ARGB
RST00000000000000000000000000000000
位名称说明RW
31:0OSD_CH0_BAK_ARGB当CH0_MASK_EN =1时,小图通道将为OSD功能输出
ARGB值。
如果大图图像格式为ARGB/RGB,则该寄存器的数据序列
也为ARGB。如果大图图像格式为NV12/NV21,则该寄存
器的数据序列为AYUV
RW

OSD_CH_B_BAK_ARGB 寄存器(OSD_CH_B_BAK_ARGB, 0x0140)

OSD_CH_B_BAK_ARGB 寄存器用于设置大图通道的背景ARGB 值。

OSD_CH_B_BAK_ARGBOSD_CH_B_BAK_ARGB BASE + 0x0140
Bit313029282726252423222120191817161514131211109876543210
字段OSD_CH_B_BAK_ARGB
RST00000000000000000000000000000000
位名称说明RW
31:0OSD_CH_B_BAK_ARGB当CH_BK_MASK_EN =1时,大图通道将为OSD功能
输出该ARGB值。
该寄存器的数据序列为AYUV
RW

CH0_CSC_C0_COEF 寄存器(CH0_CSC_C0_COEF, 0x0148)

CH0_CSC_C0_COEF 寄存器用于设置OSD 功能中YUV 至RGB 或RGB 至YUV 转换的小图 通道公式系数。如果在CSC 功能中,小图通道CSC 参数用于大图CSC 功能,设置如下: 1. ARGB/RGB 至NV:RGB 至YUV 转换参数 2. NV 至ARGB/RGB:YUV 至RGB 转换参数 3. NV 至HSV:YUV 至RGB 转换参数

CH0_CSC_C0_COEFCH0_CSC_C0_COEF BASE + 0x0148
Bit313029282726252423222120191817161514131211109876543210
字段CH0_C01_COEFReservedCH0_C00_COEF
RST00000000000000000000000000000000
位名称说明RW
31:20CH0_C01_COEF用于将YUV/YCbCr转换为RGB或将RGB转换为
YUV/YCbCr的C01系数。
RW
19:12Reserved写入无影响,读数为零。R
11:0CH0_C00_COEFYUV/YCbCr至RGB或RGB至YUV/YCbCr转换的C00
系数。
RW
注:
  1. YUV 至RGB 转换公式:
    R = C00*(Y –LUMA_OF) + C01*(Cr-CHROM_OF) + C02*(Cr-CHROM_OF)
    G = C10*(Y – LUMA_OF) – C11*(Cb-CHROM_OF) – C12*(Cr-CHROM_OF)
    B = C20*(Y – LUMA_OF) + C21*(Cb-CHROM_OF) + C22*(Cr-CHROM_OF)
    推荐参数:
    C00: 0x4adC01: 0C02: 0x669
    C10: 0x4adC11: 0x193C12: 0x344
    C20: 0x4adC21: 0x81AC22: 0x0
  2. RGB 至YUV 转换公式:
    Y = C00*R + C01*G + C02*B + LUMA_OF
    U = -C10*R – C11*G + C12*B + CHROM_OF
    V = C20*R - C21*G - C22*B + CHROM_OF
    推荐参数:
    C00: 0x106C01: 0x202C02: 0x64
    C10: 0x97C11: 0x129C12: 0x1C0
    C20: 0x1C0C21: 0x177C22: 0x49

CH0_CSC_C1_COEF 寄存器(CH0_CSC_C1_COEF, 0x014C)

CH0_CSC_C1_COEF 寄存器用于设置YUV 至RGB 或RGB 至YUV 转换的公式系数。

CH0_CSC_C1_COEFCH0_CSC_C1_COEF BASE + 0x014C
Bit313029282726252423222120191817161514131211109876543210
字段CH0_C10_COEFReservedCH0_C02_COEF
RST00000000000000000000000000000000
位名称说明RW
31:20CH0_C10_COEF用于将YUV/YCbCr转换为RGB或将RGB转换为
YUV/YCbCr的C10系数。
RW
19:12Reserved写入无影响,读取为零。R
11:0CH0_C02_COEFYUV/YCbCr至RGB或RGB至YUV/YCbCr转换的
C02系数。
RW
注:

    CH0_CSC_C2_COEF 寄存器(CH0_CSC_C2_COEF, 0x0150)

    CH0_CSC_C2_COEF 寄存器用于设置YUV 至RGB 或RGB 至YUV 转换的公式系数。

    CH0_CSC_C2_COEFCH0_CSC_C2_COEF BASE + 0x0150
    Bit313029282726252423222120191817161514131211109876543210
    字段CH0_C12_COEFReservedCH0_C11_COEF
    RST00000000000000000000000000000000
    位名称说明RW
    31:20CH0_C12_COEF用于将YUV/YCbCr转换为RGB或将RGB转换为
    YUV/YCbCr的C12系数。
    RW
    19:12Reserved写入无影响,读数为零。R
    11:0CH0_C11_COEFYUV/YCbCr至RGB或RGB至YUV/YCbCr转换的C11
    系数。
    RW
    注:

      CH0_CSC_C3_COEF 寄存器(CH0_CSC_C3_COEF, 0x0154)

      CH0_CSC_C3_COEF 寄存器用于设置YUV 至RGB 或RGB 至YUV 转换的公式系数。

      CH0_CSC_C3_COEFCH0_CSC_C3_COEF BASE + 0x0154
      Bit313029282726252423222120191817161514131211109876543210
      字段CH0_C21_COEFReservedCH0_C20_COEF
      RST00000000000000000000000000000000
      位名称说明RW
      31:20CH0_C21_COEF用于将YUV/YCbCr转换为RGB或将RGB转换为
      YUV/YCbCr的C21系数。
      RW
      19:12Reserved写入无影响,读数为零。R
      11:0CH0_C20_COEFYUV/YCbCr至RGB或RGB至YUV/YCbCr转换的C20
      系数。
      RW
      注:

        CH0_CSC_C4_COEF 寄存器(CH0_CSC_C4_COEF, 0x0158)

        CH0_CSC_C4_COEF 寄存器用于设置YUV 至RGB 或RGB 至YUV 转换的公式系数。

        CH0_CSC_C4_COEFCH0_CSC_C4_COEF BASE + 0x0158
        Bit313029282726252423222120191817161514131211109876543210
        字段ReservedCH0_C22_COEF
        RST00000000000000000000000000000000
        位名称说明RW
        31:12Reserved写入无影响,读取为零。R
        11:0CH0_C22_COEF用于将YUV/YCbCr转换为RGB或将RGB转换为
        YUV/YCbCr的C22系数。
        RW
        注:

          CH0_CSC_OFSET_PARA 寄存器(CH0_CSC_OFSET_PARA, 0x015C)

          CH0_CSC_OFSET_PARA 寄存器用于设置YUV 至RGB 或RGB 至YUV 转换的公式系数。

          CH0_CSC_OFSET_PARACH0_CSC_OFSET_PARA BASE + 0x015C
          Bit313029282726252423222120191817161514131211109876543210
          字段ReservedCH0_CHROM_OFReservedCh0_LUMA_OF
          RST00000000000000000000000000000000
          位名称说明RW
          31:24Reserved写入无影响,读取为零。R
          23:16CH0_CHROM_OF色度偏移值。RW
          15:8Reserved写入无影响,读取为零。R
          7:0Ch0_LUMA_OFLuma偏移值。RW

          RD_ARB_CTL 寄存器(RD_ARB_CTL, 0x01A8)

          RD_ARB_CTL 寄存器用于控制读取仲裁器功能。

          RD_ARB_CTLRD_ARB_CTL BASE + 0x01A8
          Bit313029282726252423222120191817161514131211109876543210
          字段ReservedCH1_PRIOCH0_PRIOARB_MODE
          RST00000000000000000000000000010000
          位名称说明RW
          31:7Reserved写入无影响,读数为零。R
          6:4CH1_PRIO通道1优先级RW
          3:1CH0_PRIO通道0优先级
          该仲裁器中有2个通道,优先级值可从以下值中选择:0、1(从
          高到低),如果ARB_MODE =0,则必须为2个通道分配一个
          优先级值,且每个通道的优先级都应是唯一的。
          RW
          0ARB_MODE仲裁模式
          0:固定优先级模式
          1:循环模式
          RW

          CYC_NUM_ONE_FRA 寄存器(CYC_NUM_ONE_FRA, 0x01AC)

          CYC_NUM_ONE_FRA 寄存器用于计算处理一帧数据的周期数。

          CYC_NUM_ONE_FRACYC_NUM_ONE_FRA BASE + 0x01AC
          Bit313029282726252423222120191817161514131211109876543210
          字段CLK_NUM_ONE_FRA
          RST00000000000000000000000000000000
          位名称说明RW
          31:0CLK_NUM_ONE_FRA处理一个成帧器的总周期数R

          OSD_LAY_PADDING_ARGB 寄存器(OSD_LAY_PADDING_ARGB, 0x01B0)

          OSD_LAY_PADDING_ARGB 寄存器用于设置OSD 小图通道的填充ARGB/AYUV 值。

          OSD_LAY_PADDING_ARGBOSD_LAY_PADDING_ARGB BASE + 0x01B0
          Bit313029282726252423222120191817161514131211109876543210
          字段OSD_LAY_PADDING_ARGB
          RST00000000000000000000000000000000
          位名称说明RW
          31:0OSD_LAY_PADDING_ARGBOSD小图通道的填充ARGB/AYUV值。
          注意:大图为YUV数据格式时,该寄存器对应AYUV
          值;大图为RGB数据格式时,该寄存器对应ARGB值。
          RW

          DEBUG_INFO_SIGNALS 寄存器(DEBUG_INFO_SIGNALS, 0x01B4)

          DEBUG_INFO_SIGNALS 寄存器用于为IPU 调试提供信号信息。

          DEBUG_INFO_SIGNALSDEBUG_INFO_SIGNALS BASE + 0x01B4
          Bit313029282726252423222120191817161514131211109876543210
          字段DEBUG_INFO_SIGNALS
          RST00000000000000000000000000000000
          位名称说明RW
          31:0DEBUG_INFO_SIGNALS调试信息信号,该寄存器的值取决于寄存器0x74中的
          DEBUG_SEL:
          DEBUG_SEL:
          3'b000:通道0模块调试信号
          3'b001:通道1模块调试信号
          3'b010:通道2模块调试信号
          3'b011:通道3模块调试信号
          3'b100:通道后台模块调试信号
          3'B101:数据控制模块调试信号
          3'B110:yuv2nv模块调试信号
          R

          2BIT_BIT_1 寄存器(2BIT_BIT_1, 0x1F4)

          在2 位模式下,当相应位设置为1 时,该寄存器用于ALPHA 和RGB 控制。在配置IPU_TRIGGER 寄存器运行ipu 之前,软件需要初始化数据到OSD 小图通道的Y 起始地址,初始化数据作为开关决定 了2BIT_BIT_1 和2BIT_BIT_0 之间的选择。硬件通过移位从OSD 小图通道Y 起始地址读取的数据来 分析2 位数据,高位决定字母在2BIT_BIT_1_ALPHA 和2BIT_BIT_0_ALPHA 之间的选择,低位决定颜 色在2BIT_BIT_1_COLOR 和2BIT_BIT_0_COLOR 之间的选择。

          2BIT_BIT_12BIT_BIT_1 BASE + 0x1F4
          Bit313029282726252423222120191817161514131211109876543210
          字段2BIT_BIT_1_ALPHA2BIT_BIT_1_COLOR
          RST11111111111111111111111111111111
          位名称说明RW
          31:242BIT_BIT_1_ALPHA在2位模式下,第1位的ALPHA值设为1。
          从OSD小图通道Y起始地址移位读取2位数据后,只有
          当高位值为1时,才会选择该寄存器值。
          复位值:8'hFF
          RW
          23:02BIT_BIT_1_COLOR在2位模式下,位0设置为1的RGB值。
          从OSD小图通道Y起始地址移位读取2位数据后,只有
          当低位值为1时,才会选择该寄存器值。
          复位值:24'hFFFFFF
          RW

          2BIT_BIT_0 寄存器(2BIT_BIT_0, 0x1F8)

          在2 位模式下,当相应位设置为0 时,该寄存器用于ALPHA 和RGB 控制。在配置IPU_TRIGGER 寄存器运行ipu 之前,软件需要初始化数据到OSD 小图通道的Y 起始地址,初始化数据作为开关决定 了2BIT_BIT_1 和2BIT_BIT_0 之间的选择。硬件通过移位从OSD 小图通道Y 起始地址读取的数据来 分析2 位数据,高位决定字母在2BIT_BIT_1_ALPHA 和2BIT_BIT_0_ALPHA 之间的选择,低位决定颜 色在2BIT_BIT_1_COLOR 和2BIT_BIT_0_COLOR 之间的选择。

          2BIT_BIT_02BIT_BIT_0 BASE + 0x1F8
          Bit313029282726252423222120191817161514131211109876543210
          字段2BIT_BIT_0_ALPHA2BIT_BIT_0_COLOR
          RST00000000000000000000000000000000
          位名称说明RW
          31:242BIT_BIT_0_ALPHA在2位模式下,第1位的ALPHA值设置为0。
          从OSD小图通道的Y起始地址移位读取2位数据后,只
          有当高位值为0时,才会选择该寄存器值。
          复位值:8'h0
          RW
          23:02BIT_BIT_0_COLOR在2位模式下,第0位的RGB值设置为0。
          从OSD小图通道Y起始地址移位读取2位数据后,只有
          当低位值为0时,才会选择该寄存器值。
          复位值:24'h0
          RW

          2BIT_MASK 寄存器(2BIT_MASK, 0x1FC)

          该寄存器用于屏蔽2 位模式。

          2BIT_MASK2BIT_MASK BASE + 0x1FC
          Bit313029282726252423222120191817161514131211109876543210
          字段Reserved2BIT_MASK
          RST00000000000000000000000000000000
          位名称说明RW
          31:1Reserved写入无影响,读取为零。R
          02BIT_MASK是否屏蔽2位模式。
          1'b1:屏蔽;
          1'b0:取消屏蔽。
          复位值:1'b0。
          RW