25typedef volatile struct __attribute__((packed,aligned(4))) {
33#define NEORV32_DMA ((neorv32_dma_t*) (NEORV32_DMA_BASE))
68#define DMA_CMD_B2B (0b00 << DMA_TTYPE_QSEL_LSB)
69#define DMA_CMD_B2UW (0b01 << DMA_TTYPE_QSEL_LSB)
70#define DMA_CMD_B2SW (0b10 << DMA_TTYPE_QSEL_LSB)
71#define DMA_CMD_W2W (0b11 << DMA_TTYPE_QSEL_LSB)
73#define DMA_CMD_SRC_CONST (0b0 << DMA_TTYPE_SRC_INC)
74#define DMA_CMD_SRC_INC (0b1 << DMA_TTYPE_SRC_INC)
76#define DMA_CMD_DST_CONST (0b0 << DMA_TTYPE_DST_INC)
77#define DMA_CMD_DST_INC (0b1 << DMA_TTYPE_DST_INC)
79#define DMA_CMD_ENDIAN (0b1 << DMA_TTYPE_ENDIAN)
102void neorv32_dma_transfer_auto(uint32_t base_src, uint32_t base_dst, uint32_t num, uint32_t config,
int firq_sel,
int firq_type);
NEORV32_DMA_STATUS_enum
Definition neorv32_dma.h:86
@ DMA_STATUS_ERR_WR
Definition neorv32_dma.h:87
@ DMA_STATUS_IDLE
Definition neorv32_dma.h:89
@ DMA_STATUS_BUSY
Definition neorv32_dma.h:90
@ DMA_STATUS_ERR_RD
Definition neorv32_dma.h:88
int neorv32_dma_available(void)
Definition neorv32_dma.c:22
void neorv32_dma_transfer(uint32_t base_src, uint32_t base_dst, uint32_t num, uint32_t config)
Definition neorv32_dma.c:59
NEORV32_DMA_TTYPE_enum
Definition neorv32_dma.h:51
@ DMA_TTYPE_ENDIAN
Definition neorv32_dma.h:59
@ DMA_TTYPE_QSEL_MSB
Definition neorv32_dma.h:56
@ DMA_TTYPE_SRC_INC
Definition neorv32_dma.h:57
@ DMA_TTYPE_NUM_MSB
Definition neorv32_dma.h:53
@ DMA_TTYPE_NUM_LSB
Definition neorv32_dma.h:52
@ DMA_TTYPE_DST_INC
Definition neorv32_dma.h:58
@ DMA_TTYPE_QSEL_LSB
Definition neorv32_dma.h:55
NEORV32_DMA_CTRL_enum
Definition neorv32_dma.h:36
@ DMA_CTRL_DONE
Definition neorv32_dma.h:43
@ DMA_CTRL_FIRQ_SEL_MSB
Definition neorv32_dma.h:47
@ DMA_CTRL_ERROR_RD
Definition neorv32_dma.h:40
@ DMA_CTRL_AUTO
Definition neorv32_dma.h:38
@ DMA_CTRL_EN
Definition neorv32_dma.h:37
@ DMA_CTRL_BUSY
Definition neorv32_dma.h:42
@ DMA_CTRL_FIRQ_SEL_LSB
Definition neorv32_dma.h:46
@ DMA_CTRL_FIRQ_TYPE
Definition neorv32_dma.h:45
@ DMA_CTRL_ERROR_WR
Definition neorv32_dma.h:41
void neorv32_dma_disable(void)
Definition neorv32_dma.c:45
void neorv32_dma_transfer_auto(uint32_t base_src, uint32_t base_dst, uint32_t num, uint32_t config, int firq_sel, int firq_type)
Definition neorv32_dma.c:78
int neorv32_dma_status(void)
Definition neorv32_dma.c:98
void neorv32_dma_enable(void)
Definition neorv32_dma.c:36
int neorv32_dma_done(void)
Definition neorv32_dma.c:123
Definition neorv32_dma.h:25
uint32_t SRC_BASE
Definition neorv32_dma.h:27
uint32_t TTYPE
Definition neorv32_dma.h:29
uint32_t CTRL
Definition neorv32_dma.h:26
uint32_t DST_BASE
Definition neorv32_dma.h:28