跳转至

QSPI Flash 控制器

概述

SFC是一个SPI Flash控制器。业务侧提供一个AHB(Advanced High Performance Bus)Slave接口,主要完成AHB通道对SPI Flash的访问控制功能;提供一个AHB Master接口,用于DMA方式读写Flash。

图3-1 SFC应用框图

注:IF(Interface)。

功能描述

AHB Slave接口

AHB Slave接口具有以下特点:

  • 提供一个AHB Slave接口,可以根据不同的选择信号访问内部配置寄存器或直接访问SPI Flash Memory。
  • 支持AMBA2.0协议。
  • 仅支持小端(Little-Endian)。

AHB Master接口

AHB Master接口具有以下特点:

  • 提供一个AHB Master接口,用于DMA方式在内存和Flash之间搬运数据。
  • 支持AMBA2.0协议。
  • 只支持小端。
  • 支持Single、INCR、INCR4、INCR8、INCR16传输类型。
  • 不支持Early Termination。
  • 支持总线Lock传输。

存储器接口

存储器接口具有以下特点:

  • 片选的存储空间最大支持到64Mbit(3Byte地址模式)。片选映射基地址可配置。只支持片选1,不支持片选0。
  • 支持Standard SPI、Dual-Output/Dual-Input SPI、Quad-Output/Quad-Input SPI、Dual-I/O SPI、Quad-I/O SPI五种接口类型。上电后默认支持Standard SPI接口类型,可通过寄存器配置切换接口类型。
  • 支持XIP(Executed In Place)。
  • SPI Flash读写操作支持总线直接读写、寄存器编程读写、DMA读写三种方式。
  • 支持多种写保护操作。
  • SFC模块支持SPI Mode0和Mode3,按协议要求,支持SPI Mode0和Mode3的SPI Flash器件在时钟的上升沿采样数据,在时钟的下降沿输出数据。
  • XIP实现地址remap,为了软件只编译一个XIP镜像,升级镜像时主镜像和备份镜像使用相同地址。

Flash数据在线解密

Flash数据在线解密具有以下特点:

  • 解密算法为AES-128-CTR,仅支持1个IV,秘钥来源于KM派生。
  • 支持4个解密区域,配置粒度为256Byte;每个区域支持单独的IV解密起始地址可配,配置粒度同为256Byte,4个解密区域配置不能存在交叉地址。

支持AES在线解密,解密时读取数据量没有16Byte的倍数与对齐的约束。

工作方式

读写Flash

有三种方式读写Flash:

  • 通过寄存器配置方式发送SPI Flash Program、Read等命令来读写Flash。例如:对寄存器CMD_CONFIG写0x0000_7F8B,对寄存器CMD_INS写0x03,表示通过Standard SPI方式发起读64Byte Flash数据的操作。

此方式直接控制需要发送的Flash命令。

  • 通过AHB Slave接口以类似读写普通Memory的方式读写Flash。

SFC模块会自动将AHB总线的读写操作时序映射为SPI Flash读写命令。

  • 通过DMA方式在Flash和外部Memory之间搬移数据。

其他操作

对Flash的其他操作如Erase、进入Deep Power Down、读Device ID等必须通过寄存器访问来实现。需要配置CMD_INS[REG_INS]为相应的命令,具体请参见Flash器件手册。

例如:对寄存器CMD_CONFIG写0x0000_0583,对寄存器CMD_INS写0x0000_009F,表示读器件ID的操作。

初始化流程

注意以下初始化流程仅做参考,请根据器件差异进行调整。

初始化流程如下:

步骤 1 (如果需要调整Timing参数)配置TIMING寄存器。

步骤 2 配置总线操作方式寄存器。

  • 根据实际Flash大小配置BUS_FLASH_SIZE[flash_size_cs1](直接获知器件大小或可通过发Read ID命令给Flash查询获得)。
  • 有些器件要求进入非Standard SPI读写时序,需要预先以特殊命令配置Flash。根据器件需要,对寄存器CMD_INS进行写操作,发特定命令配置Flash。
  • 通过BUS_CONFIG1/BUS_CONFIG2配置总线读写操作指令和参数。

