no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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 == 32690
49#include "max32690.h"
50#elif TARGET_NUM == 78000
51#include "max78000.h"
52#endif
53
54#define MAX_DMA ((struct max_dma_regs *)(MXC_DMA))
55#define MAX_DMA_IRQ_EN_ALL_CH NO_OS_GENMASK(15, 0)
56#define MAX_DMA_ENABLED NO_OS_BIT(0)
57#define MAX_DMA_ENABLE NO_OS_BIT(0)
58#define MAX_DMA_IRQ_CTZ_EN NO_OS_BIT(31)
59#define MAX_DMA_REQSEL_MASK NO_OS_GENMASK(9, 4)
60#define MAX_DMA_DST_INC NO_OS_BIT(22)
61#define MAX_DMA_SRC_INC NO_OS_BIT(18)
62
64 volatile uint32_t cfg;
65 volatile uint32_t st;
66 volatile uint32_t src;
67 volatile uint32_t dst;
68 volatile uint32_t cnt;
69 volatile uint32_t src_rld;
70 volatile uint32_t dst_rld;
71 volatile uint32_t cnt_rld;
72};
73
75 volatile uint32_t cn;
76 volatile const uint32_t intr;
77 const uint32_t rsv_0x8_0xff[62];
78 volatile struct max_dma_ch_regs ch[MXC_DMA_CHANNELS];
79};
80
82
91static inline uint32_t max_dma_get_irq(uint32_t id, uint32_t ch)
92{
93#if TARGET_NUM == 32665
94 if (!id)
95 return MXC_DMA0_CH_GET_IRQ(ch);
96
97 return MXC_DMA1_CH_GET_IRQ(ch);
98#else
99 return MXC_DMA_CH_GET_IRQ(ch);
100#endif
101}
102
103#endif
struct no_os_dma_platform_ops max_dma_ops
Maxim platform specific callbacks for the DMA API.
Definition maxim_dma.c:273
Platform independent function definitions and data types for the DMA API.
Definition maxim_dma.h:63
volatile uint32_t dst
Definition maxim_dma.h:67
volatile uint32_t cnt_rld
Definition maxim_dma.h:71
volatile uint32_t src_rld
Definition maxim_dma.h:69
volatile uint32_t st
Definition maxim_dma.h:65
volatile uint32_t cnt
Definition maxim_dma.h:68
volatile uint32_t src
Definition maxim_dma.h:66
volatile uint32_t dst_rld
Definition maxim_dma.h:70
volatile uint32_t cfg
Definition maxim_dma.h:64
Definition maxim_dma.h:74
const uint32_t rsv_0x8_0xff[62]
Definition maxim_dma.h:77
volatile struct max_dma_ch_regs ch[MXC_DMA_CHANNELS]
Definition maxim_dma.h:78
volatile const uint32_t intr
Definition maxim_dma.h:76
volatile uint32_t cn
Definition maxim_dma.h:75
Definition no_os_dma.h:241