USER GUIDE / DISPLAY / DISPLAY CONTROLLER / LAYER CONFIGURATION
图层配置
图层配置相关的寄存器按功能分为以下几组。表中名称采用手册寄存器映射表的简称,完整名称与取值定义见寄存器描述。
帧配置
帧描述符地址
DC_FRM_CFG_ADDRBASE + 0x0000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | FRM_CHAIN_ADDR | 这是在工作之前第一个描述符的地址,开始工作后,它是下一个 描述符的地址,可通过软件进行描述符插入操作。 注意:地址必须8字节对齐。 Frame descriptor control | RW |
帧描述符控制
DC_FRM_CFG_CTRLBASE + 0x0004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | FRM_CFG_START | 帧描述符的DMA启动信号 Control configure | W |
控制与状态
控制配置
DC_CTRLBASE + 0x2000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:4 | Reserved | 写入无影响,读取为零。 | R |
| 3 | GEN_STP_CMP | 常规停止显示通道 直通模式下停止后需要复位 确保当前帧的完整性 | W |
| 2 | DES_CNT_RST | 复位FRM_DES,LAYx_DES 和RDMA_DES计数器 | W |
| 1 | Reserved | 写入无影响,读取为零。 | W |
| 0 | QCK_STP_CMP | 快速停止显示通道 尽可能快的停止,帧的完整性不被保证 Status Register | W |
控制器状态
DC_STBASE + 0x2004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:18 | Reserved | 写入无影响,读取为零。 | R |
| 17 | DISP_END | 一帧显示结束信号 | R |
| 16:15 | Reserved | 写入无影响,读取为零。 | R |
| 14 | CMP_START | 开始读一帧图层的信号 | R |
| 13:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | LAY0_END | 图层读结束信号 | R |
| 9 | Reserved | 写入无影响,读取为零。 | R |
| 8 | TFT_UNDR | TFT进入under-run模式 | R |
| 7 | Reserved | 写入无影响,读取为零。 | R |
| 6 | STOP_CMP_ACK | 常规停止信号 | R |
| 5:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | WORKING | 控制器正在工作 Clear status Register | R |
清除状态
DC_CSRBASE + 0x2008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:18 | Reserved | 写入无影响,读取为零。 | R |
| 17 | CLR_DISP_END | 清除DISP_END | W |
| 16:15 | Reserved | 写入无影响,读取为零。 | W |
| 14 | CLR_CMP_START | 清除CMP_START | W |
| 13:11 | Reserved | 写入无影响,读取为零。 | W |
| 10 | CLR_LAY0_END | 清除 LAY0_END | W |
| 9 | Reserved | 写入无影响,读取为零。 | W |
| 8 | CLR_TFT_UNDR | 清除TFT_UNDR | W |
| 7 | Reserved | 写入无影响,读取为零。 | W |
| 6 | CLR_STP_CMP_ACK | 清除STOP_CMP_ACK | W |
| 5:0 | Reserved | 写入无影响,读取为零。 DPU INTC register | R |
中断控制
中断控制
DC_DPU_INTCBASE + 0x200c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:18 | Reserved | 写入无影响,读取为零。 | R |
| 17 | EOD_MSK | DISP_END的屏蔽 1:产生中断 0:中断屏蔽 | RW |
| 16:15 | Reserved | 写入无影响,读取为零。 | R |
| 14 | SOC_MSK | COMP_START的屏蔽 1:产生中断 0:中断屏蔽 | RW |
| 13:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | EOL0_MSK | LAY0_END的屏蔽 1:产生中断 0:中断屏蔽 | RW |
| 9 | Reserved | 写入无影响,读取为零。 | RW |
| 8 | UOT_MSK | TFT_UNDR的屏蔽 1:产生中断 0:中断屏蔽 | RW |
| 7 | Reserved | 写入无影响,读取为零。 | R |
| 6 | SCA_MSK | STOP_CMP_ACK的屏蔽 1:产生中断 0:中断屏蔽 | RW |
| 5:0 | Reserved | 写入无影响,读取为零。 INT flag register | R |
中断标志
DC_INTCBASE + 0x2010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:18 | Reserved | 写入无影响,读取为零。 | R |
| 17 | INT_EOD | DISP_END中断 | R |
| 16:15 | Reserved | 写入无影响,读取为零。 | R |
| 14 | INT_SOC | CMP_START中断 | R |
| 13:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | INT_EOL0 | LAY0_END中断 | R |
| 9 | Reserved | 写入无影响,读取为零。 | R |
| 8 | INT_UOT | TFT_UNDR中断 | R |
| 7 | Reserved | 写入无影响,读取为零。 | R |
| 6 | INT_SCA | STOP_CMP_ACK中断 | R |
| 5:0 | Reserved | 写入无影响,读取为零。 公共配置寄存器 12.1.6.2 Common configure register | R |
公共配置
公共配置
DC_COM_CONFIGBASE + 0x2014
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:17 | Reserved | 写入无影响,读取为零。 | R |
| 16 | LAYER0_CLK | 时钟门控 GATE_EN 1:打开时钟门控 0:关闭时钟门控,但是其DMA仍然有时钟 | RW |
| 15:4 | Reserved | 写入无影响,读取为零。 | R |
| 3:2 | BURST_LEN_ | DMAburst的最大长度 BDMA 00:4 01:8 10:16(default) 11:32 NV12/NV21最大只支持16burst | RW |
| 1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | DIR_EN | IPU直通使能 1:直通 0:非直通 PCFG_RD_CTRL register | RW |
读通道 QoS 配置
读通道 QoS 配置
DC_PCFG_RD_CTRLBASE + 0x2018
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:5 | Reserved | 写入无影响,读取为零。 | R |
| 4:3 | comp_arqos_min_val | 硬件生成的最小arqos值 00~11,复位值是01 | RW |
| 2:1 | comp_arqos_val | Arqos值 00~11,复位值是 01 | RW |
| 0 | comp_arqos_ctrl | 是否使用软件设置的arqos值 0:由硬件生成 1:由软件指定 (默认) OFIFO's PCFG register | RW |
OFIFO 阈值配置
OFIFO 优先级阈值配置 0
DC_OFIFO_PCFG0BASE + 0x2038
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:27 | Reserved | 写入无影响,读取为零。 | R |
| 26:18 | Pcfg1 | 阈值1:0~263,复位值是132 | RW |
| 15:11 | Reserved | 写入无影响,读取为零。 | R |
| 10:0 | Pcfg0 | 阈值0:0~263,复位值是66 | RW |
OFIFO 优先级阈值配置 1
DC_OFIFO_PCFG1BASE + 0x203c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:11 | Reserved | 写入无影响,读取为零。 | R |
| 10:0 | Pcfg2 | 阈值2:0~263,复位值是198 3 个阈值将输出 FIFO 分割为 4 个空间。当剩余条目触发其中之一时,优先级将被硬件改变。而 3 个 阈值的顺序必须是:pcfg2 ≥ pcfg1 ≥ pcfg0。 优先级别(arqos) 优先级别 空间 11 空 ~ 阈值0 10 阈值0~ 阈值1 01 阈值1~ 阈值2 00 阈值2~ 满 | RW |
调试读取寄存器
帧配置描述符读取
DC_FRM_DESBASE + 0x2100
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | FRM_DES | 按顺序读取帧配置描述符,一次一个。当写入DES_CNT_RST时,计 数器将重置。 图层配置描述符寄存器 | R |
图层配置描述符读取
DC_LAY0_DESBASE + 0x2104
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | LAY0_DES | 按顺序读取图层配置描述符,一次一个。当写入DES_CNT_RST时, 计数器将重置。 直通图层配置寄存器 12.1.6.4 DIR_FRM_SIZE | R |
直通模式配置
直通模式帧尺寸
DIR_FRM_SIZEBASE + 0x2118
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | V_SIZE | 每帧的行号 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | H_SIZE | 每行的像素编号 DIR_LAY_SIZE | RW |
直通模式图层尺寸
DIR_LAY_SIZEBASE + 0x211c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | V_SIZE | 图层的高度 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | H_SIZE | 图层的宽度 DIR_LAY_POS | RW |
直通模式图层位置
DIR_LAY_POSBASE + 0x2120
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:28 | Reserved | 写入无影响,读取为零。 | R |
| 27:16 | Y_POS | 图层在帧左上角的Y位置。 | RW |
| 15:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | X_POS | 图层在帧左上角的X位置。 Soft reset register | RW |
软复位与配置完成
软复位
DC_SOFT_RESETBASE + 0x2124
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | Soft_reset | 软复位寄存器 默认为1 写0开始软复位 硬件自清软复位状态 Soft reset flag register | W |
软复位标志
DC_SOFT_RESET_FLAGBASE + 0x2128
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | Soft_reset_flag | 软复位flag信号 默认0 软复位后置1 软件写0清除 Reg cfg end register | RW |
寄存器配置完成标志
DC_REG_CFG_ENDBASE + 0x2224
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | Reg_cfg_end | 寄存器配置完成flag 所有寄存器配置完成后写1 只在直通模式有用 软件定位寄存器 12.1.6.5 图层当前像素位置寄存器 | RW |
当前像素位置
图层当前像素位置
DC_LAY0_SITEBASE + 0x3100
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | LAY0_SITE | 读取在DDR中图层当前像素所在的位置。 | R |
颜色空间转换
CSC 乘法系数 Y/RV
LCDC_TINY_CSC_MULT_YRVBASE + 0x3200
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 26:16 | CSC_MULT_RV | RV的CSC乘法系数 注:参考值 模式0:CSC_MULT_RV=0x48f 模式1:CSC_MULT_RV=0x662 (默认值) 模式2:CSC_MULT_RV=0x59c 模式3:CSC_MULT_RV=0x57c | RW |
| 15:11 | Reserved | 写入无影响,读取为零。 | R |
| 10:0 | CSC_MULT_Y | Y的CSC乘法系数 注:参考值 模式0:CSC_MULT_Y= 0x400 模式1:CSC_MULT_Y= 0x4a8 (默认值) 模式2:CSC_MULT_Y= 0x400 模式3:CSC_MULT_Y= 0x47c CscMultGuGv | RW |
CSC 乘法系数 GU/GV
LCDC_TINY_CSC_MULT_GUGVBASE + 0x3204
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25:16 | CSC_MULT_GV | GV的CSC乘法系数 注:参考值 模式 0:CSC_MULT_GV =0x253 模式 1:CSC_MULT_GV =0x341 (默认值) 模式 2:CSC_MULT_GV =0x2db 模式 3:CSC_MULT_GV =0x2cb | RW |
| 15:9 | Reserved | 写入无影响,读取为零。 | R |
| 8:0 | CSC_MULT_GU | GU的CSC乘法系数 注:参考值 模式 0:CSC_MULT_GU =0x193 模式 1:CSC_MULT_GU =0x190(默认值) 模式 2:CSC_MULT_GU =0x160 模式 3:CSC_MULT_GU =0x15a CscMultBu | RW |
CSC 乘法系数 BU
LCDC_TINY_CSC_MULT_BUBASE + 0x3208
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:12 | Reserved | 写入无影响,读取为零。 | R |
| 11:0 | CSC_MULT_BU | BU的CSC乘法系数 注:参考值 模式0:CSC_MULT_BU = 0x820 模式1:CSC_MULT_BU = 0x812(默认值) 模式2:CSC_MULT_BU = 0x717 模式3:CSC_MULT_BU = 0x6ee CscSubYUV | RW |
CSC 减法系数 Y/UV
LCDC_TINY_CSC_SUB_YUVBASE + 0x320c
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:24 | Reserved | 写入无影响,读取为零。 | R |
| 23:16 | CSC_SUB_UV | UV的CSC减法系数 注:参考值 模式0:CSC_SUB_UV =0x0 模式1:CSC_SUB_UV =0x80(默认值) 模式2:CSC_SUB_UV =0x80 模式3:CSC_SUB_UV =0x80 | RW |
| 15:5 | Reserved | 写入无影响,读取为零。 | R |
| 4:0 | CSC_SUB_Y | Y的CSC减法系数 注:参考值 模式0:CSC_SUB_Y=0x0 模式1:CSC_SUB_Y=0x0(默认) 模式2:CSC_SUB_Y=0x0 模式3:CSC_SUB_Y=0x0 显示接口配置 12.1.7 12.1.7.1 Common | RW |