7.6.2.1 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 7-1. Members
TypeNameDescription
enum dma_beat_sizebeat_size

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

enum dma_block_actionblock_action

Action taken when a block transfer is completed.

uint16_tblock_transfer_count

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

booldescriptor_valid

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

uint32_tdestination_address

Transfer destination address.

booldst_increment_enable

Used for enabling the destination address increment.

enum dma_event_output_selectionevent_output_selection

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

uint32_tnext_descriptor_address

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

uint32_tsource_address

Transfer source address.

boolsrc_increment_enable

Used for enabling the source address increment.

enum dma_step_selectionstep_selection

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

enum dma_address_increment_stepsizestep_size

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