Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
dma_block_config Struct Reference

DMA block configuration structure. More...

#include <dma.h>

Data Fields

uint32_t source_address
 
uint32_t dest_address
 
uint32_t source_gather_interval
 
uint32_t dest_scatter_interval
 
uint16_t dest_scatter_count
 
uint16_t source_gather_count
 
uint32_t block_size
 
struct dma_block_confignext_block
 
uint16_t source_gather_en: 1
 
uint16_t dest_scatter_en: 1
 
uint16_t source_addr_adj: 2
 
uint16_t dest_addr_adj: 2
 
uint16_t source_reload_en: 1
 
uint16_t dest_reload_en: 1
 
uint16_t fifo_mode_control: 4
 
uint16_t flow_control_mode: 1
 
uint16_t reserved: 3
 

Detailed Description

DMA block configuration structure.

Parameters
source_addressis block starting address at source
source_gather_intervalis the address adjustment at gather boundary
dest_addressis block starting address at destination
dest_scatter_intervalis the address adjustment at scatter boundary
dest_scatter_countis the continuous transfer count between scatter boundaries
source_gather_countis the continuous transfer count between gather boundaries
block_sizeis the number of bytes to be transferred for this block.
configis a bit field with the following parts:
source_gather_en   [ 0 ]       - 0-disable, 1-enable.
dest_scatter_en    [ 1 ]       - 0-disable, 1-enable.
source_addr_adj    [ 2 : 3 ]   - 00-increment, 01-decrement,
                                 10-no change.
dest_addr_adj      [ 4 : 5 ]   - 00-increment, 01-decrement,
                                 10-no change.
source_reload_en   [ 6 ]       - reload source address at the end of
                                 block transfer
                                 0-disable, 1-enable.
dest_reload_en     [ 7 ]       - reload destination address at the end
                                 of block transfer
                                 0-disable, 1-enable.
fifo_mode_control  [ 8 : 11 ]  - How full  of the fifo before transfer
                                 start. HW specific.
flow_control_mode  [ 12 ]      - 0-source request served upon data
                                   availability.
                                 1-source request postponed until
                                   destination request happens.
reserved           [ 13 : 15 ]

Field Documentation

◆ block_size

uint32_t dma_block_config::block_size

◆ dest_addr_adj

uint16_t dma_block_config::dest_addr_adj

◆ dest_address

uint32_t dma_block_config::dest_address

◆ dest_reload_en

uint16_t dma_block_config::dest_reload_en

◆ dest_scatter_count

uint16_t dma_block_config::dest_scatter_count

◆ dest_scatter_en

uint16_t dma_block_config::dest_scatter_en

◆ dest_scatter_interval

uint32_t dma_block_config::dest_scatter_interval

◆ fifo_mode_control

uint16_t dma_block_config::fifo_mode_control

◆ flow_control_mode

uint16_t dma_block_config::flow_control_mode

◆ next_block

struct dma_block_config* dma_block_config::next_block

◆ reserved

uint16_t dma_block_config::reserved

◆ source_addr_adj

uint16_t dma_block_config::source_addr_adj

◆ source_address

uint32_t dma_block_config::source_address

◆ source_gather_count

uint16_t dma_block_config::source_gather_count

◆ source_gather_en

uint16_t dma_block_config::source_gather_en

◆ source_gather_interval

uint32_t dma_block_config::source_gather_interval

◆ source_reload_en

uint16_t dma_block_config::source_reload_en

The documentation for this struct was generated from the following file: