|
Azure Sphere MT3620 M4 API Reference Manual
|
dma_config specifies the DMA channel parameters for data transfer, such as transfer source, transfer destination and transfer count. More...
#include <mhal_dma.h>
Data Fields | |
| u32 | addr_1 |
| For FULL-SIZE DMA, addr_1 is src_addr. More... | |
| u32 | addr_2 |
| For FULL-SIZE DMA, addr_2 is dst_addr. More... | |
| u32 | wrap_point |
| Wrap point from start address. More... | |
| u32 | wrap_to_addr |
| The address which DMA will wrap to. More... | |
| u8 | reload_en |
| Reload transfer count flag, only for HALF-SIZE DMA. | |
| u32 | count |
| For FULL-SIZE DMA and HALF-SIZE DMA, it specifies transfer byte count. More... | |
| u8 | bw_limiter |
| Bandwidth limiter. More... | |
| u8 | alert_cmp_type |
| Specifies the Compare Equation Between ALTLEN and FIFO_SIZE - FIFO_CNT. | |
| u32 | alert_len |
| Specifies the Alert Length of Virtual FIFO DMA. | |
| u32 | fifo_size |
| Virtual fifo size, only for VFF DMA. | |
| u32 | timeout_cnt |
| Interrupt will assert if there is no new data into FIFO more than n T(Bus Clock) | |
| dma_isr_callback | isr_callback_1 |
| For FULL-SIZE DMA and HALF-SIZE DMA, isr_callback_1 is completion isr callback. More... | |
| dma_isr_callback | isr_callback_2 |
| For HALF-SIZE DMA, isr_callback_2 is half completion isr callback. More... | |
| void * | isr_cb_data_1 |
| isr_callback_1 data | |
| void * | isr_cb_data_2 |
| isr_callback_2 data | |
dma_config specifies the DMA channel parameters for data transfer, such as transfer source, transfer destination and transfer count.
Users fill the field of dma_config according to the DMA channel type.
| u32 addr_1 |
For FULL-SIZE DMA, addr_1 is src_addr.
For HALF-SIZE DMA and VFF DMA, addr_1 is prog_addr.
| u32 addr_2 |
For FULL-SIZE DMA, addr_2 is dst_addr.
For HALF-SIZE DMA and VFF DMA, addr_2 is fix_addr.
| u32 wrap_point |
Wrap point from start address.
If wrap_en in dma_ctrl is enable, DMA channel read/write pointer will jump to wrap_to_addr at wrap_point during data transfer.
Only for FULL-SIZE DMA and HALF-SIZE DMA.
| u32 wrap_to_addr |
The address which DMA will wrap to.
If wrap_en in dma_ctrl is enable, DMA channel read/write pointer will jump to wrap_to_addr at wrap_point during data transfer.
Only for FULL-SIZE DMA and HALF-SIZE DMA.
| u32 count |
For FULL-SIZE DMA and HALF-SIZE DMA, it specifies transfer byte count.
FOR VFF DMA, it specifies the threshold for FIFO data interrupt.
| u8 bw_limiter |
Bandwidth limiter.
The value range is from 0 to 255.
| dma_isr_callback isr_callback_1 |
For FULL-SIZE DMA and HALF-SIZE DMA, isr_callback_1 is completion isr callback.
For VFF DMA, isr_callback_1 is FIFO data underflow or overflow interrupt callback.
| dma_isr_callback isr_callback_2 |
For HALF-SIZE DMA, isr_callback_2 is half completion isr callback.
For VFF DMA, isr_callback_2 is FIFO DMA timeout interrupt callback.