例如:对寄存器BUS_CONFIG1写0xCC85_EB1E表示配置的参数为写指令32h,写方式为Quad-Input SPI,读指令EBh、读方式为Quad I/O SPI。

  • 如果需要开启总线写操作,配置BUS_CONFIG1[wr_enable]为1,使能总线写。默认关闭总线写功能。

----结束

通过寄存器方式读Flash操作流程

通过寄存器读取Flash的操作流程(查询方式),如图3-2所示。

图3-2 通过寄存器读取Flash的操作流程(查询方式)

通过寄存器方式写Flash操作流程

  • 通过寄存器方式写Flash数据时,总线和DMA不得访问Flash。
  • 单次写Flash不能跨越Page边界(寄存器写方式没有跨越Page边界保护,需要软件保证,如果跨越256Byte边界,将会Wrap到该Page的起始地址,覆盖原来的内容)。

通过寄存器写Flash的操作流程(中断方式),如图3-3所示。

图3-3 通过寄存器写Flash的操作流程(中断方式)

注:WREN(Write Read Enable), PP(Page Program), RDSR(Read Status Register)。

通过寄存器方式其他操作流程

通过寄存器方式其他操作流程如图3-4所示。

图3-4 通过寄存器方式其他操作流程

SFC控制器不支持发出 "OPCODE(1byte)+ DUMMY(3byte全0)" 组合SPI时序,某些Flash指令需要这种组合时序时,可以采用 "OPCODE(1byte)+ADDR(3byte全0)" 组合代替。

通过AHB Slave直接读写Flash操作流程

上电复位后,默认配置为Standard SPI时序模式。不需要额外配置,可直接读Flash。

默认通过AHB Slave写Flash是禁止的。需要配置BUS_CONFIG1[wr_enable] 为1,使能总线写操作。

如果需要调整默认配置,请参见"3.3.3 初始化流程"。

通过DMA方式读写Flash操作流程

DMA操作流程如下:

步骤 1 如需调整总线操作方式时序配置,请参见 "3.3.3 初始化流程"。

步骤 2 写BUS_DMA_MEM_SADDR,配置DMA操作的内存端起始地址;写BUS_DMA_FLASH_SADDR,配置Flash端起始地址(Flash偏移地址);写BUS_DMA_LENBUS_DMA_LEN,配置数据长度。

步骤 3 写BUS_DMA_CTRL,配置读写方向,选择Flash片选1。

步骤 4 写BUS_DMA_CTRL[start]为1,使能DMA操作。

步骤 5 等待dma_done中断触发(中断方式)或轮询DMA操作完成 (BUS_DMA_CTRL[start] 变为0)。

  • DMA操作时可以同时Flash寄存器读命令操作。
  • DMA操作时可以同时通过AHB Slave直接访问Flash,但需保证中间不修改总线操作相关配置。
  • DMA操作时需要保证首地址4Byte对齐。

----结束

寄存器概览

SFC寄存器概览如表3-1所示。

表3-1 SFC寄存器概览(基址是0x4800_0000)

