| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
DMA configuration structure. More...
#include <dma.h>
Data Fields | |
| uint32_t | dma_slot: 8 | 
| uint32_t | channel_direction: 3 | 
| uint32_t | complete_callback_en: 1 | 
| uint32_t | error_callback_en: 1 | 
| uint32_t | source_handshake: 1 | 
| uint32_t | dest_handshake: 1 | 
| uint32_t | channel_priority: 4 | 
| uint32_t | source_chaining_en: 1 | 
| uint32_t | dest_chaining_en: 1 | 
| uint32_t | linked_channel: 7 | 
| uint32_t | cyclic: 1 | 
| uint32_t | reserved: 3 | 
| uint32_t | source_data_size: 16 | 
| uint32_t | dest_data_size: 16 | 
| uint32_t | source_burst_length: 16 | 
| uint32_t | dest_burst_length: 16 | 
| uint32_t | block_count | 
| struct dma_block_config * | head_block | 
| void * | user_data | 
| dma_callback_t | dma_callback | 
DMA configuration structure.
| dma_slot | [ 0 : 7 ] - which peripheral and direction (HW specific) | 
| channel_direction | [ 8 : 10 ] - 000-memory to memory, 001-memory to peripheral, 010-peripheral to memory, 011-peripheral to peripheral, 100-host to memory 101-memory to host ... | 
| complete_callback_en | [ 11 ] - 0-callback invoked at completion only 1-callback invoked at completion of each block | 
| error_callback_en | [ 12 ] - 0-error callback enabled 1-error callback disabled | 
| source_handshake | [ 13 ] - 0-HW, 1-SW | 
| dest_handshake | [ 14 ] - 0-HW, 1-SW | 
| channel_priority | [ 15 : 18 ] - DMA channel priority | 
| source_chaining_en | [ 19 ] - enable/disable source block chaining 0-disable, 1-enable | 
| dest_chaining_en | [ 20 ] - enable/disable destination block chaining. 0-disable, 1-enable | 
| linked_channel | [ 21 : 27 ] - after channel count exhaust will initiate a channel service request at this channel | 
| cyclic | [ 28 ] - enable/disable cyclic buffer 0-disable, 1-enable | 
| reserved | [ 29 : 31 ] | 
| source_data_size | [ 0 : 15 ] - width of source data (in bytes) | 
| dest_data_size | [ 16 : 31 ] - width of dest data (in bytes) | 
| source_burst_length | [ 0 : 15 ] - number of source data units | 
| dest_burst_length | [ 16 : 31 ] - number of destination data units | 
| block_count | is the number of blocks used for block chaining, this depends on availability of the DMA controller. | 
| user_data | private data from DMA client. | 
| dma_callback | see dma_callback_t for details | 
| uint32_t dma_config::block_count | 
| uint32_t dma_config::channel_direction | 
| uint32_t dma_config::channel_priority | 
| uint32_t dma_config::complete_callback_en | 
| uint32_t dma_config::cyclic | 
| uint32_t dma_config::dest_burst_length | 
| uint32_t dma_config::dest_chaining_en | 
| uint32_t dma_config::dest_data_size | 
| uint32_t dma_config::dest_handshake | 
| dma_callback_t dma_config::dma_callback | 
| uint32_t dma_config::dma_slot | 
| uint32_t dma_config::error_callback_en | 
| struct dma_block_config* dma_config::head_block | 
| uint32_t dma_config::linked_channel | 
| uint32_t dma_config::reserved | 
| uint32_t dma_config::source_burst_length | 
| uint32_t dma_config::source_chaining_en | 
| uint32_t dma_config::source_data_size | 
| uint32_t dma_config::source_handshake | 
| void* dma_config::user_data |