Skip to content
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

Merged
merged 14 commits into from
Jan 24, 2024

Conversation

msfschaffner
Copy link
Contributor

@msfschaffner msfschaffner commented Jan 23, 2024

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).

@msfschaffner msfschaffner changed the title Otp carryover part3 [otp_ctrl] Third batch of commit cherry-picks from integrated Jan 23, 2024
@msfschaffner msfschaffner self-assigned this Jan 23, 2024
@msfschaffner msfschaffner force-pushed the otp-carryover-part3 branch 2 times, most recently from b5a8af7 to 0ed8671 Compare January 24, 2024 00:02
@msfschaffner msfschaffner marked this pull request as ready for review January 24, 2024 00:02
@msfschaffner msfschaffner requested a review from a team as a code owner January 24, 2024 00:02
Comment on lines 211 to +212
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);
Copy link
Contributor

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.

Copy link
Contributor Author

@msfschaffner msfschaffner Jan 24, 2024

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).

matutem and others added 14 commits January 23, 2024 17:55
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]>

[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]>
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]>
@msfschaffner msfschaffner merged commit 1f75034 into lowRISC:master Jan 24, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants