Agilex™ 7 Hard Processor System Technical Reference Manual

ID 683567
Date 1/31/2025
Public
Document Table of Contents

B.2. Taking Ownership of Quad SPI Controller

On power up, the SDM owns the quad SPI controller. In order for the HPS to use the quad SPI Controller, it has to request ownership from the SDM.

Once the HPS obtains ownership of the QSPI controller, it retains ownership until the next power cycle, cold reset, or an HPS reboot generated from an RSU event.

The following details the typical flow for the HPS to use the quad SPI:
  1. The Bootloader (either U-Boot or UEFI) is configured to use quad SPI, and takes control of the quad SPI from the SDM. The SDM resets the quad SPI controller and reports back to the bootloader the value of the quad SPI reference clock.
  2. The bootloader passes the value of the quad SPI Controller reference clock to the end application or operating system.
  3. The end application uses the quad SPI controller.

For the Linux* use case, the U-Boot passes the value of the quad SPI reference clock into the Linux device tree. In the Remote System Update (RSU) flow, the U-Boot also patches the Linux device tree to create the first mtd partition in the flash device, starting at the location of the SPT0. This approach is done to minimize the risk of corruption of DCMF, DCIO, and factory image, which are located outside of this partition (below the SPT0).