偏移地址 名称 描述
0x0100 GLOBAL_CONFIG 全局配置寄存器。
0x0110 TIMING Timing配置寄存器。
0x0120 INT_RAW_STATUS 中断原始状态寄存器。
0x0124 INT_STATUS 经过屏蔽处理的中断状态寄存器。
0x0128 INT_MASK 中断屏蔽寄存器。
0x012C INT_CLEAR 中断清除寄存器。
0x0130 SOFT_RST_MASK 软复位寄存器屏蔽位。
0x0200 BUS_CONFIG1 总线操作方式配置1寄存器。
0x0204 BUS_CONFIG2 总线操作方式配置2寄存器。
0x0240 BUS_DMA_CTRL DMA操作控制寄存器。
0x0244 BUS_DMA_MEM_SADDR DMA操作DDR起始地址寄存器。
0x0248 BUS_DMA_FLASH_SADDR DMA操作Flash起始地址寄存器。
0x024C BUS_DMA_LEN DMA操作搬运数据长度寄存器。
0x0250 BUS_DMA_AHB_CTRL DMA操作AHB时burst操作方式选择控制寄存器。
0x0300 CMD_CONFIG 命令操作方式配置寄存器。
0x0308 CMD_INS 命令操作方式指令寄存器。
0x030C CMD_ADDR 命令操作方式地址寄存器。
0x0400+4×n CMD_DATABUF_N 命令操作方式数据Buffer寄存器。
0x1000+4×n APC_CFG_START_ADDR FAPC鉴权。
0x1040+4×n APC_CFG_END_ADDR FAPC鉴权。
0x1180 SFC_FAPC_DEC_AUTH_CFG FAPC鉴权。
0x1200 SFC_FAPC_SADDR_STATUS FAPC鉴权。
0x1204 SFC_FAPC_EADDR_STATUS FAPC鉴权。
0x1208 SFC_APC_ERR_INT FAPC鉴权。
0x120C SFC_APC_CLR FAPC鉴权。
0x1220 FAPC_ONE_WAY_LOCK FAPC鉴权锁定寄存器。
0x1300 LEA_LP_EN LEA控制。
0x1304 LEA_DFX_INFO LEA DFX。
0x1600 LEA_IV_VLD LEA控制。
0x1640 LEA_IV_ACPU_START_ADDR_0 LEA IV解密起始地址寄存器0。
0x1644 LEA_IV_ACPU_START_ADDR_1 LEA IV解密起始地址寄存器1。
0x1648 LEA_IV_ACPU_START_ADDR_2 LEA IV解密起始地址寄存器2。
0x164C LEA_IV_ACPU_START_ADDR_3 LEA IV解密起始地址寄存器3。

SFC寄存器偏移地址中变量的取值范围和含义如表3-2所示。

表3-2 SFC寄存器偏移地址变量表

变量名称 取值范围 描述
n 0~3 FLASH解密地址的区间个数。

寄存器描述

GLOBAL_CONFIG

GLOBAL_CONFIG为全局配置寄存器。

Offset Address: 0x0100 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:6] - reserved 保留。 0x000000
[5:3] RW rd_delay SPI读出数据延迟周期个数。000: 0.5~1个时钟周期(默认值);001: 1~1.5个时钟周期;010: 1.5~2个时钟周期;011: 2~2.5个时钟周期;100: 2.5~3个时钟周期;101: 3~3.5个时钟周期;110: 3.5~4个时钟周期;111: 不支持,(按照"110"含义处理)。 0x0
[2] RW flash_addr_mode SPI地址模式。0: 3byte寻址模式(默认值);1: 4byte寻址模式。注意:CMD_CONFIG[start]为1时写无效。 0x0
[1] RW wp_en 硬件写保护使能(写保护管脚)。0: 禁止;1: 使能。 0x0
[0] RW mode SPI模式设置。0: 支持Mode0;1: 支持Mode3。 0x0

TIMING

TIMING为Timing配置寄存器。

Offset Address: 0x0110 Total Reset Value: 0x0000_660F

Bits Access Name Description Reset
[31:15] - reserved 保留。 0x00000
[14:12] RW tcsh 片选保持时间。0x0~0x7: (n+1)个时钟周期。例如: 0x6表示7个时钟周期。 0x6
[11] - reserved 保留。 0x0
[10:8] RW tcss 片选建立时间。0x0~0x7:(n+1)个时钟周期。例如:0x6表示7个时钟周期。 0x6
[7:4] - reserved 保留。 0x0
[3:0] RW tshsl 设置2次Flash操作之间的时间间隔。0x0~0xF:(n+2)个时钟周期。例如:0xF表示17个时钟周期。 0xF

