Imt.Base C++ API V4.1.1.0
Loading...
Searching...
No Matches
DMAMUXRegisters.h
Go to the documentation of this file.
1// (c) IMT - Information Management Technology AG, CH-9470 Buchs, www.imt.ch.
2
3#ifndef STM32H730_DMAMUXREGISTERS_H
4#define STM32H730_DMAMUXREGISTERS_H
5
8
9namespace imt {
10namespace base {
11namespace hal {
12namespace stm32h730 {
13namespace registers {
14
30 struct DMAMUX1_CxCR {
31 uint32_t volatile DMAREQ_ID : 7; // DMA request identification
32 uint32_t volatile : 1; // - reserved
33 uint32_t volatile SOIE : 1; // SSynchronization overrun interrupt enable
34 uint32_t volatile EGE : 1; // Event generation enable
35 uint32_t volatile : 6; // - reserved
36 uint32_t volatile SE : 1; // Synchronization enable
37 uint32_t volatile SPOL : 2; // Synchronization polarity
38 uint32_t volatile NBREQ : 5; // Number of DMA requests minus 1 to forward
39 uint32_t volatile SYNC_ID : 3; // Synchronization identification
40 uint32_t volatile : 5; // - reserved
41 };
42
43 struct DMAMUX2_CxCR {
44 uint32_t volatile DMAREQ_ID : 5; // DMA request identification
45 uint32_t volatile : 3; // - reserved
46 uint32_t volatile SOIE : 1; // SSynchronization overrun interrupt enable
47 uint32_t volatile EGE : 1; // Event generation enable
48 uint32_t volatile : 6; // - reserved
49 uint32_t volatile SE : 1; // Synchronization enable
50 uint32_t volatile SPOL : 2; // Synchronization polarity
51 uint32_t volatile NBREQ : 5; // Number of DMA requests minus 1 to forward
52 uint32_t volatile SYNC_ID : 5; // Synchronization identification
53 uint32_t volatile : 3; // - reserved
54 };
55
58 };
59
64 union DMAMUX_CSR {
65 struct DMAMUX1_CSR {
66 uint32_t volatile SOF0 : 1; // Synchronization overrun event flag
67 uint32_t volatile SOF1 : 1; // Synchronization overrun event flag
68 uint32_t volatile SOF2 : 1; // Synchronization overrun event flag
69 uint32_t volatile SOF3 : 1; // Synchronization overrun event flag
70 uint32_t volatile SOF4 : 1; // Synchronization overrun event flag
71 uint32_t volatile SOF5 : 1; // Synchronization overrun event flag
72 uint32_t volatile SOF6 : 1; // Synchronization overrun event flag
73 uint32_t volatile SOF7 : 1; // Synchronization overrun event flag
74 uint32_t volatile SOF8 : 1; // Synchronization overrun event flag
75 uint32_t volatile SOF9 : 1; // Synchronization overrun event flag
76 uint32_t volatile SOF10 : 1; // Synchronization overrun event flag
77 uint32_t volatile SOF11 : 1; // Synchronization overrun event flag
78 uint32_t volatile SOF12 : 1; // Synchronization overrun event flag
79 uint32_t volatile SOF13 : 1; // Synchronization overrun event flag
80 uint32_t volatile SOF14 : 1; // Synchronization overrun event flag
81 uint32_t volatile SOF15 : 1; // Synchronization overrun event flag
82 uint32_t volatile : 16; // - reserved
83 };
84
85 struct DMAMUX2_CSR {
86 uint32_t volatile SOF0 : 1; // Synchronization overrun event flag
87 uint32_t volatile SOF1 : 1; // Synchronization overrun event flag
88 uint32_t volatile SOF2 : 1; // Synchronization overrun event flag
89 uint32_t volatile SOF3 : 1; // Synchronization overrun event flag
90 uint32_t volatile SOF4 : 1; // Synchronization overrun event flag
91 uint32_t volatile SOF5 : 1; // Synchronization overrun event flag
92 uint32_t volatile SOF6 : 1; // Synchronization overrun event flag
93 uint32_t volatile SOF7 : 1; // Synchronization overrun event flag
94 uint32_t volatile : 24; // - reserved
95 };
96
99 };
100
106 struct DMAMUX1_CFR {
107 uint32_t volatile CSOF0 : 1; // Clear Synchronization overrun event flag
108 uint32_t volatile CSOF1 : 1; // Clear Synchronization overrun event flag
109 uint32_t volatile CSOF2 : 1; // Clear Synchronization overrun event flag
110 uint32_t volatile CSOF3 : 1; // Clear Synchronization overrun event flag
111 uint32_t volatile CSOF4 : 1; // Clear Synchronization overrun event flag
112 uint32_t volatile CSOF5 : 1; // Clear Synchronization overrun event flag
113 uint32_t volatile CSOF6 : 1; // Clear Synchronization overrun event flag
114 uint32_t volatile CSOF7 : 1; // Clear Synchronization overrun event flag
115 uint32_t volatile CSOF8 : 1; // Clear Synchronization overrun event flag
116 uint32_t volatile CSOF9 : 1; // Clear Synchronization overrun event flag
117 uint32_t volatile CSOF10 : 1; // Clear Synchronization overrun event flag
118 uint32_t volatile CSOF11 : 1; // Clear Synchronization overrun event flag
119 uint32_t volatile CSOF12 : 1; // Clear Synchronization overrun event flag
120 uint32_t volatile CSOF13 : 1; // Clear Synchronization overrun event flag
121 uint32_t volatile CSOF14 : 1; // Clear Synchronization overrun event flag
122 uint32_t volatile CSOF15 : 1; // Clear Synchronization overrun event flag
123 uint32_t volatile : 16; // - reserved
124 };
125
126 struct DMAMUX2_CFR {
127 uint32_t volatile CSOF0 : 1; // Clear Synchronization overrun event flag
128 uint32_t volatile CSOF1 : 1; // Clear Synchronization overrun event flag
129 uint32_t volatile CSOF2 : 1; // Clear Synchronization overrun event flag
130 uint32_t volatile CSOF3 : 1; // Clear Synchronization overrun event flag
131 uint32_t volatile CSOF4 : 1; // Clear Synchronization overrun event flag
132 uint32_t volatile CSOF5 : 1; // Clear Synchronization overrun event flag
133 uint32_t volatile CSOF6 : 1; // Clear Synchronization overrun event flag
134 uint32_t volatile CSOF7 : 1; // Clear Synchronization overrun event flag
135 uint32_t volatile : 24; // - reserved
136 };
137
140 };
141
148 uint32_t volatile SIG_ID : 3; // Signal identification
149 uint32_t volatile : 5; // - reserved
150 uint32_t volatile OIE : 1; // Trigger overrun interrupt enable
151 uint32_t volatile : 7; // - reserved
152 uint32_t volatile GE : 1; // DMA request generator channel x enable
153 uint32_t volatile GPOL : 2; // DMA request generator trigger polarity
154 uint32_t volatile GNBREQ : 5; // Number of DMA requests to be generated (minus 1)
155 uint32_t volatile : 8; // - reserved
156 };
157
159 uint32_t volatile SIG_ID : 5; // Signal identification
160 uint32_t volatile : 3; // - reserved
161 uint32_t volatile OIE : 1; // Trigger overrun interrupt enable
162 uint32_t volatile : 7; // - reserved
163 uint32_t volatile GE : 1; // DMA request generator channel x enable
164 uint32_t volatile GPOL : 2; // DMA request generator trigger polarity
165 uint32_t volatile GNBREQ : 5; // Number of DMA requests to be generated (minus 1)
166 uint32_t volatile : 8; // - reserved
167 };
168
171 };
172
179 uint32_t volatile OF0 : 1; // Trigger overrun event flag
180 uint32_t volatile OF1 : 1; // Trigger overrun event flag
181 uint32_t volatile OF2 : 1; // Trigger overrun event flag
182 uint32_t volatile OF3 : 1; // Trigger overrun event flag
183 uint32_t volatile OF4 : 1; // Trigger overrun event flag
184 uint32_t volatile OF5 : 1; // Trigger overrun event flag
185 uint32_t volatile OF6 : 1; // Trigger overrun event flag
186 uint32_t volatile OF7 : 1; // Trigger overrun event flag
187 uint32_t volatile : 24; // - reserved
188 };
189
191 uint32_t volatile OF0 : 1; // Trigger overrun event flag
192 uint32_t volatile OF1 : 1; // Trigger overrun event flag
193 uint32_t volatile OF2 : 1; // Trigger overrun event flag
194 uint32_t volatile OF3 : 1; // Trigger overrun event flag
195 uint32_t volatile OF4 : 1; // Trigger overrun event flag
196 uint32_t volatile OF5 : 1; // Trigger overrun event flag
197 uint32_t volatile OF6 : 1; // Trigger overrun event flag
198 uint32_t volatile OF7 : 1; // Trigger overrun event flag
199 uint32_t volatile : 24; // - reserved
200 };
201
204 };
205
212 uint32_t volatile COF0 : 1; // Clear trigger overrun event flag
213 uint32_t volatile COF1 : 1; // Clear trigger overrun event flag
214 uint32_t volatile COF2 : 1; // Clear trigger overrun event flag
215 uint32_t volatile COF3 : 1; // Clear trigger overrun event flag
216 uint32_t volatile COF4 : 1; // Clear trigger overrun event flag
217 uint32_t volatile COF5 : 1; // Clear trigger overrun event flag
218 uint32_t volatile COF6 : 1; // Clear trigger overrun event flag
219 uint32_t volatile COF7 : 1; // Clear trigger overrun event flag
220 uint32_t volatile : 24; // - reserved
221 };
222
224 uint32_t volatile COF0 : 1; // Clear trigger overrun event flag
225 uint32_t volatile COF1 : 1; // Clear trigger overrun event flag
226 uint32_t volatile COF2 : 1; // Clear trigger overrun event flag
227 uint32_t volatile COF3 : 1; // Clear trigger overrun event flag
228 uint32_t volatile COF4 : 1; // Clear trigger overrun event flag
229 uint32_t volatile COF5 : 1; // Clear trigger overrun event flag
230 uint32_t volatile COF6 : 1; // Clear trigger overrun event flag
231 uint32_t volatile COF7 : 1; // Clear trigger overrun event flag
232 uint32_t volatile : 24; // - reserved
233 };
234
237 };
238
243 return *reinterpret_cast<DMAMUXRegisters*>(module);
244 }
245
246 // Registers
247 DMAMUX_CxCR volatile C0CR; // Offset 0x00
248 DMAMUX_CxCR volatile C1CR; // Offset 0x04
249 DMAMUX_CxCR volatile C2CR; // Offset 0x08
250 DMAMUX_CxCR volatile C3CR; // Offset 0x0C
251 DMAMUX_CxCR volatile C4CR; // Offset 0x10
252 DMAMUX_CxCR volatile C5CR; // Offset 0x14
253 DMAMUX_CxCR volatile C6CR; // Offset 0x18
254 DMAMUX_CxCR volatile C7CR; // Offset 0x1C
255 DMAMUX_CxCR volatile C8CR; // Offset 0x20
256 DMAMUX_CxCR volatile C9CR; // Offset 0x24
257 DMAMUX_CxCR volatile C10CR; // Offset 0x28
258 DMAMUX_CxCR volatile C11CR; // Offset 0x2C
259 DMAMUX_CxCR volatile C12CR; // Offset 0x30
260 DMAMUX_CxCR volatile C13CR; // Offset 0x34
261 DMAMUX_CxCR volatile C14CR; // Offset 0x38
262 DMAMUX_CxCR volatile C15CR; // Offset 0x3C
263 uint32_t volatile _reserved0[16]; // Offset 0x40
264 volatile DMAMUX_CSR CSR; // Offset 0x80
265 volatile DMAMUX_CFR CFR; // Offset 0x84
266 uint32_t volatile _reserved1[30]; // Offset 0x88
267 DMAMUX_RGxCR volatile RG0CR; // Offset 0x100
268 DMAMUX_RGxCR volatile RG1CR; // Offset 0x104
269 DMAMUX_RGxCR volatile RG2CR; // Offset 0x108
270 DMAMUX_RGxCR volatile RG3CR; // Offset 0x10C
271 DMAMUX_RGxCR volatile RG4CR; // Offset 0x110
272 DMAMUX_RGxCR volatile RG5CR; // Offset 0x114
273 DMAMUX_RGxCR volatile RG6CR; // Offset 0x118
274 DMAMUX_RGxCR volatile RG7CR; // Offset 0x11C
275 uint32_t volatile _reserved2[8]; // Offset 0x120
276 volatile DMAMUX_RGSR RGSR; // Offset 0x140
277 volatile DMAMUX_RGCFR RGCFR; // Offset 0x144
278
279private:
280
285
289 DMAMUXRegisters(DMAMUXRegisters const& other);
290
294 DMAMUXRegisters& operator=(DMAMUXRegisters const& other);
295};
296
297} // namespace registers
298} // namespace stm32h730
299} // namespace hal
300} // namespace base
301} // namespace imt
302
303#endif // STM32H730_DMAMUXREGISTERS_H
DMAMUXModuleAddress
Enumeration of the available DMAMUX modules identifiers.
This is a application specific file which is used to configure Imt.Base.Core.Math.
unsigned __int32 uint32_t
Definition stdint.h:64
Direct memory access request multiplexer (DMAMUX) register structure.
static DMAMUXRegisters & getInstance(DMAMUXModuleAddress const module)
Gets the instance of the registers for a given DMA module in memory.
DMAMUX1 request line interrupt clear flag register (DMAMUX1_CFR), chapter 17.6.5 DMAMUX2 request line...
DMAMUX1 request line interrupt channel status register (DMAMUX1_CSR), chapter 17.6....
DMAMUX1 request line multiplexer channel x configuration register (DMAMUX1_CxCR) for x=0:15,...
DMAMUX1 request generator interrupt clear flag register (DMAMUX1_RGCFR), chapter 17....
DMAMUX1 request generator interrupt status register (DMAMUX1_RGSR), chapter 17.6.9 DMAMUX2 request ge...
DMAMUX1 request generator channel x configuration register (DMAMUX1_RGxCR) for x=0:7,...