25typedef volatile struct __attribute__((packed,aligned(4))) {
31#define NEORV32_DMA ((neorv32_dma_t*) (NEORV32_DMA_BASE))
73#define DMA_SRC_CONST_BYTE (DMA_TYPE_CONST_BYTE << DMA_CONF_SRC_LSB)
74#define DMA_SRC_CONST_WORD (DMA_TYPE_CONST_WORD << DMA_CONF_SRC_LSB)
75#define DMA_SRC_INC_BYTE (DMA_TYPE_INC_BYTE << DMA_CONF_SRC_LSB)
76#define DMA_SRC_INC_WORD (DMA_TYPE_INC_WORD << DMA_CONF_SRC_LSB)
78#define DMA_DST_CONST_BYTE (DMA_TYPE_CONST_BYTE << DMA_CONF_DST_LSB)
79#define DMA_DST_CONST_WORD (DMA_TYPE_CONST_WORD << DMA_CONF_DST_LSB)
80#define DMA_DST_INC_BYTE (DMA_TYPE_INC_BYTE << DMA_CONF_DST_LSB)
81#define DMA_DST_INC_WORD (DMA_TYPE_INC_WORD << DMA_CONF_DST_LSB)
83#define DMA_BSWAP (1 << DMA_CONF_BSWAP)
Main NEORV32 core library / driver / HAL include file.
NEORV32_DMA_STATUS_enum
Definition neorv32_dma.h:89
@ DMA_STATUS_ERROR
Definition neorv32_dma.h:90
@ DMA_STATUS_IDLE
Definition neorv32_dma.h:91
@ DMA_STATUS_BUSY
Definition neorv32_dma.h:92
@ DMA_STATUS_DONE
Definition neorv32_dma.h:93
int neorv32_dma_available(void)
Definition neorv32_dma.c:20
void neorv32_dma_start(void)
Definition neorv32_dma.c:115
NEORV32_DMA_CTRL_enum
Definition neorv32_dma.h:34
@ DMA_CTRL_DFIFO_LSB
Definition neorv32_dma.h:38
@ DMA_CTRL_DONE
Definition neorv32_dma.h:45
@ DMA_CTRL_ERROR
Definition neorv32_dma.h:44
@ DMA_CTRL_DEMPTY
Definition neorv32_dma.h:42
@ DMA_CTRL_DFULL
Definition neorv32_dma.h:43
@ DMA_CTRL_DFIFO_MSB
Definition neorv32_dma.h:39
@ DMA_CTRL_ACK
Definition neorv32_dma.h:41
@ DMA_CTRL_EN
Definition neorv32_dma.h:35
@ DMA_CTRL_BUSY
Definition neorv32_dma.h:46
@ DMA_CTRL_START
Definition neorv32_dma.h:36
void neorv32_dma_disable(void)
Definition neorv32_dma.c:64
NEORV32_DMA_CONF_enum
Definition neorv32_dma.h:50
@ DMA_CONF_BSWAP
Definition neorv32_dma.h:54
@ DMA_CONF_NUM_LSB
Definition neorv32_dma.h:51
@ DMA_CONF_SRC_MSB
Definition neorv32_dma.h:56
@ DMA_CONF_NUM_MSB
Definition neorv32_dma.h:52
@ DMA_CONF_DST_LSB
Definition neorv32_dma.h:57
@ DMA_CONF_DST_MSB
Definition neorv32_dma.h:58
@ DMA_CONF_SRC_LSB
Definition neorv32_dma.h:55
int neorv32_dma_descriptor_fifo_empty(void)
Definition neorv32_dma.c:48
int neorv32_dma_status(void)
Definition neorv32_dma.c:124
int neorv32_dma_program(uint32_t src_addr, uint32_t dst_addr, uint32_t config)
Definition neorv32_dma.c:87
void neorv32_dma_irq_ack(void)
Definition neorv32_dma.c:73
int neorv32_dma_get_descriptor_fifo_depth(void)
Definition neorv32_dma.c:29
void neorv32_dma_enable(void)
Definition neorv32_dma.c:56
int neorv32_dma_descriptor_fifo_full(void)
Definition neorv32_dma.c:39
NEORV32_DMA_TYPE_enum
Definition neorv32_dma.h:66
@ DMA_TYPE_INC_BYTE
Definition neorv32_dma.h:69
@ DMA_TYPE_INC_WORD
Definition neorv32_dma.h:70
@ DMA_TYPE_CONST_BYTE
Definition neorv32_dma.h:67
@ DMA_TYPE_CONST_WORD
Definition neorv32_dma.h:68
void neorv32_dma_program_nocheck(uint32_t src_addr, uint32_t dst_addr, uint32_t config)
Definition neorv32_dma.c:105
Definition neorv32_dma.h:25
uint32_t DESC
Definition neorv32_dma.h:27
uint32_t CTRL
Definition neorv32_dma.h:26