INT_RAW_STATUS

INT_RAW_STATUS为中断原始状态寄存器。

Offset Address: 0x0120 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:2] - reserved 保留。 0x00000000
[1] RO dma_done_int_raw_status DMA操作完成中断原始状态(未经过屏蔽)。0: 未完成;1: 已完成。 0x0
[0] RO cmd_op_end_raw_status 指令操作结束原始中断状态(未经过屏蔽)。0: 未完成;1: 已完成。 0x0

INT_STATUS

INT_STATUS为经过屏蔽处理的中断状态寄存器。

Offset Address: 0x0124 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:2] - reserved 保留。 0x00000000
[1] RO dma_done_int_status DMA操作完成中断原始状态(经过屏蔽)。0:未完成;1:已完成。 0x0
[0] RO cmd_op_end_status 指令操作结束中断状态(经过屏蔽)。0:未完成;1:已完成。 0x0

INT_MASK

INT_MASK为中断屏蔽寄存器。

Offset Address: 0x0128 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:2] - reserved 保留。 0x00000000
[1] RW dma_done_int_mask DMA操作完成中断屏蔽位。0: 屏蔽;1: 不屏蔽。 0x0
[0] RW cmd_op_end_int_mask 指令操作结束中断屏蔽位。0: 屏蔽;1: 不屏蔽。 0x0

INT_CLEAR

INT_CLEAR为中断清除寄存器。

Offset Address: 0x012C Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:2] - reserved 保留。 0x00000000
[1] WO dma_done_int_clr DMA操作完成中断清除位,向该位写1将清除INT_STATUS[dma_done_int_status]和INT_RAW_STATUS[dma_done_int_raw_status]。0:不清除;1:清除。注意:清除操作完成后该位自动返回0。 0x0
[0] WO cmd_op_end_int_clr 指令操作结束中断清除位,向该位写1将清除INT_STATUS[cmd_op_end_status]和INT_RAW_STATUS[cmd_op_end_raw_status]。0:不清除;1:清除。注意:清除操作完成后该位自动返回0。 0x0

SOFT_RST_MASK

SOFT_RST_MASK为软复位寄存器屏蔽位

Offset Address: 0x0130 Total Reset Value: 0x0000_0001

Bits Access Name Description Reset
[31:1] - reserved 保留。 0x00000000
[0] RW sfc_bus_soft_rst_mask SFC总线时钟域数字逻辑软复位屏蔽位:0: 软复位可以正常生效;1: 软复位被屏蔽,不会生效。 0x1

BUS_CONFIG1

BUS_CONFIG1为总线操作方式配置1寄存器。

Offset Address: 0x0200 Total Reset Value: 0x8080_0300

Bits Access Name Description Reset
[31] RW rd_enable 总线读使能。0:禁止;1:使能。 0x1
[30] RW wr_enable 总线写使能。0:禁止;1:使能。 0x0
[29:22] RW wr_ins 写指令。 0x02
[21:19] RW wr_dummy_bytes 总线写操作DummyByte。000:没有DummyByte;001:1Byte;010:2Byte;......111:7Byte。 0x0
[18:16] RW wr_mem_if_type 总线写操作指定连接的SPI FLASH接口类型。000:Standard SPI接口类型;001: Dual-Input/Dual-Output SPI;010: Dual-I/O SPI;011: Full DIO SPI;100: 保留;101: Quad-Input/Dual-Output SPI;110: Quad-I/O SPI;111: Full QIO SPI。 0x0
[15:8] RW rd_ins 读指令。 0x03
[7:6] RW rd_prefetch_cnt 总线访问Flash方式(非定长读)预取周期。00: 不预取(默认值);01: 预取1个时钟周期数据;10: 预取2个时钟周期数据;11: 预取3个时钟周期数据。 0x0
[5:3] RW rd_dummy_bytes 总线读操作DummyByte。00: 没有DummyByte;001: 1Byte010: 2Byte;......111: 7Byte。 0x0
[2:0] RW rd_mem_if_type 总线读操作指定连接的SPI FLASH接口类型。000: Standard SPI接口类型;001: Dual-Input/Dual-OutputSPI;010: Dual-I/O SPI;101: Quad-Input/Dual-Output SPI;110: Quad-I/O SPI;其他: 保留。 0x0

