Intel® Agilex™ Hard Processor System Remote System Update User Guide

ID 683184
Date 7/13/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.11. Updating the Decision Firmware

The decision firmware can be updated by running a decision firmware update image.
Note: In addition to the decision firmware, the decision firmware update image also updates the decision firmware data.

In order to make your system ready to support updating the decision firmware you need to have an available slot in flash that is 512 KB or larger.

You may temporarily use an application image slot for the update procedure. However, that means one less application image slot is available during the decision firmware update procedure.

The procedure for updating the decision firmware is as follows:

  1. Create a decision firmware update image with the Programming File Generator. Use a factory SOF file as input, from which the parameters for the decision firmware data are taken. The firmware update image contains the new decision firmware, new decision firmware data, and special firmware to perform the actual update.
  2. Deploy the decision firmware update image on the remote system.
  3. Write the decision firmware update image to the flash and make it the highest priority, with either U-Boot or LIBRSU. Because the decision firmware update image has a different format than application images, use the following LIBRSU APIs: rsu_slot_program_factory_update_buf and rsu_slot_program_factory_update_file. There are also U-Boot equivalents.
  4. Pass control to the decision firmware update image by requesting it to be loaded or by toggling nCONFIG.
  5. The decision firmware update image proceeds and replaces the decision firmware and decision firmware data with the new copies, then erases itself from the CPB.
  6. At the end, the decision firmware update image loads the new highest priority image in the CPB, or the factory image if the CPB is empty.

The decision firmware update flow is resilient to power loss. If the power is lost during the update, the next time the power is back up, the decision firmware update image resumes the update process from where it stopped.

For examples on how to perform the decision firmware update from both U-Boot and Linux, refer to the Remote System Update Example section.

For API reference information, refer to the LIBRSU Reference Information section, located in the LIBRSU Reference Information appendix.