VSF Documented
Data Structures | Macros | Typedefs | Functions
dma.c File Reference
#include "hal/vsf_hal_cfg.h"
#include "hal/vsf_hal.h"
#include "hal/driver/vendor_driver.h"
#include "hal/driver/common/dma/dma_template.inc"

Data Structures

struct  vsf_hw_dma_channel_reg_t
 

Macros

#define VSF_HW_DMA_CFG_MULTI_CLASS   VSF_DMA_CFG_MULTI_CLASS
 
#define VSF_DMA_CFG_IMP_PREFIX   vsf_hw
 
#define VSF_DMA_CFG_IMP_UPCASE_PREFIX   VSF_HW
 
#define VSF_DMA_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#define VSF_DMA_IMP_IRQHANDLER(__CHANNEL_IDX, __DMA_IDX)
 
#define VSF_DMA_IMP_CHANNEL(__CHANNEL_IDX, __DMA_IDX)
 
#define VSF_DMA_CFG_IMP_LV0(__IDX, __HAL_OP)
 

Typedefs

typedef struct vsf_hw_dma_channel_reg_t vsf_hw_dma_channel_reg_t
 

Functions

struct VSF_MCONNECT (VSF_DMA_CFG_IMP_PREFIX, _dma_channel_t)
 
struct VSF_MCONNECT (VSF_DMA_CFG_IMP_PREFIX, _dma_t)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_init)
 
void VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_fini)
 
int8_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_request)
 
void VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_release)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_config)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_start)
 
vsf_err_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_cancel)
 
uint32_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_get_transferred_count)
 
vsf_dma_channel_status_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_status)
 
vsf_dma_capability_t VSF_MCONNECT (VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_capability)
 

Macro Definition Documentation

◆ VSF_HW_DMA_CFG_MULTI_CLASS

#define VSF_HW_DMA_CFG_MULTI_CLASS   VSF_DMA_CFG_MULTI_CLASS

◆ VSF_DMA_CFG_IMP_PREFIX

#define VSF_DMA_CFG_IMP_PREFIX   vsf_hw

◆ VSF_DMA_CFG_IMP_UPCASE_PREFIX

#define VSF_DMA_CFG_IMP_UPCASE_PREFIX   VSF_HW

◆ VSF_DMA_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_DMA_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ VSF_DMA_IMP_IRQHANDLER

#define VSF_DMA_IMP_IRQHANDLER (   __CHANNEL_IDX,
  __DMA_IDX 
)
Value:
void VSF_MCONNECT(DMA, __DMA_IDX, _Channel, __CHANNEL_IDX, _IRQHandler)(void)\
{ \
VSF_MCONNECT(__, VSF_DMA_CFG_IMP_PREFIX, _dma_irqhandler)( \
&VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma, __DMA_IDX), \
__CHANNEL_IDX \
); \
vsf_hal_irq_leave(ctx); \
}
#define VSF_DMA_CFG_IMP_PREFIX
Definition dma.c:45
struct VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_channel_t)
Definition dma.c:51
uintptr_t vsf_hal_irq_enter(void)
Definition vsf_hal.c:64
uint32_t uintptr_t
Definition stdint.h:38

◆ VSF_DMA_IMP_CHANNEL

#define VSF_DMA_IMP_CHANNEL (   __CHANNEL_IDX,
  __DMA_IDX 
)
Value:
[__CHANNEL_IDX] = { \
.irqn = VSF_MCONNECT(VSF_DMA_CFG_IMP_UPCASE_PREFIX, _DMA, __DMA_IDX, _CHANNEL, __CHANNEL_IDX, _IRQN),\
},
#define VSF_DMA_CFG_IMP_UPCASE_PREFIX
Definition dma.c:46

◆ VSF_DMA_CFG_IMP_LV0

#define VSF_DMA_CFG_IMP_LV0 (   __IDX,
  __HAL_OP 
)
Value:
VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma_t) \
VSF_MCONNECT(VSF_DMA_CFG_IMP_PREFIX, _dma, __IDX) = { \
.reg = VSF_MCONNECT(VSF_DMA_CFG_IMP_UPCASE_PREFIX, _DMA, __IDX, _REG),\
.en = VSF_MCONNECT(VSF_DMA_CFG_IMP_UPCASE_PREFIX, _DMA, __IDX, _EN),\
.rst = VSF_MCONNECT(VSF_DMA_CFG_IMP_UPCASE_PREFIX, _DMA, __IDX, _RST),\
.channels = { \
}, \
__HAL_OP \
};
#define VSF_DMA_IMP_CHANNEL(__CHANNEL_IDX, __DMA_IDX)
Definition dma.c:352
#define VSF_DMA_IMP_IRQHANDLER(__CHANNEL_IDX, __DMA_IDX)
Definition dma.c:342
#define VSF_HW_DMA_CHANNEL_NUM
Definition device.h:144
#define VSF_MREPEAT(__COUNT, __MACRO, __PARAM)
Definition vsf_repeat_macro.h:51

Typedef Documentation

◆ vsf_hw_dma_channel_reg_t

Function Documentation

◆ VSF_MCONNECT() [1/12]

VSF_MCONNECT ( VSF_DMA_CFG_IMP_PREFIX  ,
_dma_channel_t   
)

◆ VSF_MCONNECT() [2/12]

VSF_MCONNECT ( VSF_DMA_CFG_IMP_PREFIX  ,
_dma_t   
)

◆ VSF_MCONNECT() [3/12]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_init   
)

◆ VSF_MCONNECT() [4/12]

void VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_fini   
)

◆ VSF_MCONNECT() [5/12]

int8_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_request   
)

◆ VSF_MCONNECT() [6/12]

void VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_release   
)

◆ VSF_MCONNECT() [7/12]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_config   
)

◆ VSF_MCONNECT() [8/12]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_start   
)

◆ VSF_MCONNECT() [9/12]

vsf_err_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_cancel   
)

◆ VSF_MCONNECT() [10/12]

uint32_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_get_transferred_count   
)

◆ VSF_MCONNECT() [11/12]

vsf_dma_channel_status_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_channel_status   
)

◆ VSF_MCONNECT() [12/12]

vsf_dma_capability_t VSF_MCONNECT ( VSF_MCONNECT(  VSF_DMA_CFG_IMP_PREFIX,
_dma_capability   
)
Generated from commit: vsfteam/vsf@51acf45