BUS_CONFIG2

BUS_CONFIG2为总线操作方式配置2寄存器。

Offset Address: 0x0204 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:3] - reserved 保留。 0x00000000
[2:0] RW wip_locate WIP(Write In Progress) 位于Flash状态寄存器的位置。000: WIP位于Flash状态寄存器的bit[0](默认值);001: WIP位于Flash状态寄存器的bit[1];010: WIP位于Flash状态寄存器的bit[2];011: WIP位于Flash状态寄存器的bit[3];100: WIP位于Flash状态寄存器的bit[4];101: WIP位于Flash状态寄存器的bit[5];110: WIP位于Flash状态寄存器的bit[6];111: WIP位于Flash状态寄存器的bit[7]。 0x0

BUS_DMA_CTRL

BUS_DMA_CTRL为DMA操作控制寄存器。

Offset Address: 0x0240 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:5] - reserved 保留。 0x0000000
[4] RW dma_sel_cs DMA操作指定片选。0: 片选0;1: 片选1。 0x0
[3:2] - reserved 保留。 0x0
[1] RW dma_rw DMA读写指示。0: 写操作;1: 读操作。 0x0
[0] RW dma_start DMA传输使能控制。0: 无操作;1: 开始DMA操作。注意: DMA传输完成自动回0。 0x0

BUS_DMA_MEM_SADDR

BUS_DMA_MEM_SADDR为DMA操作芯片内存起始地址寄存器。

Offset Address: 0x0244 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RW dma_mem_saddr DMA操作memory起始地址。WS63配置值应在0x0010_0000~0x00BF_FFFF之间。 0x00000000

BUS_DMA_FLASH_SADDR

BUS_DMA_FLASH_SADDR为DMA操作Flash起始地址寄存器。

Offset Address: 0x0248 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RW dma_flash_saddr DMA操作Flash起始地址。 0x00000000

BUS_DMA_LEN

BUS_DMA_LEN为DMA操作搬运数据长度寄存器。

Offset Address: 0x024C Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:30] - reserved 保留。 0x0
[29:0] RW dma_len DMA操作数据搬运长度(n+1),单位:byte。例如:6表示长度为7byte。 0x00000000

BUS_DMA_AHB_CTRL

BUS_DMA_AHB_CTRL为DMA操作AHB时burst操作方式选择控制寄存器。

Offset Address: 0x0250 Total Reset Value: 0x0000_0007

Bits Access Name Description Reset
[31:3] - reserved 保留。 0x00000000
[2] RW incr16_en INC16 burst类型使能。0:禁止;1:使能。 0x1
[1] RW incr8_en INC8 burst类型使能。0:禁止;1:使能。 0x1
[0] RW incr4_en INC4 burst类型使能。0:禁止;1:使能。 0x1

CMD_CONFIG

CMD_CONFIG为命令操作方式配置寄存器。

Offset Address: 0x0300 Total Reset Value: 0x0000_7E00

