Enumerated types for DMA driver. More...
Enumerated types for DMA driver.
| enum dma_state_en |
| enum dma_transfer_mode_en |
DMA operation types (maps to hardware XTYPE/YTYPE fields)
Controls how data is handled when source and destination dimensions differ. Used for both X-direction (CH_CTRL.XTYPE) and Y-direction (CH_CTRL.YTYPE) operations.
Operation behavior:
Examples (X-direction with src=100, dest=150):
| enum dma_security_en |
| enum dma_privilege_en |
| enum dma_unit_size_en |
DMA transfer unit sizes (maps to hardware TRANSIZE field)
Defines the size of each individual transfer unit. This sets the CH_SRCTRANSCFG.TRANSIZE and CH_DESTRANSCFG.TRANSIZE fields.
The total bytes per burst = unit_size × burst_size Example: DMA_UNIT_SIZE_4BYTES + DMA_BURST_SIZE_8 = 32 bytes per burst
| enum dma_burst_size_en |
DMA burst lengths (maps to hardware MAXBURSTLEN field)
Defines how many transfer units are grouped together in a single burst before releasing the bus. This sets the CH_SRCTRANSCFG.MAXBURSTLEN and CH_DESTRANSCFG.MAXBURSTLEN fields.
Burst size affects:
Example: DMA_BURST_SIZE_8 with DMA_TRANSFER_SIZE_4BYTES = 32 bytes per burst
| enum dma_fifo_depth_en |
DMA FIFO depths (extensible for future hardware)
DMA register reload types (maps to hardware AUTOCFG register)
Defines how the DMA command reloads initial values at the end of a DMA cmd before autorestarting, ending, or linking to a new DMA command.
Register reload affects:
Hardware behavior:
Use cases:
DMA software trigger types (maps to hardware CMD register fields)
Controls the granularity and scope of software-triggered transfers. Used when manually triggering DMA transfers via software rather than hardware triggers or continuous operation.
Transfer hierarchy:
"Last" variants signal final transfer in a sequence:
Examples:
| enum dma_trigger_type_en |
| enum dma_status_flags_en |
DMA status flags (maps to hardware CH_STATUS register)
| enum dma_status_en |
DMA error codes.
| enum dma_transfer_type_en |
| enum dma_trigger_mode_en |
DMA software trigger modes (maps to trigger mode field in hardware)
This controls how the software trigger interacts with the channel. Modes:
| enum dma_donetype_en |