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)
NEORV32_DMA_STATUS_enum
Definition neorv32_dma.h:90
@ DMA_STATUS_ERROR
Definition neorv32_dma.h:91
@ DMA_STATUS_IDLE
Definition neorv32_dma.h:92
@ DMA_STATUS_BUSY
Definition neorv32_dma.h:93
@ DMA_STATUS_DONE
Definition neorv32_dma.h:94
int neorv32_dma_available(void)
Definition neorv32_dma.c:22
void neorv32_dma_start(void)
Definition neorv32_dma.c:129
void neorv32_dma_done_ack(void)
Definition neorv32_dma.c:97
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:44
@ DMA_CTRL_ERROR
Definition neorv32_dma.h:43
@ DMA_CTRL_DEMPTY
Definition neorv32_dma.h:41
@ DMA_CTRL_DFULL
Definition neorv32_dma.h:42
@ DMA_CTRL_DFIFO_MSB
Definition neorv32_dma.h:39
@ DMA_CTRL_EN
Definition neorv32_dma.h:35
@ DMA_CTRL_BUSY
Definition neorv32_dma.h:45
@ DMA_CTRL_START
Definition neorv32_dma.h:36
void neorv32_dma_disable(void)
Definition neorv32_dma.c:79
NEORV32_DMA_CONF_enum
Definition neorv32_dma.h:49
@ DMA_CONF_BSWAP
Definition neorv32_dma.h:53
@ DMA_CONF_NUM_LSB
Definition neorv32_dma.h:50
@ DMA_CONF_SRC_MSB
Definition neorv32_dma.h:55
@ DMA_CONF_NUM_MSB
Definition neorv32_dma.h:51
@ DMA_CONF_DST_LSB
Definition neorv32_dma.h:56
@ DMA_CONF_DST_MSB
Definition neorv32_dma.h:57
@ DMA_CONF_SRC_LSB
Definition neorv32_dma.h:54
int neorv32_dma_descriptor_fifo_empty(void)
Definition neorv32_dma.c:61
int neorv32_dma_status(void)
Definition neorv32_dma.c:140
int neorv32_dma_program(uint32_t src_addr, uint32_t dst_addr, uint32_t config)
Definition neorv32_dma.c:114
int neorv32_dma_get_descriptor_fifo_depth(void)
Definition neorv32_dma.c:38
void neorv32_dma_enable(void)
Definition neorv32_dma.c:70
int neorv32_dma_descriptor_fifo_full(void)
Definition neorv32_dma.c:50
void neorv32_dma_err_ack(void)
Definition neorv32_dma.c:88
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
Definition neorv32_dma.h:25
uint32_t DESC
Definition neorv32_dma.h:27
uint32_t CTRL
Definition neorv32_dma.h:26