VSF Documented
Public Member Functions | Data Fields
vsf_dma_capability_t Struct Reference

DMA capability structure that can be reimplemented in specific HAL drivers. More...

#include <dma.h>

Public Member Functions

 inherit (vsf_peripheral_capability_t) vsf_dma_irq_mask_t irq_mask
 
 inherit (vsf_peripheral_capability_t) vsf_dma_irq_mask_t irq_mask
 Supported interrupt mask bits.
 
 inherit (vsf_peripheral_capability_t) vsf_dma_irq_mask_t irq_mask
 

Data Fields

uint8_t channel_count
 Number of DMA channels.
 
uint8_t irq_count
 
vsf_dma_channel_mode_t supported_modes
 
uint32_t max_transfer_count
 Maximum number of data items per transfer (0 means no limit)
 
uint8_t addr_alignment
 Address alignment requirement in bytes (1 means no alignment required)
 
uint8_t support_scatter_gather: 1
 Support scatter-gather transfer.
 

Detailed Description

DMA capability structure that can be reimplemented in specific HAL drivers.

Note
This structure defines the features supported by the DMA hardware. When reimplementing, all existing members must be preserved for compatibility.

Member Function Documentation

◆ inherit() [1/3]

vsf_dma_capability_t::inherit ( vsf_peripheral_capability_t  )

◆ inherit() [2/3]

vsf_dma_capability_t::inherit ( vsf_peripheral_capability_t  )

Supported interrupt mask bits.

◆ inherit() [3/3]

vsf_dma_capability_t::inherit ( vsf_peripheral_capability_t  )

Field Documentation

◆ channel_count

uint8_t vsf_dma_capability_t::channel_count

Number of DMA channels.

◆ irq_count

uint8_t vsf_dma_capability_t::irq_count

Number of independent interrupt vectors for DMA. If irq_count < channel_count, some channels share interrupts.

◆ supported_modes

vsf_dma_channel_mode_t vsf_dma_capability_t::supported_modes

Supported channel modes, use VSF_DMA_XXX_MASK to extract specific capabilities:

  • VSF_DMA_DIRECTION_MASK: transfer directions
  • VSF_DMA_SRC_ADDR_MASK / VSF_DMA_DST_ADDR_MASK: address modes
  • VSF_DMA_SRC_WIDTH_MASK / VSF_DMA_DST_WIDTH_MASK: data widths
  • VSF_DMA_SRC_BURST_MASK / VSF_DMA_DST_BURST_MASK: burst lengths
  • VSF_DMA_PRIORITY_MASK: priority levels

◆ max_transfer_count

uint32_t vsf_dma_capability_t::max_transfer_count

Maximum number of data items per transfer (0 means no limit)

◆ addr_alignment

uint8_t vsf_dma_capability_t::addr_alignment

Address alignment requirement in bytes (1 means no alignment required)

◆ support_scatter_gather

uint8_t vsf_dma_capability_t::support_scatter_gather

Support scatter-gather transfer.

Generated from commit: vsfteam/vsf@f33b89f