[flash_ctrl] Clean-up protection control settings
- add "bank address" to the seed info page selection
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
index 5316a9e..309a4ef 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
@@ -151,7 +151,7 @@
assign seed_page_addr = BusAddrW'({SeedInfoPageSel[seed_idx], BusWordW'(0)});
logic [BusAddrW-1:0] owner_page_addr;
- assign owner_page_addr = BusAddrW'({logic'(OwnerInfoPage), BusWordW'(0)});
+ assign owner_page_addr = BusAddrW'({SeedInfoPageSel[OwnerSeedIdx], BusWordW'(0)});
logic start;
flash_op_e op;
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv
index b989995..6de1130 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_pkg.sv
@@ -90,12 +90,16 @@
// One page for creator seeds
// One page for owner seeds
parameter int NumSeeds = 2;
+ parameter int SeedBank = 0;
+ parameter int CreatorSeedIdx = 0;
+ parameter int OwnerSeedIdx = 1;
parameter int CreatorInfoPage = 1;
parameter int OwnerInfoPage = 2;
- parameter logic [InfoPageW-1:0] SeedInfoPageSel [NumSeeds] =
+ // which page of which bank
+ parameter logic [AllPagesW-1:0] SeedInfoPageSel [NumSeeds] =
'{
- CreatorInfoPage,
- OwnerInfoPage
+ {SeedBank, CreatorInfoPage},
+ {SeedBank, OwnerInfoPage}
};
// hardware interface memory protection rules
@@ -259,19 +263,28 @@
};
////////////////////////////
- // The following inter-module should be moved to OTP
+ // The following inter-module should be moved to OTP/LC
////////////////////////////
// otp to flash_phy
typedef struct packed {
logic [127:0] addr_key;
logic [127:0] data_key;
+ // TBD: this signal will become multi-bit in the future
+ logic creator_seed_valid;
} otp_flash_t;
+ // lc to flash_phy
+ typedef struct packed {
+ // TBD: this signal will become multi-bit in the future
+ logic provision_en;
+ } lc_flash_t;
+
// default value of otp_flash_t
parameter otp_flash_t OTP_FLASH_DEFAULT = '{
addr_key: 128'hDEADBEEFBEEFFACEDEADBEEF5A5AA5A5,
- data_key: 128'hDEADBEEF5A5AA5A5DEADBEEFBEEFFACE
+ data_key: 128'hDEADBEEF5A5AA5A5DEADBEEFBEEFFACE,
+ creator_seed_valid: '0
};