DPU_RDMA 寄存器块

基址CORE_BASE + 0x5000 | 地址范围0x5000 ~ 0x5FFF

来源:RK3588 TRM §36.4.3 Detail Registers Description

DPU_RDMA 负责为 DPU 从外部内存读取输入数据,包含四路 DMA 引擎:MRDMA(主数据)、BRDMA(BS 操作数)、NRDMA(BN 操作数)、ERDMA(EW 操作数)。


RKNN_dpu_rdma_s_status(0x5000)

执行器状态寄存器(只读)。

Bit属性复位值字段名描述
31:18RO0x0保留
17:16RO0x0status_1执行器 1 状态。0:空闲;1:正在执行;2:正在执行且等待执行;3:保留
15:2RO0x0保留
1:0RO0x0status_0执行器 0 状态。编码同 status_1

RKNN_dpu_rdma_s_pointer(0x5004)

寄存器组指针与 ping-pong 控制。

Bit属性复位值字段名描述
31:17RO0x0保留
16RO0x0executer当前使用的寄存器组。0:组 0;1:组 1
15:6RO0x0保留
5W1C0x0executer_pp_clear清除执行器组指针,写 1 清零
4W1C0x0pointer_pp_clear清除寄存器组指针,写 1 清零
3RW0x0pointer_pp_modePing-pong 模式。0:按执行器切换;1:按指针切换
2RW0x0executer_pp_en执行器组 ping-pong 使能
1RW0x0pointer_pp_en寄存器组 ping-pong 使能
0RW0x0pointer当前待设置的寄存器组。0:组 0;1:组 1

RKNN_dpu_rdma_operation_enable(0x5008)

操作使能。写入触发 DPU_RDMA 执行,此寄存器及之后均为 ping-pong 影子寄存器。

Bit属性复位值字段名描述
31:1RO0x0保留
0RW0x0op_enDPU_RDMA 操作使能。0:禁用;1:使能

RKNN_dpu_rdma_data_cube_width(0x500C)

输入特征宽度。

Bit属性复位值字段名描述
31:13RO0x0保留
12:0RW0x0width输入特征宽度(需减 1)

RKNN_dpu_rdma_data_cube_height(0x5010)

输入特征高度 + EW line notch。

Bit属性复位值字段名描述
31:29RO0x0保留
28:16RW0x0ew_line_notch_addrEW 行 notch
15:13RO0x0保留
12:0RW0x0height输入特征高度(需减 1)

RKNN_dpu_rdma_data_cube_channel(0x5014)

输入特征通道数。

Bit属性复位值字段名描述
31:13RO0x0保留
12:0RW0x0channel输入特征通道数(需减 1)

RKNN_dpu_rdma_src_base_addr(0x5018)

Flying 模式源地址。

Bit属性复位值字段名描述
31:0RW0x0src_base_addrFlying 模式源地址

RKNN_dpu_rdma_brdma_cfg(0x501C)

BRDMA(BS 操作数读取 DMA)配置。

Bit属性复位值字段名描述
31:5RO0x0保留
4:1RW0x0brdma_data_use读取数据类型。[0]:ALU 操作数;[1]:CPEND 操作数;[2]:MUL 操作数;[3]:TRT 操作数
0RO0x0保留

RKNN_dpu_rdma_bs_base_addr(0x5020)

BS 操作数基址。

Bit属性复位值字段名描述
31:0RW0x0bs_base_addr读取 BS ALU、BS CPEND、BS MUL 操作数的基址

RKNN_dpu_rdma_nrdma_cfg(0x5028)

NRDMA(BN 操作数读取 DMA)配置。

Bit属性复位值字段名描述
31:5RO0x0保留
4:1RW0x0nrdma_data_use读取数据类型。[0]:ALU 操作数;[1]:CPEND 操作数(固定为 0,BN 无 CPEND);[2]:MUL 操作数;[3]:TRT 操作数
0RO0x0保留

RKNN_dpu_rdma_bn_base_addr(0x502C)

BN 操作数基址。

Bit属性复位值字段名描述
31:0RW0x0bn_base_addr读取 BN ALU、BN MUL 操作数的基址

RKNN_dpu_rdma_erdma_cfg(0x5034)

