1 //------------------------------------------------------------------------------
2 // Copyright 2012 (c) Silicon Laboratories Inc.
3 //
4 // SPDX-License-Identifier: Zlib
5 //
6 // This siHAL software is provided 'as-is', without any express or implied
7 // warranty. In no event will the authors be held liable for any damages
8 // arising from the use of this software.
9 //
10 // Permission is granted to anyone to use this software for any purpose,
11 // including commercial applications, and to alter it and redistribute it
12 // freely, subject to the following restrictions:
13 //
14 // 1. The origin of this software must not be misrepresented; you must not
15 //    claim that you wrote the original software. If you use this software
16 //    in a product, an acknowledgment in the product documentation would be
17 //    appreciated but is not required.
18 // 2. Altered source versions must be plainly marked as such, and must not be
19 //    misrepresented as being the original software.
20 // 3. This notice may not be removed or altered from any source distribution.
21 //------------------------------------------------------------------------------
22 //
23 // This file applies to the SIM3U1XX_RSTSRC_A module
24 //
25 // Script: 0.57
26 // Version: 1
27 
28 #ifndef __SI32_RSTSRC_A_REGISTERS_H__
29 #define __SI32_RSTSRC_A_REGISTERS_H__
30 
31 #include <stdint.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 struct SI32_RSTSRC_A_RESETEN_Struct
38 {
39    union
40    {
41       struct
42       {
43                   uint32_t reserved0: 2;
44          // Voltage Supply Monitor VDD Reset Enable
45          volatile uint32_t VMONREN: 1;
46                   uint32_t reserved1: 1;
47          // Missing Clock Detector Reset Enable
48          volatile uint32_t MCDREN: 1;
49          // Watchdog Timer Reset Enable
50          volatile uint32_t WDTREN: 1;
51          // Software Reset
52          volatile uint32_t SWREN: 1;
53          // Comparator 0 Reset Enable
54          volatile uint32_t CMP0REN: 1;
55          // Comparator 1 Reset Enable
56          volatile uint32_t CMP1REN: 1;
57          // USB0 Reset Enable
58          volatile uint32_t USB0REN: 1;
59          // RTC0 Reset Enable
60          volatile uint32_t RTC0REN: 1;
61          // PMU Wakeup Reset Enable
62          volatile uint32_t WAKEREN: 1;
63                   uint32_t reserved2: 20;
64       };
65       volatile uint32_t U32;
66    };
67 };
68 
69 #define SI32_RSTSRC_A_RESETEN_VMONREN_MASK  0x00000004
70 #define SI32_RSTSRC_A_RESETEN_VMONREN_SHIFT  2
71 // Disable the Voltage Supply Monitor VDD event as a reset source.
72 #define SI32_RSTSRC_A_RESETEN_VMONREN_DISABLED_VALUE  0
73 #define SI32_RSTSRC_A_RESETEN_VMONREN_DISABLED_U32 \
74    (SI32_RSTSRC_A_RESETEN_VMONREN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_VMONREN_SHIFT)
75 // Enable the Voltage Supply Monitor VDD event as a reset source.
76 #define SI32_RSTSRC_A_RESETEN_VMONREN_ENABLED_VALUE  1
77 #define SI32_RSTSRC_A_RESETEN_VMONREN_ENABLED_U32 \
78    (SI32_RSTSRC_A_RESETEN_VMONREN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_VMONREN_SHIFT)
79 
80 #define SI32_RSTSRC_A_RESETEN_MCDREN_MASK  0x00000010
81 #define SI32_RSTSRC_A_RESETEN_MCDREN_SHIFT  4
82 // Disable the Missing Clock Detector event as a reset source.
83 #define SI32_RSTSRC_A_RESETEN_MCDREN_DISABLED_VALUE  0
84 #define SI32_RSTSRC_A_RESETEN_MCDREN_DISABLED_U32 \
85    (SI32_RSTSRC_A_RESETEN_MCDREN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_MCDREN_SHIFT)
86 // Enable the Missing Clock Detector event as a reset source.
87 #define SI32_RSTSRC_A_RESETEN_MCDREN_ENABLED_VALUE  1
88 #define SI32_RSTSRC_A_RESETEN_MCDREN_ENABLED_U32 \
89    (SI32_RSTSRC_A_RESETEN_MCDREN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_MCDREN_SHIFT)
90 
91 #define SI32_RSTSRC_A_RESETEN_WDTREN_MASK  0x00000020
92 #define SI32_RSTSRC_A_RESETEN_WDTREN_SHIFT  5
93 // Disable the Watchdog Timer event as a reset source.
94 #define SI32_RSTSRC_A_RESETEN_WDTREN_DISABLED_VALUE  0
95 #define SI32_RSTSRC_A_RESETEN_WDTREN_DISABLED_U32 \
96    (SI32_RSTSRC_A_RESETEN_WDTREN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_WDTREN_SHIFT)
97 // Enable the Watchdog Timer event as a reset source.
98 #define SI32_RSTSRC_A_RESETEN_WDTREN_ENABLED_VALUE  1
99 #define SI32_RSTSRC_A_RESETEN_WDTREN_ENABLED_U32 \
100    (SI32_RSTSRC_A_RESETEN_WDTREN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_WDTREN_SHIFT)
101 
102 #define SI32_RSTSRC_A_RESETEN_SWREN_MASK  0x00000040
103 #define SI32_RSTSRC_A_RESETEN_SWREN_SHIFT  6
104 // Do not generate a Software Reset.
105 #define SI32_RSTSRC_A_RESETEN_SWREN_DISABLED_VALUE  0
106 #define SI32_RSTSRC_A_RESETEN_SWREN_DISABLED_U32 \
107    (SI32_RSTSRC_A_RESETEN_SWREN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_SWREN_SHIFT)
108 // Generate a Software Reset.
109 #define SI32_RSTSRC_A_RESETEN_SWREN_ENABLED_VALUE  1
110 #define SI32_RSTSRC_A_RESETEN_SWREN_ENABLED_U32 \
111    (SI32_RSTSRC_A_RESETEN_SWREN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_SWREN_SHIFT)
112 
113 #define SI32_RSTSRC_A_RESETEN_CMP0REN_MASK  0x00000080
114 #define SI32_RSTSRC_A_RESETEN_CMP0REN_SHIFT  7
115 // Disable the Comparator 0 event as a reset source.
116 #define SI32_RSTSRC_A_RESETEN_CMP0REN_DISABLED_VALUE  0
117 #define SI32_RSTSRC_A_RESETEN_CMP0REN_DISABLED_U32 \
118    (SI32_RSTSRC_A_RESETEN_CMP0REN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_CMP0REN_SHIFT)
119 // Enable the Comparator 0 event as a reset source.
120 #define SI32_RSTSRC_A_RESETEN_CMP0REN_ENABLED_VALUE  1
121 #define SI32_RSTSRC_A_RESETEN_CMP0REN_ENABLED_U32 \
122    (SI32_RSTSRC_A_RESETEN_CMP0REN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_CMP0REN_SHIFT)
123 
124 #define SI32_RSTSRC_A_RESETEN_CMP1REN_MASK  0x00000100
125 #define SI32_RSTSRC_A_RESETEN_CMP1REN_SHIFT  8
126 // Disable the Comparator 1 event as a reset source.
127 #define SI32_RSTSRC_A_RESETEN_CMP1REN_DISABLED_VALUE  0
128 #define SI32_RSTSRC_A_RESETEN_CMP1REN_DISABLED_U32 \
129    (SI32_RSTSRC_A_RESETEN_CMP1REN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_CMP1REN_SHIFT)
130 // Enable the Comparator 1 event as a reset source.
131 #define SI32_RSTSRC_A_RESETEN_CMP1REN_ENABLED_VALUE  1
132 #define SI32_RSTSRC_A_RESETEN_CMP1REN_ENABLED_U32 \
133    (SI32_RSTSRC_A_RESETEN_CMP1REN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_CMP1REN_SHIFT)
134 
135 #define SI32_RSTSRC_A_RESETEN_USB0REN_MASK  0x00000200
136 #define SI32_RSTSRC_A_RESETEN_USB0REN_SHIFT  9
137 // Disable the USB0 reset event as a reset source.
138 #define SI32_RSTSRC_A_RESETEN_USB0REN_DISABLED_VALUE  0
139 #define SI32_RSTSRC_A_RESETEN_USB0REN_DISABLED_U32 \
140    (SI32_RSTSRC_A_RESETEN_USB0REN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_USB0REN_SHIFT)
141 // Enable the USB0 reset event as a reset source.
142 #define SI32_RSTSRC_A_RESETEN_USB0REN_ENABLED_VALUE  1
143 #define SI32_RSTSRC_A_RESETEN_USB0REN_ENABLED_U32 \
144    (SI32_RSTSRC_A_RESETEN_USB0REN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_USB0REN_SHIFT)
145 
146 #define SI32_RSTSRC_A_RESETEN_RTC0REN_MASK  0x00000400
147 #define SI32_RSTSRC_A_RESETEN_RTC0REN_SHIFT  10
148 // Disable the RTC0 event as a reset source.
149 #define SI32_RSTSRC_A_RESETEN_RTC0REN_DISABLED_VALUE  0
150 #define SI32_RSTSRC_A_RESETEN_RTC0REN_DISABLED_U32 \
151    (SI32_RSTSRC_A_RESETEN_RTC0REN_DISABLED_VALUE << SI32_RSTSRC_A_RESETEN_RTC0REN_SHIFT)
152 // Enable the RTC0 event as a reset source.
153 #define SI32_RSTSRC_A_RESETEN_RTC0REN_ENABLED_VALUE  1
154 #define SI32_RSTSRC_A_RESETEN_RTC0REN_ENABLED_U32 \
155    (SI32_RSTSRC_A_RESETEN_RTC0REN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_RTC0REN_SHIFT)
156 
157 #define SI32_RSTSRC_A_RESETEN_WAKEREN_MASK  0x00000800
158 #define SI32_RSTSRC_A_RESETEN_WAKEREN_SHIFT  11
159 // Enable the PMU Wakeup event as a reset source.
160 #define SI32_RSTSRC_A_RESETEN_WAKEREN_ENABLED_VALUE  1
161 #define SI32_RSTSRC_A_RESETEN_WAKEREN_ENABLED_U32 \
162    (SI32_RSTSRC_A_RESETEN_WAKEREN_ENABLED_VALUE << SI32_RSTSRC_A_RESETEN_WAKEREN_SHIFT)
163 
164 
165 
166 struct SI32_RSTSRC_A_RESETFLAG_Struct
167 {
168    union
169    {
170       struct
171       {
172          // Pin Reset Flag
173          volatile uint32_t PINRF: 1;
174          // Power-On Reset Flag
175          volatile uint32_t PORRF: 1;
176          // Voltage Supply Monitor VDD Reset Flag
177          volatile uint32_t VMONRF: 1;
178          // Core Reset Flag
179          volatile uint32_t CORERF: 1;
180          // Missing Clock Detector Reset Flag
181          volatile uint32_t MCDRF: 1;
182          // Watchdog Timer Reset Flag
183          volatile uint32_t WDTRF: 1;
184          // Software Reset Flag
185          volatile uint32_t SWRF: 1;
186          // Comparator 0 Reset Flag
187          volatile uint32_t CMP0RF: 1;
188          // Comparator 1 Reset Flag
189          volatile uint32_t CMP1RF: 1;
190          // USB0 Reset Flag
191          volatile uint32_t USB0RF: 1;
192          // RTC0 Reset Flag
193          volatile uint32_t RTC0RF: 1;
194          // PMU Wakeup Reset Flag
195          volatile uint32_t WAKERF: 1;
196                   uint32_t reserved0: 20;
197       };
198       volatile uint32_t U32;
199    };
200 };
201 
202 #define SI32_RSTSRC_A_RESETFLAG_PINRF_MASK  0x00000001
203 #define SI32_RSTSRC_A_RESETFLAG_PINRF_SHIFT  0
204 // A /RESET pin event did not cause the last system reset.
205 #define SI32_RSTSRC_A_RESETFLAG_PINRF_NOT_SET_VALUE  0
206 #define SI32_RSTSRC_A_RESETFLAG_PINRF_NOT_SET_U32 \
207    (SI32_RSTSRC_A_RESETFLAG_PINRF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_PINRF_SHIFT)
208 // A /RESET pin event caused the last system reset.
209 #define SI32_RSTSRC_A_RESETFLAG_PINRF_SET_VALUE  1
210 #define SI32_RSTSRC_A_RESETFLAG_PINRF_SET_U32 \
211    (SI32_RSTSRC_A_RESETFLAG_PINRF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_PINRF_SHIFT)
212 
213 #define SI32_RSTSRC_A_RESETFLAG_PORRF_MASK  0x00000002
214 #define SI32_RSTSRC_A_RESETFLAG_PORRF_SHIFT  1
215 // A Power-On Reset event did not cause the last system reset.
216 #define SI32_RSTSRC_A_RESETFLAG_PORRF_NOT_SET_VALUE  0
217 #define SI32_RSTSRC_A_RESETFLAG_PORRF_NOT_SET_U32 \
218    (SI32_RSTSRC_A_RESETFLAG_PORRF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_PORRF_SHIFT)
219 // A Power-On Reset event caused the last system reset.
220 #define SI32_RSTSRC_A_RESETFLAG_PORRF_SET_VALUE  1
221 #define SI32_RSTSRC_A_RESETFLAG_PORRF_SET_U32 \
222    (SI32_RSTSRC_A_RESETFLAG_PORRF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_PORRF_SHIFT)
223 
224 #define SI32_RSTSRC_A_RESETFLAG_VMONRF_MASK  0x00000004
225 #define SI32_RSTSRC_A_RESETFLAG_VMONRF_SHIFT  2
226 // A Voltage Supply Monitor VDD Reset event did not cause the last system reset.
227 #define SI32_RSTSRC_A_RESETFLAG_VMONRF_NOT_SET_VALUE  0
228 #define SI32_RSTSRC_A_RESETFLAG_VMONRF_NOT_SET_U32 \
229    (SI32_RSTSRC_A_RESETFLAG_VMONRF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_VMONRF_SHIFT)
230 // A Voltage Supply Monitor VDD Reset event caused the last system reset.
231 #define SI32_RSTSRC_A_RESETFLAG_VMONRF_SET_VALUE  1
232 #define SI32_RSTSRC_A_RESETFLAG_VMONRF_SET_U32 \
233    (SI32_RSTSRC_A_RESETFLAG_VMONRF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_VMONRF_SHIFT)
234 
235 #define SI32_RSTSRC_A_RESETFLAG_CORERF_MASK  0x00000008
236 #define SI32_RSTSRC_A_RESETFLAG_CORERF_SHIFT  3
237 // A Core Reset event did not cause the last system reset.
238 #define SI32_RSTSRC_A_RESETFLAG_CORERF_NOT_SET_VALUE  0
239 #define SI32_RSTSRC_A_RESETFLAG_CORERF_NOT_SET_U32 \
240    (SI32_RSTSRC_A_RESETFLAG_CORERF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_CORERF_SHIFT)
241 // A Core Reset event caused the last system reset.
242 #define SI32_RSTSRC_A_RESETFLAG_CORERF_SET_VALUE  1
243 #define SI32_RSTSRC_A_RESETFLAG_CORERF_SET_U32 \
244    (SI32_RSTSRC_A_RESETFLAG_CORERF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_CORERF_SHIFT)
245 
246 #define SI32_RSTSRC_A_RESETFLAG_MCDRF_MASK  0x00000010
247 #define SI32_RSTSRC_A_RESETFLAG_MCDRF_SHIFT  4
248 // A Missing Clock Detector event did not cause the last system reset.
249 #define SI32_RSTSRC_A_RESETFLAG_MCDRF_NOT_SET_VALUE  0
250 #define SI32_RSTSRC_A_RESETFLAG_MCDRF_NOT_SET_U32 \
251    (SI32_RSTSRC_A_RESETFLAG_MCDRF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_MCDRF_SHIFT)
252 // A Missing Clock Detector event caused the last system reset.
253 #define SI32_RSTSRC_A_RESETFLAG_MCDRF_SET_VALUE  1
254 #define SI32_RSTSRC_A_RESETFLAG_MCDRF_SET_U32 \
255    (SI32_RSTSRC_A_RESETFLAG_MCDRF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_MCDRF_SHIFT)
256 
257 #define SI32_RSTSRC_A_RESETFLAG_WDTRF_MASK  0x00000020
258 #define SI32_RSTSRC_A_RESETFLAG_WDTRF_SHIFT  5
259 // A Watchdog Timer event did not cause the last system reset.
260 #define SI32_RSTSRC_A_RESETFLAG_WDTRF_NOT_SET_VALUE  0
261 #define SI32_RSTSRC_A_RESETFLAG_WDTRF_NOT_SET_U32 \
262    (SI32_RSTSRC_A_RESETFLAG_WDTRF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_WDTRF_SHIFT)
263 // A Watchdog Timer event caused the last system reset.
264 #define SI32_RSTSRC_A_RESETFLAG_WDTRF_SET_VALUE  1
265 #define SI32_RSTSRC_A_RESETFLAG_WDTRF_SET_U32 \
266    (SI32_RSTSRC_A_RESETFLAG_WDTRF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_WDTRF_SHIFT)
267 
268 #define SI32_RSTSRC_A_RESETFLAG_SWRF_MASK  0x00000040
269 #define SI32_RSTSRC_A_RESETFLAG_SWRF_SHIFT  6
270 // A Software Reset event did not cause the last system reset.
271 #define SI32_RSTSRC_A_RESETFLAG_SWRF_NOT_SET_VALUE  0
272 #define SI32_RSTSRC_A_RESETFLAG_SWRF_NOT_SET_U32 \
273    (SI32_RSTSRC_A_RESETFLAG_SWRF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_SWRF_SHIFT)
274 // A Software Reset event caused the last system reset.
275 #define SI32_RSTSRC_A_RESETFLAG_SWRF_SET_VALUE  1
276 #define SI32_RSTSRC_A_RESETFLAG_SWRF_SET_U32 \
277    (SI32_RSTSRC_A_RESETFLAG_SWRF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_SWRF_SHIFT)
278 
279 #define SI32_RSTSRC_A_RESETFLAG_CMP0RF_MASK  0x00000080
280 #define SI32_RSTSRC_A_RESETFLAG_CMP0RF_SHIFT  7
281 // A Comparator 0 event did not cause the last system reset.
282 #define SI32_RSTSRC_A_RESETFLAG_CMP0RF_NOT_SET_VALUE  0
283 #define SI32_RSTSRC_A_RESETFLAG_CMP0RF_NOT_SET_U32 \
284    (SI32_RSTSRC_A_RESETFLAG_CMP0RF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_CMP0RF_SHIFT)
285 // A Comparator 0 event caused the last system reset.
286 #define SI32_RSTSRC_A_RESETFLAG_CMP0RF_SET_VALUE  1
287 #define SI32_RSTSRC_A_RESETFLAG_CMP0RF_SET_U32 \
288    (SI32_RSTSRC_A_RESETFLAG_CMP0RF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_CMP0RF_SHIFT)
289 
290 #define SI32_RSTSRC_A_RESETFLAG_CMP1RF_MASK  0x00000100
291 #define SI32_RSTSRC_A_RESETFLAG_CMP1RF_SHIFT  8
292 // A Comparator 1 event did not cause the last system reset.
293 #define SI32_RSTSRC_A_RESETFLAG_CMP1RF_NOT_SET_VALUE  0
294 #define SI32_RSTSRC_A_RESETFLAG_CMP1RF_NOT_SET_U32 \
295    (SI32_RSTSRC_A_RESETFLAG_CMP1RF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_CMP1RF_SHIFT)
296 // A Comparator 1 event caused the last system reset.
297 #define SI32_RSTSRC_A_RESETFLAG_CMP1RF_SET_VALUE  1
298 #define SI32_RSTSRC_A_RESETFLAG_CMP1RF_SET_U32 \
299    (SI32_RSTSRC_A_RESETFLAG_CMP1RF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_CMP1RF_SHIFT)
300 
301 #define SI32_RSTSRC_A_RESETFLAG_USB0RF_MASK  0x00000200
302 #define SI32_RSTSRC_A_RESETFLAG_USB0RF_SHIFT  9
303 // A USB0 Reset event did not cause the last system reset.
304 #define SI32_RSTSRC_A_RESETFLAG_USB0RF_NOT_SET_VALUE  0
305 #define SI32_RSTSRC_A_RESETFLAG_USB0RF_NOT_SET_U32 \
306    (SI32_RSTSRC_A_RESETFLAG_USB0RF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_USB0RF_SHIFT)
307 // A USB0 Reset event caused the last system reset.
308 #define SI32_RSTSRC_A_RESETFLAG_USB0RF_SET_VALUE  1
309 #define SI32_RSTSRC_A_RESETFLAG_USB0RF_SET_U32 \
310    (SI32_RSTSRC_A_RESETFLAG_USB0RF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_USB0RF_SHIFT)
311 
312 #define SI32_RSTSRC_A_RESETFLAG_RTC0RF_MASK  0x00000400
313 #define SI32_RSTSRC_A_RESETFLAG_RTC0RF_SHIFT  10
314 // An RTC0 event did not cause the last system reset.
315 #define SI32_RSTSRC_A_RESETFLAG_RTC0RF_NOT_SET_VALUE  0
316 #define SI32_RSTSRC_A_RESETFLAG_RTC0RF_NOT_SET_U32 \
317    (SI32_RSTSRC_A_RESETFLAG_RTC0RF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_RTC0RF_SHIFT)
318 // An RTC0 event caused the last system reset.
319 #define SI32_RSTSRC_A_RESETFLAG_RTC0RF_SET_VALUE  1
320 #define SI32_RSTSRC_A_RESETFLAG_RTC0RF_SET_U32 \
321    (SI32_RSTSRC_A_RESETFLAG_RTC0RF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_RTC0RF_SHIFT)
322 
323 #define SI32_RSTSRC_A_RESETFLAG_WAKERF_MASK  0x00000800
324 #define SI32_RSTSRC_A_RESETFLAG_WAKERF_SHIFT  11
325 // A PMU Wakeup event did not cause the last system reset.
326 #define SI32_RSTSRC_A_RESETFLAG_WAKERF_NOT_SET_VALUE  0
327 #define SI32_RSTSRC_A_RESETFLAG_WAKERF_NOT_SET_U32 \
328    (SI32_RSTSRC_A_RESETFLAG_WAKERF_NOT_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_WAKERF_SHIFT)
329 // A PMU Wakeup event caused the last system reset.
330 #define SI32_RSTSRC_A_RESETFLAG_WAKERF_SET_VALUE  1
331 #define SI32_RSTSRC_A_RESETFLAG_WAKERF_SET_U32 \
332    (SI32_RSTSRC_A_RESETFLAG_WAKERF_SET_VALUE << SI32_RSTSRC_A_RESETFLAG_WAKERF_SHIFT)
333 
334 
335 
336 struct SI32_RSTSRC_A_CONFIG_Struct
337 {
338    union
339    {
340       struct
341       {
342          // Power Mode Select
343          volatile uint32_t PMSEL: 1;
344                   uint32_t reserved0: 31;
345       };
346       volatile uint32_t U32;
347    };
348 };
349 
350 #define SI32_RSTSRC_A_CONFIG_PMSEL_MASK  0x00000001
351 #define SI32_RSTSRC_A_CONFIG_PMSEL_SHIFT  0
352 // Power Mode < PM9.
353 #define SI32_RSTSRC_A_CONFIG_PMSEL_PM9_DIS_VALUE  0
354 #define SI32_RSTSRC_A_CONFIG_PMSEL_PM9_DIS_U32 \
355    (SI32_RSTSRC_A_CONFIG_PMSEL_PM9_DIS_VALUE << SI32_RSTSRC_A_CONFIG_PMSEL_SHIFT)
356 // Power Mode = PM9.
357 #define SI32_RSTSRC_A_CONFIG_PMSEL_PM9_EN_VALUE  1
358 #define SI32_RSTSRC_A_CONFIG_PMSEL_PM9_EN_U32 \
359    (SI32_RSTSRC_A_CONFIG_PMSEL_PM9_EN_VALUE << SI32_RSTSRC_A_CONFIG_PMSEL_SHIFT)
360 
361 
362 
363 typedef struct SI32_RSTSRC_A_Struct
364 {
365    struct SI32_RSTSRC_A_RESETEN_Struct             RESETEN        ; // Base Address + 0x0
366    volatile uint32_t                               RESETEN_SET;
367    volatile uint32_t                               RESETEN_CLR;
368    uint32_t                                        reserved0;
369    struct SI32_RSTSRC_A_RESETFLAG_Struct           RESETFLAG      ; // Base Address + 0x10
370    uint32_t                                        reserved1;
371    uint32_t                                        reserved2;
372    uint32_t                                        reserved3;
373    struct SI32_RSTSRC_A_CONFIG_Struct              CONFIG         ; // Base Address + 0x20
374    volatile uint32_t                               CONFIG_SET;
375    volatile uint32_t                               CONFIG_CLR;
376    uint32_t                                        reserved4;
377    uint32_t                                        reserved5[4];
378 } SI32_RSTSRC_A_Type;
379 
380 #ifdef __cplusplus
381 }
382 #endif
383 
384 #endif // __SI32_RSTSRC_A_REGISTERS_H__
385 
386 //-eof--------------------------------------------------------------------------
387 
388