Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
DMA configuration structure. More...
#include <dma.h>
Data Fields | |
uint32_t | dma_slot: 7 |
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 | reserved: 5 |
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 : 6 ] - which peripheral and direction (HW specific) |
channel_direction | [ 7 : 9 ] - 000-memory to memory, 001-memory to peripheral, 010-peripheral to memory, 011-peripheral to peripheral, ... |
complete_callback_en | [ 10 ] - 0-callback invoked at completion only 1-callback invoked at completion of each block |
error_callback_en | [ 11 ] - 0-error callback enabled 1-error callback disabled |
source_handshake | [ 12 ] - 0-HW, 1-SW |
dest_handshake | [ 13 ] - 0-HW, 1-SW |
channel_priority | [ 14 : 17 ] - DMA channel priority |
source_chaining_en | [ 18 ] - enable/disable source block chaining 0-disable, 1-enable |
dest_chaining_en | [ 19 ] - enable/disable destination block chaining. 0-disable, 1-enable |
linked_channel | [ 20 : 26 ] - after channel count exhaust will initiate a channel service request at this channel |
reserved | [ 27 : 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::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 |