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 SIM3C1XX_PMU_A module
24 //
25 // Script: 0.57
26 // Version: 1
27 
28 #ifndef __SI32_PMU_A_REGISTERS_H__
29 #define __SI32_PMU_A_REGISTERS_H__
30 
31 #include <stdint.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 struct SI32_PMU_A_CONTROL_Struct
38 {
39    union
40    {
41       struct
42       {
43          // Wakeup Source Clear
44          volatile uint32_t WAKECLR: 1;
45          // Peripheral Low Power Enable
46          volatile uint32_t PERILPEN: 1;
47          // Pin Low Power Enable
48          volatile uint32_t PINLPEN: 1;
49          // Pin Wake Match Enable
50          volatile uint32_t PWAKEEN: 1;
51          // PMU Asleep Pin Enable
52          volatile uint32_t PMUASLPEN: 1;
53                   uint32_t reserved0: 27;
54       };
55       volatile uint32_t U32;
56    };
57 };
58 
59 #define SI32_PMU_A_CONTROL_WAKECLR_MASK  0x00000001
60 #define SI32_PMU_A_CONTROL_WAKECLR_SHIFT  0
61 // Clear all wakeup sources.
62 #define SI32_PMU_A_CONTROL_WAKECLR_CLEAR_VALUE  0
63 #define SI32_PMU_A_CONTROL_WAKECLR_CLEAR_U32 \
64    (SI32_PMU_A_CONTROL_WAKECLR_CLEAR_VALUE << SI32_PMU_A_CONTROL_WAKECLR_SHIFT)
65 
66 #define SI32_PMU_A_CONTROL_PERILPEN_MASK  0x00000002
67 #define SI32_PMU_A_CONTROL_PERILPEN_SHIFT  1
68 // Disable the peripheral low power state.
69 #define SI32_PMU_A_CONTROL_PERILPEN_DISABLED_VALUE  0
70 #define SI32_PMU_A_CONTROL_PERILPEN_DISABLED_U32 \
71    (SI32_PMU_A_CONTROL_PERILPEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_PERILPEN_SHIFT)
72 // Enable the peripheral low power state. The peripherals will not be accessible in
73 // this state.
74 #define SI32_PMU_A_CONTROL_PERILPEN_ENABLED_VALUE  1
75 #define SI32_PMU_A_CONTROL_PERILPEN_ENABLED_U32 \
76    (SI32_PMU_A_CONTROL_PERILPEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_PERILPEN_SHIFT)
77 
78 #define SI32_PMU_A_CONTROL_PINLPEN_MASK  0x00000004
79 #define SI32_PMU_A_CONTROL_PINLPEN_SHIFT  2
80 // Disable the pin low power state.
81 #define SI32_PMU_A_CONTROL_PINLPEN_DISABLED_VALUE  0
82 #define SI32_PMU_A_CONTROL_PINLPEN_DISABLED_U32 \
83    (SI32_PMU_A_CONTROL_PINLPEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_PINLPEN_SHIFT)
84 // Enable the pin low power state. The pins will not be accessible in this state.
85 #define SI32_PMU_A_CONTROL_PINLPEN_ENABLED_VALUE  1
86 #define SI32_PMU_A_CONTROL_PINLPEN_ENABLED_U32 \
87    (SI32_PMU_A_CONTROL_PINLPEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_PINLPEN_SHIFT)
88 
89 #define SI32_PMU_A_CONTROL_PWAKEEN_MASK  0x00000008
90 #define SI32_PMU_A_CONTROL_PWAKEEN_SHIFT  3
91 // Disable Pin Wake.
92 #define SI32_PMU_A_CONTROL_PWAKEEN_DISABLED_VALUE  0
93 #define SI32_PMU_A_CONTROL_PWAKEEN_DISABLED_U32 \
94    (SI32_PMU_A_CONTROL_PWAKEEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_PWAKEEN_SHIFT)
95 // Enable Pin Wake.
96 #define SI32_PMU_A_CONTROL_PWAKEEN_ENABLED_VALUE  1
97 #define SI32_PMU_A_CONTROL_PWAKEEN_ENABLED_U32 \
98    (SI32_PMU_A_CONTROL_PWAKEEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_PWAKEEN_SHIFT)
99 
100 #define SI32_PMU_A_CONTROL_PMUASLPEN_MASK  0x00000010
101 #define SI32_PMU_A_CONTROL_PMUASLPEN_SHIFT  4
102 // Disable the PMU Asleep pin.
103 #define SI32_PMU_A_CONTROL_PMUASLPEN_DISABLED_VALUE  0
104 #define SI32_PMU_A_CONTROL_PMUASLPEN_DISABLED_U32 \
105    (SI32_PMU_A_CONTROL_PMUASLPEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_PMUASLPEN_SHIFT)
106 // Enable the PMU Asleep pin.
107 #define SI32_PMU_A_CONTROL_PMUASLPEN_ENABLED_VALUE  1
108 #define SI32_PMU_A_CONTROL_PMUASLPEN_ENABLED_U32 \
109    (SI32_PMU_A_CONTROL_PMUASLPEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_PMUASLPEN_SHIFT)
110 
111 
112 
113 struct SI32_PMU_A_CONFIG_Struct
114 {
115    union
116    {
117       struct
118       {
119                   uint32_t reserved0: 8;
120          // RTC0 Fail RTC0/LPTIMER0 Reset Enable
121          volatile uint32_t RTC0FREN: 1;
122          // RTC0 Alarm RTC0/LPTIMER0 Reset Enable
123          volatile uint32_t RTC0AREN: 1;
124                   uint32_t reserved1: 3;
125          // Comparator 0 RTC0/LPTIMER0 Reset Enable
126          volatile uint32_t CMP0REN: 1;
127          // Pin Wake RTC0/LPTIMER0 Reset Enable
128          volatile uint32_t PWAKEREN: 1;
129          // Low Power Timer RTC0/LPTIMER0 Reset Enable
130          volatile uint32_t LPT0REN: 1;
131                   uint32_t reserved2: 16;
132       };
133       volatile uint32_t U32;
134    };
135 };
136 
137 #define SI32_PMU_A_CONFIG_RTC0FREN_MASK  0x00000100
138 #define SI32_PMU_A_CONFIG_RTC0FREN_SHIFT  8
139 // An RTC0 fail event does not cause the RTC0 and LPTIMER0 modules to reset.
140 #define SI32_PMU_A_CONFIG_RTC0FREN_DISABLED_VALUE  0
141 #define SI32_PMU_A_CONFIG_RTC0FREN_DISABLED_U32 \
142    (SI32_PMU_A_CONFIG_RTC0FREN_DISABLED_VALUE << SI32_PMU_A_CONFIG_RTC0FREN_SHIFT)
143 // An RTC0 fail event causes the RTC0 and LPTIMER0 modules to reset.
144 #define SI32_PMU_A_CONFIG_RTC0FREN_ENABLED_VALUE  1
145 #define SI32_PMU_A_CONFIG_RTC0FREN_ENABLED_U32 \
146    (SI32_PMU_A_CONFIG_RTC0FREN_ENABLED_VALUE << SI32_PMU_A_CONFIG_RTC0FREN_SHIFT)
147 
148 #define SI32_PMU_A_CONFIG_RTC0AREN_MASK  0x00000200
149 #define SI32_PMU_A_CONFIG_RTC0AREN_SHIFT  9
150 // An RTC0 alarm event does not cause the RTC0 and LPTIMER0 modules to reset.
151 #define SI32_PMU_A_CONFIG_RTC0AREN_DISABLED_VALUE  0
152 #define SI32_PMU_A_CONFIG_RTC0AREN_DISABLED_U32 \
153    (SI32_PMU_A_CONFIG_RTC0AREN_DISABLED_VALUE << SI32_PMU_A_CONFIG_RTC0AREN_SHIFT)
154 // An RTC0 alarm event causes the RTC0 and LPTIMER0 modules to reset.
155 #define SI32_PMU_A_CONFIG_RTC0AREN_ENABLED_VALUE  1
156 #define SI32_PMU_A_CONFIG_RTC0AREN_ENABLED_U32 \
157    (SI32_PMU_A_CONFIG_RTC0AREN_ENABLED_VALUE << SI32_PMU_A_CONFIG_RTC0AREN_SHIFT)
158 
159 #define SI32_PMU_A_CONFIG_CMP0REN_MASK  0x00002000
160 #define SI32_PMU_A_CONFIG_CMP0REN_SHIFT  13
161 // A Comparator 0 event does not cause the RTC0 and LPTIMER0 modules to reset.
162 #define SI32_PMU_A_CONFIG_CMP0REN_DISABLED_VALUE  0
163 #define SI32_PMU_A_CONFIG_CMP0REN_DISABLED_U32 \
164    (SI32_PMU_A_CONFIG_CMP0REN_DISABLED_VALUE << SI32_PMU_A_CONFIG_CMP0REN_SHIFT)
165 // A Comparator 0 event causes the RTC0 and LPTIMER0 modules to reset.
166 #define SI32_PMU_A_CONFIG_CMP0REN_ENABLED_VALUE  1
167 #define SI32_PMU_A_CONFIG_CMP0REN_ENABLED_U32 \
168    (SI32_PMU_A_CONFIG_CMP0REN_ENABLED_VALUE << SI32_PMU_A_CONFIG_CMP0REN_SHIFT)
169 
170 #define SI32_PMU_A_CONFIG_PWAKEREN_MASK  0x00004000
171 #define SI32_PMU_A_CONFIG_PWAKEREN_SHIFT  14
172 // A Pin Wake event does not cause the RTC0 and LPTIMER0 modules to reset.
173 #define SI32_PMU_A_CONFIG_PWAKEREN_DISABLED_VALUE  0
174 #define SI32_PMU_A_CONFIG_PWAKEREN_DISABLED_U32 \
175    (SI32_PMU_A_CONFIG_PWAKEREN_DISABLED_VALUE << SI32_PMU_A_CONFIG_PWAKEREN_SHIFT)
176 // A Pin Wake event causes the RTC0 and LPTIMER0 modules to reset.
177 #define SI32_PMU_A_CONFIG_PWAKEREN_ENABLED_VALUE  1
178 #define SI32_PMU_A_CONFIG_PWAKEREN_ENABLED_U32 \
179    (SI32_PMU_A_CONFIG_PWAKEREN_ENABLED_VALUE << SI32_PMU_A_CONFIG_PWAKEREN_SHIFT)
180 
181 #define SI32_PMU_A_CONFIG_LPT0REN_MASK  0x00008000
182 #define SI32_PMU_A_CONFIG_LPT0REN_SHIFT  15
183 // An LPTIMER0 event does not cause the RTC0 and LPTIMER0 modules to reset.
184 #define SI32_PMU_A_CONFIG_LPT0REN_DISABLED_VALUE  0
185 #define SI32_PMU_A_CONFIG_LPT0REN_DISABLED_U32 \
186    (SI32_PMU_A_CONFIG_LPT0REN_DISABLED_VALUE << SI32_PMU_A_CONFIG_LPT0REN_SHIFT)
187 // An LPTIMER0 event causes the RTC0 and LPTIMER0 modules to reset.
188 #define SI32_PMU_A_CONFIG_LPT0REN_ENABLED_VALUE  1
189 #define SI32_PMU_A_CONFIG_LPT0REN_ENABLED_U32 \
190    (SI32_PMU_A_CONFIG_LPT0REN_ENABLED_VALUE << SI32_PMU_A_CONFIG_LPT0REN_SHIFT)
191 
192 
193 
194 struct SI32_PMU_A_STATUS_Struct
195 {
196    union
197    {
198       struct
199       {
200          // Power Mode 9 Exited Flag
201          volatile uint32_t PM9EF: 1;
202          // Pin Wake Status Flag
203          volatile uint32_t PWAKEF: 1;
204          // Power-On Reset Flag
205          volatile uint32_t PORF: 1;
206                   uint32_t reserved0: 29;
207       };
208       volatile uint32_t U32;
209    };
210 };
211 
212 #define SI32_PMU_A_STATUS_PM9EF_MASK  0x00000001
213 #define SI32_PMU_A_STATUS_PM9EF_SHIFT  0
214 // The device has not exited Power Mode 9.
215 #define SI32_PMU_A_STATUS_PM9EF_NOT_SET_VALUE  0
216 #define SI32_PMU_A_STATUS_PM9EF_NOT_SET_U32 \
217    (SI32_PMU_A_STATUS_PM9EF_NOT_SET_VALUE << SI32_PMU_A_STATUS_PM9EF_SHIFT)
218 // The device has exited Power Mode 9. This bit must be cleared by firmware.
219 #define SI32_PMU_A_STATUS_PM9EF_SET_VALUE  1
220 #define SI32_PMU_A_STATUS_PM9EF_SET_U32 \
221    (SI32_PMU_A_STATUS_PM9EF_SET_VALUE << SI32_PMU_A_STATUS_PM9EF_SHIFT)
222 
223 #define SI32_PMU_A_STATUS_PWAKEF_MASK  0x00000002
224 #define SI32_PMU_A_STATUS_PWAKEF_SHIFT  1
225 // A Pin Wake event has occurred.
226 #define SI32_PMU_A_STATUS_PWAKEF_SET_VALUE  0
227 #define SI32_PMU_A_STATUS_PWAKEF_SET_U32 \
228    (SI32_PMU_A_STATUS_PWAKEF_SET_VALUE << SI32_PMU_A_STATUS_PWAKEF_SHIFT)
229 // A Pin Wake event has not occurred.
230 #define SI32_PMU_A_STATUS_PWAKEF_NOT_SET_VALUE  1
231 #define SI32_PMU_A_STATUS_PWAKEF_NOT_SET_U32 \
232    (SI32_PMU_A_STATUS_PWAKEF_NOT_SET_VALUE << SI32_PMU_A_STATUS_PWAKEF_SHIFT)
233 
234 #define SI32_PMU_A_STATUS_PORF_MASK  0x00000004
235 #define SI32_PMU_A_STATUS_PORF_SHIFT  2
236 // A power-on reset did not occur since the last time PORF was cleared.
237 #define SI32_PMU_A_STATUS_PORF_NOT_SET_VALUE  0
238 #define SI32_PMU_A_STATUS_PORF_NOT_SET_U32 \
239    (SI32_PMU_A_STATUS_PORF_NOT_SET_VALUE << SI32_PMU_A_STATUS_PORF_SHIFT)
240 // A power-on reset occurred.
241 #define SI32_PMU_A_STATUS_PORF_SET_VALUE  1
242 #define SI32_PMU_A_STATUS_PORF_SET_U32 \
243    (SI32_PMU_A_STATUS_PORF_SET_VALUE << SI32_PMU_A_STATUS_PORF_SHIFT)
244 
245 
246 
247 struct SI32_PMU_A_WAKEEN_Struct
248 {
249    union
250    {
251       struct
252       {
253          // RTC0 Fail Wake Enable
254          volatile uint32_t RTC0FWEN: 1;
255          // RTC0 Alarm Wake Enable
256          volatile uint32_t RTC0AWEN: 1;
257                   uint32_t reserved0: 3;
258          // Comparator 0 Wake Enable
259          volatile uint32_t CMP0WEN: 1;
260          // Pin Wake Wake Enable
261          volatile uint32_t PWAKEWEN: 1;
262          // Low Power Timer Wake Enable
263          volatile uint32_t LPT0WEN: 1;
264          // Reset Pin Wake Enable
265          volatile uint32_t RSTWEN: 1;
266                   uint32_t reserved1: 23;
267       };
268       volatile uint32_t U32;
269    };
270 };
271 
272 #define SI32_PMU_A_WAKEEN_RTC0FWEN_MASK  0x00000001
273 #define SI32_PMU_A_WAKEEN_RTC0FWEN_SHIFT  0
274 // An RTC0 fail event does not wake the device.
275 #define SI32_PMU_A_WAKEEN_RTC0FWEN_DISABLED_VALUE  0
276 #define SI32_PMU_A_WAKEEN_RTC0FWEN_DISABLED_U32 \
277    (SI32_PMU_A_WAKEEN_RTC0FWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0FWEN_SHIFT)
278 // An RTC0 fail event awakens the device.
279 #define SI32_PMU_A_WAKEEN_RTC0FWEN_ENABLED_VALUE  1
280 #define SI32_PMU_A_WAKEEN_RTC0FWEN_ENABLED_U32 \
281    (SI32_PMU_A_WAKEEN_RTC0FWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0FWEN_SHIFT)
282 
283 #define SI32_PMU_A_WAKEEN_RTC0AWEN_MASK  0x00000002
284 #define SI32_PMU_A_WAKEEN_RTC0AWEN_SHIFT  1
285 // An RTC0 alarm event does not wake the device.
286 #define SI32_PMU_A_WAKEEN_RTC0AWEN_DISABLED_VALUE  0
287 #define SI32_PMU_A_WAKEEN_RTC0AWEN_DISABLED_U32 \
288    (SI32_PMU_A_WAKEEN_RTC0AWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0AWEN_SHIFT)
289 // An RTC0 alarm event awakens the device.
290 #define SI32_PMU_A_WAKEEN_RTC0AWEN_ENABLED_VALUE  1
291 #define SI32_PMU_A_WAKEEN_RTC0AWEN_ENABLED_U32 \
292    (SI32_PMU_A_WAKEEN_RTC0AWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0AWEN_SHIFT)
293 
294 #define SI32_PMU_A_WAKEEN_CMP0WEN_MASK  0x00000020
295 #define SI32_PMU_A_WAKEEN_CMP0WEN_SHIFT  5
296 // A Comparator 0 event does not wake the device.
297 #define SI32_PMU_A_WAKEEN_CMP0WEN_DISABLED_VALUE  0
298 #define SI32_PMU_A_WAKEEN_CMP0WEN_DISABLED_U32 \
299    (SI32_PMU_A_WAKEEN_CMP0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_CMP0WEN_SHIFT)
300 // A Comparator 0 event awakens the device.
301 #define SI32_PMU_A_WAKEEN_CMP0WEN_ENABLED_VALUE  1
302 #define SI32_PMU_A_WAKEEN_CMP0WEN_ENABLED_U32 \
303    (SI32_PMU_A_WAKEEN_CMP0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_CMP0WEN_SHIFT)
304 
305 #define SI32_PMU_A_WAKEEN_PWAKEWEN_MASK  0x00000040
306 #define SI32_PMU_A_WAKEEN_PWAKEWEN_SHIFT  6
307 // A Pin Wake event does not wake the device.
308 #define SI32_PMU_A_WAKEEN_PWAKEWEN_DISABLED_VALUE  0
309 #define SI32_PMU_A_WAKEEN_PWAKEWEN_DISABLED_U32 \
310    (SI32_PMU_A_WAKEEN_PWAKEWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_PWAKEWEN_SHIFT)
311 // A Pin Wake event awakens the device.
312 #define SI32_PMU_A_WAKEEN_PWAKEWEN_ENABLED_VALUE  1
313 #define SI32_PMU_A_WAKEEN_PWAKEWEN_ENABLED_U32 \
314    (SI32_PMU_A_WAKEEN_PWAKEWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_PWAKEWEN_SHIFT)
315 
316 #define SI32_PMU_A_WAKEEN_LPT0WEN_MASK  0x00000080
317 #define SI32_PMU_A_WAKEEN_LPT0WEN_SHIFT  7
318 // An LPTIMER0 event does not wake the device.
319 #define SI32_PMU_A_WAKEEN_LPT0WEN_DISABLED_VALUE  0
320 #define SI32_PMU_A_WAKEEN_LPT0WEN_DISABLED_U32 \
321    (SI32_PMU_A_WAKEEN_LPT0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_LPT0WEN_SHIFT)
322 // An LPTIMER0 event awakens the device.
323 #define SI32_PMU_A_WAKEEN_LPT0WEN_ENABLED_VALUE  1
324 #define SI32_PMU_A_WAKEEN_LPT0WEN_ENABLED_U32 \
325    (SI32_PMU_A_WAKEEN_LPT0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_LPT0WEN_SHIFT)
326 
327 #define SI32_PMU_A_WAKEEN_RSTWEN_MASK  0x00000100
328 #define SI32_PMU_A_WAKEEN_RSTWEN_SHIFT  8
329 // A /RESET Pin event does not wake the device.
330 #define SI32_PMU_A_WAKEEN_RSTWEN_DISABLED_VALUE  0
331 #define SI32_PMU_A_WAKEEN_RSTWEN_DISABLED_U32 \
332    (SI32_PMU_A_WAKEEN_RSTWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_RSTWEN_SHIFT)
333 // A /RESET Pin event awakens the device.
334 #define SI32_PMU_A_WAKEEN_RSTWEN_ENABLED_VALUE  1
335 #define SI32_PMU_A_WAKEEN_RSTWEN_ENABLED_U32 \
336    (SI32_PMU_A_WAKEEN_RSTWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_RSTWEN_SHIFT)
337 
338 
339 
340 struct SI32_PMU_A_WAKESTATUS_Struct
341 {
342    union
343    {
344       struct
345       {
346          // RTC0 Fail Wake Flag
347          volatile uint32_t RTC0FWF: 1;
348          // RTC0 Alarm Wake Flag
349          volatile uint32_t RTC0AWF: 1;
350                   uint32_t reserved0: 3;
351          // Comparator 0 Wake Flag
352          volatile uint32_t CMP0WF: 1;
353          // Pin Wake Wake Flag
354          volatile uint32_t PWAKEWF: 1;
355          // Low Power Timer Wake Flag
356          volatile uint32_t LPT0WF: 1;
357          // Reset Pin Wake Flag
358          volatile uint32_t RSTWF: 1;
359                   uint32_t reserved1: 23;
360       };
361       volatile uint32_t U32;
362    };
363 };
364 
365 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_MASK  0x00000001
366 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_SHIFT  0
367 // An RTC0 fail event did not wake the device.
368 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_NOT_SET_VALUE  0
369 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_NOT_SET_U32 \
370    (SI32_PMU_A_WAKESTATUS_RTC0FWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0FWF_SHIFT)
371 // An RTC0 fail event woke the device.
372 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_SET_VALUE  1
373 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_SET_U32 \
374    (SI32_PMU_A_WAKESTATUS_RTC0FWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0FWF_SHIFT)
375 
376 #define SI32_PMU_A_WAKESTATUS_RTC0AWF_MASK  0x00000002
377 #define SI32_PMU_A_WAKESTATUS_RTC0AWF_SHIFT  1
378 // An RTC0 alarm event did not wake the device.
379 #define SI32_PMU_A_WAKESTATUS_RTC0AWF_NOT_SET_VALUE  0
380 #define SI32_PMU_A_WAKESTATUS_RTC0AWF_NOT_SET_U32 \
381    (SI32_PMU_A_WAKESTATUS_RTC0AWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0AWF_SHIFT)
382 // An RTC0 alarm event woke the device.
383 #define SI32_PMU_A_WAKESTATUS_RTC0AWF_SET_VALUE  1
384 #define SI32_PMU_A_WAKESTATUS_RTC0AWF_SET_U32 \
385    (SI32_PMU_A_WAKESTATUS_RTC0AWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0AWF_SHIFT)
386 
387 #define SI32_PMU_A_WAKESTATUS_CMP0WF_MASK  0x00000020
388 #define SI32_PMU_A_WAKESTATUS_CMP0WF_SHIFT  5
389 // A Comparator 0 event did not wake the device.
390 #define SI32_PMU_A_WAKESTATUS_CMP0WF_NOT_SET_VALUE  0
391 #define SI32_PMU_A_WAKESTATUS_CMP0WF_NOT_SET_U32 \
392    (SI32_PMU_A_WAKESTATUS_CMP0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_CMP0WF_SHIFT)
393 // A Comparator 0 event woke the device.
394 #define SI32_PMU_A_WAKESTATUS_CMP0WF_SET_VALUE  1
395 #define SI32_PMU_A_WAKESTATUS_CMP0WF_SET_U32 \
396    (SI32_PMU_A_WAKESTATUS_CMP0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_CMP0WF_SHIFT)
397 
398 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_MASK  0x00000040
399 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_SHIFT  6
400 // A Pin Wake event did not wake the device.
401 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_NOT_SET_VALUE  0
402 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_NOT_SET_U32 \
403    (SI32_PMU_A_WAKESTATUS_PWAKEWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_PWAKEWF_SHIFT)
404 // A Pin Wake event woke the device.
405 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_SET_VALUE  1
406 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_SET_U32 \
407    (SI32_PMU_A_WAKESTATUS_PWAKEWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_PWAKEWF_SHIFT)
408 
409 #define SI32_PMU_A_WAKESTATUS_LPT0WF_MASK  0x00000080
410 #define SI32_PMU_A_WAKESTATUS_LPT0WF_SHIFT  7
411 // An LPTIMER0 event did not wake the device.
412 #define SI32_PMU_A_WAKESTATUS_LPT0WF_NOT_SET_VALUE  0
413 #define SI32_PMU_A_WAKESTATUS_LPT0WF_NOT_SET_U32 \
414    (SI32_PMU_A_WAKESTATUS_LPT0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_LPT0WF_SHIFT)
415 // An LPTIMER0 event woke the device.
416 #define SI32_PMU_A_WAKESTATUS_LPT0WF_SET_VALUE  1
417 #define SI32_PMU_A_WAKESTATUS_LPT0WF_SET_U32 \
418    (SI32_PMU_A_WAKESTATUS_LPT0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_LPT0WF_SHIFT)
419 
420 #define SI32_PMU_A_WAKESTATUS_RSTWF_MASK  0x00000100
421 #define SI32_PMU_A_WAKESTATUS_RSTWF_SHIFT  8
422 // A /RESET Pin event did not wake the device.
423 #define SI32_PMU_A_WAKESTATUS_RSTWF_NOT_SET_VALUE  0
424 #define SI32_PMU_A_WAKESTATUS_RSTWF_NOT_SET_U32 \
425    (SI32_PMU_A_WAKESTATUS_RSTWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_RSTWF_SHIFT)
426 // A /RESET Pin event woke the device.
427 #define SI32_PMU_A_WAKESTATUS_RSTWF_SET_VALUE  1
428 #define SI32_PMU_A_WAKESTATUS_RSTWF_SET_U32 \
429    (SI32_PMU_A_WAKESTATUS_RSTWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_RSTWF_SHIFT)
430 
431 
432 
433 struct SI32_PMU_A_PWEN_Struct
434 {
435    union
436    {
437       struct
438       {
439          // WAKE.0 Enable
440          volatile uint32_t PW0EN: 1;
441          // WAKE.1 Enable
442          volatile uint32_t PW1EN: 1;
443          // WAKE.2 Enable
444          volatile uint32_t PW2EN: 1;
445          // WAKE.3 Enable
446          volatile uint32_t PW3EN: 1;
447          // WAKE.4 Enable
448          volatile uint32_t PW4EN: 1;
449          // WAKE.5 Enable
450          volatile uint32_t PW5EN: 1;
451          // WAKE.6 Enable
452          volatile uint32_t PW6EN: 1;
453          // WAKE.7 Enable
454          volatile uint32_t PW7EN: 1;
455          // WAKE.8 Enable
456          volatile uint32_t PW8EN: 1;
457          // WAKE.9 Enable
458          volatile uint32_t PW9EN: 1;
459          // WAKE.10 Enable
460          volatile uint32_t PW10EN: 1;
461          // WAKE.11 Enable
462          volatile uint32_t PW11EN: 1;
463          // WAKE.12 Enable
464          volatile uint32_t PW12EN: 1;
465          // WAKE.13 Enable
466          volatile uint32_t PW13EN: 1;
467          // WAKE.14 Enable
468          volatile uint32_t PW14EN: 1;
469          // WAKE.15 Enable
470          volatile uint32_t PW15EN: 1;
471                   uint32_t reserved0: 16;
472       };
473       volatile uint32_t U32;
474    };
475 };
476 
477 #define SI32_PMU_A_PWEN_PW0EN_MASK  0x00000001
478 #define SI32_PMU_A_PWEN_PW0EN_SHIFT  0
479 // WAKE.0 is not used in the Pin Wake comparison.
480 #define SI32_PMU_A_PWEN_PW0EN_DISABLED_VALUE  0
481 #define SI32_PMU_A_PWEN_PW0EN_DISABLED_U32 \
482    (SI32_PMU_A_PWEN_PW0EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW0EN_SHIFT)
483 // WAKE.0 is used in the Pin Wake comparison.
484 #define SI32_PMU_A_PWEN_PW0EN_ENABLED_VALUE  1
485 #define SI32_PMU_A_PWEN_PW0EN_ENABLED_U32 \
486    (SI32_PMU_A_PWEN_PW0EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW0EN_SHIFT)
487 
488 #define SI32_PMU_A_PWEN_PW1EN_MASK  0x00000002
489 #define SI32_PMU_A_PWEN_PW1EN_SHIFT  1
490 // WAKE.1 is not used in the Pin Wake comparison.
491 #define SI32_PMU_A_PWEN_PW1EN_DISABLED_VALUE  0
492 #define SI32_PMU_A_PWEN_PW1EN_DISABLED_U32 \
493    (SI32_PMU_A_PWEN_PW1EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW1EN_SHIFT)
494 // WAKE.1 is used in the Pin Wake comparison.
495 #define SI32_PMU_A_PWEN_PW1EN_ENABLED_VALUE  1
496 #define SI32_PMU_A_PWEN_PW1EN_ENABLED_U32 \
497    (SI32_PMU_A_PWEN_PW1EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW1EN_SHIFT)
498 
499 #define SI32_PMU_A_PWEN_PW2EN_MASK  0x00000004
500 #define SI32_PMU_A_PWEN_PW2EN_SHIFT  2
501 // WAKE.2 is not used in the Pin Wake comparison.
502 #define SI32_PMU_A_PWEN_PW2EN_DISABLED_VALUE  0
503 #define SI32_PMU_A_PWEN_PW2EN_DISABLED_U32 \
504    (SI32_PMU_A_PWEN_PW2EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW2EN_SHIFT)
505 // WAKE.2 is used in the Pin Wake comparison.
506 #define SI32_PMU_A_PWEN_PW2EN_ENABLED_VALUE  1
507 #define SI32_PMU_A_PWEN_PW2EN_ENABLED_U32 \
508    (SI32_PMU_A_PWEN_PW2EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW2EN_SHIFT)
509 
510 #define SI32_PMU_A_PWEN_PW3EN_MASK  0x00000008
511 #define SI32_PMU_A_PWEN_PW3EN_SHIFT  3
512 // WAKE.3 is not used in the Pin Wake comparison.
513 #define SI32_PMU_A_PWEN_PW3EN_DISABLED_VALUE  0
514 #define SI32_PMU_A_PWEN_PW3EN_DISABLED_U32 \
515    (SI32_PMU_A_PWEN_PW3EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW3EN_SHIFT)
516 // WAKE.3 is used in the Pin Wake comparison.
517 #define SI32_PMU_A_PWEN_PW3EN_ENABLED_VALUE  1
518 #define SI32_PMU_A_PWEN_PW3EN_ENABLED_U32 \
519    (SI32_PMU_A_PWEN_PW3EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW3EN_SHIFT)
520 
521 #define SI32_PMU_A_PWEN_PW4EN_MASK  0x00000010
522 #define SI32_PMU_A_PWEN_PW4EN_SHIFT  4
523 // WAKE.4 is not used in the Pin Wake comparison.
524 #define SI32_PMU_A_PWEN_PW4EN_DISABLED_VALUE  0
525 #define SI32_PMU_A_PWEN_PW4EN_DISABLED_U32 \
526    (SI32_PMU_A_PWEN_PW4EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW4EN_SHIFT)
527 // WAKE.4 is used in the Pin Wake comparison.
528 #define SI32_PMU_A_PWEN_PW4EN_ENABLED_VALUE  1
529 #define SI32_PMU_A_PWEN_PW4EN_ENABLED_U32 \
530    (SI32_PMU_A_PWEN_PW4EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW4EN_SHIFT)
531 
532 #define SI32_PMU_A_PWEN_PW5EN_MASK  0x00000020
533 #define SI32_PMU_A_PWEN_PW5EN_SHIFT  5
534 // WAKE.5 is not used in the Pin Wake comparison.
535 #define SI32_PMU_A_PWEN_PW5EN_DISABLED_VALUE  0
536 #define SI32_PMU_A_PWEN_PW5EN_DISABLED_U32 \
537    (SI32_PMU_A_PWEN_PW5EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW5EN_SHIFT)
538 // WAKE.5 is used in the Pin Wake comparison.
539 #define SI32_PMU_A_PWEN_PW5EN_ENABLED_VALUE  1
540 #define SI32_PMU_A_PWEN_PW5EN_ENABLED_U32 \
541    (SI32_PMU_A_PWEN_PW5EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW5EN_SHIFT)
542 
543 #define SI32_PMU_A_PWEN_PW6EN_MASK  0x00000040
544 #define SI32_PMU_A_PWEN_PW6EN_SHIFT  6
545 // WAKE.6 is not used in the Pin Wake comparison.
546 #define SI32_PMU_A_PWEN_PW6EN_DISABLED_VALUE  0
547 #define SI32_PMU_A_PWEN_PW6EN_DISABLED_U32 \
548    (SI32_PMU_A_PWEN_PW6EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW6EN_SHIFT)
549 // WAKE.6 is used in the Pin Wake comparison.
550 #define SI32_PMU_A_PWEN_PW6EN_ENABLED_VALUE  1
551 #define SI32_PMU_A_PWEN_PW6EN_ENABLED_U32 \
552    (SI32_PMU_A_PWEN_PW6EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW6EN_SHIFT)
553 
554 #define SI32_PMU_A_PWEN_PW7EN_MASK  0x00000080
555 #define SI32_PMU_A_PWEN_PW7EN_SHIFT  7
556 // WAKE.7 is not used in the Pin Wake comparison.
557 #define SI32_PMU_A_PWEN_PW7EN_DISABLED_VALUE  0
558 #define SI32_PMU_A_PWEN_PW7EN_DISABLED_U32 \
559    (SI32_PMU_A_PWEN_PW7EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW7EN_SHIFT)
560 // WAKE.7 is used in the Pin Wake comparison.
561 #define SI32_PMU_A_PWEN_PW7EN_ENABLED_VALUE  1
562 #define SI32_PMU_A_PWEN_PW7EN_ENABLED_U32 \
563    (SI32_PMU_A_PWEN_PW7EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW7EN_SHIFT)
564 
565 #define SI32_PMU_A_PWEN_PW8EN_MASK  0x00000100
566 #define SI32_PMU_A_PWEN_PW8EN_SHIFT  8
567 // WAKE.8 is not used in the Pin Wake comparison.
568 #define SI32_PMU_A_PWEN_PW8EN_DISABLED_VALUE  0
569 #define SI32_PMU_A_PWEN_PW8EN_DISABLED_U32 \
570    (SI32_PMU_A_PWEN_PW8EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW8EN_SHIFT)
571 // WAKE.8 is used in the Pin Wake comparison.
572 #define SI32_PMU_A_PWEN_PW8EN_ENABLED_VALUE  1
573 #define SI32_PMU_A_PWEN_PW8EN_ENABLED_U32 \
574    (SI32_PMU_A_PWEN_PW8EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW8EN_SHIFT)
575 
576 #define SI32_PMU_A_PWEN_PW9EN_MASK  0x00000200
577 #define SI32_PMU_A_PWEN_PW9EN_SHIFT  9
578 // WAKE.9 is not used in the Pin Wake comparison.
579 #define SI32_PMU_A_PWEN_PW9EN_DISABLED_VALUE  0
580 #define SI32_PMU_A_PWEN_PW9EN_DISABLED_U32 \
581    (SI32_PMU_A_PWEN_PW9EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW9EN_SHIFT)
582 // WAKE.9 is used in the Pin Wake comparison.
583 #define SI32_PMU_A_PWEN_PW9EN_ENABLED_VALUE  1
584 #define SI32_PMU_A_PWEN_PW9EN_ENABLED_U32 \
585    (SI32_PMU_A_PWEN_PW9EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW9EN_SHIFT)
586 
587 #define SI32_PMU_A_PWEN_PW10EN_MASK  0x00000400
588 #define SI32_PMU_A_PWEN_PW10EN_SHIFT  10
589 // WAKE.10 is not used in the Pin Wake comparison.
590 #define SI32_PMU_A_PWEN_PW10EN_DISABLED_VALUE  0
591 #define SI32_PMU_A_PWEN_PW10EN_DISABLED_U32 \
592    (SI32_PMU_A_PWEN_PW10EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW10EN_SHIFT)
593 // WAKE.10 is used in the Pin Wake comparison.
594 #define SI32_PMU_A_PWEN_PW10EN_ENABLED_VALUE  1
595 #define SI32_PMU_A_PWEN_PW10EN_ENABLED_U32 \
596    (SI32_PMU_A_PWEN_PW10EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW10EN_SHIFT)
597 
598 #define SI32_PMU_A_PWEN_PW11EN_MASK  0x00000800
599 #define SI32_PMU_A_PWEN_PW11EN_SHIFT  11
600 // WAKE.11 is not used in the Pin Wake comparison.
601 #define SI32_PMU_A_PWEN_PW11EN_DISABLED_VALUE  0
602 #define SI32_PMU_A_PWEN_PW11EN_DISABLED_U32 \
603    (SI32_PMU_A_PWEN_PW11EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW11EN_SHIFT)
604 // WAKE.11 is used in the Pin Wake comparison.
605 #define SI32_PMU_A_PWEN_PW11EN_ENABLED_VALUE  1
606 #define SI32_PMU_A_PWEN_PW11EN_ENABLED_U32 \
607    (SI32_PMU_A_PWEN_PW11EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW11EN_SHIFT)
608 
609 #define SI32_PMU_A_PWEN_PW12EN_MASK  0x00001000
610 #define SI32_PMU_A_PWEN_PW12EN_SHIFT  12
611 // WAKE.12 is not used in the Pin Wake comparison.
612 #define SI32_PMU_A_PWEN_PW12EN_DISABLED_VALUE  0
613 #define SI32_PMU_A_PWEN_PW12EN_DISABLED_U32 \
614    (SI32_PMU_A_PWEN_PW12EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW12EN_SHIFT)
615 // WAKE.12 is used in the Pin Wake comparison.
616 #define SI32_PMU_A_PWEN_PW12EN_ENABLED_VALUE  1
617 #define SI32_PMU_A_PWEN_PW12EN_ENABLED_U32 \
618    (SI32_PMU_A_PWEN_PW12EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW12EN_SHIFT)
619 
620 #define SI32_PMU_A_PWEN_PW13EN_MASK  0x00002000
621 #define SI32_PMU_A_PWEN_PW13EN_SHIFT  13
622 // WAKE.13 is not used in the Pin Wake comparison.
623 #define SI32_PMU_A_PWEN_PW13EN_DISABLED_VALUE  0
624 #define SI32_PMU_A_PWEN_PW13EN_DISABLED_U32 \
625    (SI32_PMU_A_PWEN_PW13EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW13EN_SHIFT)
626 // WAKE.13 is used in the Pin Wake comparison.
627 #define SI32_PMU_A_PWEN_PW13EN_ENABLED_VALUE  1
628 #define SI32_PMU_A_PWEN_PW13EN_ENABLED_U32 \
629    (SI32_PMU_A_PWEN_PW13EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW13EN_SHIFT)
630 
631 #define SI32_PMU_A_PWEN_PW14EN_MASK  0x00004000
632 #define SI32_PMU_A_PWEN_PW14EN_SHIFT  14
633 // WAKE.14 is not used in the Pin Wake comparison.
634 #define SI32_PMU_A_PWEN_PW14EN_DISABLED_VALUE  0
635 #define SI32_PMU_A_PWEN_PW14EN_DISABLED_U32 \
636    (SI32_PMU_A_PWEN_PW14EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW14EN_SHIFT)
637 // WAKE.14 is used in the Pin Wake comparison.
638 #define SI32_PMU_A_PWEN_PW14EN_ENABLED_VALUE  1
639 #define SI32_PMU_A_PWEN_PW14EN_ENABLED_U32 \
640    (SI32_PMU_A_PWEN_PW14EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW14EN_SHIFT)
641 
642 #define SI32_PMU_A_PWEN_PW15EN_MASK  0x00008000
643 #define SI32_PMU_A_PWEN_PW15EN_SHIFT  15
644 // WAKE.15 is not used in the Pin Wake comparison.
645 #define SI32_PMU_A_PWEN_PW15EN_DISABLED_VALUE  0
646 #define SI32_PMU_A_PWEN_PW15EN_DISABLED_U32 \
647    (SI32_PMU_A_PWEN_PW15EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW15EN_SHIFT)
648 // WAKE.15 is used in the Pin Wake comparison.
649 #define SI32_PMU_A_PWEN_PW15EN_ENABLED_VALUE  1
650 #define SI32_PMU_A_PWEN_PW15EN_ENABLED_U32 \
651    (SI32_PMU_A_PWEN_PW15EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW15EN_SHIFT)
652 
653 
654 
655 struct SI32_PMU_A_PWPOL_Struct
656 {
657    union
658    {
659       struct
660       {
661          // WAKE.0 Polarity Select
662          volatile uint32_t PW0POL: 1;
663          // WAKE.1 Polarity Select
664          volatile uint32_t PW1POL: 1;
665          // WAKE.2 Polarity Select
666          volatile uint32_t PW2POL: 1;
667          // WAKE.3 Polarity Select
668          volatile uint32_t PW3POL: 1;
669          // WAKE.4 Polarity Select
670          volatile uint32_t PW4POL: 1;
671          // WAKE.5 Polarity Select
672          volatile uint32_t PW5POL: 1;
673          // WAKE.6 Polarity Select
674          volatile uint32_t PW6POL: 1;
675          // WAKE.7 Polarity Select
676          volatile uint32_t PW7POL: 1;
677          // WAKE.8 Polarity Select
678          volatile uint32_t PW8POL: 1;
679          // WAKE.9 Polarity Select
680          volatile uint32_t PW9POL: 1;
681          // WAKE.10 Polarity Select
682          volatile uint32_t PW10POL: 1;
683          // WAKE.11 Polarity Select
684          volatile uint32_t PW11POL: 1;
685          // WAKE.12 Polarity Select
686          volatile uint32_t PW12POL: 1;
687          // WAKE.13 Polarity Select
688          volatile uint32_t PW13POL: 1;
689          // WAKE.14 Polarity Select
690          volatile uint32_t PW14POL: 1;
691          // WAKE.15 Polarity Select
692          volatile uint32_t PW15POL: 1;
693                   uint32_t reserved0: 16;
694       };
695       volatile uint32_t U32;
696    };
697 };
698 
699 #define SI32_PMU_A_PWPOL_PW0POL_MASK  0x00000001
700 #define SI32_PMU_A_PWPOL_PW0POL_SHIFT  0
701 // The WAKE.0 comparison value is logic low.
702 #define SI32_PMU_A_PWPOL_PW0POL_LOW_VALUE  0
703 #define SI32_PMU_A_PWPOL_PW0POL_LOW_U32 \
704    (SI32_PMU_A_PWPOL_PW0POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW0POL_SHIFT)
705 // The WAKE.0 comparison value is logic high.
706 #define SI32_PMU_A_PWPOL_PW0POL_HIGH_VALUE  1
707 #define SI32_PMU_A_PWPOL_PW0POL_HIGH_U32 \
708    (SI32_PMU_A_PWPOL_PW0POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW0POL_SHIFT)
709 
710 #define SI32_PMU_A_PWPOL_PW1POL_MASK  0x00000002
711 #define SI32_PMU_A_PWPOL_PW1POL_SHIFT  1
712 // The WAKE.1 comparison value is logic low.
713 #define SI32_PMU_A_PWPOL_PW1POL_LOW_VALUE  0
714 #define SI32_PMU_A_PWPOL_PW1POL_LOW_U32 \
715    (SI32_PMU_A_PWPOL_PW1POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW1POL_SHIFT)
716 // The WAKE.1 comparison value is logic high.
717 #define SI32_PMU_A_PWPOL_PW1POL_HIGH_VALUE  1
718 #define SI32_PMU_A_PWPOL_PW1POL_HIGH_U32 \
719    (SI32_PMU_A_PWPOL_PW1POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW1POL_SHIFT)
720 
721 #define SI32_PMU_A_PWPOL_PW2POL_MASK  0x00000004
722 #define SI32_PMU_A_PWPOL_PW2POL_SHIFT  2
723 // The WAKE.2 comparison value is logic low.
724 #define SI32_PMU_A_PWPOL_PW2POL_LOW_VALUE  0
725 #define SI32_PMU_A_PWPOL_PW2POL_LOW_U32 \
726    (SI32_PMU_A_PWPOL_PW2POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW2POL_SHIFT)
727 // The WAKE.2 comparison value is logic high.
728 #define SI32_PMU_A_PWPOL_PW2POL_HIGH_VALUE  1
729 #define SI32_PMU_A_PWPOL_PW2POL_HIGH_U32 \
730    (SI32_PMU_A_PWPOL_PW2POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW2POL_SHIFT)
731 
732 #define SI32_PMU_A_PWPOL_PW3POL_MASK  0x00000008
733 #define SI32_PMU_A_PWPOL_PW3POL_SHIFT  3
734 // The WAKE.3 comparison value is logic low.
735 #define SI32_PMU_A_PWPOL_PW3POL_LOW_VALUE  0
736 #define SI32_PMU_A_PWPOL_PW3POL_LOW_U32 \
737    (SI32_PMU_A_PWPOL_PW3POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW3POL_SHIFT)
738 // The WAKE.3 comparison value is logic high.
739 #define SI32_PMU_A_PWPOL_PW3POL_HIGH_VALUE  1
740 #define SI32_PMU_A_PWPOL_PW3POL_HIGH_U32 \
741    (SI32_PMU_A_PWPOL_PW3POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW3POL_SHIFT)
742 
743 #define SI32_PMU_A_PWPOL_PW4POL_MASK  0x00000010
744 #define SI32_PMU_A_PWPOL_PW4POL_SHIFT  4
745 // The WAKE.4 comparison value is logic low.
746 #define SI32_PMU_A_PWPOL_PW4POL_LOW_VALUE  0
747 #define SI32_PMU_A_PWPOL_PW4POL_LOW_U32 \
748    (SI32_PMU_A_PWPOL_PW4POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW4POL_SHIFT)
749 // The WAKE.4 comparison value is logic high.
750 #define SI32_PMU_A_PWPOL_PW4POL_HIGH_VALUE  1
751 #define SI32_PMU_A_PWPOL_PW4POL_HIGH_U32 \
752    (SI32_PMU_A_PWPOL_PW4POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW4POL_SHIFT)
753 
754 #define SI32_PMU_A_PWPOL_PW5POL_MASK  0x00000020
755 #define SI32_PMU_A_PWPOL_PW5POL_SHIFT  5
756 // The WAKE.5 comparison value is logic low.
757 #define SI32_PMU_A_PWPOL_PW5POL_LOW_VALUE  0
758 #define SI32_PMU_A_PWPOL_PW5POL_LOW_U32 \
759    (SI32_PMU_A_PWPOL_PW5POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW5POL_SHIFT)
760 // The WAKE.5 comparison value is logic high.
761 #define SI32_PMU_A_PWPOL_PW5POL_HIGH_VALUE  1
762 #define SI32_PMU_A_PWPOL_PW5POL_HIGH_U32 \
763    (SI32_PMU_A_PWPOL_PW5POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW5POL_SHIFT)
764 
765 #define SI32_PMU_A_PWPOL_PW6POL_MASK  0x00000040
766 #define SI32_PMU_A_PWPOL_PW6POL_SHIFT  6
767 // The WAKE.6 comparison value is logic low.
768 #define SI32_PMU_A_PWPOL_PW6POL_LOW_VALUE  0
769 #define SI32_PMU_A_PWPOL_PW6POL_LOW_U32 \
770    (SI32_PMU_A_PWPOL_PW6POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW6POL_SHIFT)
771 // The WAKE.6 comparison value is logic high.
772 #define SI32_PMU_A_PWPOL_PW6POL_HIGH_VALUE  1
773 #define SI32_PMU_A_PWPOL_PW6POL_HIGH_U32 \
774    (SI32_PMU_A_PWPOL_PW6POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW6POL_SHIFT)
775 
776 #define SI32_PMU_A_PWPOL_PW7POL_MASK  0x00000080
777 #define SI32_PMU_A_PWPOL_PW7POL_SHIFT  7
778 // The WAKE.7 comparison value is logic low.
779 #define SI32_PMU_A_PWPOL_PW7POL_LOW_VALUE  0
780 #define SI32_PMU_A_PWPOL_PW7POL_LOW_U32 \
781    (SI32_PMU_A_PWPOL_PW7POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW7POL_SHIFT)
782 // The WAKE.7 comparison value is logic high.
783 #define SI32_PMU_A_PWPOL_PW7POL_HIGH_VALUE  1
784 #define SI32_PMU_A_PWPOL_PW7POL_HIGH_U32 \
785    (SI32_PMU_A_PWPOL_PW7POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW7POL_SHIFT)
786 
787 #define SI32_PMU_A_PWPOL_PW8POL_MASK  0x00000100
788 #define SI32_PMU_A_PWPOL_PW8POL_SHIFT  8
789 // The WAKE.8 comparison value is logic low.
790 #define SI32_PMU_A_PWPOL_PW8POL_LOW_VALUE  0
791 #define SI32_PMU_A_PWPOL_PW8POL_LOW_U32 \
792    (SI32_PMU_A_PWPOL_PW8POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW8POL_SHIFT)
793 // The WAKE.8 comparison value is logic high.
794 #define SI32_PMU_A_PWPOL_PW8POL_HIGH_VALUE  1
795 #define SI32_PMU_A_PWPOL_PW8POL_HIGH_U32 \
796    (SI32_PMU_A_PWPOL_PW8POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW8POL_SHIFT)
797 
798 #define SI32_PMU_A_PWPOL_PW9POL_MASK  0x00000200
799 #define SI32_PMU_A_PWPOL_PW9POL_SHIFT  9
800 // The WAKE.9 comparison value is logic low.
801 #define SI32_PMU_A_PWPOL_PW9POL_LOW_VALUE  0
802 #define SI32_PMU_A_PWPOL_PW9POL_LOW_U32 \
803    (SI32_PMU_A_PWPOL_PW9POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW9POL_SHIFT)
804 // The WAKE.9 comparison value is logic high.
805 #define SI32_PMU_A_PWPOL_PW9POL_HIGH_VALUE  1
806 #define SI32_PMU_A_PWPOL_PW9POL_HIGH_U32 \
807    (SI32_PMU_A_PWPOL_PW9POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW9POL_SHIFT)
808 
809 #define SI32_PMU_A_PWPOL_PW10POL_MASK  0x00000400
810 #define SI32_PMU_A_PWPOL_PW10POL_SHIFT  10
811 // The WAKE.10 comparison value is logic low.
812 #define SI32_PMU_A_PWPOL_PW10POL_LOW_VALUE  0
813 #define SI32_PMU_A_PWPOL_PW10POL_LOW_U32 \
814    (SI32_PMU_A_PWPOL_PW10POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW10POL_SHIFT)
815 // The WAKE.10 comparison value is logic high.
816 #define SI32_PMU_A_PWPOL_PW10POL_HIGH_VALUE  1
817 #define SI32_PMU_A_PWPOL_PW10POL_HIGH_U32 \
818    (SI32_PMU_A_PWPOL_PW10POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW10POL_SHIFT)
819 
820 #define SI32_PMU_A_PWPOL_PW11POL_MASK  0x00000800
821 #define SI32_PMU_A_PWPOL_PW11POL_SHIFT  11
822 // The WAKE.11 comparison value is logic low.
823 #define SI32_PMU_A_PWPOL_PW11POL_LOW_VALUE  0
824 #define SI32_PMU_A_PWPOL_PW11POL_LOW_U32 \
825    (SI32_PMU_A_PWPOL_PW11POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW11POL_SHIFT)
826 // The WAKE.11 comparison value is logic high.
827 #define SI32_PMU_A_PWPOL_PW11POL_HIGH_VALUE  1
828 #define SI32_PMU_A_PWPOL_PW11POL_HIGH_U32 \
829    (SI32_PMU_A_PWPOL_PW11POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW11POL_SHIFT)
830 
831 #define SI32_PMU_A_PWPOL_PW12POL_MASK  0x00001000
832 #define SI32_PMU_A_PWPOL_PW12POL_SHIFT  12
833 // The WAKE.12 comparison value is logic low.
834 #define SI32_PMU_A_PWPOL_PW12POL_LOW_VALUE  0
835 #define SI32_PMU_A_PWPOL_PW12POL_LOW_U32 \
836    (SI32_PMU_A_PWPOL_PW12POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW12POL_SHIFT)
837 // The WAKE.12 comparison value is logic high.
838 #define SI32_PMU_A_PWPOL_PW12POL_HIGH_VALUE  1
839 #define SI32_PMU_A_PWPOL_PW12POL_HIGH_U32 \
840    (SI32_PMU_A_PWPOL_PW12POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW12POL_SHIFT)
841 
842 #define SI32_PMU_A_PWPOL_PW13POL_MASK  0x00002000
843 #define SI32_PMU_A_PWPOL_PW13POL_SHIFT  13
844 // The WAKE.13 comparison value is logic low.
845 #define SI32_PMU_A_PWPOL_PW13POL_LOW_VALUE  0
846 #define SI32_PMU_A_PWPOL_PW13POL_LOW_U32 \
847    (SI32_PMU_A_PWPOL_PW13POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW13POL_SHIFT)
848 // The WAKE.13 comparison value is logic high.
849 #define SI32_PMU_A_PWPOL_PW13POL_HIGH_VALUE  1
850 #define SI32_PMU_A_PWPOL_PW13POL_HIGH_U32 \
851    (SI32_PMU_A_PWPOL_PW13POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW13POL_SHIFT)
852 
853 #define SI32_PMU_A_PWPOL_PW14POL_MASK  0x00004000
854 #define SI32_PMU_A_PWPOL_PW14POL_SHIFT  14
855 // The WAKE.14 comparison value is logic low.
856 #define SI32_PMU_A_PWPOL_PW14POL_LOW_VALUE  0
857 #define SI32_PMU_A_PWPOL_PW14POL_LOW_U32 \
858    (SI32_PMU_A_PWPOL_PW14POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW14POL_SHIFT)
859 // The WAKE.14 comparison value is logic high.
860 #define SI32_PMU_A_PWPOL_PW14POL_HIGH_VALUE  1
861 #define SI32_PMU_A_PWPOL_PW14POL_HIGH_U32 \
862    (SI32_PMU_A_PWPOL_PW14POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW14POL_SHIFT)
863 
864 #define SI32_PMU_A_PWPOL_PW15POL_MASK  0x00008000
865 #define SI32_PMU_A_PWPOL_PW15POL_SHIFT  15
866 // The WAKE.15 comparison value is logic low.
867 #define SI32_PMU_A_PWPOL_PW15POL_LOW_VALUE  0
868 #define SI32_PMU_A_PWPOL_PW15POL_LOW_U32 \
869    (SI32_PMU_A_PWPOL_PW15POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW15POL_SHIFT)
870 // The WAKE.15 comparison value is logic high.
871 #define SI32_PMU_A_PWPOL_PW15POL_HIGH_VALUE  1
872 #define SI32_PMU_A_PWPOL_PW15POL_HIGH_U32 \
873    (SI32_PMU_A_PWPOL_PW15POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW15POL_SHIFT)
874 
875 
876 
877 typedef struct SI32_PMU_A_Struct
878 {
879    struct SI32_PMU_A_CONTROL_Struct                CONTROL        ; // Base Address + 0x0
880    volatile uint32_t                               CONTROL_SET;
881    volatile uint32_t                               CONTROL_CLR;
882    uint32_t                                        reserved0;
883    struct SI32_PMU_A_CONFIG_Struct                 CONFIG         ; // Base Address + 0x10
884    volatile uint32_t                               CONFIG_SET;
885    volatile uint32_t                               CONFIG_CLR;
886    uint32_t                                        reserved1;
887    struct SI32_PMU_A_STATUS_Struct                 STATUS         ; // Base Address + 0x20
888    volatile uint32_t                               STATUS_SET;
889    volatile uint32_t                               STATUS_CLR;
890    uint32_t                                        reserved2;
891    struct SI32_PMU_A_WAKEEN_Struct                 WAKEEN         ; // Base Address + 0x30
892    volatile uint32_t                               WAKEEN_SET;
893    volatile uint32_t                               WAKEEN_CLR;
894    uint32_t                                        reserved3;
895    struct SI32_PMU_A_WAKESTATUS_Struct             WAKESTATUS     ; // Base Address + 0x40
896    uint32_t                                        reserved4;
897    uint32_t                                        reserved5;
898    uint32_t                                        reserved6;
899    struct SI32_PMU_A_PWEN_Struct                   PWEN           ; // Base Address + 0x50
900    volatile uint32_t                               PWEN_SET;
901    volatile uint32_t                               PWEN_CLR;
902    uint32_t                                        reserved7;
903    struct SI32_PMU_A_PWPOL_Struct                  PWPOL          ; // Base Address + 0x60
904    volatile uint32_t                               PWPOL_SET;
905    volatile uint32_t                               PWPOL_CLR;
906    uint32_t                                        reserved8;
907 } SI32_PMU_A_Type;
908 
909 #ifdef __cplusplus
910 }
911 #endif
912 
913 #endif // __SI32_PMU_A_REGISTERS_H__
914 
915 //-eof--------------------------------------------------------------------------
916 
917