smc_efuse_pkg
Declare types and constants for the SMC eFuse map.
Sizes the 8192-bit fuse array as 256 32-bit words and defines efuse_map_t, the shadow-register layout of the SMC eFuse map, together with the fuse command types. Builds EfuseFieldMap, the per-field lock rules and address ranges, and the Class 1 shadow range that covers the LOCKS field. Used by smc_efuse_wrapper and by the SMC ports that carry the shadow registers and fuse commands.
smc_efuse_map_locks_reg_t
Shadow register layout preserved from the legacy generated sub-block header.
Packed struct
| Field | Type | Description |
|---|---|---|
spare27_read_lock | logic [0:0] | |
spare27_write_lock | logic [0:0] | |
spare26_read_lock | logic [0:0] | |
spare26_write_lock | logic [0:0] | |
spare25_read_lock | logic [0:0] | |
spare25_write_lock | logic [0:0] | |
spare24_read_lock | logic [0:0] | |
spare24_write_lock | logic [0:0] | |
spare23_read_lock | logic [0:0] | |
spare23_write_lock | logic [0:0] | |
spare22_read_lock | logic [0:0] | |
spare22_write_lock | logic [0:0] | |
spare21_read_lock | logic [0:0] | |
spare21_write_lock | logic [0:0] | |
spare20_read_lock | logic [0:0] | |
spare20_write_lock | logic [0:0] | |
spare19_read_lock | logic [0:0] | |
spare19_write_lock | logic [0:0] | |
spare18_read_lock | logic [0:0] | |
spare18_write_lock | logic [0:0] | |
spare17_read_lock | logic [0:0] | |
spare17_write_lock | logic [0:0] | |
spare16_read_lock | logic [0:0] | |
spare16_write_lock | logic [0:0] | |
spare15_read_lock | logic [0:0] | |
spare15_write_lock | logic [0:0] | |
spare14_read_lock | logic [0:0] | |
spare14_write_lock | logic [0:0] | |
spare13_read_lock | logic [0:0] | |
spare13_write_lock | logic [0:0] | |
spare12_read_lock | logic [0:0] | |
spare12_write_lock | logic [0:0] | |
spare11_read_lock | logic [0:0] | |
spare11_write_lock | logic [0:0] | |
spare10_read_lock | logic [0:0] | |
spare10_write_lock | logic [0:0] | |
spare9_read_lock | logic [0:0] | |
spare9_write_lock | logic [0:0] | |
spare8_read_lock | logic [0:0] | |
spare8_write_lock | logic [0:0] | |
spare7_read_lock | logic [0:0] | |
spare7_write_lock | logic [0:0] | |
spare6_read_lock | logic [0:0] | |
spare6_write_lock | logic [0:0] | |
spare5_read_lock | logic [0:0] | |
spare5_write_lock | logic [0:0] | |
spare4_read_lock | logic [0:0] | |
spare4_write_lock | logic [0:0] | |
spare3_read_lock | logic [0:0] | |
spare3_write_lock | logic [0:0] | |
spare2_read_lock | logic [0:0] | |
spare2_write_lock | logic [0:0] | |
spare1_read_lock | logic [0:0] | |
spare1_write_lock | logic [0:0] | |
spare0_read_lock | logic [0:0] | |
spare0_write_lock | logic [0:0] | |
occp_transport_timeout_read_lock | logic [0:0] | |
occp_transport_timeout_write_lock | logic [0:0] | |
smc_config_read_lock | logic [0:0] | |
smc_config_write_lock | logic [0:0] | |
i2c_i3c_id_read_lock | logic [0:0] | |
i2c_i3c_id_write_lock | logic [0:0] | |
jtag_public_identity_read_lock | logic [0:0] | |
jtag_public_identity_write_lock | logic [0:0] |
smc_efuse_map_jtag_public_identity_reg_t
Packed struct
| Field | Type | Description |
|---|---|---|
value | logic [255:0] |
smc_efuse_map_i2c_i3c_id_reg_t
Packed struct
| Field | Type | Description |
|---|---|---|
interface_id | logic [63:0] |
smc_efuse_map_smc_config_reg_t
Packed struct
| Field | Type | Description |
|---|---|---|
config_rsvd_high | logic [47:0] | |
dft_ignore_error | logic [0:0] | |
config_rsvd_mid | logic [6:0] | |
sram_auto_zero_disable | logic [0:0] | |
config_rsvd_low | logic [5:0] | |
rom_flip_endianness | logic [0:0] |
smc_efuse_map_occp_transport_timeout_reg_t
Packed struct
| Field | Type | Description |
|---|---|---|
timeout_rsvd | logic [31:0] | |
timeout | logic [31:0] |
smc_efuse_map_spare_reg_t
Packed struct
| Field | Type | Description |
|---|---|---|
rsvd | logic [255:0] |
smc_efuse_map_regmap_t
Packed struct
| Field | Type | Description |
|---|---|---|
spare | smc_efuse_map_spare_reg_t [27:0] | |
occp_transport_timeout | smc_efuse_map_occp_transport_timeout_reg_t | |
smc_config | smc_efuse_map_smc_config_reg_t | |
i2c_i3c_id | smc_efuse_map_i2c_i3c_id_reg_t [8:0] | |
jtag_public_identity | smc_efuse_map_jtag_public_identity_reg_t | |
locks | smc_efuse_map_locks_reg_t |
efuse_addr_bit_t
Alias for logic [NumFuseBitsWidth-1:0]
efuse_addr_byte_t
Alias for logic [NumFuseByteWidth-1:0]
efuse_data_t
Alias for logic [NumFuseWordWidth-1:0]
efuse_word_counter_t
Alias for logic [NumFuseWordsWidth-1:0]
fuse_command_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
address | efuse_addr_bit_t | |
program_data | logic | |
access_length_words | efuse_word_counter_t | |
command | efuse_pkg::fuse_command_e | |
valid | logic |
fuse_command_resp_t
Packed struct
| Field | Type | Description |
|---|---|---|
data | efuse_data_t | |
status | logic | |
valid | logic |
efuse_lock_view_t
Packed struct
| Field | Type | Description |
|---|---|---|
reserved | logic [NumEfuseBits-LockFieldBits-1:0] | |
locks | logic [LockFieldBits-1:0] |
efuse_map_t
Class 1 storage is selected by field identity; all locations and widths
Alias for union packed { smc_efuse_map_regmap_t fields; efuse_lock_view_t locks; logic [NumFuseWords-1:0][NumFuseWordWidth-1:0] values; }
efuse_offset
Function returning int unsigned
| Name | Direction | Type | Description |
|---|---|---|---|
addr | input | longint unsigned |
build_efuse_field_map
lock[0] read: 0 -> readable; 1 -> read locked
Function returning efuse_pkg::rule_t [NumEfuseFields-1:0]