Skip to content

Commit

Permalink
Add fw/hw cap, debug_auth_pk regs, debug unlock tokens, subsystem str…
Browse files Browse the repository at this point in the history
…ap bank; rm lifecycle fuse; rename ready_for_fw; regenerate RDL
  • Loading branch information
calebofearth committed Nov 13, 2024
1 parent c1f9dce commit ad9c366
Show file tree
Hide file tree
Showing 16 changed files with 3,559 additions and 1,195 deletions.
266 changes: 188 additions & 78 deletions src/integration/rtl/caliptra_reg.h

Large diffs are not rendered by default.

266 changes: 188 additions & 78 deletions src/integration/rtl/caliptra_reg_defines.svh

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions src/integration/rtl/caliptra_top.sv
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ module caliptra_top
input logic [`CALIPTRA_IMEM_DATA_WIDTH-1:0] imem_rdata,

output logic ready_for_fuses,
output logic ready_for_fw_push,
output logic ready_for_mb_processing,
output logic ready_for_runtime,

output logic mailbox_data_avail,
Expand Down Expand Up @@ -1131,7 +1131,7 @@ soc_ifc_top1
.cptra_rst_b (cptra_rst_b ),

.ready_for_fuses(ready_for_fuses),
.ready_for_fw_push(ready_for_fw_push),
.ready_for_mb_processing(ready_for_mb_processing),
.ready_for_runtime(ready_for_runtime),
.mailbox_data_avail(mailbox_data_avail),
.mailbox_flow_done(mailbox_flow_done),
Expand Down
241 changes: 98 additions & 143 deletions src/soc_ifc/rtl/caliptra_top_reg.h

Large diffs are not rendered by default.

2 changes: 0 additions & 2 deletions src/soc_ifc/rtl/caliptra_top_reg.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,5 @@
addrmap caliptra_top_reg {
mbox_csr mbox_csr @ 0x3002_0000; //FIXME: Making these address constants as parameters to keep multiple files updated at the same time!

sha512_acc_csr sha512_acc_csr @ 0x3002_1000;

soc_ifc_reg generic_and_fuse_reg @ 0x3003_0000;
};
241 changes: 98 additions & 143 deletions src/soc_ifc/rtl/caliptra_top_reg_defines.svh

Large diffs are not rendered by default.

26 changes: 26 additions & 0 deletions src/soc_ifc/rtl/soc_ifc_external_reg.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,22 @@ reg {
field {sw=rw; resetsignal=cptra_rst_b;} RSVD[32]=0;
} CPTRA_RSVD_REG[2];

reg {
name = "Caliptra HW Capabilities";
desc = "Caliptra HW Capabilities. Initialized with reset values, rewritable by Caliptra firmware.
[br]Caliptra Access: RW
[br]SOC Access: RO";
field {sw=rw; swwel=soc_req; resetsignal=cptra_pwrgood;} cap[32]=32'h0;
} CPTRA_HW_CAPABILITIES;

reg {
name = "Caliptra FW Capabilities";
desc = "Caliptra FW Capabilities. Initialized with reset values, rewritable by Caliptra firmware.
[br]Caliptra Access: RW
[br]SOC Access: RO";
field {sw=rw; swwel=soc_req; resetsignal=cptra_pwrgood;} cap[32]=32'h0;
} CPTRA_FW_CAPABILITIES;

reg {
desc = "Owner PK hash lockable register.
[br]Caliptra Access: RO
Expand All @@ -466,3 +482,13 @@ reg {
[br]SOC Access: RW1-S";
field {sw=rw; hw=r; swmod=true; swwe; resetsignal=cptra_pwrgood;} lock[1]=0;
} CPTRA_OWNER_PK_HASH_LOCK;

// TODO
reg {
field {sw=rw;} offset[32]=32'h0;
} CPTRA_DEBUG_AUTH_PK_HASH_REG_BANK_OFFSET;

// TODO
reg {
field {sw=rw;} num[32]=32'h0;
} CPTRA_NUM_OF_DEBUG_AUTH_PK_HASHES;
23 changes: 15 additions & 8 deletions src/soc_ifc/rtl/soc_ifc_fuse_reg.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ reg {
[br]Caliptra Access: RO
[br]SOC Access: RWL-S";
Fuse svn[32]=0;
} fuse_fmc_key_manifest_svn @0x2c4;
} fuse_fmc_key_manifest_svn @0x2b4;
reg {
desc = "Runtime SVN Fuse.
[br]Caliptra Access: RO
Expand All @@ -77,18 +77,13 @@ reg {
[br]SOC Access: RWL-S";
Fuse hsm_id[32]=0;
} fuse_idevid_manuf_hsm_id[4];
reg {
desc = " Caliptra Boot Media Integrated mode usage only. SOCs that build with a Boot Media Independent profile don’t have to account for these fuses.
[br]Caliptra Access: RO
[br]SOC Access: RWL-S";
Fuse life_cycle[2]=0;
} fuse_life_cycle;

reg {
desc = "One-hot encoded list of revoked Vendor LMS Public Keys (up to 32 keys)
[br]Caliptra Access: RO
[br]SOC Access: RWL-S";
Fuse lms_revocation[32]=0;
} fuse_lms_revocation;
} fuse_lms_revocation @0x340;
reg {
desc = "One-hot encoded list of revoked Vendor MLDSA Public Keys (up to 4 keys)
[br]Caliptra Access: RO
Expand All @@ -101,4 +96,16 @@ reg {
[br]SOC Access: RWL-S";
Fuse soc_stepping_id[16]=0;
} fuse_soc_stepping_id;
reg {
desc = "Manufacturing debug unlock token
[br]Caliptra Access: RO
[br]SOC Access: RWL-S";
Fuse token[32]=0;
} fuse_manuf_dbg_unlock_token[4];
reg {
desc = "Production debug unlock token
[br]Caliptra Access: RO
[br]SOC Access: RWL-S";
Fuse token[32]=0;
} fuse_prod_dbg_unlock_token[4];

1 change: 1 addition & 0 deletions src/soc_ifc/rtl/soc_ifc_reg.rdl
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ addrmap soc_ifc_reg {
`include "soc_ifc_reg_properties.rdl"
`include "soc_ifc_external_reg.rdl"
`include "soc_ifc_fuse_reg.rdl"
`include "soc_ifc_subsystem_reg.rdl"
`include "soc_ifc_internal_reg.rdl"
};
Loading

0 comments on commit ad9c366

Please sign in to comment.