Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.4.6.3.3. ADMA3 Operation

ADMA3 enables the host to program multiple ADMA2 operations. In the case of ADMA2, the issuing of the SD command is controlled by writing to the host controller registers. ADMA3 uses a command descriptor to issue an SD command. A multi-block data transfer between system memory and the SD card is programmed by using a pair of one command descriptor and one ADMA2 descriptor. ADMA3 performs multiple multi-block data transfer by using an integrated descriptor.

The figure below shows an example of ADMA3 operation in which two data blocks (Data A, Data B) are written to different areas of the SD card.

Figure 143. ADMA3 Operation

The integrated descriptors consists of pointers to command descriptors. Each command descriptor is followed by an ADMA2 descriptor. The first operation transfers block A from memory to SD card, and the second operation transfers block B from memory to SD card. When execution of all descriptors pointed by the integrated descriptor address is completed, ADMA3 generates a transfer complete interrupt to inform the host driver.

The stop/continue feature is also available for ADMA3. The Stop at Gap Request is used to halt ADMA3 data transfer, and the Continue Request is used to restart ADMA3 data transfer when Block Gap Event is set together with the Transfer Complete.