VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Variables
dma.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "hal/driver/common/template/vsf_template_hal_driver.h"
#include "../../__device.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

class  vsf_$
 
struct  vsf_dma_isr_t
 
struct  vsf_dma_channel_cfg_t
 dma configuration More...
 
struct  vsf_dma_channel_status_t
 
struct  vsf_dma_capability_t
 

Macros

#define __HAL_DRIVER_   ${SERIES/DMA_IP}_DMA_H__
 
#define VSF_   ${DMA_IP}_DMA_CFG_MULTI_CLASS VSF_DMA_CFG_MULTI_CLASS
 
#define VSF_DMA_CFG_REIMPLEMENT_TYPE_MODE   ENABLED
 
#define VSF_DMA_CFG_REIMPLEMENT_TYPE_STATUS   ENABLED
 
#define VSF_DMA_CFG_REIMPLEMENT_TYPE_IRQ_MASK   ENABLED
 
#define VSF_DMA_CFG_REIMPLEMENT_TYPE_CTRL   ENABLED
 
#define VSF_DMA_CFG_REIMPLEMENT_TYPE_CFG   ENABLED
 
#define VSF_DMA_CFG_REIMPLEMENT_TYPE_CAPABILITY   ENABLED
 

Typedefs

typedef enum vsf_dma_channel_mode_t vsf_dma_channel_mode_t
 
typedef enum vsf_dma_irq_mask_t vsf_dma_irq_mask_t
 
typedef struct vsf_dma_t vsf_dma_t
 
typedef void vsf_dma_isr_handler_t(void *target_ptr, vsf_dma_t *dma_ptr, int8_t channel, vsf_dma_irq_mask_t irq_mask)
 
typedef struct vsf_dma_isr_t vsf_dma_isr_t
 
typedef struct vsf_dma_channel_cfg_t vsf_dma_channel_cfg_t
 
typedef struct vsf_dma_channel_status_t vsf_dma_channel_status_t
 
typedef struct vsf_dma_capability_t vsf_dma_capability_t
 

Enumerations

