-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[otp_ctrl] Third batch of commit cherry-picks from integrated #20924
[otp_ctrl] Third batch of commit cherry-picks from integrated #20924
Conversation
b5a8af7
to
0ed8671
Compare
0ed8671
to
9ecb7a5
Compare
function automatic bit is_sw_part_idx(int part_idx); | ||
if (part_idx inside {VendorTestIdx, CreatorSwCfgIdx, OwnerSwCfgIdx}) return 1; | ||
else return 0; | ||
return (PartInfo[part_idx].variant == Unbuffered); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think any changes have to be made here, but this does feel a bit like a non-sequitur without any other comment or documentation. The docs suggest that Unbuffered partitions are only typically software configurations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah the nomenclature is a bit ambiguous here, but unbuffered partitions are SW managed in our case. I.e., they do not have any hardware digest calculation support and have hence to be managed by SW. While they may also happen to carry SW configurations, that is the reason why they are called SW partitions sometimes ;). I will take note to add a comment in a follow up (don't want to upset the cherry-picks).
These files are verbatim copies of hw/ip/otp_ctrl/dv/cov/otp_ctrl_cov_bind.sv and hw/ip/otp_ctrl/dv/env/otp_ctrl_scoreboard.sv respectively. Signed-off-by: Guillermo Maturana <[email protected]>
Make minor improvements to gen-otp-mmap.py rendering. Signed-off-by: Guillermo Maturana <[email protected]>
This is to facilitate the introduction of many more partitions in otp. The templates were changed to use topgen.lib's Name class. Signed-off-by: Guillermo Maturana <[email protected]>
This expands the interface of otp_ctrl and adds an option in keymgr to consume seeds stored in otp_ctrl. If no seeds are stored in otp_ctrl, then the associated interface signals will be tied off and the inputs remain unused in keymgr. Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]> [otp_ctrl/dv] Update otp_ctrl_env_pkg template Signed-off-by: Michael Schaffner <[email protected]>
This uses the newly created iskeymgr attribute of a partition item to determine whether the read/write access to the partition has to be modulated with lc_creator_seed_sw_rw_en. Signed-off-by: Michael Schaffner <[email protected]>
Signed-off-by: Michael Schaffner <[email protected]>
The logic that generates the valid bits relies in the part digests. This is implemented in otp_ctrl_part_pkg::named_keymgr_key_assign, but the port declaration for part_digest has the wrong dimensions. Signed-off-by: Guillermo Maturana <[email protected]>
Signed-off-by: Guillermo Maturana <[email protected]>
9ecb7a5
to
b937c90
Compare
Cherry-picks are mostly clean, just some regeneration of files is required along the way due to the different partition layout of integrated (and because there is no
top_darjeeling
toplevel on this branch yet).