VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
driver.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "./device.h"
#include "./usb/usb.h"
#include "./usart/usart.h"

Go to the source code of this file.

Data Structures

struct  __dma_trans_t
 
struct  __dma_channel_t
 

Macros

#define DMA_CTRL_DST_WIDTH(__WIDTH)   VSF_MCONNECT2(DMA_CTRL_DST_WIDTH_, __WIDTH)
 
#define DMA_CTRL_SRC_WIDTH(__WIDTH)   VSF_MCONNECT2(DMA_CTRL_SRC_WIDTH_, __WIDTH)
 
#define DMA_CTRL_DST_BURST(__SIZE)   VSF_MCONNECT2(DMA_CTRL_DST_BURST, __WIDTH)
 
#define DMA_CTRL_SRC_BURST(__SIZE)   VSF_MCONNECT2(DMA_CTRL_SRC_BURST, __WIDTH)
 

Typedefs

typedef enum __dma_trans_ctrl_t __dma_trans_ctrl_t
 
typedef struct __dma_trans_t __dma_trans_t
 
typedef struct __dma_channel_t __dma_channel_t
 

Enumerations

enum  __dma_trans_ctrl_t {
  DMA_CTRL_INT_EN = DMA_CTL_L_INT_EN ,
  DMA_CTRL_DST_WIDTH_8 = (0ul << 1) ,
  DMA_CTRL_DST_WIDTH_16 = (1ul << 1) ,
  DMA_CTRL_DST_WIDTH_32 = (2ul << 1) ,
  DMA_CTRL_SRC_WIDTH_8 = (0ul << 1) ,
  DMA_CTRL_SRC_WIDTH_16 = (1ul << 1) ,
  DMA_CTRL_SRC_WIDTH_32 = (2ul << 1) ,
  DMA_CTRL_DST_INC = (0ul << 7) ,
  DMA_CTRL_DST_DEC = (1ul << 7) ,
  DMA_CTRL_DST_KEEP = (2ul << 7) ,
  DMA_CTRL_SRC_INC = (0ul << 9) ,
  DMA_CTRL_SRC_DEC = (1ul << 9) ,
  DMA_CTRL_SRC_KEEP = (2ul << 9) ,
  DMA_DST_BURST_1 = (0ul << 11) ,
  DMA_DST_BURST_4 = (1ul << 11) ,
  DMA_DST_BURST_8 = (2ul << 11) ,
  DMA_DST_BURST_16 = (3ul << 11) ,
  DMA_DST_BURST_32 = (4ul << 11) ,
  DMA_DST_BURST_64 = (5ul << 11) ,
  DMA_DST_BURST_128 = (6ul << 11) ,
  DMA_DST_BURST_256 = (7ul << 11) ,
  DMA_SRC_BURST_1 = (0ul << 14) ,
  DMA_SRC_BURST_4 = (1ul << 14) ,
  DMA_SRC_BURST_8 = (2ul << 14) ,
  DMA_SRC_BURST_16 = (3ul << 14) ,
  DMA_SRC_BURST_32 = (4ul << 14) ,
  DMA_SRC_BURST_64 = (5ul << 14) ,
  DMA_SRC_BURST_128 = (6ul << 14) ,
  DMA_SRC_BURST_256 = (7ul << 14) ,
  DMA_CTRL_TRANS_TYPE_M2M = (0ul << 20) ,
  DMA_CTRL_TRANS_TYPE_M2P = (1ul << 20) ,
  DMA_CTRL_TRANS_TYPE_P2M = (2ul << 20) ,
  DMA_CTRL_TRANS_TYPE_P2P = (3ul << 20)
}
 

Functions

void __vsf_dma_free_channel (__dma_channel_t *channel)
 
__dma_channel_t__vsf_dma_alloc_channel (__dma_trans_t *trans, uint_fast8_t trans_num)
 
void __vsf_dma_channel_start (__dma_channel_t *channel, uint_fast64_t channel_cfg)
 
void __vsf_dma_channel_stop (__dma_channel_t *channel)
 

Macro Definition Documentation

◆ DMA_CTRL_DST_WIDTH

#define DMA_CTRL_DST_WIDTH (   __WIDTH)    VSF_MCONNECT2(DMA_CTRL_DST_WIDTH_, __WIDTH)

◆ DMA_CTRL_SRC_WIDTH

#define DMA_CTRL_SRC_WIDTH (   __WIDTH)    VSF_MCONNECT2(DMA_CTRL_SRC_WIDTH_, __WIDTH)

◆ DMA_CTRL_DST_BURST

#define DMA_CTRL_DST_BURST (   __SIZE)    VSF_MCONNECT2(DMA_CTRL_DST_BURST, __WIDTH)

◆ DMA_CTRL_SRC_BURST

#define DMA_CTRL_SRC_BURST (   __SIZE)    VSF_MCONNECT2(DMA_CTRL_SRC_BURST, __WIDTH)

Typedef Documentation

◆ __dma_trans_ctrl_t

◆ __dma_trans_t

typedef struct __dma_trans_t __dma_trans_t

◆ __dma_channel_t

Enumeration Type Documentation

◆ __dma_trans_ctrl_t

Enumerator
DMA_CTRL_INT_EN 
DMA_CTRL_DST_WIDTH_8 
DMA_CTRL_DST_WIDTH_16 
DMA_CTRL_DST_WIDTH_32 
DMA_CTRL_SRC_WIDTH_8 
DMA_CTRL_SRC_WIDTH_16 
DMA_CTRL_SRC_WIDTH_32 
DMA_CTRL_DST_INC 
DMA_CTRL_DST_DEC 
DMA_CTRL_DST_KEEP 
DMA_CTRL_SRC_INC 
DMA_CTRL_SRC_DEC 
DMA_CTRL_SRC_KEEP 
DMA_DST_BURST_1 
DMA_DST_BURST_4 
DMA_DST_BURST_8 
DMA_DST_BURST_16 
DMA_DST_BURST_32 
DMA_DST_BURST_64 
DMA_DST_BURST_128 
DMA_DST_BURST_256 
DMA_SRC_BURST_1 
DMA_SRC_BURST_4 
DMA_SRC_BURST_8 
DMA_SRC_BURST_16 
DMA_SRC_BURST_32 
DMA_SRC_BURST_64 
DMA_SRC_BURST_128 
DMA_SRC_BURST_256 
DMA_CTRL_TRANS_TYPE_M2M 
DMA_CTRL_TRANS_TYPE_M2P 
DMA_CTRL_TRANS_TYPE_P2M 
DMA_CTRL_TRANS_TYPE_P2P 

Function Documentation

◆ __vsf_dma_free_channel()

void __vsf_dma_free_channel ( __dma_channel_t channel)
extern

◆ __vsf_dma_alloc_channel()

__dma_channel_t * __vsf_dma_alloc_channel ( __dma_trans_t trans,
uint_fast8_t  trans_num 
)
extern

◆ __vsf_dma_channel_start()

void __vsf_dma_channel_start ( __dma_channel_t channel,
uint_fast64_t  channel_cfg 
)
extern

◆ __vsf_dma_channel_stop()

void __vsf_dma_channel_stop ( __dma_channel_t channel)
extern