enum  vsf_dma_channel_mode_t {
  VSF_DMA_MEMORY_TO_MEMORY = (0x00 << 0) ,
  VSF_DMA_MEMORY_TO_PERIPHERAL = (0x01 << 0) ,
  VSF_DMA_PERIPHERA_TO_MEMORY = (0x02 << 0) ,
  VSF_DMA_PERIPHERA_TO_PERIPHERAL = (0x03 << 0) ,
  VSF_DMA_SRC_ADDR_INCREMENT = (0x00 << 2) ,
  VSF_DMA_SRC_ADDR_DECREMENT = (0x01 << 2) ,
  VSF_DMA_SRC_ADDR_NO_CHANGE = (0x02 << 2) ,
  VSF_DMA_DST_ADDR_INCREMENT = (0x00 << 4) ,
  VSF_DMA_DST_ADDR_DECREMENT = (0x01 << 4) ,
  VSF_DMA_DST_ADDR_NO_CHANGE = (0x02 << 4) ,
  VSF_DMA_SRC_WIDTH_BYTE_1 = (0x00 << 6) ,
  VSF_DMA_SRC_WIDTH_BYTES_2 = (0x01 << 6) ,
  VSF_DMA_SRC_WIDTH_BYTES_4 = (0x02 << 6) ,
  VSF_DMA_SRC_WIDTH_BYTES_8 = (0x03 << 6) ,
  VSF_DMA_SRC_WIDTH_BYTES_16 = (0x04 << 6) ,
  VSF_DMA_SRC_WIDTH_BYTES_32 = (0x05 << 6) ,
  VSF_DMA_DST_WIDTH_BYTE_1 = (0x00 << 10) ,
  VSF_DMA_DST_WIDTH_BYTES_2 = (0x01 << 10) ,
  VSF_DMA_DST_WIDTH_BYTES_4 = (0x02 << 10) ,
  VSF_DMA_DST_WIDTH_BYTES_8 = (0x03 << 10) ,
  VSF_DMA_DST_WIDTH_BYTES_16 = (0x04 << 10) ,
  VSF_DMA_DST_WIDTH_BYTES_32 = (0x05 << 10) ,
  VSF_DMA_SRC_BURST_LENGTH_1 = (0x00 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_2 = (0x01 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_4 = (0x02 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_8 = (0x03 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_16 = (0x04 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_32 = (0x05 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_64 = (0x05 << 14) ,
  VSF_DMA_SRC_BURST_LENGTH_128 = (0x06 << 14) ,
  VSF_DMA_DST_BURST_LENGTH_1 = (0x00 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_2 = (0x01 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_4 = (0x02 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_8 = (0x03 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_16 = (0x04 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_32 = (0x05 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_64 = (0x05 << 18) ,
  VSF_DMA_DST_BURST_LENGTH_128 = (0x06 << 18) ,
  VSF_DMA_PRIOPIRY_LOW = (0x00 << 22) ,
  VSF_DMA_PRIOPIRY_MEDIUM = (0x01 << 22) ,
  VSF_DMA_PRIOPIRY_HIGH = (0x02 << 22) ,
  VSF_DMA_PRIOPIRY_VERY_HIGH = (0x03 << 22)
}
 
enum  vsf_dma_irq_mask_t {
  VSF_DMA_IRQ_MASK_CPL = (0x1ul << 0) ,
  VSF_DMA_IRQ_MASK_HALF_CPL = (0x1ul << 1) ,
  VSF_DMA_IRQ_MASK_ERROR = (0x1ul << 2)
}
 

Variables

class vsf_$reg
 
vsf_dma_isr_t isr
 

Macro Definition Documentation

◆ __HAL_DRIVER_

#define __HAL_DRIVER_   ${SERIES/DMA_IP}_DMA_H__

◆ VSF_

#define VSF_   ${DMA_IP}_DMA_CFG_MULTI_CLASS VSF_DMA_CFG_MULTI_CLASS
Note
When vsf_peripheral_status_t is inherited, vsf_template_hal_driver.h needs to be included

◆ VSF_DMA_CFG_REIMPLEMENT_TYPE_MODE

#define VSF_DMA_CFG_REIMPLEMENT_TYPE_MODE   ENABLED

◆ VSF_DMA_CFG_REIMPLEMENT_TYPE_STATUS

#define VSF_DMA_CFG_REIMPLEMENT_TYPE_STATUS   ENABLED

◆ VSF_DMA_CFG_REIMPLEMENT_TYPE_IRQ_MASK

#define VSF_DMA_CFG_REIMPLEMENT_TYPE_IRQ_MASK   ENABLED

◆ VSF_DMA_CFG_REIMPLEMENT_TYPE_CTRL

#define VSF_DMA_CFG_REIMPLEMENT_TYPE_CTRL   ENABLED

◆ VSF_DMA_CFG_REIMPLEMENT_TYPE_CFG

#define VSF_DMA_CFG_REIMPLEMENT_TYPE_CFG   ENABLED

◆ VSF_DMA_CFG_REIMPLEMENT_TYPE_CAPABILITY

#define VSF_DMA_CFG_REIMPLEMENT_TYPE_CAPABILITY   ENABLED

Typedef Documentation

◆ vsf_dma_channel_mode_t

◆ vsf_dma_irq_mask_t

◆ vsf_dma_t

typedef struct vsf_dma_t vsf_dma_t

◆ vsf_dma_isr_handler_t

typedef void vsf_dma_isr_handler_t(void *target_ptr, vsf_dma_t *dma_ptr, int8_t channel, vsf_dma_irq_mask_t irq_mask)

◆ vsf_dma_isr_t

typedef struct vsf_dma_isr_t vsf_dma_isr_t

◆ vsf_dma_channel_cfg_t

◆ vsf_dma_channel_status_t

◆ vsf_dma_capability_t

Enumeration Type Documentation

◆ vsf_dma_channel_mode_t

Enumerator
VSF_DMA_MEMORY_TO_MEMORY 
VSF_DMA_MEMORY_TO_PERIPHERAL 
VSF_DMA_PERIPHERA_TO_MEMORY 
VSF_DMA_PERIPHERA_TO_PERIPHERAL 
VSF_DMA_SRC_ADDR_INCREMENT 
VSF_DMA_SRC_ADDR_DECREMENT 
VSF_DMA_SRC_ADDR_NO_CHANGE 
VSF_DMA_DST_ADDR_INCREMENT 
VSF_DMA_DST_ADDR_DECREMENT 
VSF_DMA_DST_ADDR_NO_CHANGE 
VSF_DMA_SRC_WIDTH_BYTE_1 
VSF_DMA_SRC_WIDTH_BYTES_2 
VSF_DMA_SRC_WIDTH_BYTES_4 
VSF_DMA_SRC_WIDTH_BYTES_8 
VSF_DMA_SRC_WIDTH_BYTES_16 
VSF_DMA_SRC_WIDTH_BYTES_32 
VSF_DMA_DST_WIDTH_BYTE_1 
VSF_DMA_DST_WIDTH_BYTES_2 
VSF_DMA_DST_WIDTH_BYTES_4 
VSF_DMA_DST_WIDTH_BYTES_8 
VSF_DMA_DST_WIDTH_BYTES_16 
VSF_DMA_DST_WIDTH_BYTES_32 
VSF_DMA_SRC_BURST_LENGTH_1 
VSF_DMA_SRC_BURST_LENGTH_2 
VSF_DMA_SRC_BURST_LENGTH_4 
VSF_DMA_SRC_BURST_LENGTH_8 
VSF_DMA_SRC_BURST_LENGTH_16 
VSF_DMA_SRC_BURST_LENGTH_32 
VSF_DMA_SRC_BURST_LENGTH_64 
VSF_DMA_SRC_BURST_LENGTH_128 
VSF_DMA_DST_BURST_LENGTH_1 
VSF_DMA_DST_BURST_LENGTH_2 
VSF_DMA_DST_BURST_LENGTH_4 
VSF_DMA_DST_BURST_LENGTH_8 
VSF_DMA_DST_BURST_LENGTH_16 
VSF_DMA_DST_BURST_LENGTH_32 
VSF_DMA_DST_BURST_LENGTH_64 
VSF_DMA_DST_BURST_LENGTH_128 
VSF_DMA_PRIOPIRY_LOW 
VSF_DMA_PRIOPIRY_MEDIUM 
VSF_DMA_PRIOPIRY_HIGH 
VSF_DMA_PRIOPIRY_VERY_HIGH 

◆ vsf_dma_irq_mask_t

Enumerator
VSF_DMA_IRQ_MASK_CPL 
VSF_DMA_IRQ_MASK_HALF_CPL 
VSF_DMA_IRQ_MASK_ERROR 

Variable Documentation

◆ reg

class vsf_$* reg

◆ isr

Generated from commit: vsfteam/vsf@2b286be