libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
dma_common.c File Reference
Include dependency graph for dma_common.c:

Go to the source code of this file.

Macros

#define CHANNEL_SUPPORT_LOOP(ch)   (((ch) == DMA_CH0) || ((ch) == DMA_CH1))
 

Functions

void dma_enable_with_privileged_access (void)
 Enable DMA with privileged access. More...
 
void dma_enable_with_unprivileged_access (void)
 Enable DMA with un-privileged access. More...
 
void dma_enable (void)
 same as dma_enable_with_unprivileged_access() More...
 
void dma_disable (void)
 Disable DMA. More...
 
void dma_set_desc_address (uint32_t desc_base)
 Set channel's descriptor address. More...
 
bool dma_get_wait_on_request_flag (enum dma_ch ch)
 Get channel wait on request status flag. More...
 
void dma_generate_software_request (enum dma_ch ch)
 Generate a software request on channel. More...
 
void dma_enable_burst_only (enum dma_ch ch)
 Enable channel burst only. More...
 
void dma_enable_single_and_burst (enum dma_ch ch)
 Enable channel single and burst. More...
 
void dma_enable_periph_request (enum dma_ch ch)
 Enable channel peripherial request. More...
 
void dma_disable_periph_request (enum dma_ch ch)
 Disable channel peripherial request. More...
 
void dma_enable_channel (enum dma_ch ch)
 Enable channel. More...
 
void dma_disable_channel (enum dma_ch ch)
 Disable channel. More...
 
void dma_disable_alternate_structure (enum dma_ch ch)
 Disable channel alternate structure. More...
 
void dma_enable_alternate_structure (enum dma_ch ch)
 Enable channel alternate structure. More...
 
void dma_enable_priority (enum dma_ch ch)
 Enable channel high priority. More...
 
void dma_disable_priority (enum dma_ch ch)
 Disable channel high priority. More...
 
bool dma_get_bus_error_flag (void)
 Get bus error flag. More...
 
void dma_clear_bus_error_flag (void)
 Clear bus error flag. More...
 
bool dma_get_request_flag (enum dma_ch ch)
 Get channel request flag. More...
 
bool dma_get_bus_error_interrupt_flag (void)
 Get bus error interrupt flag. More...
 
bool dma_get_done_interrupt_flag (enum dma_ch ch)
 Get channel done interrupt flag. More...
 
void dma_set_bus_error_interrupt_flag (void)
 Set bus error interrupt flag. More...
 
void dma_set_done_interrupt_flag (enum dma_ch ch)
 Set channel done interrupt flag. More...
 
void dma_clear_bus_error_interrupt_flag (void)
 Clear bus error interrupt flag. More...
 
void dma_clear_done_interrupt_flag (enum dma_ch ch)
 Clear channel done interrupt flag. More...
 
void dma_enable_bus_error_interrupt (void)
 Enable bus error interrupt. More...
 
void dma_disable_bus_error_interrupt (void)
 Disable bus error interrupt. More...
 
void dma_enable_done_interrupt (enum dma_ch ch)
 Enable channel done interrupt. More...
 
void dma_disable_done_interrupt (enum dma_ch ch)
 Disable channel done interrupt. More...
 
void dma_set_source (enum dma_ch ch, uint32_t source)
 Set channel source. More...
 
void dma_set_signal (enum dma_ch ch, uint32_t signal)
 Set channel source signal. More...
 
void dma_channel_reset (enum dma_ch ch)
 Reset channel. More...
 
void dma_set_loop_count (enum dma_ch ch, uint16_t count)
 Set channel loop width to ( count + 1) More...
 
void dma_enable_loop (enum dma_ch ch)
 Enable channel loop. More...
 
void dma_disable_loop (enum dma_ch ch)
 Disable channel loop. More...
 
void dma_desc_set_dest_size (uint32_t desc_base, enum dma_ch ch, enum dma_mem size)
 Set desination size. More...
 
void dma_desc_set_dest_inc (uint32_t desc_base, enum dma_ch ch, enum dma_mem inc)
 Set destination increment. More...
 
void dma_desc_set_src_size (uint32_t desc_base, enum dma_ch ch, enum dma_mem size)
 Set source size. More...
 
void dma_desc_set_src_inc (uint32_t desc_base, enum dma_ch ch, enum dma_mem inc)
 Set source increment. More...
 
void dma_desc_set_r_power (uint32_t desc_base, enum dma_ch ch, enum dma_r_power r_power)
 Set R Power. More...
 
void dma_desc_enable_next_useburst (uint32_t desc_base, enum dma_ch ch)
 Enable next useburst. More...
 
void dma_desc_disable_next_useburst (uint32_t desc_base, enum dma_ch ch)
 Disable next useburst. More...
 
void dma_desc_set_count (uint32_t desc_base, enum dma_ch ch, uint16_t count)
 Set number (count) of transfer to be performed. More...
 
void dma_desc_set_user_data (uint32_t desc_base, enum dma_ch ch, uint32_t user_data)
 Store user data field in channel descriptor. More...
 
uint32_t dma_desc_get_user_data (uint32_t desc_base, enum dma_ch ch)
 Extract user data field from channel descriptor. More...
 
static uint32_t dma_calc_end_from_start (uint32_t start, uint8_t inc, uint16_t n_minus_1)
 Calculate end from start address. More...
 
void dma_desc_set_src_address (uint32_t desc_base, enum dma_ch ch, uint32_t src_start)
 Assign Source address to DMA Channel. More...
 
void dma_desc_set_dest_address (uint32_t desc_base, enum dma_ch ch, uint32_t dest_start)
 Assign Destination address to DMA Channel. More...
 
void dma_desc_set_mode (uint32_t desc_base, enum dma_ch ch, enum dma_mode mode)
 Set the channel mode ("Cycle control") More...