|
Zephyr Project API
3.2.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 |