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.