Microchip® Advanced Software Framework

mdma.h File Reference
#include <avr32/io.h>
#include "compiler.h"

Data Structures

struct  mdma_descriptor_t
 MDMA Descriptor Structure Definition. More...
 
struct  mdma_interrupt_t
 MDMA interrupts. More...
 
struct  mdma_opt_t
 MDMA Option Settings. More...
 

Macros

#define MDMA_DEFAULT_TIMEOUT   10000
 Default time-out value (number of attempts). More...
 
#define MDMA_INVALID_ARGUMENT   (-1)
 MDMA driver functions return value in case of invalid argument(s). More...
 
Return Values
#define MDMA_SUCCESS   0
 Successful completion. More...
 
#define MDMA_FAILURE   -1
 Failure because of some unspecified reason. More...
 
MDMA Transfer Size
#define MDMA_TRANSFERT_SIZE_BYTE   (0)
 
#define MDMA_TRANSFERT_SIZE_HLFW   (1)
 
#define MDMA_TRANSFERT_SIZE_WORD   (2)
 
MDMA Channel Mode
#define MDMA_SINGLE_TRANSFERT_MODE   (0)
 
#define MDMA_DESCRIPTOR_MODE   (1)
 
MDMA Arbitration Mode
#define MDMA_FIXED_PRIORITY_MODE   (0)
 
#define MDMA_ROUND_ROBIN_MODE   (1)
 
MDMA Burst Transfer Size
#define MDMA_SINGLE_TRANSFER_BURST   (0)
 
#define MDMA_4_BEAT_BURST   (1)
 
#define MDMA_8_BEAT_BURST   (2)
 
#define MDMA_16_BEAT_BURST   (3)
 

Functions

int mdma_channels_is_enable (volatile avr32_mdma_t *mdma, U32 channels)
 Check if a DMA Transfer for a Channel is enable. More...
 
void mdma_configure_interrupts (volatile avr32_mdma_t *mdma, const mdma_interrupt_t *bitfield)
 Enables various MDMA interrupts. More...
 
void mdma_descriptor_mode_xfert_init (volatile avr32_mdma_t *mdma, U32 channel, U32 *start_adress)
 Init a Descriptor Mode Transfer for a Channel. More...
 
unsigned long mdma_get_interrupt_settings (volatile avr32_mdma_t *mdma)
 MDMA interrupt settings. More...
 
void mdma_single_mode_xfert_init (volatile avr32_mdma_t *mdma, U32 channel, const mdma_opt_t *opt, U32 *src, U32 *dest)
 Init a Single Mode Transfer for a Channel. More...
 
void mdma_start_descriptor_xfert (volatile avr32_mdma_t *mdma, U32 channels, U8 arbitration)
 Start a Descriptor DMA Transfer for a Channel. More...
 
void mdma_start_single_xfert (volatile avr32_mdma_t *mdma, U32 channels, U8 arbitration)
 Start a Single DMA Transfer for a Channel. More...
 
int mdma_stop_channels (volatile avr32_mdma_t *mdma, U32 channels)
 Stop a DMA Transfer for a Channel. More...