Bits Access Name Description Reset
[31:20] - reserved 保留。 0x000
[19:17] RW mem_if_type 指定寄存器命令操作方式连接的SPI FLASH接口类型。000: Standard SPI接口类型;001: Dual-Input/Dual-Output SPI;010: Dual-I/O SPI;101: Quad-Input/Dual-Output SPI;110: Quad-I/O SPI;其他: 保留。 0x0
[16:15] - reserved 保留。 0x0
[14:9] RW data_cnt 读写数据长度(单位:Byte)。0x00~0x3F:(n+1)Byte。例如:0x3F表示64Byte。 0x3F
[8] RW rw 标识此次操作数据读写,需[data_en]为1。0:写,有发送数据;1:读,有返回数据。 0x0
[7] RW data_en 标识此次操作是否有数据。0:无数据;1:有数据。 0x0
[6:4] RW dummy_byte_cnt 寄存器命令操作方式DummyByte。000:没有DummyByte;001:1Byte;010:2Byte;......111:7Byte。 0x0
[3] RW addr_en 此次操作是否有地址。0:无地址;1:有地址。 0x0
[2] - reserved 保留。 0x0
[1] RW sel_cs 片选选择操作。0:选择片选0进行操作;1:选择片选1进行操作。 0x0
[0] RW start 标识指令操作开始。0:结束;1:开始。注意:此次操作完成后该位自动回0。 0x0

CMD_INS

CMD_INS为命令操作方式指令寄存器。

Offset Address: 0x0308 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] - reserved 保留。 0x000000
[7:0] RW reg_ins 寄存器访问Flash方式下的指令码。 0x00

CMD_ADDR

CMD_ADDR为命令操作方式地址寄存器。

Offset Address: 0x030C Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:30] - reserved 保留。 0x0
[29:0] RW cmd_addr 寄存器访问Flash方式下的操作地址。 0x00000000

CMD_DATABUF_N

CMD_DATABUF_N为命令操作方式数据Buffer寄存器。

Offset Address: 0x0400+4×n Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RW cmd_databuf_n 寄存器访问Flash方式下第n数据Buffer(n: 0~15)。 0x00000000

APC_CFG_START_ADDR

APC_CFG_START_ADDR为FAPC鉴权。

Offset Address: 0x1000+4×n Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] RW apc_cfg_start_addr_n flash存储区域划分4段地址区间,每段起始和截止地址位宽32bit,该寄存器表示第n段起始地址的高24bit (n: 0~3)。注意:该处为绝对地址,包含总线基地址。 0x000000
[7:0] - reserved 保留。 0x00

APC_CFG_END_ADDR

APC_CFG_END_ADDR为FAPC鉴权。

Offset Address: 0x1040+4×n Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] RW apc_cfg_end_addr_n flash存储区域划分4段地址区间,每段起始和截止地址位宽32bit,该寄存器表示第n段截止地址的高24bit(n: 0~3)注:该处为绝对地址,包含总线基地址。 0x000000
[7:0] - reserved 保留。 0x00

SFC_FAPC_DEC_AUTH_CFG

SFC_FAPC_DEC_AUTH_CFG为FAPC鉴权。

Offset Address: 0x1180 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RW sfc_fapc_dec_auth_cfg flash存储区域划分4段区间,该寄存器从低位开始,每2bit(n: 0~3)表示一段区间的数据处理方式:0b00:透传;0b10:解密;其他:保留。 0x00000000

SFC_FAPC_SADDR_STATUS

SFC_FAPC_SADDR_STATUS为FAPC鉴权。

Offset Address: 0x1200 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RO sfc_fapc_saddr_status APC状态检测寄存器:基于burst起始地址检测[31:31]:是否出现过鉴权不通过历史态;[30:28]:当前master对应MID的低3bit;[27:27]:1表示当前是写操作,0表示读;[26:0]:当前访问flash地址。 0x00000000

SFC_FAPC_EADDR_STATUS

SFC_FAPC_EADDR_STATUS为FAPC鉴权。

Offset Address: 0x1204 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RO sfc_fapc_eaddr_status APC状态检测寄存器:基于burst结束地址检测[31:31]:是否出现过鉴权不通过历史态;[30:28]:当前master对应MID的低3bit;[27:27]: 1表示当前是写操作,0表示读;[26:0]: 当前访问flash地址。 0x00000000