ERDMA(EW 操作数读取 DMA)配置。

Bit属性复位值字段名描述
31:30RW0x0erdma_data_mode数据模式。0:按通道;1:按像素;2:按通道×像素;3:保留
29RW0x0erdma_surf_modeSurface 模式。0:1 surface 串行;1:2 surface 串行
28RW0x0erdma_nonalign非对齐模式。0:禁用;1:使能
27:4RO0x0保留
3:2RW0x0erdma_data_sizeERDMA 读取精度。0:4bit;1:8bit;2:16bit;3:32bit
1RW0x0ov4k_bypass超 4K burst 拆分。0:使能;1:旁路
0RW0x0erdma_disable禁用 ERDMA。0:不禁用;1:禁用

RKNN_dpu_rdma_ew_base_addr(0x5038)

EW 操作数基址。

Bit属性复位值字段名描述
31:0RW0x0ew_base_addr读取 EW 操作数的基址

RKNN_dpu_rdma_ew_surf_stride(0x5040)

EW 特征图 surface 步长。

Bit属性复位值字段名描述
31:4RW0x0ew_surf_strideEW 特征图 surface 步长。若 erdma_data_mode 为按通道模式,需设为 1
3:0RO0x0保留

RKNN_dpu_rdma_feature_mode_cfg(0x5044)

特征模式配置:精度、burst、组合使用、flying mode、unpooling。

Bit属性复位值字段名描述
31:18RO0x0保留
17:15RW0x0in_precision输入数据精度。0:int8;1:int16;2:fp16;3:bf16;4:int32;5:fp32;6:int4
14:11RW0x0burst_lenBurst 长度。3:Burst4;7:Burst8;15:Burst16
10:8RW0x0comb_use组合使用。[0]:MRDMA 和 ERDMA 读同一数据;[1]:数据送 MRDMA;[2]:数据送 ERDMA
7:5RW0x0proc_precision处理精度。编码同 in_precision
4RW0x0mrdma_disable禁用 MRDMA。0:不禁用;1:禁用
3RW0x0mrdma_fp16tofp32_en使能 DPU 输入 fp16→fp32 转换
2:1RW0x0conv_mode卷积模式。0:DC;3:Depthwise
0RW0x0flying_modeFlying 模式。0:主数据来自卷积输出;1:主数据来自 MRDMA

RKNN_dpu_rdma_src_dma_cfg(0x5048)

源 DMA 配置:line notch、unpooling 参数。

Bit属性复位值字段名描述
31:19RW0x0line_notch_addr宽度末尾到 shape 特征行末的像素数
18:14RO0x0保留
13RW0x0pooling_method池化方法。0:平均池化(上采样可用此模式);1:最小/最大池化
12RW0x0unpooling_en反池化使能
11:9RW0x0kernel_stride_height反池化 kernel 步长高度(−1)
8:6RW0x0kernel_stride_width反池化 kernel 步长宽度(−1)
5:3RW0x0kernel_height反池化 kernel 高度(−1)
2:0RW0x0kernel_width反池化 kernel 宽度(−1)

RKNN_dpu_rdma_surf_notch(0x504C)

Surface notch。

Bit属性复位值字段名描述
31:4RW0x0surf_notch_addr当前处理特征图末尾到 shape 特征图末尾的像素数
3:0RO0x0保留

RKNN_dpu_rdma_pad_cfg(0x5064)

反池化 Pad 配置。

Bit属性复位值字段名描述
31:16RW0x0pad_valuePad 填充值
15:7RO0x0保留
6:4RW0x0pad_top反池化顶部 pad
3RO0x0保留
2:0RW0x0pad_left反池化左侧 pad

RKNN_dpu_rdma_weight(0x5068)

四路 DMA 仲裁权重。

Bit属性复位值字段名描述
31:24RW0x0e_weightERDMA 仲裁权重
23:16RW0x0n_weightNRDMA 仲裁权重
15:8RW0x0b_weightBRDMA 仲裁权重
7:0RW0x0m_weightMRDMA 仲裁权重

RKNN_dpu_rdma_ew_surf_notch(0x506C)

EW surface notch。

Bit属性复位值字段名描述
31:4RW0x0ew_surf_notchEW surface notch
3:0RO0x0保留