You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(c) Task: Supplier shall provide an open-source implementation of OCP Streaming Recovery/Boot, running in the Pigweed Kernel environment of the RoT firmware stack. This component is responsible for retrieving remote boot and/or recovery images, following the definitions in the OCP Recovery Specification. This will be a porting exercise, starting from an existing implementation in the Caliptra MCU SW repository.
Supplier shall first provide design details, which must be approved by AMD before development work begins on the implementation of the component.
Supplier shall integrate this component into the designated RoT firmware stack in the official RoT repository. Development shall take place in the open, with code submitted as GitHub PRs in small increments for easy and efficient review by AMD.
All submitted PRs must include unit tests for any new functionality, integrated into the existing CI workflow. These unit tests must prove functionality and guard against any future regressions.
Testing and integration are to be performed using the ASPEED AST1060 M.2 Development Board.
Deliverable: Supplier shall provide AMD with a list of commits or pull requests made in the RoT repository, and/or any dependent library crates, as appropriate.
Open Deliverable: Firmware changes in the RoT repository and/or dependent library crate repositories.
Due Date: December 31, 2026, or upon completion of task.
Acceptance Criteria: AMD’s acceptance of Supplier’s written confirmation that the unit tests pass in the main branch of the RoT repository with all identified Firmware changes applied.
Direction settled in exploration on 2026-10-28; the confirmation question to AMD is still open, and the SOW wants the design approved before development starts.
The eRoT is the device side. The BMC recovery agent writes the eRoT registers (PROT_CAP, DEVICE_STATUS, DEVICE_RESET, RECOVERY_CTRL/RECOVERY_STATUS, INDIRECT_FIFO_*) over SMBus block transactions on I2C. Downstream devices stay out: the eRoT holds their reset and owns their boot medium, so the register protocol adds nothing there.
Reference map in the caliptra trees. No software there implements the device side; on that platform the register file is I3C-core silicon. Useful as reference only:
agent sequence: caliptra-mcu-sw/emulator/bmc/src/recovery.rs and caliptra-sw/hw-model/src/recovery.rs; not rom/src/recovery.rs, whose state machine swallows errors and drives the registers over an AXI bypass
Not the PLDM T5 streaming boot in caliptra-mcu-sw (runtime/userspace/api/caliptra-api/src/image_loading/), which is a separate mechanism from the OCP Recovery register protocol this task names.
Nothing in openprot names the recovery registers on either branch; the recovery.rs under target/ast10x0/peripherals/i2c is bus unstick. Deadlines from the Q4 SOW: need-by December 15, due December 31, 2026, acceptance names the main branch.
Activity
chrysh commentedon Oct 28, 2026
Direction settled in exploration on 2026-10-28; the confirmation question to AMD is still open, and the SOW wants the design approved before development starts.
The eRoT is the device side. The BMC recovery agent writes the eRoT registers (
PROT_CAP,DEVICE_STATUS,DEVICE_RESET,RECOVERY_CTRL/RECOVERY_STATUS,INDIRECT_FIFO_*) over SMBus block transactions on I2C. Downstream devices stay out: the eRoT holds their reset and owns their boot medium, so the register protocol adds nothing there.Reference map in the caliptra trees. No software there implements the device side; on that platform the register file is I3C-core silicon. Useful as reference only:
caliptra-sw/sw-emulator/lib/periph/src/dma/recovery.rscaliptra-sw/runtime/src/recovery_flow.rsplusdrivers/src/dma.rs(DmaRecovery)caliptra-mcu-sw/emulator/bmc/src/recovery.rsandcaliptra-sw/hw-model/src/recovery.rs; notrom/src/recovery.rs, whose state machine swallows errors and drives the registers over an AXI bypassNot the PLDM T5 streaming boot in
caliptra-mcu-sw(runtime/userspace/api/caliptra-api/src/image_loading/), which is a separate mechanism from the OCP Recovery register protocol this task names.Nothing in openprot names the recovery registers on either branch; the
recovery.rsundertarget/ast10x0/peripherals/i2cis bus unstick. Deadlines from the Q4 SOW: need-by December 15, due December 31, 2026, acceptance names the main branch.