5.2.4. 寄存器列表
Module Name |
Mapping Size |
Offset |
---|---|---|
SID |
768 B |
0x000 |
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值同步到该区域
|