Skip to content

Backport #25149 "[build] Introduce OTP emulation images." #27654

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

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

pamaury
Copy link
Contributor

@pamaury pamaury commented Jul 18, 2025

Backport #25149, #25168 . I don't know if this should be backported or not. Also the history is quite confusing because some changes were partially cherry-picked to master but in a different from the one in earlgrey_1.0.0, see #25168 I had to fix quite a few bazel labels but nothing major.

@moidx @timothytrippel @cfrantz

@pamaury pamaury requested review from moidx and timothytrippel July 18, 2025 08:37
@pamaury pamaury requested a review from cfrantz as a code owner July 18, 2025 08:37
@pamaury pamaury marked this pull request as draft July 18, 2025 08:39
@pamaury pamaury force-pushed the backport_25149 branch 2 times, most recently from ea01032 to 8459ac3 Compare July 18, 2025 13:57
moidx and others added 4 commits July 18, 2025 18:05
This change is in preparation for managing the SiVal silicon
configuration using a separate OTP scaffolding. The
`//sw/ip/otp_ctrl/data/earlgrey_skus/emulation` targets will contain
OTP images used for simulation as well as FPGA emulation. FPGA emulation
images will include both pre-silicon and post-silicon use cases.

Targets under `//sw/ip/otp_ctrl/data/earlgrey_skus/sival` will be used
strictly for configuring silicon for Silicon Validation flows. We refer
to this as the SiVal SKU.

The SiVal SKU will contain secure boot public keys backed by
code-signing infrastructure as opposed to the the `emulation`
configuration which will continue to use the test (i.e. fake) keys
stored in the repository.

Signed-off-by: Miguel Osorio <miguelosorio@google.com>
Signed-off-by: Amaury Pouly <amaury.pouly@lowrisc.org>
The provisioning firmware contains hardcoded settings for the HWCFG1
partition, and uses data generated at manufacturing time to calculate
the DEVICE_ID. As a result, most of the otp image targets and hardware
partition settings in the sival SKU, are not derived from the OTP build
targets.

This change removes unused tardgets to simplify the build / provisioning
maintenance. pre-silicon and post-silicon simulation and emulation
environments should use the emulation SKU instead.

Signed-off-by: Miguel Osorio <miguelosorio@google.com>
The use of `CREATOR_SW_CFG_MANUF_STATE` as the SKU identifier is getting
deprecated in favor of using the DeviceID. The DeviceID definition
contains enough information to constraint code signatures to a
particular SKU.

The `CREATOR_SW_CFG_MANUF_STATE` will be used to capture the
manufacturing state of the device. At the end of manufacturing, there
will be a value configured to flag end of manufacturing.

Signed-off-by: Miguel Osorio <miguelosorio@google.com>
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.

2 participants