SFC_APC_ERR_INT

SFC_APC_ERR_INT为FAPC鉴权

Offset Address: 0x1208 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:1] - reserved 保留。 0x00000000
[0] RO sfc_apc_err_int 鉴权错误中断状态:0: 鉴权全部通过;1: 出现鉴权不通过,上报中断。 0x0

SFC_APC_CLR

SFC_APC_CLR为FAPC鉴权

Offset Address: 0x120C Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:1] - reserved 保留。 0x00000000
[0] W1_PULSE sfc_apc_clr 鉴权错误中断状态清除:0:无效;1:清除sfc_apc_err_int中断。 0x0

FAPC_ONE_WAY_LOCK

FAPC_ONE_WAY_LOCK为FAPC鉴权锁定寄存器

Offset Address: 0x1220 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:16] - reserved 保留。 0x0000
[15:0] RW sfc_fpac_one way_lock 鉴权寄存器锁定位,bit0~3分别表示16段地址区间对应的鉴权寄存器锁定位。0:对应鉴权寄存器可读可写;1:对应鉴权寄存器不可改写,只能读。注意:默认值是0,一旦写1,只有整harden复位才能归0。 0x0000

LEA_LP_EN

LEA_LP_EN为LEA控制

Offset Address: 0x1300 Total Reset Value: 0x0000_0001

Bits Access Name Description Reset
[31:1] - reserved 保留。 0x00000000
[0] RW lea_lp_en AES模块低功耗模式配置:0: 关闭LEA低功耗配置;1: 使能LEA低功耗。 0x1

LEA_DFX_INFO

LEA_DFX_INFO is LEA DFX

Offset Address: 0x1304 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:0] RO lea_dfx_info AES模块DFX信息观测寄存器。 0x00000000

LEA_IV_VLD

LEA_IV_VLD为LEA控制。

Offset Address: 0x1600 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:1] - reserved 保留。 0x00000000
[0] RW lea_iv_vld AES IV值有效寄存器。配置AES_IV之后,需要将该寄存器写1,是配置同步生效,做完时钟同步之后,该信号自动归0。 0x0

LEA_IV_ACPU_START_ADDR_0

LEA_IV_ACPU_START_ADDR_0为LEA IV解密起始地址寄存器0。

Offset Address: 0x1640 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] RW iv_start_addr_0 ACPU IV解密区域0的起始地址,该寄存器表示起始地址的高24bit。注意:该处为绝对地址,包含总线基地址。 0x000000
[7:0] - reserved 保留。 0x00

LEA_IV_ACPU_START_ADDR_1

LEA_IV_ACPU_START_ADDR_1为LEA IV解密起始地址寄存器1。

Offset Address: 0x1644 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] RW iv_start_addr_1 ACPU IV解密区域1的起始地址,该寄存器表示起始地址的高24bit。注意:该处为绝对地址,包含总线基地址。 0x000000
[7:0] - reserved 保留。 0x00

LEA_IV_ACPU_START_ADDR_2

LEA_IV_ACPU_START_ADDR_2为LEA IV解密起始地址寄存器2。

Offset Address: 0x1648 Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] RW iv_start_addr_2 ACPU IV解密区域2的起始地址,该寄存器表示起始地址的高24bit。注意:该处为绝对地址,包含总线基地址。 0x000000
[7:0] - reserved 保留。 0x00

LEA_IV_ACPU_START_ADDR_3

LEA_IV_ACPU_START_ADDR_3为LEA IV解密起始地址寄存器3。

Offset Address: 0x164C Total Reset Value: 0x0000_0000

Bits Access Name Description Reset
[31:8] RW iv_start_addr_3 ACPU IV解密区域3的起始地址,该寄存器表示起始地址的高24bit。注意:该处为绝对地址,包含总线基地址。 0x000000
[7:0] - reserved 保留。 0x00