RT-Thread RTOS
An open source embedded real-time operating system
rt_dma_controller Struct Reference

#include <dma.h>

Public Member Functions

 RT_BITMAP_DECLARE (dir_cap, RT_DMA_DIR_MAX)
 

Data Fields

rt_list_t list
 
struct rt_devicedev
 
rt_uint64_t addr_mask
 
const struct rt_dma_controller_opsops
 
rt_list_t channels_nodes
 
struct rt_mutex mutex
 

Detailed Description

DMA controller descriptor.

Represents a single DMA controller instance. Each controller has a set of operations (ops), supported transfer directions (dir_cap), an address mask for validating transfer addresses, and a list of currently allocated channels.

Member Function Documentation

◆ RT_BITMAP_DECLARE()

rt_dma_controller::RT_BITMAP_DECLARE ( dir_cap  ,
RT_DMA_DIR_MAX   
)

Bitmap of supported transfer directions

Field Documentation

◆ list

rt_list_t rt_dma_controller::list

Node in the global controller list

◆ dev

struct rt_device* rt_dma_controller::dev

Owning platform device

◆ addr_mask

rt_uint64_t rt_dma_controller::addr_mask

Compute DMA address mask from bit width (e.g., RT_DMA_ADDR_MASK(32) = 0xFFFFFFFF)

Address mask: bits outside this mask are invalid for DMA

◆ ops

const struct rt_dma_controller_ops* rt_dma_controller::ops

Controller-specific operations

◆ channels_nodes

rt_list_t rt_dma_controller::channels_nodes

List of currently allocated channels

◆ mutex

struct rt_mutex rt_dma_controller::mutex

Mutex for controller-level operations