5.2.4. 寄存器列表

表 5.1 SID 寄存器地址映射表

Module Name

Mapping Size

Offset

SID

768 B

0x000

表 5.2 SID 寄存器列表

Register Name

Offset

Description

EFUSE_CTL

0x000

eFuse控制(eFuse Control)

EFUSE_ADDR

0x004

eFuse地址(eFuse Address)

EFUSE_WDATA

0x008

eFuse写数据(eFuse Write Data)

EFUSE_RDATA

0x00C

eFuse读数据(eFuse Read Data)

EFUSE_TIMING

0x010

eFuse时序(eFuse Timing)

EFUSE_PWR_CTL

0x014

eFuse电源控制(eFuse Power Control)

WAFER_ID

0x018

晶圆ID(Wafer ID)

EFUSE_TIMING_HIGH

0x020

eFuse时序(eFuse Timing)

BROM_PRIV

0x080

BROM特权(BROM Privilege)

SID_VER

0x0FC

SID版本(SID Version)

EFUSE_DATA

0x200~0x23F

eFuse数据 (eFuse Data)

5.2.5. 寄存器描述

5.2.5.1. 0x0000 EFUSE_CTL

默认值:0x00000200

eFuse控制(eFuse Control)

位域

类型

默认值

描述

31:29

-

-

-

28

R/W

0x0

BROM_PRIV_LOCK
BROM特权锁,特权包括:
JTAG 解锁功能可使能
0: BROM 特权可用,软件可以使用相关特权功能
1: BROM 特权关闭,软件无法使用相关特权功能
该位一旦写1后在下次 POR 之前无法清零;
BROM中会配置该位为1,确保相关特权功能仅在 BROM 中可用,
其他软件无法更改。

27:16

WO

0x0

EFUSE_OP_CODE
eFuse操作码
防止误操作使用,设置为0xA1C允许eFuse读写操作

15:12

-

-

-

11:8

RO

0x2

EFUSE_STATUS
eFuse状态机状态
1: 开机自动读取中
2: 空闲中
4: 烧录中
8: 读取中
该字段为异步设计,开机自动读取结束状态查询该字段为2,
写结束状态建议查询EFUSE_WRITE_START,
读结束状态建议查询EFUSE_READ_START

7:5

-

-

-

4

R/WAC

0x0

EFUSE_READ_START
eFuse读启动寄存器
0: 无操作
1: 启动eFuse读操作
写该位需要将EFUSE_OP_CODE=0xA1C同时写入,
该位写1启动eFuse读取,读取完该位自动清零。

3:1

-

-

-

0

R/WAC

0x0

EFUSE_WRITE_START
eFuse写启动寄存器
0: 无操作
1: 启动eFuse写操作
写该位需要将EFUSE_OP_CODE=0xA1C同时写入,
写1启动eFuse烧写,烧写完该位自动清零;
期间会自动开关LDO,无需配置开关LDO。

5.2.5.2. 0x0004 EFUSE_ADDR

默认值:0x00000000

eFuse地址(eFuse Address)

位域

类型

默认值

描述

31:7

-

-

-

6:0

R/W

0x0

EFUSE_ADDR
eFuse读写地址寄存器
该地址为全4Kbit空间读写,以BYTE为单位,
由于读写操作按照32位进行,低两位需配置为0。

5.2.5.3. 0x0008 EFUSE_WDATA

默认值:0x00000000

eFuse写数据(eFuse Write Data)

位域

类型

默认值

描述

31:0

R/W

0x0

EFUSE_WDATA
eFuse写数据寄存器
注意eFuse为单次烧写,默认未烧写时候为0,烧写为1后无法再变回为0
该字段对应的bits为1,则对应进行烧写,对应的bits为0即不进行烧写, 32bits可以分多次针对不同bits进行烧写

5.2.5.4. 0x000C EFUSE_RDATA

默认值:0x00000000

eFuse读数据(eFuse Read Data)

位域

类型

默认值

描述

31:0

RO

0x0

EFUSE_RDATA
eFuse读数据寄存器

5.2.5.5. 0x0010 EFUSE_TIMING

默认值:0x04021ff1

eFuse时序(eFuse Timing)

位域

类型

默认值

描述

31:24

R/W

0x04

TAEN_RD
单次读数据处理时间所占的时钟周期数
使用默认值0x04

23:16

R/W

0x02

TRD
单次读数据时高电平所占的时钟周期数
使用默认值0x02

15:8

R/W

0x1f

TAEN_PGM
单次写数据处理时间所占的时钟周期数
以EFUSE_TIMING_HIGH寄存器的[8][9]位为高位与该值进行拼接得到正确值
例如TAEN_PGM正确默认值为0x11f
使用默认值0x1f

7:0

R/W

0xf1

TPGM
单次写数据时高电平所占的时钟周期数
以EFUSE_TIMING_HIGH寄存器的[0][1]位为高位与该值进行拼接得到正确值
例如TPGM正确默认值为0x0f1
使用默认值0xf1

5.2.5.6. 0x0014 EFUSE_PWR_CTL

默认值:0x00000C04

eFuse电源控制(eFuse Power Control)

位域

类型

默认值

描述

31:16

-

-

-

15:8

R/W

0xC

VCC_EFUSE_DLY

7:5

-

-

-

4

R/W

0x0

PWR_EN_FORCE
0:硬件自动使能
1:软件强制使能
注意配置为0时由硬件自动使能,硬件使能时序可由PWR_EN_DLY字段控制

3:0

R/W

0x4

PWR_EN_DLY
注意最大有效值为0xE,设置为0xF等同于0xE
实际延迟为VCC_EFUSE_DLY×2×(PWR_EN_DLY+1)

5.2.5.7. 0x0020 EFUSE_TIMING_HIGH

默认值:0x00000100

eFuse时序(eFuse Timing)

位域

类型

默认值

描述

31:10

-

-

-

9:8

R/W

0x1

TAEN_PGM
单次写数据处理时间所占的时钟周期数
以EFUSE_TIMING寄存器的[15]-[8]位为低位与该值进行拼接得到正确值
例如TAEN_PGM正确默认值为0x11f
使用默认值0x1

7:2

-

-

-

1:0

R/W

0x0

TPGM
单次写数据时高电平所占的时钟周期数
以EFUSE_TIMING寄存器的[7]-[0]位为低位与该值进行拼接得到正确值
例如TPGM正确默认值为0x0f1
使用默认值0x0

5.2.5.8. 0x00FC SID_VER

默认值:0x00000102

SID版本(SID Version)

位域

类型

默认值

描述

31:0

RO

0x00000102

VERSION
模块版本

5.2.5.9. 0x200~0x23F EFUSE_DATA

默认值:0x00000000

eFuse数据 (eFuse Data)

位域

类型

默认值

描述

31:0

RO

0x0

EFUSE_DATA
eFuse 数据
芯片上电复位,会将eFuse值同步到该区域
配置寄存器发起读操作,也会将eFuse值同步到该区域