1 /**
2  * @file    dma_regs.h
3  * @brief   Registers, Bit Masks and Bit Positions for the DMA Peripheral Module.
4  * @note    This file is @generated.
5  * @ingroup dma_registers
6  */
7 
8 /******************************************************************************
9  *
10  * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
11  * Analog Devices, Inc.),
12  * Copyright (C) 2023-2024 Analog Devices, Inc.
13  *
14  * Licensed under the Apache License, Version 2.0 (the "License");
15  * you may not use this file except in compliance with the License.
16  * You may obtain a copy of the License at
17  *
18  *     http://www.apache.org/licenses/LICENSE-2.0
19  *
20  * Unless required by applicable law or agreed to in writing, software
21  * distributed under the License is distributed on an "AS IS" BASIS,
22  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23  * See the License for the specific language governing permissions and
24  * limitations under the License.
25  *
26  ******************************************************************************/
27 
28 #ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_DMA_REGS_H_
29 #define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_DMA_REGS_H_
30 
31 /* **** Includes **** */
32 #include <stdint.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 #if defined (__ICCARM__)
39   #pragma system_include
40 #endif
41 
42 #if defined (__CC_ARM)
43   #pragma anon_unions
44 #endif
45 /// @cond
46 /*
47     If types are not defined elsewhere (CMSIS) define them here
48 */
49 #ifndef __IO
50 #define __IO volatile
51 #endif
52 #ifndef __I
53 #define __I  volatile const
54 #endif
55 #ifndef __O
56 #define __O  volatile
57 #endif
58 #ifndef __R
59 #define __R  volatile const
60 #endif
61 /// @endcond
62 
63 /* **** Definitions **** */
64 
65 /**
66  * @ingroup     dma
67  * @defgroup    dma_registers DMA_Registers
68  * @brief       Registers, Bit Masks and Bit Positions for the DMA Peripheral Module.
69  * @details     DMA Controller Fully programmable, chaining capable DMA channels.
70  */
71 
72 /**
73  * @ingroup dma_registers
74  * Structure type to access the DMA Registers.
75  */
76 typedef struct {
77     __IO uint32_t cfg;                  /**< <tt>\b 0x000:</tt> DMA CFG Register */
78     __IO uint32_t st;                   /**< <tt>\b 0x004:</tt> DMA ST Register */
79     __IO uint32_t src;                  /**< <tt>\b 0x008:</tt> DMA SRC Register */
80     __IO uint32_t dst;                  /**< <tt>\b 0x00C:</tt> DMA DST Register */
81     __IO uint32_t cnt;                  /**< <tt>\b 0x010:</tt> DMA CNT Register */
82     __IO uint32_t src_rld;              /**< <tt>\b 0x014:</tt> DMA SRC_RLD Register */
83     __IO uint32_t dst_rld;              /**< <tt>\b 0x018:</tt> DMA DST_RLD Register */
84     __IO uint32_t cnt_rld;              /**< <tt>\b 0x01C:</tt> DMA CNT_RLD Register */
85 } mxc_dma_ch_regs_t;
86 
87 typedef struct {
88     __IO uint32_t cn;                   /**< <tt>\b 0x000:</tt> DMA CN Register */
89     __I  uint32_t intr;                 /**< <tt>\b 0x004:</tt> DMA INTR Register */
90     __R  uint32_t rsv_0x8_0xff[62];
91     __IO mxc_dma_ch_regs_t    ch[8];    /**< <tt>\b 0x100:</tt> DMA CH Register */
92 } mxc_dma_regs_t;
93 
94 /* Register offsets for module DMA */
95 /**
96  * @ingroup    dma_registers
97  * @defgroup   DMA_Register_Offsets Register Offsets
98  * @brief      DMA Peripheral Register Offsets from the DMA Base Peripheral Address.
99  * @{
100  */
101 #define MXC_R_DMA_CFG                      ((uint32_t)0x00000000UL) /**< Offset from DMA Base Address: <tt> 0x0000</tt> */
102 #define MXC_R_DMA_ST                       ((uint32_t)0x00000004UL) /**< Offset from DMA Base Address: <tt> 0x0004</tt> */
103 #define MXC_R_DMA_SRC                      ((uint32_t)0x00000008UL) /**< Offset from DMA Base Address: <tt> 0x0008</tt> */
104 #define MXC_R_DMA_DST                      ((uint32_t)0x0000000CUL) /**< Offset from DMA Base Address: <tt> 0x000C</tt> */
105 #define MXC_R_DMA_CNT                      ((uint32_t)0x00000010UL) /**< Offset from DMA Base Address: <tt> 0x0010</tt> */
106 #define MXC_R_DMA_SRC_RLD                  ((uint32_t)0x00000014UL) /**< Offset from DMA Base Address: <tt> 0x0014</tt> */
107 #define MXC_R_DMA_DST_RLD                  ((uint32_t)0x00000018UL) /**< Offset from DMA Base Address: <tt> 0x0018</tt> */
108 #define MXC_R_DMA_CNT_RLD                  ((uint32_t)0x0000001CUL) /**< Offset from DMA Base Address: <tt> 0x001C</tt> */
109 #define MXC_R_DMA_CN                       ((uint32_t)0x00000000UL) /**< Offset from DMA Base Address: <tt> 0x0000</tt> */
110 #define MXC_R_DMA_INTR                     ((uint32_t)0x00000004UL) /**< Offset from DMA Base Address: <tt> 0x0004</tt> */
111 #define MXC_R_DMA_CH                       ((uint32_t)0x00000100UL) /**< Offset from DMA Base Address: <tt> 0x0100</tt> */
112 /**@} end of group dma_registers */
113 
114 /**
115  * @ingroup  dma_registers
116  * @defgroup DMA_CN DMA_CN
117  * @brief    DMA Control Register.
118  * @{
119  */
120 #define MXC_F_DMA_CN_CHIEN_POS                         0 /**< CN_CHIEN Position */
121 #define MXC_F_DMA_CN_CHIEN                             ((uint32_t)(0xFUL << MXC_F_DMA_CN_CHIEN_POS)) /**< CN_CHIEN Mask */
122 #define MXC_V_DMA_CN_CHIEN_DIS                         ((uint32_t)0x0UL) /**< CN_CHIEN_DIS Value */
123 #define MXC_S_DMA_CN_CHIEN_DIS                         (MXC_V_DMA_CN_CHIEN_DIS << MXC_F_DMA_CN_CHIEN_POS) /**< CN_CHIEN_DIS Setting */
124 #define MXC_V_DMA_CN_CHIEN_EN                          ((uint32_t)0x1UL) /**< CN_CHIEN_EN Value */
125 #define MXC_S_DMA_CN_CHIEN_EN                          (MXC_V_DMA_CN_CHIEN_EN << MXC_F_DMA_CN_CHIEN_POS) /**< CN_CHIEN_EN Setting */
126 
127 /**@} end of group DMA_CN_Register */
128 
129 /**
130  * @ingroup  dma_registers
131  * @defgroup DMA_INTR DMA_INTR
132  * @brief    DMA Interrupt Register.
133  * @{
134  */
135 #define MXC_F_DMA_INTR_IPEND_POS                       0 /**< INTR_IPEND Position */
136 #define MXC_F_DMA_INTR_IPEND                           ((uint32_t)(0xFUL << MXC_F_DMA_INTR_IPEND_POS)) /**< INTR_IPEND Mask */
137 #define MXC_V_DMA_INTR_IPEND_INACTIVE                  ((uint32_t)0x0UL) /**< INTR_IPEND_INACTIVE Value */
138 #define MXC_S_DMA_INTR_IPEND_INACTIVE                  (MXC_V_DMA_INTR_IPEND_INACTIVE << MXC_F_DMA_INTR_IPEND_POS) /**< INTR_IPEND_INACTIVE Setting */
139 #define MXC_V_DMA_INTR_IPEND_PENDING                   ((uint32_t)0x1UL) /**< INTR_IPEND_PENDING Value */
140 #define MXC_S_DMA_INTR_IPEND_PENDING                   (MXC_V_DMA_INTR_IPEND_PENDING << MXC_F_DMA_INTR_IPEND_POS) /**< INTR_IPEND_PENDING Setting */
141 
142 /**@} end of group DMA_INTR_Register */
143 
144 /**
145  * @ingroup  dma_registers
146  * @defgroup DMA_CFG DMA_CFG
147  * @brief    DMA Channel Configuration Register.
148  * @{
149  */
150 #define MXC_F_DMA_CFG_CHIEN_POS                        0 /**< CFG_CHIEN Position */
151 #define MXC_F_DMA_CFG_CHIEN                            ((uint32_t)(0x1UL << MXC_F_DMA_CFG_CHIEN_POS)) /**< CFG_CHIEN Mask */
152 
153 #define MXC_F_DMA_CFG_RLDEN_POS                        1 /**< CFG_RLDEN Position */
154 #define MXC_F_DMA_CFG_RLDEN                            ((uint32_t)(0x1UL << MXC_F_DMA_CFG_RLDEN_POS)) /**< CFG_RLDEN Mask */
155 
156 #define MXC_F_DMA_CFG_PRI_POS                          2 /**< CFG_PRI Position */
157 #define MXC_F_DMA_CFG_PRI                              ((uint32_t)(0x3UL << MXC_F_DMA_CFG_PRI_POS)) /**< CFG_PRI Mask */
158 #define MXC_V_DMA_CFG_PRI_HIGH                         ((uint32_t)0x0UL) /**< CFG_PRI_HIGH Value */
159 #define MXC_S_DMA_CFG_PRI_HIGH                         (MXC_V_DMA_CFG_PRI_HIGH << MXC_F_DMA_CFG_PRI_POS) /**< CFG_PRI_HIGH Setting */
160 #define MXC_V_DMA_CFG_PRI_MEDHIGH                      ((uint32_t)0x1UL) /**< CFG_PRI_MEDHIGH Value */
161 #define MXC_S_DMA_CFG_PRI_MEDHIGH                      (MXC_V_DMA_CFG_PRI_MEDHIGH << MXC_F_DMA_CFG_PRI_POS) /**< CFG_PRI_MEDHIGH Setting */
162 #define MXC_V_DMA_CFG_PRI_MEDLOW                       ((uint32_t)0x2UL) /**< CFG_PRI_MEDLOW Value */
163 #define MXC_S_DMA_CFG_PRI_MEDLOW                       (MXC_V_DMA_CFG_PRI_MEDLOW << MXC_F_DMA_CFG_PRI_POS) /**< CFG_PRI_MEDLOW Setting */
164 #define MXC_V_DMA_CFG_PRI_LOW                          ((uint32_t)0x3UL) /**< CFG_PRI_LOW Value */
165 #define MXC_S_DMA_CFG_PRI_LOW                          (MXC_V_DMA_CFG_PRI_LOW << MXC_F_DMA_CFG_PRI_POS) /**< CFG_PRI_LOW Setting */
166 
167 #define MXC_F_DMA_CFG_REQSEL_POS                       4 /**< CFG_REQSEL Position */
168 #define MXC_F_DMA_CFG_REQSEL                           ((uint32_t)(0x3FUL << MXC_F_DMA_CFG_REQSEL_POS)) /**< CFG_REQSEL Mask */
169 #define MXC_V_DMA_CFG_REQSEL_MEMTOMEM                  ((uint32_t)0x0UL) /**< CFG_REQSEL_MEMTOMEM Value */
170 #define MXC_S_DMA_CFG_REQSEL_MEMTOMEM                  (MXC_V_DMA_CFG_REQSEL_MEMTOMEM << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_MEMTOMEM Setting */
171 #define MXC_V_DMA_CFG_REQSEL_SPI0RX                    ((uint32_t)0x1UL) /**< CFG_REQSEL_SPI0RX Value */
172 #define MXC_S_DMA_CFG_REQSEL_SPI0RX                    (MXC_V_DMA_CFG_REQSEL_SPI0RX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_SPI0RX Setting */
173 #define MXC_V_DMA_CFG_REQSEL_SPI1RX                    ((uint32_t)0x2UL) /**< CFG_REQSEL_SPI1RX Value */
174 #define MXC_S_DMA_CFG_REQSEL_SPI1RX                    (MXC_V_DMA_CFG_REQSEL_SPI1RX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_SPI1RX Setting */
175 #define MXC_V_DMA_CFG_REQSEL_I2C0RX                    ((uint32_t)0x7UL) /**< CFG_REQSEL_I2C0RX Value */
176 #define MXC_S_DMA_CFG_REQSEL_I2C0RX                    (MXC_V_DMA_CFG_REQSEL_I2C0RX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_I2C0RX Setting */
177 #define MXC_V_DMA_CFG_REQSEL_UART0RX                   ((uint32_t)0x1CUL) /**< CFG_REQSEL_UART0RX Value */
178 #define MXC_S_DMA_CFG_REQSEL_UART0RX                   (MXC_V_DMA_CFG_REQSEL_UART0RX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_UART0RX Setting */
179 #define MXC_V_DMA_CFG_REQSEL_SPI0TX                    ((uint32_t)0x21UL) /**< CFG_REQSEL_SPI0TX Value */
180 #define MXC_S_DMA_CFG_REQSEL_SPI0TX                    (MXC_V_DMA_CFG_REQSEL_SPI0TX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_SPI0TX Setting */
181 #define MXC_V_DMA_CFG_REQSEL_SPI1TX                    ((uint32_t)0x22UL) /**< CFG_REQSEL_SPI1TX Value */
182 #define MXC_S_DMA_CFG_REQSEL_SPI1TX                    (MXC_V_DMA_CFG_REQSEL_SPI1TX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_SPI1TX Setting */
183 #define MXC_V_DMA_CFG_REQSEL_I2C0TX                    ((uint32_t)0x27UL) /**< CFG_REQSEL_I2C0TX Value */
184 #define MXC_S_DMA_CFG_REQSEL_I2C0TX                    (MXC_V_DMA_CFG_REQSEL_I2C0TX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_I2C0TX Setting */
185 #define MXC_V_DMA_CFG_REQSEL_UART0TX                   ((uint32_t)0x3CUL) /**< CFG_REQSEL_UART0TX Value */
186 #define MXC_S_DMA_CFG_REQSEL_UART0TX                   (MXC_V_DMA_CFG_REQSEL_UART0TX << MXC_F_DMA_CFG_REQSEL_POS) /**< CFG_REQSEL_UART0TX Setting */
187 
188 #define MXC_F_DMA_CFG_REQWAIT_POS                      10 /**< CFG_REQWAIT Position */
189 #define MXC_F_DMA_CFG_REQWAIT                          ((uint32_t)(0x1UL << MXC_F_DMA_CFG_REQWAIT_POS)) /**< CFG_REQWAIT Mask */
190 
191 #define MXC_F_DMA_CFG_TOSEL_POS                        11 /**< CFG_TOSEL Position */
192 #define MXC_F_DMA_CFG_TOSEL                            ((uint32_t)(0x7UL << MXC_F_DMA_CFG_TOSEL_POS)) /**< CFG_TOSEL Mask */
193 #define MXC_V_DMA_CFG_TOSEL_TO4                        ((uint32_t)0x0UL) /**< CFG_TOSEL_TO4 Value */
194 #define MXC_S_DMA_CFG_TOSEL_TO4                        (MXC_V_DMA_CFG_TOSEL_TO4 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO4 Setting */
195 #define MXC_V_DMA_CFG_TOSEL_TO8                        ((uint32_t)0x1UL) /**< CFG_TOSEL_TO8 Value */
196 #define MXC_S_DMA_CFG_TOSEL_TO8                        (MXC_V_DMA_CFG_TOSEL_TO8 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO8 Setting */
197 #define MXC_V_DMA_CFG_TOSEL_TO16                       ((uint32_t)0x2UL) /**< CFG_TOSEL_TO16 Value */
198 #define MXC_S_DMA_CFG_TOSEL_TO16                       (MXC_V_DMA_CFG_TOSEL_TO16 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO16 Setting */
199 #define MXC_V_DMA_CFG_TOSEL_TO32                       ((uint32_t)0x3UL) /**< CFG_TOSEL_TO32 Value */
200 #define MXC_S_DMA_CFG_TOSEL_TO32                       (MXC_V_DMA_CFG_TOSEL_TO32 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO32 Setting */
201 #define MXC_V_DMA_CFG_TOSEL_TO64                       ((uint32_t)0x4UL) /**< CFG_TOSEL_TO64 Value */
202 #define MXC_S_DMA_CFG_TOSEL_TO64                       (MXC_V_DMA_CFG_TOSEL_TO64 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO64 Setting */
203 #define MXC_V_DMA_CFG_TOSEL_TO128                      ((uint32_t)0x5UL) /**< CFG_TOSEL_TO128 Value */
204 #define MXC_S_DMA_CFG_TOSEL_TO128                      (MXC_V_DMA_CFG_TOSEL_TO128 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO128 Setting */
205 #define MXC_V_DMA_CFG_TOSEL_TO256                      ((uint32_t)0x6UL) /**< CFG_TOSEL_TO256 Value */
206 #define MXC_S_DMA_CFG_TOSEL_TO256                      (MXC_V_DMA_CFG_TOSEL_TO256 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO256 Setting */
207 #define MXC_V_DMA_CFG_TOSEL_TO512                      ((uint32_t)0x7UL) /**< CFG_TOSEL_TO512 Value */
208 #define MXC_S_DMA_CFG_TOSEL_TO512                      (MXC_V_DMA_CFG_TOSEL_TO512 << MXC_F_DMA_CFG_TOSEL_POS) /**< CFG_TOSEL_TO512 Setting */
209 
210 #define MXC_F_DMA_CFG_PSSEL_POS                        14 /**< CFG_PSSEL Position */
211 #define MXC_F_DMA_CFG_PSSEL                            ((uint32_t)(0x3UL << MXC_F_DMA_CFG_PSSEL_POS)) /**< CFG_PSSEL Mask */
212 #define MXC_V_DMA_CFG_PSSEL_DIS                        ((uint32_t)0x0UL) /**< CFG_PSSEL_DIS Value */
213 #define MXC_S_DMA_CFG_PSSEL_DIS                        (MXC_V_DMA_CFG_PSSEL_DIS << MXC_F_DMA_CFG_PSSEL_POS) /**< CFG_PSSEL_DIS Setting */
214 #define MXC_V_DMA_CFG_PSSEL_DIV256                     ((uint32_t)0x1UL) /**< CFG_PSSEL_DIV256 Value */
215 #define MXC_S_DMA_CFG_PSSEL_DIV256                     (MXC_V_DMA_CFG_PSSEL_DIV256 << MXC_F_DMA_CFG_PSSEL_POS) /**< CFG_PSSEL_DIV256 Setting */
216 #define MXC_V_DMA_CFG_PSSEL_DIV64K                     ((uint32_t)0x2UL) /**< CFG_PSSEL_DIV64K Value */
217 #define MXC_S_DMA_CFG_PSSEL_DIV64K                     (MXC_V_DMA_CFG_PSSEL_DIV64K << MXC_F_DMA_CFG_PSSEL_POS) /**< CFG_PSSEL_DIV64K Setting */
218 #define MXC_V_DMA_CFG_PSSEL_DIV16M                     ((uint32_t)0x3UL) /**< CFG_PSSEL_DIV16M Value */
219 #define MXC_S_DMA_CFG_PSSEL_DIV16M                     (MXC_V_DMA_CFG_PSSEL_DIV16M << MXC_F_DMA_CFG_PSSEL_POS) /**< CFG_PSSEL_DIV16M Setting */
220 
221 #define MXC_F_DMA_CFG_SRCWD_POS                        16 /**< CFG_SRCWD Position */
222 #define MXC_F_DMA_CFG_SRCWD                            ((uint32_t)(0x3UL << MXC_F_DMA_CFG_SRCWD_POS)) /**< CFG_SRCWD Mask */
223 #define MXC_V_DMA_CFG_SRCWD_BYTE                       ((uint32_t)0x0UL) /**< CFG_SRCWD_BYTE Value */
224 #define MXC_S_DMA_CFG_SRCWD_BYTE                       (MXC_V_DMA_CFG_SRCWD_BYTE << MXC_F_DMA_CFG_SRCWD_POS) /**< CFG_SRCWD_BYTE Setting */
225 #define MXC_V_DMA_CFG_SRCWD_HALFWORD                   ((uint32_t)0x1UL) /**< CFG_SRCWD_HALFWORD Value */
226 #define MXC_S_DMA_CFG_SRCWD_HALFWORD                   (MXC_V_DMA_CFG_SRCWD_HALFWORD << MXC_F_DMA_CFG_SRCWD_POS) /**< CFG_SRCWD_HALFWORD Setting */
227 #define MXC_V_DMA_CFG_SRCWD_WORD                       ((uint32_t)0x2UL) /**< CFG_SRCWD_WORD Value */
228 #define MXC_S_DMA_CFG_SRCWD_WORD                       (MXC_V_DMA_CFG_SRCWD_WORD << MXC_F_DMA_CFG_SRCWD_POS) /**< CFG_SRCWD_WORD Setting */
229 
230 #define MXC_F_DMA_CFG_SRCINC_POS                       18 /**< CFG_SRCINC Position */
231 #define MXC_F_DMA_CFG_SRCINC                           ((uint32_t)(0x1UL << MXC_F_DMA_CFG_SRCINC_POS)) /**< CFG_SRCINC Mask */
232 
233 #define MXC_F_DMA_CFG_DSTWD_POS                        20 /**< CFG_DSTWD Position */
234 #define MXC_F_DMA_CFG_DSTWD                            ((uint32_t)(0x3UL << MXC_F_DMA_CFG_DSTWD_POS)) /**< CFG_DSTWD Mask */
235 #define MXC_V_DMA_CFG_DSTWD_BYTE                       ((uint32_t)0x0UL) /**< CFG_DSTWD_BYTE Value */
236 #define MXC_S_DMA_CFG_DSTWD_BYTE                       (MXC_V_DMA_CFG_DSTWD_BYTE << MXC_F_DMA_CFG_DSTWD_POS) /**< CFG_DSTWD_BYTE Setting */
237 #define MXC_V_DMA_CFG_DSTWD_HALFWORD                   ((uint32_t)0x1UL) /**< CFG_DSTWD_HALFWORD Value */
238 #define MXC_S_DMA_CFG_DSTWD_HALFWORD                   (MXC_V_DMA_CFG_DSTWD_HALFWORD << MXC_F_DMA_CFG_DSTWD_POS) /**< CFG_DSTWD_HALFWORD Setting */
239 #define MXC_V_DMA_CFG_DSTWD_WORD                       ((uint32_t)0x2UL) /**< CFG_DSTWD_WORD Value */
240 #define MXC_S_DMA_CFG_DSTWD_WORD                       (MXC_V_DMA_CFG_DSTWD_WORD << MXC_F_DMA_CFG_DSTWD_POS) /**< CFG_DSTWD_WORD Setting */
241 
242 #define MXC_F_DMA_CFG_DSTINC_POS                       22 /**< CFG_DSTINC Position */
243 #define MXC_F_DMA_CFG_DSTINC                           ((uint32_t)(0x1UL << MXC_F_DMA_CFG_DSTINC_POS)) /**< CFG_DSTINC Mask */
244 
245 #define MXC_F_DMA_CFG_BRST_POS                         24 /**< CFG_BRST Position */
246 #define MXC_F_DMA_CFG_BRST                             ((uint32_t)(0x1FUL << MXC_F_DMA_CFG_BRST_POS)) /**< CFG_BRST Mask */
247 
248 #define MXC_F_DMA_CFG_CHDIEN_POS                       30 /**< CFG_CHDIEN Position */
249 #define MXC_F_DMA_CFG_CHDIEN                           ((uint32_t)(0x1UL << MXC_F_DMA_CFG_CHDIEN_POS)) /**< CFG_CHDIEN Mask */
250 
251 #define MXC_F_DMA_CFG_CTZIEN_POS                       31 /**< CFG_CTZIEN Position */
252 #define MXC_F_DMA_CFG_CTZIEN                           ((uint32_t)(0x1UL << MXC_F_DMA_CFG_CTZIEN_POS)) /**< CFG_CTZIEN Mask */
253 
254 /**@} end of group DMA_CFG_Register */
255 
256 /**
257  * @ingroup  dma_registers
258  * @defgroup DMA_ST DMA_ST
259  * @brief    DMA Channel Status Register.
260  * @{
261  */
262 #define MXC_F_DMA_ST_CH_ST_POS                         0 /**< ST_CH_ST Position */
263 #define MXC_F_DMA_ST_CH_ST                             ((uint32_t)(0x1UL << MXC_F_DMA_ST_CH_ST_POS)) /**< ST_CH_ST Mask */
264 
265 #define MXC_F_DMA_ST_IPEND_POS                         1 /**< ST_IPEND Position */
266 #define MXC_F_DMA_ST_IPEND                             ((uint32_t)(0x1UL << MXC_F_DMA_ST_IPEND_POS)) /**< ST_IPEND Mask */
267 
268 #define MXC_F_DMA_ST_CTZ_ST_POS                        2 /**< ST_CTZ_ST Position */
269 #define MXC_F_DMA_ST_CTZ_ST                            ((uint32_t)(0x1UL << MXC_F_DMA_ST_CTZ_ST_POS)) /**< ST_CTZ_ST Mask */
270 
271 #define MXC_F_DMA_ST_RLD_ST_POS                        3 /**< ST_RLD_ST Position */
272 #define MXC_F_DMA_ST_RLD_ST                            ((uint32_t)(0x1UL << MXC_F_DMA_ST_RLD_ST_POS)) /**< ST_RLD_ST Mask */
273 
274 #define MXC_F_DMA_ST_BUS_ERR_POS                       4 /**< ST_BUS_ERR Position */
275 #define MXC_F_DMA_ST_BUS_ERR                           ((uint32_t)(0x1UL << MXC_F_DMA_ST_BUS_ERR_POS)) /**< ST_BUS_ERR Mask */
276 
277 #define MXC_F_DMA_ST_TO_ST_POS                         6 /**< ST_TO_ST Position */
278 #define MXC_F_DMA_ST_TO_ST                             ((uint32_t)(0x1UL << MXC_F_DMA_ST_TO_ST_POS)) /**< ST_TO_ST Mask */
279 
280 /**@} end of group DMA_ST_Register */
281 
282 /**
283  * @ingroup  dma_registers
284  * @defgroup DMA_SRC DMA_SRC
285  * @brief    Source Device Address. If SRCINC=1, the counter bits are incremented by 1,2, or
286  *           4, depending on the data width of each AHB cycle. For peripheral transfers, some
287  *           or all of the actual address bits are fixed. If SRCINC=0, this register remains
288  *           constant. In the case where a count-to-zero condition occurs while RLDEN=1, the
289  *           register is reloaded with the contents of DMA_SRC_RLD.
290  * @{
291  */
292 #define MXC_F_DMA_SRC_SRC_POS                          0 /**< SRC_SRC Position */
293 #define MXC_F_DMA_SRC_SRC                              ((uint32_t)(0xFFFFFFFFUL << MXC_F_DMA_SRC_SRC_POS)) /**< SRC_SRC Mask */
294 
295 /**@} end of group DMA_SRC_Register */
296 
297 /**
298  * @ingroup  dma_registers
299  * @defgroup DMA_DST DMA_DST
300  * @brief    Destination Device Address. For peripheral transfers, some or all of the actual
301  *           address bits are fixed. If DSTINC=1, this register is incremented on every AHB
302  *           write out of the DMA FIFO. They are incremented by 1, 2, or 4, depending on the
303  *           data width of each AHB cycle. In the case where a count-to-zero condition occurs
304  *           while RLDEN=1, the register is reloaded with DMA_DST_RLD.
305  * @{
306  */
307 #define MXC_F_DMA_DST_DST_POS                          0 /**< DST_DST Position */
308 #define MXC_F_DMA_DST_DST                              ((uint32_t)(0xFFFFFFFFUL << MXC_F_DMA_DST_DST_POS)) /**< DST_DST Mask */
309 
310 /**@} end of group DMA_DST_Register */
311 
312 /**
313  * @ingroup  dma_registers
314  * @defgroup DMA_CNT DMA_CNT
315  * @brief    DMA Counter. The user loads this register with the number of bytes to transfer.
316  *           This counter decreases on every AHB cycle into the DMA FIFO. The decrement will
317  *           be 1, 2, or 4 depending on the data width of each AHB cycle. When the counter
318  *           reaches 0, a count-to-zero condition is triggered.
319  * @{
320  */
321 #define MXC_F_DMA_CNT_CNT_POS                          0 /**< CNT_CNT Position */
322 #define MXC_F_DMA_CNT_CNT                              ((uint32_t)(0xFFFFFFUL << MXC_F_DMA_CNT_CNT_POS)) /**< CNT_CNT Mask */
323 
324 /**@} end of group DMA_CNT_Register */
325 
326 /**
327  * @ingroup  dma_registers
328  * @defgroup DMA_SRC_RLD DMA_SRC_RLD
329  * @brief    Source Address Reload Value. The value of this register is loaded into DMA0_SRC
330  *           upon a count-to-zero condition.
331  * @{
332  */
333 #define MXC_F_DMA_SRC_RLD_SRC_RLD_POS                  0 /**< SRC_RLD_SRC_RLD Position */
334 #define MXC_F_DMA_SRC_RLD_SRC_RLD                      ((uint32_t)(0x7FFFFFFFUL << MXC_F_DMA_SRC_RLD_SRC_RLD_POS)) /**< SRC_RLD_SRC_RLD Mask */
335 
336 /**@} end of group DMA_SRC_RLD_Register */
337 
338 /**
339  * @ingroup  dma_registers
340  * @defgroup DMA_DST_RLD DMA_DST_RLD
341  * @brief    Destination Address Reload Value. The value of this register is loaded into
342  *           DMA0_DST upon a count-to-zero condition.
343  * @{
344  */
345 #define MXC_F_DMA_DST_RLD_DST_RLD_POS                  0 /**< DST_RLD_DST_RLD Position */
346 #define MXC_F_DMA_DST_RLD_DST_RLD                      ((uint32_t)(0x7FFFFFFFUL << MXC_F_DMA_DST_RLD_DST_RLD_POS)) /**< DST_RLD_DST_RLD Mask */
347 
348 /**@} end of group DMA_DST_RLD_Register */
349 
350 /**
351  * @ingroup  dma_registers
352  * @defgroup DMA_CNT_RLD DMA_CNT_RLD
353  * @brief    DMA Channel Count Reload Register.
354  * @{
355  */
356 #define MXC_F_DMA_CNT_RLD_CNT_RLD_POS                  0 /**< CNT_RLD_CNT_RLD Position */
357 #define MXC_F_DMA_CNT_RLD_CNT_RLD                      ((uint32_t)(0xFFFFFFUL << MXC_F_DMA_CNT_RLD_CNT_RLD_POS)) /**< CNT_RLD_CNT_RLD Mask */
358 
359 #define MXC_F_DMA_CNT_RLD_RLDEN_POS                    31 /**< CNT_RLD_RLDEN Position */
360 #define MXC_F_DMA_CNT_RLD_RLDEN                        ((uint32_t)(0x1UL << MXC_F_DMA_CNT_RLD_RLDEN_POS)) /**< CNT_RLD_RLDEN Mask */
361 
362 /**@} end of group DMA_CNT_RLD_Register */
363 
364 #ifdef __cplusplus
365 }
366 #endif
367 
368 #endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32520_INCLUDE_DMA_REGS_H_
369