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

[update] UDS Provisioning new flow #1860

Open
wants to merge 1 commit into
base: main-2.x
Choose a base branch
from

Conversation

mhatrevi
Copy link
Collaborator

No description provided.

@mhatrevi mhatrevi added the Caliptra v2.0 Items to be considered for v2.0 Release label Dec 18, 2024
@mhatrevi mhatrevi force-pushed the vmhatre/uds-provisioning-doc-update branch from aa691fb to d1742a2 Compare December 18, 2024 07:20
ekarabu
ekarabu previously approved these changes Dec 18, 2024
@mhatrevi mhatrevi force-pushed the vmhatre/uds-provisioning-doc-update branch from d1742a2 to 8cc222c Compare December 18, 2024 20:32
@mhatrevi mhatrevi force-pushed the vmhatre/uds-provisioning-doc-update branch from 8cc222c to c69a129 Compare December 19, 2024 20:20
@mhatrevi mhatrevi enabled auto-merge (squash) December 19, 2024 20:54

3. Following the DMA operation, the ROM updates the `UDS_PROGRAM_REQ` bit in the `CPTRA_DBG_MANUF_SERVICE_RSP_REG` register to either `UDS_PROGRAM_SUCCESS` or `UDS_PROGRAM_FAIL`, indicating the outcome of the operation.
3. ROM then retrieves the SS_OTP_FC_UDS_GRANULARITY from `SS_DBG_MANUF_SERVICE_REG_REQ` register Bit3 to learn if the fuse row is accessible with 32-bit or 64-bit granularity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. ROM then retrieves the SS_OTP_FC_UDS_GRANULARITY from `SS_DBG_MANUF_SERVICE_REG_REQ` register Bit3 to learn if the fuse row is accessible with 32-bit or 64-bit granularity.
3. ROM then retrieves the `SS_OTP_FC_UDS_GRANULARITY` from `SS_DBG_MANUF_SERVICE_REG_REQ` register Bit3 to learn if the fuse row is accessible with 32-bit or 64-bit granularity.


4. The manufacturing process then polls this bit and continues with the fuse burning flow as outlined by the fuse controller specifications and SOC-specific VR methodologies.
4. ROM then performs the following steps until all the 512-bits of the UDS seed are programmed:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. ROM then performs the following steps until all the 512-bits of the UDS seed are programmed:
4. ROM then performs the following steps until all the 512 bits of the UDS seed are programmed:


7. ROM then resets the `UDS_PROGRAM_IN_PROGRESS` bit in the `SS_DBG_MANUF_SERVICE_REG_RSP` register to indicate completion of the programming.

8. The manufacturing process then polls this bit and continues with the fuse burning flow as outlined by the fuse controller specifications and SOC-specific VR methodologies.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs also suggest that locking is not complete until the next reset. Should we also explicitly require that the part is reset and the digest is verified?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Caliptra v2.0 Items to be considered for v2.0 Release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants