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
We found an issue when integrating Caliptra into our SoC.
The SoC ROM does not support interrupt and implements the external TRNG scheme.
That is, SoC uses a polling loop to serve both Ready-For-FW and TRNG requests.
According to the #890 patch, the Ready-For-FW flag is set early at IDEVID derivation phase.
Upon observing the ready_for_fw bit at CPTRA_FLOW_STATUS[28], SoC starts to upload the Caliptra FW via mailbox.
In the meantime, Caliptra continues to derive LDEVID, where TRNG requests are issued.
As a result, SoC is busy at FW upload and cannot handle TRNG in MAX_CYCLES_TO_WAIT, leading to the DRIVER_TRNG_EXT_TIMEOUT fatal error.
Could you help to share us some advises?
Any guidance is appreciated.
The text was updated successfully, but these errors were encountered:
Our current workaround is to observe CPTRA_BOOT_STATUS until it gets LDevIdDerivationComplete (0x46).
After then, SoC starts to upload the FW as Caliptra is also waiting for mailbox command.
However, this is based on the Caliptra ROM source code analysis instead of the interfacing status bit.
Therefore, we wonder if there are better solutions?
ChiaweiW
changed the title
Cannot handle both early Ready-For-FW and TRNG_REQ
Cannot handle early Ready-For-FW and TRNG_REQ at the same time
Apr 30, 2024
Hi Caliptra team,
We found an issue when integrating Caliptra into our SoC.
The SoC ROM does not support interrupt and implements the external TRNG scheme.
That is, SoC uses a polling loop to serve both Ready-For-FW and TRNG requests.
According to the #890 patch, the Ready-For-FW flag is set early at IDEVID derivation phase.
Upon observing the
ready_for_fw
bit atCPTRA_FLOW_STATUS[28]
, SoC starts to upload the Caliptra FW via mailbox.In the meantime, Caliptra continues to derive LDEVID, where TRNG requests are issued.
As a result, SoC is busy at FW upload and cannot handle TRNG in
MAX_CYCLES_TO_WAIT
, leading to theDRIVER_TRNG_EXT_TIMEOUT
fatal error.Could you help to share us some advises?
Any guidance is appreciated.
The text was updated successfully, but these errors were encountered: