Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
dma.h File Reference

Public APIs for the DMA drivers. More...

#include <kernel.h>
#include <device.h>
#include <syscalls/dma.h>

Go to the source code of this file.

Data Structures

struct  dma_block_config
 DMA block configuration structure. More...
 
struct  dma_config
 DMA configuration structure. More...
 
struct  dma_status
 
struct  dma_context
 

Macros

#define DMA_MAGIC   0x47494749
 

Typedefs

typedef void(* dma_callback_t) (const struct device *dev, void *user_data, uint32_t channel, int status)
 Callback function for DMA transfer completion. More...
 

Enumerations

enum  dma_channel_direction { MEMORY_TO_MEMORY = 0x0 , MEMORY_TO_PERIPHERAL , PERIPHERAL_TO_MEMORY , PERIPHERAL_TO_PERIPHERAL }
 
enum  dma_addr_adj { DMA_ADDR_ADJ_INCREMENT , DMA_ADDR_ADJ_DECREMENT , DMA_ADDR_ADJ_NO_CHANGE }
 
enum  dma_channel_filter { DMA_CHANNEL_NORMAL , DMA_CHANNEL_PERIODIC }
 

Functions

static int dma_config (const struct device *dev, uint32_t channel, struct dma_config *config)
 Configure individual channel for DMA transfer. More...
 
static int dma_reload (const struct device *dev, uint32_t channel, uint32_t src, uint32_t dst, size_t size)
 Reload buffer(s) for a DMA channel. More...
 
int dma_start (const struct device *dev, uint32_t channel)
 Enables DMA channel and starts the transfer, the channel must be configured beforehand. More...
 
int dma_stop (const struct device *dev, uint32_t channel)
 Stops the DMA transfer and disables the channel. More...
 
int dma_request_channel (const struct device *dev, void *filter_param)
 request DMA channel. More...
 
void dma_release_channel (const struct device *dev, uint32_t channel)
 release DMA channel. More...
 
int dma_chan_filter (const struct device *dev, int channel, void *filter_param)
 DMA channel filter. More...
 
static int dma_get_status (const struct device *dev, uint32_t channel, struct dma_status *stat)
 get current runtime status of DMA transfer More...
 
static uint32_t dma_width_index (uint32_t size)
 Look-up generic width index to be used in registers. More...
 
static uint32_t dma_burst_index (uint32_t burst)
 Look-up generic burst index to be used in registers. More...
 

Detailed Description

Public APIs for the DMA drivers.