no-OS
Loading...
Searching...
No Matches
maxim_dma.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef MAXIM_DMA_H_
34#define MAXIM_DMA_H_
35
36#include <stdint.h>
37#include "no_os_dma.h"
38#include "dma.h"
39
40#if TARGET_NUM == 32650
41#include "max32650.h"
42#elif TARGET_NUM == 32655
43#include "max32655.h"
44#elif TARGET_NUM == 32660
45#include "max32660.h"
46#elif TARGET_NUM == 32665
47#include "max32665.h"
48#elif TARGET_NUM == 32670
49#include "max32670.h"
50#elif TARGET_NUM == 32672
51#include "max32672.h"
52#elif TARGET_NUM == 32690
53#include "max32690.h"
54#elif TARGET_NUM == 78000
55#include "max78000.h"
56#endif
57
58#define MAX_DMA ((struct max_dma_regs *)(MXC_DMA))
59#define MAX_DMA_IRQ_EN_ALL_CH NO_OS_GENMASK(15, 0)
60#define MAX_DMA_ENABLED NO_OS_BIT(0)
61#define MAX_DMA_ENABLE NO_OS_BIT(0)
62#define MAX_DMA_IRQ_CTZ_EN NO_OS_BIT(31)
63#define MAX_DMA_REQSEL_MASK NO_OS_GENMASK(9, 4)
64#define MAX_DMA_DST_INC NO_OS_BIT(22)
65#define MAX_DMA_SRC_INC NO_OS_BIT(18)
66
68 volatile uint32_t cfg;
69 volatile uint32_t st;
70 volatile uint32_t src;
71 volatile uint32_t dst;
72 volatile uint32_t cnt;
73 volatile uint32_t src_rld;
74 volatile uint32_t dst_rld;
75 volatile uint32_t cnt_rld;
76};
77
79 volatile uint32_t cn;
80 volatile const uint32_t intr;
81 const uint32_t rsv_0x8_0xff[62];
82 volatile struct max_dma_ch_regs ch[MXC_DMA_CHANNELS];
83};
84
86
95static inline uint32_t max_dma_get_irq(uint32_t id, uint32_t ch)
96{
97#if TARGET_NUM == 32665
98 if (!id)
99 return MXC_DMA0_CH_GET_IRQ(ch);
100
101 return MXC_DMA1_CH_GET_IRQ(ch);
102#else
103 return MXC_DMA_CH_GET_IRQ(ch);
104#endif
105}
106
107#endif
struct no_os_dma_platform_ops max_dma_ops
Maxim platform specific callbacks for the DMA API.
Definition maxim_dma.c:271
Platform independent function definitions and data types for the DMA API.
Definition maxim_dma.h:67
volatile uint32_t dst
Definition maxim_dma.h:71
volatile uint32_t cnt_rld
Definition maxim_dma.h:75
volatile uint32_t src_rld
Definition maxim_dma.h:73
volatile uint32_t st
Definition maxim_dma.h:69
volatile uint32_t cnt
Definition maxim_dma.h:72
volatile uint32_t src
Definition maxim_dma.h:70
volatile uint32_t dst_rld
Definition maxim_dma.h:74
volatile uint32_t cfg
Definition maxim_dma.h:68
Definition maxim_dma.h:78
const uint32_t rsv_0x8_0xff[62]
Definition maxim_dma.h:81
volatile struct max_dma_ch_regs ch[MXC_DMA_CHANNELS]
Definition maxim_dma.h:82
volatile const uint32_t intr
Definition maxim_dma.h:80
volatile uint32_t cn
Definition maxim_dma.h:79
Definition no_os_dma.h:241