Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public
Document Table of Contents

5.2.3. DMA Controller Features

The HPS provides two DMACs to handle the data transfer between memory-mapped peripherals and memories, off-loading this work from the MPU system complex. The DMAC has the following features:

  • A small instruction set that provides a flexible method of specifying the DMA operations (this architecture provides greater flexibility than the fixed capabilities of a linked-list item (LLI)-based DMA controller)
  • Software programmable with dedicated register field
  • Supports multiple transfer types:
    • Memory-to-memory
    • Memory-to-peripheral
    • Peripheral-to-memory
    • Peripheral-to-peripheral DMA
  • Supports eight DMA channels
  • Each DMAC supports interrupt interface to the Generic Interrupt Controller (GIC)
  • Supports up to 48 peripheral request interfaces:
    • Eight for FPGA
    • Ten for I2C:
      • I2C0 (TX and RX)
      • I2C1 (TX and RX)
      • I2C_EMAC0 (TX and RX)
      • I2C_EMAC1 (TX and RX)
      • I2C_EMAC2 (TX and RX)
    • Eight for SPI, two SPI master, and two SPI slave
    • One for System Trace Macrocell (STM)
    • Four for UART
    • Four for I3C

The following peripheral interface protocols are supported:

  • Synopsys protocol, which is used by the following peripheral interfaces:
    • Serial peripheral interface (SPI)
    • Universal asynchronous receiver transmitter (UART)
    • Inter-integrated circuit (I2C and I3C)
    • FPGA interface
  • ARM protocol, which is used by the STM peripherals
    • System Trace Macrocell (STM) peripherals

The DMA controller provides:

  • Linux drivers for DMA transfers
  • An ARM Advanced Microcontroller Bus Architecture ( AMBA* ) Advanced eXtensible Interface (AXI) manager interface unit
  • A multi-FIFO (MFIFO) data buffer that it uses to store data that it reads, or writes, during a DMA transfer

Dual target interfaces enable the operation of the DMA controller to be partitioned into a secure and non-secure state. The network interconnect must be configured to ensure that only secure transactions can access the secure interface. The target interfaces provide access to status registers and are used to directly issue and execute instructions in the DMA controller.