98 #define DMA_CR_CH0 (0x0 << 25) 99 #define DMA_CR_CH1 (0x1 << 25) 100 #define DMA_CR_CH2 (0x2 << 25) 101 #define DMA_CR_CH3 (0x3 << 25) 102 #define DMA_CR_CH4 (0x4 << 25) 103 #define DMA_CR_CH5 (0x5 << 25) 104 #define DMA_CR_CH6 (0x6 << 25) 105 #define DMA_CR_CH7 (0x7 << 25) 106 #define DMA_CR_MBURST0 (0x0 << 23) 107 #define DMA_CR_MBURST4 (0x1 << 23) 108 #define DMA_CR_MBURST8 (0x2 << 23) 109 #define DMA_CR_MBURST16 (0x3 << 23) 110 #define DMA_CR_PBURST0 (0x0 << 21) 111 #define DMA_CR_PBURST4 (0x1 << 21) 112 #define DMA_CR_PBURST8 (0x2 << 21) 113 #define DMA_CR_PBURST16 (0x3 << 21) 114 #define DMA_CR_CT0 (0x0 << 19) 115 #define DMA_CR_CT1 (0x1 << 19) 116 #define DMA_CR_DBM (0x1 << 18) 118 #define DMA_CR_PL_LOW (0x0 << 16) 119 #define DMA_CR_PL_MEDIUM (0x1 << 16) 120 #define DMA_CR_PL_HIGH (0x2 << 16) 121 #define DMA_CR_PL_VERY_HIGH (0x3 << 16) 122 #define DMA_CR_PL_MASK (0x3 << 16) 124 #define DMA_CR_PINCOS (0x1 << 15) 126 #define DMA_CR_MSIZE_8BITS (0x0 << 13) 127 #define DMA_CR_MSIZE_16BITS (0x1 << 13) 128 #define DMA_CR_MSIZE_32BITS (0x2 << 13) 130 #define DMA_CR_PSIZE_8BITS (0x0 << 11) 131 #define DMA_CR_PSIZE_16BITS (0x1 << 11) 132 #define DMA_CR_PSIZE_32BITS (0x2 << 11) 134 #define DMA_CR_MINC (0x1 << 10) 135 #define DMA_CR_PINC (0x1 << 9) 136 #define DMA_CR_CIRC (0x1 << 8) 137 #define DMA_CR_DIR_P2M (0x0 << 6) 138 #define DMA_CR_DIR_M2P (0x1 << 6) 139 #define DMA_CR_DIR_M2M (0x2 << 6) 141 #define DMA_CR_PFCTRL (0x1 << 5) 142 #define DMA_CR_TCIE (0x1 << 4) 143 #define DMA_CR_HTIE (0x1 << 3) 144 #define DMA_CR_TEIE (0x1 << 2) 145 #define DMA_CR_DMEIE (0x1 << 1) 146 #define DMA_CR_EN (0x1) 148 #define DMA_FLAG_FEIF ((uint32_t)0x01) 149 #define DMA_FLAG_DMEIF ((uint32_t)0x04) 150 #define DMA_FLAG_TEIF ((uint32_t)0x08) 151 #define DMA_FLAG_HTIF ((uint32_t)0x10) 152 #define DMA_FLAG_TCIF ((uint32_t)0x20) 154 #define DMA_FIFOMode_Disable ((uint32_t)0x00000000) 155 #define DMA_FIFOMode_Enable ((uint32_t)0x00000004) 157 #define DMA_FIFOThreshold_1QuarterFull ((uint32_t)0x00000000) 158 #define DMA_FIFOThreshold_HalfFull ((uint32_t)0x00000001) 159 #define DMA_FIFOThreshold_3QuartersFull ((uint32_t)0x00000002) 160 #define DMA_FIFOThreshold_Full ((uint32_t)0x00000003) 162 #define DMA_Priority_Low ((uint32_t)0x00000000) 163 #define DMA_Priority_Medium ((uint32_t)0x00010000) 164 #define DMA_Priority_High ((uint32_t)0x00020000) 165 #define DMA_Priority_VeryHigh ((uint32_t)0x00030000) 203 IRQn_Type irq_lines[8];
211 #define _DMA1 (&dma1); 212 #define _DMA2 (&dma2); 243 __IO
void *peripheral_address,
244 __IO
void *memory_address0,
246 uint32_t fifo_flags);
250 __IO
void *memory_address0,
251 __IO
void *memory_address1,
253 uint32_t fifo_flags);
278 uint32_t DMA_Channel;
286 uint32_t DMA_PeripheralInc;
289 uint32_t DMA_MemoryInc;
293 uint32_t DMA_PeripheralDataSize;
296 uint32_t DMA_MemoryDataSize;
304 uint32_t DMA_Priority;
308 uint32_t DMA_MemoryBurst;
313 uint32_t DMA_PeripheralBurst;
void dma_detach_interrupt(dma_stream stream)
Detach a DMA transfer interrupt handler.
struct dma_reg_map dma_reg_map
DMA register map type.
void DMA2_Stream4_IRQHandler(void)
void DMA1_Stream0_IRQHandler(void)
struct dma_stream_t dma_stream_t
DMA stream type.
void dma_init_transfer(dma_stream stream, DMA_InitType *)
void DMA1_Stream5_IRQHandler(void)
uint32_t DMA_PeripheralBaseAddr
void DMA2_Stream6_IRQHandler(void)
void DMA2_Stream3_IRQHandler(void)
void DMA1_Stream7_IRQHandler(void)
void DMA2_Stream2_IRQHandler(void)
void dma_setup_transfer_mm(dma_stream stream, __IO void *memory_address0, __IO void *memory_address1, uint32_t flags, uint32_t fifo_flags)
void DMA2_Stream0_IRQHandler(void)
void dma_clear_isr_bits(dma_stream stream)
Clear the ISR status bits for a given DMA stream.
void DMA2_Stream5_IRQHandler(void)
void dma_attach_interrupt(dma_stream stream, Handler handler, uint8_t flag)
Attach an interrupt to a DMA transfer.
void DMA1_Stream2_IRQHandler(void)
void DMA1_Stream6_IRQHandler(void)
void DMA1_Stream1_IRQHandler(void)
void dma_set_num_transfers(dma_stream stream, uint16_t num_transfers)
void dma_init(dma_stream stream)
Initialize a DMA device.
uint8_t dma_get_isr_bits(dma_stream stream)
Get the ISR status bits for a DMA stream.
uint8_t dma_is_stream_enabled(dma_stream stream)
Check if a DMA stream is enabled.
enum Dma_stream dma_stream
void dma_enable(dma_stream stream)
uint32_t DMA_Memory0BaseAddr
void DMA2_Stream1_IRQHandler(void)
void uint32_t uint32_t uint32_t flag
void DMA1_Stream4_IRQHandler(void)
void dma_setup_transfer(dma_stream stream, __IO void *peripheral_address, __IO void *memory_address0, uint32_t flags, uint32_t fifo_flags)
void DMA1_Stream3_IRQHandler(void)
void dma_disable(dma_stream stream)
void DMA2_Stream7_IRQHandler(void)