Hard Processor System Remote System Update User Guide: Agilex™ 5 SoCs

ID 852610
Date 4/18/2025
Public
Document Table of Contents

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.

The rsu dtb command operates on the DTB loaded in memory by U-Boot, before passing it to Linux. Use this sequence:
  1. Load DTB.
  2. Run rsu dtb command.
  3. 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.