The RSU status can be checked from U-Boot and Linux and contains the following 32-bit fields:
Table 19. RSU Status Fields
| Field |
Description |
| current_image |
Location of currently running image in flash. |
| failed_image |
Address of failed image. |
| error_details |
Opaque error code, with no meaning to users. |
| error_location |
Location of error in the image that failed. |
| state |
State of RSU system. |
| version |
RSU interface version and error source. |
| retry counter |
Current value of the retry counter. |
The failed_image, error_details, error_location, state fields and the error_source bit field of the version field have a sticky behavior: they are set when an error occurs, then they are not updated on subsequent errors, and they are cleared when one of the following events occur: POR, nCONFIG, a specific image is loaded, or the error status is specifically cleared from either U-Boot or Linux.
The
state field has two bit fields:
Table 20. State fields
| Bit Field |
Bits |
Description |
| major_error_code |
31:16 |
Major error code, see below for possible values. |
| minor_error_code |
15:0 |
Minor error code, opaque value |
The following major error codes are defined:
Table 21. RSU Major Error Codes
| Major Error Code |
Description |
| 0xF001 |
BITSTREAM_ERROR |
| 0xF002 |
HARDWARE_ACCESS_FAILURE |
| 0xF003 |
BITSTREAM_CORRUPTION |
| 0xF004 |
INTERNAL_ERROR |
| 0xF005 |
DEVICE_ERROR |
| 0xF006 |
HPS_WATCHDOG_TIMEOUT |
| 0xF007 |
INTERNAL_UNKNOWN_ERROR |
The minor error code is typically an opaque value, with no meaning for you. The only exception is for the case where the major error code is 0xF006 (HPS_WATCHDOG_TIMEOUT), in which case the minor error code is the value reported by the HPS to SDM through the RSU Notify command before the watchdog timeout occurred.
Starting with Quartus® Prime Pro Edition software version 20.4, the following
INTERNAL_ERROR codes are reported by the decision firmware and have specific meanings, as defined below:
Table 22. Decision Firmware Error Codes
| Major Error Code |
Minor Error Code |
Description |
| 0xF004 |
0xD00F |
Decision firmware data was corrupted, factory image was loaded. |
| 0xF004 |
0xD010 |
Configuration pointer block 0 was corrupted, configuration pointer block 1 was used instead. |
| 0xF004 |
0xD011 |
Both configuration blocks 0 and 1 were corrupted, factory image was loaded. |
For a more complete list of possible error codes, refer to the Appendix: CONFIG_STATUS and RSU_STATUS Error Code Descriptions appendix in the Mailbox Client IPs User Guide.
The
version component has the following bit fields:
Table 23. Version fields
| Bit Field |
Bits |
Description |
| current_dcmf_index |
31:28 |
Index of the decision firmware copy that was used last time. Possible values: 0,1,2,3. |
| error_source |
27:16 |
Source of the recorded error:
- 0x000: for no error
- 0xACF: if the error was produced by an application or factory image firmware
- 0xDCF: if the error was produced by the decision firmware
|
| acmf_version |
15:8 |
Current image firmware RSU interface version. |
| dcmf_version |
7:0 |
Decision firmware RSU interface version. |
Note: Quartus® Prime Pro Edition version 25.1 is the first official version which supports RSU for Agilex™ 5, and both acmf_version and dcmf_version are set to 0x02 for this release.