Struct dma_descriptor_config

DMA transfer descriptor configuration. When the source or destination address increment is enabled, the addresses stored into the configuration structure must correspond to the end of the transfer.

Table 1. Members
Type Name Description
enum dma_beat_size beat_size

Beat size is configurable as 8-bit, 16-bit, or 32-bit.

enum dma_block_action block_action

Action taken when a block transfer is completed.

uint16_t block_transfer_count

It is the number of beats in a block. This count value is decremented by one after each beat data transfer.

bool descriptor_valid

Descriptor valid flag used to identify whether a descriptor is valid or not.

uint32_t destination_address

Transfer destination address.

bool dst_increment_enable

Used for enabling the destination address increment.

enum dma_event_output_selection event_output_selection

This is used to generate an event on specific transfer action in a channel. Supported only in four lower channels.

uint32_t next_descriptor_address

Set to zero for static descriptors. This must have a valid memory address for linked descriptors.

uint32_t source_address

Transfer source address.

bool src_increment_enable

Used for enabling the source address increment.

enum dma_step_selection step_selection

This bit selects whether the source or destination address is using the step size settings.

enum dma_address_increment_stepsize step_size

The step size for source/destination address increment. The next address is calculated as next_addr = addr + (2^step_size * beat size).