Hard Processor System Remote System Update User Guide: Agilex™ 5 SoCs
5.3.2. U-Boot RSU Commands
U-Boot offers the rsu command, with a full set of options for managing the RSU, similar to the functionality offered by the RSU client in Linux.
The following commands do not have an RSU client equivalent:
- list
- update
- dtb
The rsu list command:
- Queries the SDM about the location of the SPT in flash, reads and displays it.
- Reads the CMF pointer block from flash and displays the relevant information.
- Queries SDM about the currently running image, RSU state, and the encountered errors, then displays the information.
The following code shows an example of the rsu list command in use.
SOCFPGA # rsu list RSU: Remote System Update Status Current Image : 0x01000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000 RSU: Sub-partition table 0 offset 0x00910000 RSU: Sub-partition table 1 offset 0x00918000 SF: Detected mt25qu02g with page size 256 Bytes, erase size 4 KiB, total 256 MiB RSU: Sub-partition table content BOOT_INFO Offset: 0x0000000000000000 Length: 0x00210000 Flag : 0x00000003 FACTORY_IMAGE Offset: 0x0000000000000000 Length: 0x00210000 Flag : 0x00000003 P1 Offset: 0x0000000001000000 Length: 0x01000000 Flag : 0x00000000 SPT0 Offset: 0x0000000000910000 Length: 0x00008000 Flag : 0x00000001 SPT1 Offset: 0x0000000000918000 Length: 0x00008000 Flag : 0x00000001 CPB0 Offset: 0x0000000000920000 Length: 0x00008000 Flag : 0x00000001 CPB1 Offset: 0x0000000000928000 Length: 0x00008000 Flag : 0x00000001 P2 Offset: 0x0000000002000000 Length: 0x01000000 Flag : 0x00000000 P3 Offset: 0x0000000003000000 Length: 0x01000000 Flag : 0x00000000 RSU: CMF pointer block offset 0x00920000 RSU: CMF pointer block's image pointers list Priority 1 Offset: 0x0000000001000000 nslot: 0
The rsu update command tells the SDM to load an image from a specific address. The following is an example of the rsu updatecommand:
SOCFPGA # rsu update 0x03000000 RSU: RSU update to 0x0000000003000000
The rsu dtb command is allows the U-Boot to update the qspi_boot QSPI partition in the Linux DTB so that it starts at the SPT0 location. This way the decision firmware, decision firmware data, and the factory image are not accessible from Linux, as this reduces the risk of accidental corruption for them. The size of the partition is also reduced accordingly.
For more information, refer to the Protected Access to Flash section.
- Load DTB.
- Run rsu dtb command.
- Boot Linux.
Refer to the Exercising U-Boot RSU Commands section in the link provided at Remote System Update Example section for examples of how to use the U-Boot rsucommand.