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 SIM3L1XX_PMU_A module
24 //
25 // Script: 0.61
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                   uint32_t reserved0: 2;
46          // Pin Wake Match Enable
47          volatile uint32_t PWAKEEN: 1;
48          // PMU Asleep Pin Enable
49          volatile uint32_t PMUASLPEN: 1;
50          // Low Power Charge Pump Voltage Monitor Enable
51          volatile uint32_t CPMONEN: 1;
52          // Low Power Charge Pump Voltage Monitor Interrupt Enable
53          volatile uint32_t CPMONIEN: 1;
54                   uint32_t reserved1: 9;
55          // RAM 0 Retention Enable
56          volatile uint32_t RAM0REN: 1;
57          // RAM 1 Retention Enable
58          volatile uint32_t RAM1REN: 1;
59          // RAM 2 Retention Enable
60          volatile uint32_t RAM2REN: 1;
61          // RAM 3 Retention Enable
62          volatile uint32_t RAM3REN: 1;
63          // RAM 4 Retention Enable
64          volatile uint32_t RAM4REN: 1;
65          // RAM 5 Retention Enable
66          volatile uint32_t RAM5REN: 1;
67          // RAM 6 Retention Enable
68          volatile uint32_t RAM6REN: 1;
69          // RAM 7 Retention Enable
70          volatile uint32_t RAM7REN: 1;
71                   uint32_t reserved2: 8;
72       };
73       volatile uint32_t U32;
74    };
75 };
76 
77 #define SI32_PMU_A_CONTROL_WAKECLR_MASK  0x00000001
78 #define SI32_PMU_A_CONTROL_WAKECLR_SHIFT  0
79 // Clear all wakeup sources.
80 #define SI32_PMU_A_CONTROL_WAKECLR_CLEAR_VALUE  0
81 #define SI32_PMU_A_CONTROL_WAKECLR_CLEAR_U32 \
82    (SI32_PMU_A_CONTROL_WAKECLR_CLEAR_VALUE << SI32_PMU_A_CONTROL_WAKECLR_SHIFT)
83 
84 #define SI32_PMU_A_CONTROL_PWAKEEN_MASK  0x00000008
85 #define SI32_PMU_A_CONTROL_PWAKEEN_SHIFT  3
86 // Disable Pin Wake.
87 #define SI32_PMU_A_CONTROL_PWAKEEN_DISABLED_VALUE  0
88 #define SI32_PMU_A_CONTROL_PWAKEEN_DISABLED_U32 \
89    (SI32_PMU_A_CONTROL_PWAKEEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_PWAKEEN_SHIFT)
90 // Enable Pin Wake.
91 #define SI32_PMU_A_CONTROL_PWAKEEN_ENABLED_VALUE  1
92 #define SI32_PMU_A_CONTROL_PWAKEEN_ENABLED_U32 \
93    (SI32_PMU_A_CONTROL_PWAKEEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_PWAKEEN_SHIFT)
94 
95 #define SI32_PMU_A_CONTROL_PMUASLPEN_MASK  0x00000010
96 #define SI32_PMU_A_CONTROL_PMUASLPEN_SHIFT  4
97 // Disable the PMU Asleep pin.
98 #define SI32_PMU_A_CONTROL_PMUASLPEN_DISABLED_VALUE  0
99 #define SI32_PMU_A_CONTROL_PMUASLPEN_DISABLED_U32 \
100    (SI32_PMU_A_CONTROL_PMUASLPEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_PMUASLPEN_SHIFT)
101 // Enable the PMU Asleep pin.
102 #define SI32_PMU_A_CONTROL_PMUASLPEN_ENABLED_VALUE  1
103 #define SI32_PMU_A_CONTROL_PMUASLPEN_ENABLED_U32 \
104    (SI32_PMU_A_CONTROL_PMUASLPEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_PMUASLPEN_SHIFT)
105 
106 #define SI32_PMU_A_CONTROL_CPMONEN_MASK  0x00000020
107 #define SI32_PMU_A_CONTROL_CPMONEN_SHIFT  5
108 // Disable the low power charge pump voltage monitor.
109 #define SI32_PMU_A_CONTROL_CPMONEN_DISABLED_VALUE  0
110 #define SI32_PMU_A_CONTROL_CPMONEN_DISABLED_U32 \
111    (SI32_PMU_A_CONTROL_CPMONEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_CPMONEN_SHIFT)
112 // Enable the low power charge pump voltage monitor.
113 #define SI32_PMU_A_CONTROL_CPMONEN_ENABLED_VALUE  1
114 #define SI32_PMU_A_CONTROL_CPMONEN_ENABLED_U32 \
115    (SI32_PMU_A_CONTROL_CPMONEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_CPMONEN_SHIFT)
116 
117 #define SI32_PMU_A_CONTROL_CPMONIEN_MASK  0x00000040
118 #define SI32_PMU_A_CONTROL_CPMONIEN_SHIFT  6
119 // Disable the low power charge pump voltage monitor interrupt.
120 #define SI32_PMU_A_CONTROL_CPMONIEN_DISABLED_VALUE  0
121 #define SI32_PMU_A_CONTROL_CPMONIEN_DISABLED_U32 \
122    (SI32_PMU_A_CONTROL_CPMONIEN_DISABLED_VALUE << SI32_PMU_A_CONTROL_CPMONIEN_SHIFT)
123 // Enable the low power charge pump voltage monitor interrupt.
124 #define SI32_PMU_A_CONTROL_CPMONIEN_ENABLED_VALUE  1
125 #define SI32_PMU_A_CONTROL_CPMONIEN_ENABLED_U32 \
126    (SI32_PMU_A_CONTROL_CPMONIEN_ENABLED_VALUE << SI32_PMU_A_CONTROL_CPMONIEN_SHIFT)
127 
128 #define SI32_PMU_A_CONTROL_RAM0REN_MASK  0x00010000
129 #define SI32_PMU_A_CONTROL_RAM0REN_SHIFT  16
130 // Disable power to RAM 0 during sleep (4 kB addresses from 0x20000000 to
131 // 0x20000FFF).
132 #define SI32_PMU_A_CONTROL_RAM0REN_DISABLED_VALUE  0
133 #define SI32_PMU_A_CONTROL_RAM0REN_DISABLED_U32 \
134    (SI32_PMU_A_CONTROL_RAM0REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM0REN_SHIFT)
135 // Enable power to RAM 0 during sleep (4 kB addresses from 0x20000000 to
136 // 0x20000FFF).
137 #define SI32_PMU_A_CONTROL_RAM0REN_ENABLED_VALUE  1
138 #define SI32_PMU_A_CONTROL_RAM0REN_ENABLED_U32 \
139    (SI32_PMU_A_CONTROL_RAM0REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM0REN_SHIFT)
140 
141 #define SI32_PMU_A_CONTROL_RAM1REN_MASK  0x00020000
142 #define SI32_PMU_A_CONTROL_RAM1REN_SHIFT  17
143 // Disable power to RAM 1 during sleep (4 kB addresses from 0x20000000 to
144 // 0x20000FFF).
145 #define SI32_PMU_A_CONTROL_RAM1REN_DISABLED_VALUE  0
146 #define SI32_PMU_A_CONTROL_RAM1REN_DISABLED_U32 \
147    (SI32_PMU_A_CONTROL_RAM1REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM1REN_SHIFT)
148 // Enable power to RAM 1 during sleep (4 kB addresses from 0x20000000 to
149 // 0x20000FFF).
150 #define SI32_PMU_A_CONTROL_RAM1REN_ENABLED_VALUE  1
151 #define SI32_PMU_A_CONTROL_RAM1REN_ENABLED_U32 \
152    (SI32_PMU_A_CONTROL_RAM1REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM1REN_SHIFT)
153 
154 #define SI32_PMU_A_CONTROL_RAM2REN_MASK  0x00040000
155 #define SI32_PMU_A_CONTROL_RAM2REN_SHIFT  18
156 // Disable power to RAM 2 during sleep (4 kB addresses from 0x20000000 to
157 // 0x20000FFF).
158 #define SI32_PMU_A_CONTROL_RAM2REN_DISABLED_VALUE  0
159 #define SI32_PMU_A_CONTROL_RAM2REN_DISABLED_U32 \
160    (SI32_PMU_A_CONTROL_RAM2REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM2REN_SHIFT)
161 // Enable power to RAM 2 during sleep (4 kB addresses from 0x20000000 to
162 // 0x20000FFF).
163 #define SI32_PMU_A_CONTROL_RAM2REN_ENABLED_VALUE  1
164 #define SI32_PMU_A_CONTROL_RAM2REN_ENABLED_U32 \
165    (SI32_PMU_A_CONTROL_RAM2REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM2REN_SHIFT)
166 
167 #define SI32_PMU_A_CONTROL_RAM3REN_MASK  0x00080000
168 #define SI32_PMU_A_CONTROL_RAM3REN_SHIFT  19
169 // Disable power to RAM 3 during sleep (4 kB addresses from 0x20000000 to
170 // 0x20000FFF).
171 #define SI32_PMU_A_CONTROL_RAM3REN_DISABLED_VALUE  0
172 #define SI32_PMU_A_CONTROL_RAM3REN_DISABLED_U32 \
173    (SI32_PMU_A_CONTROL_RAM3REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM3REN_SHIFT)
174 // Enable power to RAM 3 during sleep (4 kB addresses from 0x20000000 to
175 // 0x20000FFF).
176 #define SI32_PMU_A_CONTROL_RAM3REN_ENABLED_VALUE  1
177 #define SI32_PMU_A_CONTROL_RAM3REN_ENABLED_U32 \
178    (SI32_PMU_A_CONTROL_RAM3REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM3REN_SHIFT)
179 
180 #define SI32_PMU_A_CONTROL_RAM4REN_MASK  0x00100000
181 #define SI32_PMU_A_CONTROL_RAM4REN_SHIFT  20
182 // Disable power to RAM 4 during sleep (4 kB addresses from 0x20000000 to
183 // 0x20000FFF).
184 #define SI32_PMU_A_CONTROL_RAM4REN_DISABLED_VALUE  0
185 #define SI32_PMU_A_CONTROL_RAM4REN_DISABLED_U32 \
186    (SI32_PMU_A_CONTROL_RAM4REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM4REN_SHIFT)
187 // Enable power to RAM 4 during sleep (4 kB addresses from 0x20000000 to
188 // 0x20000FFF).
189 #define SI32_PMU_A_CONTROL_RAM4REN_ENABLED_VALUE  1
190 #define SI32_PMU_A_CONTROL_RAM4REN_ENABLED_U32 \
191    (SI32_PMU_A_CONTROL_RAM4REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM4REN_SHIFT)
192 
193 #define SI32_PMU_A_CONTROL_RAM5REN_MASK  0x00200000
194 #define SI32_PMU_A_CONTROL_RAM5REN_SHIFT  21
195 // Disable power to RAM 5 during sleep (4 kB addresses from 0x20000000 to
196 // 0x20000FFF).
197 #define SI32_PMU_A_CONTROL_RAM5REN_DISABLED_VALUE  0
198 #define SI32_PMU_A_CONTROL_RAM5REN_DISABLED_U32 \
199    (SI32_PMU_A_CONTROL_RAM5REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM5REN_SHIFT)
200 // Enable power to RAM 5 during sleep (4 kB addresses from 0x20000000 to
201 // 0x20000FFF).
202 #define SI32_PMU_A_CONTROL_RAM5REN_ENABLED_VALUE  1
203 #define SI32_PMU_A_CONTROL_RAM5REN_ENABLED_U32 \
204    (SI32_PMU_A_CONTROL_RAM5REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM5REN_SHIFT)
205 
206 #define SI32_PMU_A_CONTROL_RAM6REN_MASK  0x00400000
207 #define SI32_PMU_A_CONTROL_RAM6REN_SHIFT  22
208 // Disable power to RAM 6 during sleep (4 kB addresses from 0x20000000 to
209 // 0x20000FFF).
210 #define SI32_PMU_A_CONTROL_RAM6REN_DISABLED_VALUE  0
211 #define SI32_PMU_A_CONTROL_RAM6REN_DISABLED_U32 \
212    (SI32_PMU_A_CONTROL_RAM6REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM6REN_SHIFT)
213 // Enable power to RAM 6 during sleep (4 kB addresses from 0x20000000 to
214 // 0x20000FFF).
215 #define SI32_PMU_A_CONTROL_RAM6REN_ENABLED_VALUE  1
216 #define SI32_PMU_A_CONTROL_RAM6REN_ENABLED_U32 \
217    (SI32_PMU_A_CONTROL_RAM6REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM6REN_SHIFT)
218 
219 #define SI32_PMU_A_CONTROL_RAM7REN_MASK  0x00800000
220 #define SI32_PMU_A_CONTROL_RAM7REN_SHIFT  23
221 // Disable power to RAM 7 during sleep (4 kB addresses from 0x20000000 to
222 // 0x20000FFF).
223 #define SI32_PMU_A_CONTROL_RAM7REN_DISABLED_VALUE  0
224 #define SI32_PMU_A_CONTROL_RAM7REN_DISABLED_U32 \
225    (SI32_PMU_A_CONTROL_RAM7REN_DISABLED_VALUE << SI32_PMU_A_CONTROL_RAM7REN_SHIFT)
226 // Enable power to RAM 7 during sleep (4 kB addresses from 0x20000000 to
227 // 0x20000FFF).
228 #define SI32_PMU_A_CONTROL_RAM7REN_ENABLED_VALUE  1
229 #define SI32_PMU_A_CONTROL_RAM7REN_ENABLED_U32 \
230    (SI32_PMU_A_CONTROL_RAM7REN_ENABLED_VALUE << SI32_PMU_A_CONTROL_RAM7REN_SHIFT)
231 
232 
233 
234 struct SI32_PMU_A_CONFIG_Struct
235 {
236    union
237    {
238       struct
239       {
240                   uint32_t reserved0: 5;
241          // VDRV Switch Mode
242          volatile uint32_t VDRVSMD: 2;
243                   uint32_t reserved1: 1;
244          // Low Power Charge Pump Enable
245          volatile uint32_t CPEN: 1;
246                   uint32_t reserved2: 1;
247          // Charge Pump Load Setting
248          volatile uint32_t CPLOAD: 2;
249                   uint32_t reserved3: 20;
250       };
251       volatile uint32_t U32;
252    };
253 };
254 
255 #define SI32_PMU_A_CONFIG_VDRVSMD_MASK  0x00000060
256 #define SI32_PMU_A_CONFIG_VDRVSMD_SHIFT  5
257 // High-Z.
258 #define SI32_PMU_A_CONFIG_VDRVSMD_HIGHZ_VALUE  0
259 #define SI32_PMU_A_CONFIG_VDRVSMD_HIGHZ_U32 \
260    (SI32_PMU_A_CONFIG_VDRVSMD_HIGHZ_VALUE << SI32_PMU_A_CONFIG_VDRVSMD_SHIFT)
261 // VBAT connected to VDRV.
262 #define SI32_PMU_A_CONFIG_VDRVSMD_VBAT_VALUE  2
263 #define SI32_PMU_A_CONFIG_VDRVSMD_VBAT_U32 \
264    (SI32_PMU_A_CONFIG_VDRVSMD_VBAT_VALUE << SI32_PMU_A_CONFIG_VDRVSMD_SHIFT)
265 // DC-DC output connected to VDRV.
266 #define SI32_PMU_A_CONFIG_VDRVSMD_VDC_VALUE  3
267 #define SI32_PMU_A_CONFIG_VDRVSMD_VDC_U32 \
268    (SI32_PMU_A_CONFIG_VDRVSMD_VDC_VALUE << SI32_PMU_A_CONFIG_VDRVSMD_SHIFT)
269 
270 #define SI32_PMU_A_CONFIG_CPEN_MASK  0x00000100
271 #define SI32_PMU_A_CONFIG_CPEN_SHIFT  8
272 #define SI32_PMU_A_CONFIG_CPEN_DISABLED_VALUE  0
273 #define SI32_PMU_A_CONFIG_CPEN_DISABLED_U32 \
274    (SI32_PMU_A_CONFIG_CPEN_DISABLED_VALUE << SI32_PMU_A_CONFIG_CPEN_SHIFT)
275 #define SI32_PMU_A_CONFIG_CPEN_ENABLED_VALUE  1
276 #define SI32_PMU_A_CONFIG_CPEN_ENABLED_U32 \
277    (SI32_PMU_A_CONFIG_CPEN_ENABLED_VALUE << SI32_PMU_A_CONFIG_CPEN_SHIFT)
278 
279 #define SI32_PMU_A_CONFIG_CPLOAD_MASK  0x00000C00
280 #define SI32_PMU_A_CONFIG_CPLOAD_SHIFT  10
281 
282 
283 
284 struct SI32_PMU_A_STATUS_Struct
285 {
286    union
287    {
288       struct
289       {
290          // Power Mode 8 Exited Flag
291          volatile uint32_t PM8EF: 1;
292          // Pin Wake Status Flag
293          volatile uint32_t PWAKEF: 1;
294          // Power-On Reset Flag
295          volatile uint32_t PORF: 1;
296          // Low Power Charge Pump Voltage Monitor Status
297          volatile uint32_t CPSTS: 1;
298                   uint32_t reserved0: 28;
299       };
300       volatile uint32_t U32;
301    };
302 };
303 
304 #define SI32_PMU_A_STATUS_PM8EF_MASK  0x00000001
305 #define SI32_PMU_A_STATUS_PM8EF_SHIFT  0
306 // The device has not exited Power Mode 8.
307 #define SI32_PMU_A_STATUS_PM8EF_NOT_SET_VALUE  0
308 #define SI32_PMU_A_STATUS_PM8EF_NOT_SET_U32 \
309    (SI32_PMU_A_STATUS_PM8EF_NOT_SET_VALUE << SI32_PMU_A_STATUS_PM8EF_SHIFT)
310 // The device has exited Power Mode 8. This bit must be cleared by firmware.
311 #define SI32_PMU_A_STATUS_PM8EF_SET_VALUE  1
312 #define SI32_PMU_A_STATUS_PM8EF_SET_U32 \
313    (SI32_PMU_A_STATUS_PM8EF_SET_VALUE << SI32_PMU_A_STATUS_PM8EF_SHIFT)
314 
315 #define SI32_PMU_A_STATUS_PWAKEF_MASK  0x00000002
316 #define SI32_PMU_A_STATUS_PWAKEF_SHIFT  1
317 // No Pin Wake condition is active.
318 #define SI32_PMU_A_STATUS_PWAKEF_NOT_SET_VALUE  0
319 #define SI32_PMU_A_STATUS_PWAKEF_NOT_SET_U32 \
320    (SI32_PMU_A_STATUS_PWAKEF_NOT_SET_VALUE << SI32_PMU_A_STATUS_PWAKEF_SHIFT)
321 // A Pin Wake condition is active.
322 #define SI32_PMU_A_STATUS_PWAKEF_SET_VALUE  1
323 #define SI32_PMU_A_STATUS_PWAKEF_SET_U32 \
324    (SI32_PMU_A_STATUS_PWAKEF_SET_VALUE << SI32_PMU_A_STATUS_PWAKEF_SHIFT)
325 
326 #define SI32_PMU_A_STATUS_PORF_MASK  0x00000004
327 #define SI32_PMU_A_STATUS_PORF_SHIFT  2
328 // A power-on reset did not occur since the last time PORF was cleared.
329 #define SI32_PMU_A_STATUS_PORF_NOT_SET_VALUE  0
330 #define SI32_PMU_A_STATUS_PORF_NOT_SET_U32 \
331    (SI32_PMU_A_STATUS_PORF_NOT_SET_VALUE << SI32_PMU_A_STATUS_PORF_SHIFT)
332 // A power-on reset occurred.
333 #define SI32_PMU_A_STATUS_PORF_SET_VALUE  1
334 #define SI32_PMU_A_STATUS_PORF_SET_U32 \
335    (SI32_PMU_A_STATUS_PORF_SET_VALUE << SI32_PMU_A_STATUS_PORF_SHIFT)
336 
337 #define SI32_PMU_A_STATUS_CPSTS_MASK  0x00000008
338 #define SI32_PMU_A_STATUS_CPSTS_SHIFT  3
339 // The low power charge pump supply voltage is below the threshold.
340 #define SI32_PMU_A_STATUS_CPSTS_NOT_SET_VALUE  0
341 #define SI32_PMU_A_STATUS_CPSTS_NOT_SET_U32 \
342    (SI32_PMU_A_STATUS_CPSTS_NOT_SET_VALUE << SI32_PMU_A_STATUS_CPSTS_SHIFT)
343 // The low power charge pump supply voltage is greater than the threshold.
344 #define SI32_PMU_A_STATUS_CPSTS_SET_VALUE  1
345 #define SI32_PMU_A_STATUS_CPSTS_SET_U32 \
346    (SI32_PMU_A_STATUS_CPSTS_SET_VALUE << SI32_PMU_A_STATUS_CPSTS_SHIFT)
347 
348 
349 
350 struct SI32_PMU_A_WAKEEN_Struct
351 {
352    union
353    {
354       struct
355       {
356          // RTC0 Fail Wake Enable
357          volatile uint32_t RTC0FWEN: 1;
358          // RTC0 Alarm Wake Enable
359          volatile uint32_t RTC0A0WEN: 1;
360          // Comparator 0 Wake Enable
361          volatile uint32_t CMP0WEN: 1;
362          // Advanced Capture Counter 0 Wake Enable
363          volatile uint32_t ACC0WEN: 1;
364          // LCD VBAT Voltage Monitor Wake Enable
365          volatile uint32_t LCDMONWEN: 1;
366          // Pin Wake Wake Enable
367          volatile uint32_t PWAKEWEN: 1;
368          // Low Power Timer Wake Enable
369          volatile uint32_t LPT0WEN: 1;
370          // UART0 Wake Enable
371          volatile uint32_t UART0WEN: 1;
372          // Low Power Charge Pump Supply Fail Wake Enable
373          volatile uint32_t CPFWEN: 1;
374                   uint32_t reserved0: 23;
375       };
376       volatile uint32_t U32;
377    };
378 };
379 
380 #define SI32_PMU_A_WAKEEN_RTC0FWEN_MASK  0x00000001
381 #define SI32_PMU_A_WAKEEN_RTC0FWEN_SHIFT  0
382 // An RTC0 Fail event does not wake the device.
383 #define SI32_PMU_A_WAKEEN_RTC0FWEN_DISABLED_VALUE  0
384 #define SI32_PMU_A_WAKEEN_RTC0FWEN_DISABLED_U32 \
385    (SI32_PMU_A_WAKEEN_RTC0FWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0FWEN_SHIFT)
386 // An RTC0 Fail event awakens the device.
387 #define SI32_PMU_A_WAKEEN_RTC0FWEN_ENABLED_VALUE  1
388 #define SI32_PMU_A_WAKEEN_RTC0FWEN_ENABLED_U32 \
389    (SI32_PMU_A_WAKEEN_RTC0FWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0FWEN_SHIFT)
390 
391 #define SI32_PMU_A_WAKEEN_RTC0A0WEN_MASK  0x00000002
392 #define SI32_PMU_A_WAKEEN_RTC0A0WEN_SHIFT  1
393 // An RTC0 Alarm event does not wake the device.
394 #define SI32_PMU_A_WAKEEN_RTC0A0WEN_DISABLED_VALUE  0
395 #define SI32_PMU_A_WAKEEN_RTC0A0WEN_DISABLED_U32 \
396    (SI32_PMU_A_WAKEEN_RTC0A0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0A0WEN_SHIFT)
397 // An RTC0 Alarm event awakens the device.
398 #define SI32_PMU_A_WAKEEN_RTC0A0WEN_ENABLED_VALUE  1
399 #define SI32_PMU_A_WAKEEN_RTC0A0WEN_ENABLED_U32 \
400    (SI32_PMU_A_WAKEEN_RTC0A0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_RTC0A0WEN_SHIFT)
401 
402 #define SI32_PMU_A_WAKEEN_CMP0WEN_MASK  0x00000004
403 #define SI32_PMU_A_WAKEEN_CMP0WEN_SHIFT  2
404 // A Comparator 0 event does not wake the device.
405 #define SI32_PMU_A_WAKEEN_CMP0WEN_DISABLED_VALUE  0
406 #define SI32_PMU_A_WAKEEN_CMP0WEN_DISABLED_U32 \
407    (SI32_PMU_A_WAKEEN_CMP0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_CMP0WEN_SHIFT)
408 // A Comparator 0 event awakens the device.
409 #define SI32_PMU_A_WAKEEN_CMP0WEN_ENABLED_VALUE  1
410 #define SI32_PMU_A_WAKEEN_CMP0WEN_ENABLED_U32 \
411    (SI32_PMU_A_WAKEEN_CMP0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_CMP0WEN_SHIFT)
412 
413 #define SI32_PMU_A_WAKEEN_ACC0WEN_MASK  0x00000008
414 #define SI32_PMU_A_WAKEEN_ACC0WEN_SHIFT  3
415 // An Advanced Capture Counter (ACCTR0) event does not wake the device.
416 #define SI32_PMU_A_WAKEEN_ACC0WEN_DISABLED_VALUE  0
417 #define SI32_PMU_A_WAKEEN_ACC0WEN_DISABLED_U32 \
418    (SI32_PMU_A_WAKEEN_ACC0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_ACC0WEN_SHIFT)
419 // An Advanced Capture Counter (ACCTR0) event awakens the device.
420 #define SI32_PMU_A_WAKEEN_ACC0WEN_ENABLED_VALUE  1
421 #define SI32_PMU_A_WAKEEN_ACC0WEN_ENABLED_U32 \
422    (SI32_PMU_A_WAKEEN_ACC0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_ACC0WEN_SHIFT)
423 
424 #define SI32_PMU_A_WAKEEN_LCDMONWEN_MASK  0x00000010
425 #define SI32_PMU_A_WAKEEN_LCDMONWEN_SHIFT  4
426 // An LCD VBAT voltage monitor event does not wake the device.
427 #define SI32_PMU_A_WAKEEN_LCDMONWEN_DISABLED_VALUE  0
428 #define SI32_PMU_A_WAKEEN_LCDMONWEN_DISABLED_U32 \
429    (SI32_PMU_A_WAKEEN_LCDMONWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_LCDMONWEN_SHIFT)
430 // An LCD VBAT voltage monitor event awakens the device.
431 #define SI32_PMU_A_WAKEEN_LCDMONWEN_ENABLED_VALUE  1
432 #define SI32_PMU_A_WAKEEN_LCDMONWEN_ENABLED_U32 \
433    (SI32_PMU_A_WAKEEN_LCDMONWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_LCDMONWEN_SHIFT)
434 
435 #define SI32_PMU_A_WAKEEN_PWAKEWEN_MASK  0x00000020
436 #define SI32_PMU_A_WAKEEN_PWAKEWEN_SHIFT  5
437 // A Pin Wake event does not wake the device.
438 #define SI32_PMU_A_WAKEEN_PWAKEWEN_DISABLED_VALUE  0
439 #define SI32_PMU_A_WAKEEN_PWAKEWEN_DISABLED_U32 \
440    (SI32_PMU_A_WAKEEN_PWAKEWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_PWAKEWEN_SHIFT)
441 // A Pin Wake event awakens the device.
442 #define SI32_PMU_A_WAKEEN_PWAKEWEN_ENABLED_VALUE  1
443 #define SI32_PMU_A_WAKEEN_PWAKEWEN_ENABLED_U32 \
444    (SI32_PMU_A_WAKEEN_PWAKEWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_PWAKEWEN_SHIFT)
445 
446 #define SI32_PMU_A_WAKEEN_LPT0WEN_MASK  0x00000040
447 #define SI32_PMU_A_WAKEEN_LPT0WEN_SHIFT  6
448 // An LPTIMER0 event does not wake the device.
449 #define SI32_PMU_A_WAKEEN_LPT0WEN_DISABLED_VALUE  0
450 #define SI32_PMU_A_WAKEEN_LPT0WEN_DISABLED_U32 \
451    (SI32_PMU_A_WAKEEN_LPT0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_LPT0WEN_SHIFT)
452 // An LPTIMER0 event awakens the device.
453 #define SI32_PMU_A_WAKEEN_LPT0WEN_ENABLED_VALUE  1
454 #define SI32_PMU_A_WAKEEN_LPT0WEN_ENABLED_U32 \
455    (SI32_PMU_A_WAKEEN_LPT0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_LPT0WEN_SHIFT)
456 
457 #define SI32_PMU_A_WAKEEN_UART0WEN_MASK  0x00000080
458 #define SI32_PMU_A_WAKEEN_UART0WEN_SHIFT  7
459 // A UART0 event does not wake the device.
460 #define SI32_PMU_A_WAKEEN_UART0WEN_DISABLED_VALUE  0
461 #define SI32_PMU_A_WAKEEN_UART0WEN_DISABLED_U32 \
462    (SI32_PMU_A_WAKEEN_UART0WEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_UART0WEN_SHIFT)
463 // A UART0 event awakens the device.
464 #define SI32_PMU_A_WAKEEN_UART0WEN_ENABLED_VALUE  1
465 #define SI32_PMU_A_WAKEEN_UART0WEN_ENABLED_U32 \
466    (SI32_PMU_A_WAKEEN_UART0WEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_UART0WEN_SHIFT)
467 
468 #define SI32_PMU_A_WAKEEN_CPFWEN_MASK  0x00000100
469 #define SI32_PMU_A_WAKEEN_CPFWEN_SHIFT  8
470 // A low power charge pump supply fail event does not wake the device.
471 #define SI32_PMU_A_WAKEEN_CPFWEN_DISABLED_VALUE  0
472 #define SI32_PMU_A_WAKEEN_CPFWEN_DISABLED_U32 \
473    (SI32_PMU_A_WAKEEN_CPFWEN_DISABLED_VALUE << SI32_PMU_A_WAKEEN_CPFWEN_SHIFT)
474 // A low power charge pump supply fail event awakens the device.
475 #define SI32_PMU_A_WAKEEN_CPFWEN_ENABLED_VALUE  1
476 #define SI32_PMU_A_WAKEEN_CPFWEN_ENABLED_U32 \
477    (SI32_PMU_A_WAKEEN_CPFWEN_ENABLED_VALUE << SI32_PMU_A_WAKEEN_CPFWEN_SHIFT)
478 
479 
480 
481 struct SI32_PMU_A_WAKESTATUS_Struct
482 {
483    union
484    {
485       struct
486       {
487          // RTC0 Fail Wake Flag
488          volatile uint32_t RTC0FWF: 1;
489          // RTC0 Alarm Wake Flag
490          volatile uint32_t RTC0A0WF: 1;
491          // Comparator 0 Wake Flag
492          volatile uint32_t CMP0WF: 1;
493          // Advanced Capture Counter 0 Wake Flag
494          volatile uint32_t ACC0WF: 1;
495          // LCD VBAT Voltage Monitor Wake Flag
496          volatile uint32_t LCDMONWF: 1;
497          // Pin Wake Wake Flag
498          volatile uint32_t PWAKEWF: 1;
499          // Low Power Timer Wake Flag
500          volatile uint32_t LPT0WF: 1;
501          // UART0 Wake Flag
502          volatile uint32_t UART0WF: 1;
503          // Low Power Charge Pump Supply Fail Wake Flag
504          volatile uint32_t CPFWF: 1;
505          // Reset Pin Wake Flag
506          volatile uint32_t RSTWF: 1;
507                   uint32_t reserved0: 22;
508       };
509       volatile uint32_t U32;
510    };
511 };
512 
513 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_MASK  0x00000001
514 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_SHIFT  0
515 // An RTC0 Fail event did not wake the device.
516 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_NOT_SET_VALUE  0
517 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_NOT_SET_U32 \
518    (SI32_PMU_A_WAKESTATUS_RTC0FWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0FWF_SHIFT)
519 // An RTC0 Fail event woke the device.
520 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_SET_VALUE  1
521 #define SI32_PMU_A_WAKESTATUS_RTC0FWF_SET_U32 \
522    (SI32_PMU_A_WAKESTATUS_RTC0FWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0FWF_SHIFT)
523 
524 #define SI32_PMU_A_WAKESTATUS_RTC0A0WF_MASK  0x00000002
525 #define SI32_PMU_A_WAKESTATUS_RTC0A0WF_SHIFT  1
526 // An RTC0 Alarm event did not wake the device.
527 #define SI32_PMU_A_WAKESTATUS_RTC0A0WF_NOT_SET_VALUE  0
528 #define SI32_PMU_A_WAKESTATUS_RTC0A0WF_NOT_SET_U32 \
529    (SI32_PMU_A_WAKESTATUS_RTC0A0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0A0WF_SHIFT)
530 // An RTC0 Alarm event woke the device.
531 #define SI32_PMU_A_WAKESTATUS_RTC0A0WF_SET_VALUE  1
532 #define SI32_PMU_A_WAKESTATUS_RTC0A0WF_SET_U32 \
533    (SI32_PMU_A_WAKESTATUS_RTC0A0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_RTC0A0WF_SHIFT)
534 
535 #define SI32_PMU_A_WAKESTATUS_CMP0WF_MASK  0x00000004
536 #define SI32_PMU_A_WAKESTATUS_CMP0WF_SHIFT  2
537 // A Comparator 0 event did not wake the device.
538 #define SI32_PMU_A_WAKESTATUS_CMP0WF_NOT_SET_VALUE  0
539 #define SI32_PMU_A_WAKESTATUS_CMP0WF_NOT_SET_U32 \
540    (SI32_PMU_A_WAKESTATUS_CMP0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_CMP0WF_SHIFT)
541 // A Comparator 0 event woke the device.
542 #define SI32_PMU_A_WAKESTATUS_CMP0WF_SET_VALUE  1
543 #define SI32_PMU_A_WAKESTATUS_CMP0WF_SET_U32 \
544    (SI32_PMU_A_WAKESTATUS_CMP0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_CMP0WF_SHIFT)
545 
546 #define SI32_PMU_A_WAKESTATUS_ACC0WF_MASK  0x00000008
547 #define SI32_PMU_A_WAKESTATUS_ACC0WF_SHIFT  3
548 // An Advanced Capture Counter (ACCTR0) event did not wake the device.
549 #define SI32_PMU_A_WAKESTATUS_ACC0WF_NOT_SET_VALUE  0
550 #define SI32_PMU_A_WAKESTATUS_ACC0WF_NOT_SET_U32 \
551    (SI32_PMU_A_WAKESTATUS_ACC0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_ACC0WF_SHIFT)
552 // An Advanced Capture Counter (ACCTR0) event woke the device.
553 #define SI32_PMU_A_WAKESTATUS_ACC0WF_SET_VALUE  1
554 #define SI32_PMU_A_WAKESTATUS_ACC0WF_SET_U32 \
555    (SI32_PMU_A_WAKESTATUS_ACC0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_ACC0WF_SHIFT)
556 
557 #define SI32_PMU_A_WAKESTATUS_LCDMONWF_MASK  0x00000010
558 #define SI32_PMU_A_WAKESTATUS_LCDMONWF_SHIFT  4
559 // A LCD VBAT voltage monitor event did not wake the device.
560 #define SI32_PMU_A_WAKESTATUS_LCDMONWF_NOT_SET_VALUE  0
561 #define SI32_PMU_A_WAKESTATUS_LCDMONWF_NOT_SET_U32 \
562    (SI32_PMU_A_WAKESTATUS_LCDMONWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_LCDMONWF_SHIFT)
563 // A LCD VBAT voltage monitor event woke the device.
564 #define SI32_PMU_A_WAKESTATUS_LCDMONWF_SET_VALUE  1
565 #define SI32_PMU_A_WAKESTATUS_LCDMONWF_SET_U32 \
566    (SI32_PMU_A_WAKESTATUS_LCDMONWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_LCDMONWF_SHIFT)
567 
568 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_MASK  0x00000020
569 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_SHIFT  5
570 // A Pin Wake event did not wake the device.
571 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_NOT_SET_VALUE  0
572 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_NOT_SET_U32 \
573    (SI32_PMU_A_WAKESTATUS_PWAKEWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_PWAKEWF_SHIFT)
574 // A Pin Wake event woke the device.
575 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_SET_VALUE  1
576 #define SI32_PMU_A_WAKESTATUS_PWAKEWF_SET_U32 \
577    (SI32_PMU_A_WAKESTATUS_PWAKEWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_PWAKEWF_SHIFT)
578 
579 #define SI32_PMU_A_WAKESTATUS_LPT0WF_MASK  0x00000040
580 #define SI32_PMU_A_WAKESTATUS_LPT0WF_SHIFT  6
581 // An LPTIMER0 event did not wake the device.
582 #define SI32_PMU_A_WAKESTATUS_LPT0WF_NOT_SET_VALUE  0
583 #define SI32_PMU_A_WAKESTATUS_LPT0WF_NOT_SET_U32 \
584    (SI32_PMU_A_WAKESTATUS_LPT0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_LPT0WF_SHIFT)
585 // An LPTIMER0 event woke the device.
586 #define SI32_PMU_A_WAKESTATUS_LPT0WF_SET_VALUE  1
587 #define SI32_PMU_A_WAKESTATUS_LPT0WF_SET_U32 \
588    (SI32_PMU_A_WAKESTATUS_LPT0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_LPT0WF_SHIFT)
589 
590 #define SI32_PMU_A_WAKESTATUS_UART0WF_MASK  0x00000080
591 #define SI32_PMU_A_WAKESTATUS_UART0WF_SHIFT  7
592 // A UART0 event did not wake the device.
593 #define SI32_PMU_A_WAKESTATUS_UART0WF_NOT_SET_VALUE  0
594 #define SI32_PMU_A_WAKESTATUS_UART0WF_NOT_SET_U32 \
595    (SI32_PMU_A_WAKESTATUS_UART0WF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_UART0WF_SHIFT)
596 // A UART0 event woke the device.
597 #define SI32_PMU_A_WAKESTATUS_UART0WF_SET_VALUE  1
598 #define SI32_PMU_A_WAKESTATUS_UART0WF_SET_U32 \
599    (SI32_PMU_A_WAKESTATUS_UART0WF_SET_VALUE << SI32_PMU_A_WAKESTATUS_UART0WF_SHIFT)
600 
601 #define SI32_PMU_A_WAKESTATUS_CPFWF_MASK  0x00000100
602 #define SI32_PMU_A_WAKESTATUS_CPFWF_SHIFT  8
603 // A low power charge pump supply fail event did not wake the device.
604 #define SI32_PMU_A_WAKESTATUS_CPFWF_NOT_SET_VALUE  0
605 #define SI32_PMU_A_WAKESTATUS_CPFWF_NOT_SET_U32 \
606    (SI32_PMU_A_WAKESTATUS_CPFWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_CPFWF_SHIFT)
607 // A low power charge pump supply fail event woke the device.
608 #define SI32_PMU_A_WAKESTATUS_CPFWF_SET_VALUE  1
609 #define SI32_PMU_A_WAKESTATUS_CPFWF_SET_U32 \
610    (SI32_PMU_A_WAKESTATUS_CPFWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_CPFWF_SHIFT)
611 
612 #define SI32_PMU_A_WAKESTATUS_RSTWF_MASK  0x00000200
613 #define SI32_PMU_A_WAKESTATUS_RSTWF_SHIFT  9
614 // A /RESET Pin event did not wake the device.
615 #define SI32_PMU_A_WAKESTATUS_RSTWF_NOT_SET_VALUE  0
616 #define SI32_PMU_A_WAKESTATUS_RSTWF_NOT_SET_U32 \
617    (SI32_PMU_A_WAKESTATUS_RSTWF_NOT_SET_VALUE << SI32_PMU_A_WAKESTATUS_RSTWF_SHIFT)
618 // A /RESET Pin event woke the device.
619 #define SI32_PMU_A_WAKESTATUS_RSTWF_SET_VALUE  1
620 #define SI32_PMU_A_WAKESTATUS_RSTWF_SET_U32 \
621    (SI32_PMU_A_WAKESTATUS_RSTWF_SET_VALUE << SI32_PMU_A_WAKESTATUS_RSTWF_SHIFT)
622 
623 
624 
625 struct SI32_PMU_A_PWEN_Struct
626 {
627    union
628    {
629       struct
630       {
631          // WAKE.0 Enable
632          volatile uint32_t PW0EN: 1;
633          // WAKE.1 Enable
634          volatile uint32_t PW1EN: 1;
635          // WAKE.2 Enable
636          volatile uint32_t PW2EN: 1;
637          // WAKE.3 Enable
638          volatile uint32_t PW3EN: 1;
639          // WAKE.4 Enable
640          volatile uint32_t PW4EN: 1;
641          // WAKE.5 Enable
642          volatile uint32_t PW5EN: 1;
643          // WAKE.6 Enable
644          volatile uint32_t PW6EN: 1;
645          // WAKE.7 Enable
646          volatile uint32_t PW7EN: 1;
647          // WAKE.8 Enable
648          volatile uint32_t PW8EN: 1;
649          // WAKE.9 Enable
650          volatile uint32_t PW9EN: 1;
651          // WAKE.10 Enable
652          volatile uint32_t PW10EN: 1;
653          // WAKE.11 Enable
654          volatile uint32_t PW11EN: 1;
655          // WAKE.12 Enable
656          volatile uint32_t PW12EN: 1;
657          // WAKE.13 Enable
658          volatile uint32_t PW13EN: 1;
659          // WAKE.14 Enable
660          volatile uint32_t PW14EN: 1;
661          // WAKE.15 Enable
662          volatile uint32_t PW15EN: 1;
663                   uint32_t reserved0: 16;
664       };
665       volatile uint32_t U32;
666    };
667 };
668 
669 #define SI32_PMU_A_PWEN_PW0EN_MASK  0x00000001
670 #define SI32_PMU_A_PWEN_PW0EN_SHIFT  0
671 // WAKE.0 does not cause a Pin Wake event.
672 #define SI32_PMU_A_PWEN_PW0EN_DISABLED_VALUE  0
673 #define SI32_PMU_A_PWEN_PW0EN_DISABLED_U32 \
674    (SI32_PMU_A_PWEN_PW0EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW0EN_SHIFT)
675 // Enable WAKE.0 as a Pin Wake source.
676 #define SI32_PMU_A_PWEN_PW0EN_ENABLED_VALUE  1
677 #define SI32_PMU_A_PWEN_PW0EN_ENABLED_U32 \
678    (SI32_PMU_A_PWEN_PW0EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW0EN_SHIFT)
679 
680 #define SI32_PMU_A_PWEN_PW1EN_MASK  0x00000002
681 #define SI32_PMU_A_PWEN_PW1EN_SHIFT  1
682 // WAKE.1 does not cause a Pin Wake event.
683 #define SI32_PMU_A_PWEN_PW1EN_DISABLED_VALUE  0
684 #define SI32_PMU_A_PWEN_PW1EN_DISABLED_U32 \
685    (SI32_PMU_A_PWEN_PW1EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW1EN_SHIFT)
686 // Enable WAKE.1 as a Pin Wake source.
687 #define SI32_PMU_A_PWEN_PW1EN_ENABLED_VALUE  1
688 #define SI32_PMU_A_PWEN_PW1EN_ENABLED_U32 \
689    (SI32_PMU_A_PWEN_PW1EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW1EN_SHIFT)
690 
691 #define SI32_PMU_A_PWEN_PW2EN_MASK  0x00000004
692 #define SI32_PMU_A_PWEN_PW2EN_SHIFT  2
693 // WAKE.2 does not cause a Pin Wake event.
694 #define SI32_PMU_A_PWEN_PW2EN_DISABLED_VALUE  0
695 #define SI32_PMU_A_PWEN_PW2EN_DISABLED_U32 \
696    (SI32_PMU_A_PWEN_PW2EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW2EN_SHIFT)
697 // Enable WAKE.2 as a Pin Wake source.
698 #define SI32_PMU_A_PWEN_PW2EN_ENABLED_VALUE  1
699 #define SI32_PMU_A_PWEN_PW2EN_ENABLED_U32 \
700    (SI32_PMU_A_PWEN_PW2EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW2EN_SHIFT)
701 
702 #define SI32_PMU_A_PWEN_PW3EN_MASK  0x00000008
703 #define SI32_PMU_A_PWEN_PW3EN_SHIFT  3
704 // WAKE.3 does not cause a Pin Wake event.
705 #define SI32_PMU_A_PWEN_PW3EN_DISABLED_VALUE  0
706 #define SI32_PMU_A_PWEN_PW3EN_DISABLED_U32 \
707    (SI32_PMU_A_PWEN_PW3EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW3EN_SHIFT)
708 // Enable WAKE.3 as a Pin Wake source.
709 #define SI32_PMU_A_PWEN_PW3EN_ENABLED_VALUE  1
710 #define SI32_PMU_A_PWEN_PW3EN_ENABLED_U32 \
711    (SI32_PMU_A_PWEN_PW3EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW3EN_SHIFT)
712 
713 #define SI32_PMU_A_PWEN_PW4EN_MASK  0x00000010
714 #define SI32_PMU_A_PWEN_PW4EN_SHIFT  4
715 // WAKE.4 does not cause a Pin Wake event.
716 #define SI32_PMU_A_PWEN_PW4EN_DISABLED_VALUE  0
717 #define SI32_PMU_A_PWEN_PW4EN_DISABLED_U32 \
718    (SI32_PMU_A_PWEN_PW4EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW4EN_SHIFT)
719 // Enable WAKE.4 as a Pin Wake source.
720 #define SI32_PMU_A_PWEN_PW4EN_ENABLED_VALUE  1
721 #define SI32_PMU_A_PWEN_PW4EN_ENABLED_U32 \
722    (SI32_PMU_A_PWEN_PW4EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW4EN_SHIFT)
723 
724 #define SI32_PMU_A_PWEN_PW5EN_MASK  0x00000020
725 #define SI32_PMU_A_PWEN_PW5EN_SHIFT  5
726 // WAKE.5 does not cause a Pin Wake event.
727 #define SI32_PMU_A_PWEN_PW5EN_DISABLED_VALUE  0
728 #define SI32_PMU_A_PWEN_PW5EN_DISABLED_U32 \
729    (SI32_PMU_A_PWEN_PW5EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW5EN_SHIFT)
730 // Enable WAKE.5 as a Pin Wake source.
731 #define SI32_PMU_A_PWEN_PW5EN_ENABLED_VALUE  1
732 #define SI32_PMU_A_PWEN_PW5EN_ENABLED_U32 \
733    (SI32_PMU_A_PWEN_PW5EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW5EN_SHIFT)
734 
735 #define SI32_PMU_A_PWEN_PW6EN_MASK  0x00000040
736 #define SI32_PMU_A_PWEN_PW6EN_SHIFT  6
737 // WAKE.6 does not cause a Pin Wake event.
738 #define SI32_PMU_A_PWEN_PW6EN_DISABLED_VALUE  0
739 #define SI32_PMU_A_PWEN_PW6EN_DISABLED_U32 \
740    (SI32_PMU_A_PWEN_PW6EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW6EN_SHIFT)
741 // Enable WAKE.6 as a Pin Wake source.
742 #define SI32_PMU_A_PWEN_PW6EN_ENABLED_VALUE  1
743 #define SI32_PMU_A_PWEN_PW6EN_ENABLED_U32 \
744    (SI32_PMU_A_PWEN_PW6EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW6EN_SHIFT)
745 
746 #define SI32_PMU_A_PWEN_PW7EN_MASK  0x00000080
747 #define SI32_PMU_A_PWEN_PW7EN_SHIFT  7
748 // WAKE.7 does not cause a Pin Wake event.
749 #define SI32_PMU_A_PWEN_PW7EN_DISABLED_VALUE  0
750 #define SI32_PMU_A_PWEN_PW7EN_DISABLED_U32 \
751    (SI32_PMU_A_PWEN_PW7EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW7EN_SHIFT)
752 // Enable WAKE.7 as a Pin Wake source.
753 #define SI32_PMU_A_PWEN_PW7EN_ENABLED_VALUE  1
754 #define SI32_PMU_A_PWEN_PW7EN_ENABLED_U32 \
755    (SI32_PMU_A_PWEN_PW7EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW7EN_SHIFT)
756 
757 #define SI32_PMU_A_PWEN_PW8EN_MASK  0x00000100
758 #define SI32_PMU_A_PWEN_PW8EN_SHIFT  8
759 // WAKE.8 does not cause a Pin Wake event.
760 #define SI32_PMU_A_PWEN_PW8EN_DISABLED_VALUE  0
761 #define SI32_PMU_A_PWEN_PW8EN_DISABLED_U32 \
762    (SI32_PMU_A_PWEN_PW8EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW8EN_SHIFT)
763 // Enable WAKE.8 as a Pin Wake source.
764 #define SI32_PMU_A_PWEN_PW8EN_ENABLED_VALUE  1
765 #define SI32_PMU_A_PWEN_PW8EN_ENABLED_U32 \
766    (SI32_PMU_A_PWEN_PW8EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW8EN_SHIFT)
767 
768 #define SI32_PMU_A_PWEN_PW9EN_MASK  0x00000200
769 #define SI32_PMU_A_PWEN_PW9EN_SHIFT  9
770 // WAKE.9 does not cause a Pin Wake event.
771 #define SI32_PMU_A_PWEN_PW9EN_DISABLED_VALUE  0
772 #define SI32_PMU_A_PWEN_PW9EN_DISABLED_U32 \
773    (SI32_PMU_A_PWEN_PW9EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW9EN_SHIFT)
774 // Enable WAKE.9 as a Pin Wake source.
775 #define SI32_PMU_A_PWEN_PW9EN_ENABLED_VALUE  1
776 #define SI32_PMU_A_PWEN_PW9EN_ENABLED_U32 \
777    (SI32_PMU_A_PWEN_PW9EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW9EN_SHIFT)
778 
779 #define SI32_PMU_A_PWEN_PW10EN_MASK  0x00000400
780 #define SI32_PMU_A_PWEN_PW10EN_SHIFT  10
781 // WAKE.10 does not cause a Pin Wake event.
782 #define SI32_PMU_A_PWEN_PW10EN_DISABLED_VALUE  0
783 #define SI32_PMU_A_PWEN_PW10EN_DISABLED_U32 \
784    (SI32_PMU_A_PWEN_PW10EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW10EN_SHIFT)
785 // Enable WAKE.10 as a Pin Wake source.
786 #define SI32_PMU_A_PWEN_PW10EN_ENABLED_VALUE  1
787 #define SI32_PMU_A_PWEN_PW10EN_ENABLED_U32 \
788    (SI32_PMU_A_PWEN_PW10EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW10EN_SHIFT)
789 
790 #define SI32_PMU_A_PWEN_PW11EN_MASK  0x00000800
791 #define SI32_PMU_A_PWEN_PW11EN_SHIFT  11
792 // WAKE.11 does not cause a Pin Wake event.
793 #define SI32_PMU_A_PWEN_PW11EN_DISABLED_VALUE  0
794 #define SI32_PMU_A_PWEN_PW11EN_DISABLED_U32 \
795    (SI32_PMU_A_PWEN_PW11EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW11EN_SHIFT)
796 // Enable WAKE.11 as a Pin Wake source.
797 #define SI32_PMU_A_PWEN_PW11EN_ENABLED_VALUE  1
798 #define SI32_PMU_A_PWEN_PW11EN_ENABLED_U32 \
799    (SI32_PMU_A_PWEN_PW11EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW11EN_SHIFT)
800 
801 #define SI32_PMU_A_PWEN_PW12EN_MASK  0x00001000
802 #define SI32_PMU_A_PWEN_PW12EN_SHIFT  12
803 // WAKE.12 does not cause a Pin Wake event.
804 #define SI32_PMU_A_PWEN_PW12EN_DISABLED_VALUE  0
805 #define SI32_PMU_A_PWEN_PW12EN_DISABLED_U32 \
806    (SI32_PMU_A_PWEN_PW12EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW12EN_SHIFT)
807 // Enable WAKE.12 as a Pin Wake source.
808 #define SI32_PMU_A_PWEN_PW12EN_ENABLED_VALUE  1
809 #define SI32_PMU_A_PWEN_PW12EN_ENABLED_U32 \
810    (SI32_PMU_A_PWEN_PW12EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW12EN_SHIFT)
811 
812 #define SI32_PMU_A_PWEN_PW13EN_MASK  0x00002000
813 #define SI32_PMU_A_PWEN_PW13EN_SHIFT  13
814 // WAKE.13 does not cause a Pin Wake event.
815 #define SI32_PMU_A_PWEN_PW13EN_DISABLED_VALUE  0
816 #define SI32_PMU_A_PWEN_PW13EN_DISABLED_U32 \
817    (SI32_PMU_A_PWEN_PW13EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW13EN_SHIFT)
818 // Enable WAKE.13 as a Pin Wake source.
819 #define SI32_PMU_A_PWEN_PW13EN_ENABLED_VALUE  1
820 #define SI32_PMU_A_PWEN_PW13EN_ENABLED_U32 \
821    (SI32_PMU_A_PWEN_PW13EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW13EN_SHIFT)
822 
823 #define SI32_PMU_A_PWEN_PW14EN_MASK  0x00004000
824 #define SI32_PMU_A_PWEN_PW14EN_SHIFT  14
825 // WAKE.14 does not cause a Pin Wake event.
826 #define SI32_PMU_A_PWEN_PW14EN_DISABLED_VALUE  0
827 #define SI32_PMU_A_PWEN_PW14EN_DISABLED_U32 \
828    (SI32_PMU_A_PWEN_PW14EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW14EN_SHIFT)
829 // Enable WAKE.14 as a Pin Wake source.
830 #define SI32_PMU_A_PWEN_PW14EN_ENABLED_VALUE  1
831 #define SI32_PMU_A_PWEN_PW14EN_ENABLED_U32 \
832    (SI32_PMU_A_PWEN_PW14EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW14EN_SHIFT)
833 
834 #define SI32_PMU_A_PWEN_PW15EN_MASK  0x00008000
835 #define SI32_PMU_A_PWEN_PW15EN_SHIFT  15
836 // WAKE.15 does not cause a Pin Wake event.
837 #define SI32_PMU_A_PWEN_PW15EN_DISABLED_VALUE  0
838 #define SI32_PMU_A_PWEN_PW15EN_DISABLED_U32 \
839    (SI32_PMU_A_PWEN_PW15EN_DISABLED_VALUE << SI32_PMU_A_PWEN_PW15EN_SHIFT)
840 // Enable WAKE.15 as a Pin Wake source.
841 #define SI32_PMU_A_PWEN_PW15EN_ENABLED_VALUE  1
842 #define SI32_PMU_A_PWEN_PW15EN_ENABLED_U32 \
843    (SI32_PMU_A_PWEN_PW15EN_ENABLED_VALUE << SI32_PMU_A_PWEN_PW15EN_SHIFT)
844 
845 
846 
847 struct SI32_PMU_A_PWPOL_Struct
848 {
849    union
850    {
851       struct
852       {
853          // WAKE.0 Polarity Select
854          volatile uint32_t PW0POL: 1;
855          // WAKE.1 Polarity Select
856          volatile uint32_t PW1POL: 1;
857          // WAKE.2 Polarity Select
858          volatile uint32_t PW2POL: 1;
859          // WAKE.3 Polarity Select
860          volatile uint32_t PW3POL: 1;
861          // WAKE.4 Polarity Select
862          volatile uint32_t PW4POL: 1;
863          // WAKE.5 Polarity Select
864          volatile uint32_t PW5POL: 1;
865          // WAKE.6 Polarity Select
866          volatile uint32_t PW6POL: 1;
867          // WAKE.7 Polarity Select
868          volatile uint32_t PW7POL: 1;
869          // WAKE.8 Polarity Select
870          volatile uint32_t PW8POL: 1;
871          // WAKE.9 Polarity Select
872          volatile uint32_t PW9POL: 1;
873          // WAKE.10 Polarity Select
874          volatile uint32_t PW10POL: 1;
875          // WAKE.11 Polarity Select
876          volatile uint32_t PW11POL: 1;
877          // WAKE.12 Polarity Select
878          volatile uint32_t PW12POL: 1;
879          // WAKE.13 Polarity Select
880          volatile uint32_t PW13POL: 1;
881          // WAKE.14 Polarity Select
882          volatile uint32_t PW14POL: 1;
883          // WAKE.15 Polarity Select
884          volatile uint32_t PW15POL: 1;
885                   uint32_t reserved0: 16;
886       };
887       volatile uint32_t U32;
888    };
889 };
890 
891 #define SI32_PMU_A_PWPOL_PW0POL_MASK  0x00000001
892 #define SI32_PMU_A_PWPOL_PW0POL_SHIFT  0
893 // A logic low on WAKE.0 causes a Pin Wake event if PW0EN is set to 1.
894 #define SI32_PMU_A_PWPOL_PW0POL_LOW_VALUE  0
895 #define SI32_PMU_A_PWPOL_PW0POL_LOW_U32 \
896    (SI32_PMU_A_PWPOL_PW0POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW0POL_SHIFT)
897 // A logic high on WAKE.0 causes a Pin Wake event if PW0EN is set to 1.
898 #define SI32_PMU_A_PWPOL_PW0POL_HIGH_VALUE  1
899 #define SI32_PMU_A_PWPOL_PW0POL_HIGH_U32 \
900    (SI32_PMU_A_PWPOL_PW0POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW0POL_SHIFT)
901 
902 #define SI32_PMU_A_PWPOL_PW1POL_MASK  0x00000002
903 #define SI32_PMU_A_PWPOL_PW1POL_SHIFT  1
904 // A logic low on WAKE.1 causes a Pin Wake event if PW1EN is set to 1.
905 #define SI32_PMU_A_PWPOL_PW1POL_LOW_VALUE  0
906 #define SI32_PMU_A_PWPOL_PW1POL_LOW_U32 \
907    (SI32_PMU_A_PWPOL_PW1POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW1POL_SHIFT)
908 // A logic high on WAKE.1 causes a Pin Wake event if PW1EN is set to 1.
909 #define SI32_PMU_A_PWPOL_PW1POL_HIGH_VALUE  1
910 #define SI32_PMU_A_PWPOL_PW1POL_HIGH_U32 \
911    (SI32_PMU_A_PWPOL_PW1POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW1POL_SHIFT)
912 
913 #define SI32_PMU_A_PWPOL_PW2POL_MASK  0x00000004
914 #define SI32_PMU_A_PWPOL_PW2POL_SHIFT  2
915 // A logic low on WAKE.2 causes a Pin Wake event if PW2EN is set to 1.
916 #define SI32_PMU_A_PWPOL_PW2POL_LOW_VALUE  0
917 #define SI32_PMU_A_PWPOL_PW2POL_LOW_U32 \
918    (SI32_PMU_A_PWPOL_PW2POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW2POL_SHIFT)
919 // A logic high on WAKE.2 causes a Pin Wake event if PW2EN is set to 1.
920 #define SI32_PMU_A_PWPOL_PW2POL_HIGH_VALUE  1
921 #define SI32_PMU_A_PWPOL_PW2POL_HIGH_U32 \
922    (SI32_PMU_A_PWPOL_PW2POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW2POL_SHIFT)
923 
924 #define SI32_PMU_A_PWPOL_PW3POL_MASK  0x00000008
925 #define SI32_PMU_A_PWPOL_PW3POL_SHIFT  3
926 // A logic low on WAKE.3 causes a Pin Wake event if PW3EN is set to 1.
927 #define SI32_PMU_A_PWPOL_PW3POL_LOW_VALUE  0
928 #define SI32_PMU_A_PWPOL_PW3POL_LOW_U32 \
929    (SI32_PMU_A_PWPOL_PW3POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW3POL_SHIFT)
930 // A logic high on WAKE.3 causes a Pin Wake event if PW3EN is set to 1.
931 #define SI32_PMU_A_PWPOL_PW3POL_HIGH_VALUE  1
932 #define SI32_PMU_A_PWPOL_PW3POL_HIGH_U32 \
933    (SI32_PMU_A_PWPOL_PW3POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW3POL_SHIFT)
934 
935 #define SI32_PMU_A_PWPOL_PW4POL_MASK  0x00000010
936 #define SI32_PMU_A_PWPOL_PW4POL_SHIFT  4
937 // A logic low on WAKE.4 causes a Pin Wake event if PW4EN is set to 1.
938 #define SI32_PMU_A_PWPOL_PW4POL_LOW_VALUE  0
939 #define SI32_PMU_A_PWPOL_PW4POL_LOW_U32 \
940    (SI32_PMU_A_PWPOL_PW4POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW4POL_SHIFT)
941 // A logic high on WAKE.4 causes a Pin Wake event if PW4EN is set to 1.
942 #define SI32_PMU_A_PWPOL_PW4POL_HIGH_VALUE  1
943 #define SI32_PMU_A_PWPOL_PW4POL_HIGH_U32 \
944    (SI32_PMU_A_PWPOL_PW4POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW4POL_SHIFT)
945 
946 #define SI32_PMU_A_PWPOL_PW5POL_MASK  0x00000020
947 #define SI32_PMU_A_PWPOL_PW5POL_SHIFT  5
948 // A logic low on WAKE.5 causes a Pin Wake event if PW5EN is set to 1.
949 #define SI32_PMU_A_PWPOL_PW5POL_LOW_VALUE  0
950 #define SI32_PMU_A_PWPOL_PW5POL_LOW_U32 \
951    (SI32_PMU_A_PWPOL_PW5POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW5POL_SHIFT)
952 // A logic high on WAKE.5 causes a Pin Wake event if PW5EN is set to 1.
953 #define SI32_PMU_A_PWPOL_PW5POL_HIGH_VALUE  1
954 #define SI32_PMU_A_PWPOL_PW5POL_HIGH_U32 \
955    (SI32_PMU_A_PWPOL_PW5POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW5POL_SHIFT)
956 
957 #define SI32_PMU_A_PWPOL_PW6POL_MASK  0x00000040
958 #define SI32_PMU_A_PWPOL_PW6POL_SHIFT  6
959 // A logic low on WAKE.6 causes a Pin Wake event if PW6EN is set to 1.
960 #define SI32_PMU_A_PWPOL_PW6POL_LOW_VALUE  0
961 #define SI32_PMU_A_PWPOL_PW6POL_LOW_U32 \
962    (SI32_PMU_A_PWPOL_PW6POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW6POL_SHIFT)
963 // A logic high on WAKE.6 causes a Pin Wake event if PW6EN is set to 1.
964 #define SI32_PMU_A_PWPOL_PW6POL_HIGH_VALUE  1
965 #define SI32_PMU_A_PWPOL_PW6POL_HIGH_U32 \
966    (SI32_PMU_A_PWPOL_PW6POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW6POL_SHIFT)
967 
968 #define SI32_PMU_A_PWPOL_PW7POL_MASK  0x00000080
969 #define SI32_PMU_A_PWPOL_PW7POL_SHIFT  7
970 // A logic low on WAKE.7 causes a Pin Wake event if PW7EN is set to 1.
971 #define SI32_PMU_A_PWPOL_PW7POL_LOW_VALUE  0
972 #define SI32_PMU_A_PWPOL_PW7POL_LOW_U32 \
973    (SI32_PMU_A_PWPOL_PW7POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW7POL_SHIFT)
974 // A logic high on WAKE.7 causes a Pin Wake event if PW7EN is set to 1.
975 #define SI32_PMU_A_PWPOL_PW7POL_HIGH_VALUE  1
976 #define SI32_PMU_A_PWPOL_PW7POL_HIGH_U32 \
977    (SI32_PMU_A_PWPOL_PW7POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW7POL_SHIFT)
978 
979 #define SI32_PMU_A_PWPOL_PW8POL_MASK  0x00000100
980 #define SI32_PMU_A_PWPOL_PW8POL_SHIFT  8
981 // A logic low on WAKE.8 causes a Pin Wake event if PW8EN is set to 1.
982 #define SI32_PMU_A_PWPOL_PW8POL_LOW_VALUE  0
983 #define SI32_PMU_A_PWPOL_PW8POL_LOW_U32 \
984    (SI32_PMU_A_PWPOL_PW8POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW8POL_SHIFT)
985 // A logic high on WAKE.8 causes a Pin Wake event if PW8EN is set to 1.
986 #define SI32_PMU_A_PWPOL_PW8POL_HIGH_VALUE  1
987 #define SI32_PMU_A_PWPOL_PW8POL_HIGH_U32 \
988    (SI32_PMU_A_PWPOL_PW8POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW8POL_SHIFT)
989 
990 #define SI32_PMU_A_PWPOL_PW9POL_MASK  0x00000200
991 #define SI32_PMU_A_PWPOL_PW9POL_SHIFT  9
992 // A logic low on WAKE.9 causes a Pin Wake event if PW9EN is set to 1.
993 #define SI32_PMU_A_PWPOL_PW9POL_LOW_VALUE  0
994 #define SI32_PMU_A_PWPOL_PW9POL_LOW_U32 \
995    (SI32_PMU_A_PWPOL_PW9POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW9POL_SHIFT)
996 // A logic high on WAKE.9 causes a Pin Wake event if PW9EN is set to 1.
997 #define SI32_PMU_A_PWPOL_PW9POL_HIGH_VALUE  1
998 #define SI32_PMU_A_PWPOL_PW9POL_HIGH_U32 \
999    (SI32_PMU_A_PWPOL_PW9POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW9POL_SHIFT)
1000 
1001 #define SI32_PMU_A_PWPOL_PW10POL_MASK  0x00000400
1002 #define SI32_PMU_A_PWPOL_PW10POL_SHIFT  10
1003 // A logic low on WAKE.10 causes a Pin Wake event if PW10EN is set to 1.
1004 #define SI32_PMU_A_PWPOL_PW10POL_LOW_VALUE  0
1005 #define SI32_PMU_A_PWPOL_PW10POL_LOW_U32 \
1006    (SI32_PMU_A_PWPOL_PW10POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW10POL_SHIFT)
1007 // A logic high on WAKE.10 causes a Pin Wake event if PW10EN is set to 1.
1008 #define SI32_PMU_A_PWPOL_PW10POL_HIGH_VALUE  1
1009 #define SI32_PMU_A_PWPOL_PW10POL_HIGH_U32 \
1010    (SI32_PMU_A_PWPOL_PW10POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW10POL_SHIFT)
1011 
1012 #define SI32_PMU_A_PWPOL_PW11POL_MASK  0x00000800
1013 #define SI32_PMU_A_PWPOL_PW11POL_SHIFT  11
1014 // A logic low on WAKE.11 causes a Pin Wake event if PW11EN is set to 1.
1015 #define SI32_PMU_A_PWPOL_PW11POL_LOW_VALUE  0
1016 #define SI32_PMU_A_PWPOL_PW11POL_LOW_U32 \
1017    (SI32_PMU_A_PWPOL_PW11POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW11POL_SHIFT)
1018 // A logic high on WAKE.11 causes a Pin Wake event if PW11EN is set to 1.
1019 #define SI32_PMU_A_PWPOL_PW11POL_HIGH_VALUE  1
1020 #define SI32_PMU_A_PWPOL_PW11POL_HIGH_U32 \
1021    (SI32_PMU_A_PWPOL_PW11POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW11POL_SHIFT)
1022 
1023 #define SI32_PMU_A_PWPOL_PW12POL_MASK  0x00001000
1024 #define SI32_PMU_A_PWPOL_PW12POL_SHIFT  12
1025 // A logic low on WAKE.12 causes a Pin Wake event if PW12EN is set to 1.
1026 #define SI32_PMU_A_PWPOL_PW12POL_LOW_VALUE  0
1027 #define SI32_PMU_A_PWPOL_PW12POL_LOW_U32 \
1028    (SI32_PMU_A_PWPOL_PW12POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW12POL_SHIFT)
1029 // A logic high on WAKE.12 causes a Pin Wake event if PW12EN is set to 1.
1030 #define SI32_PMU_A_PWPOL_PW12POL_HIGH_VALUE  1
1031 #define SI32_PMU_A_PWPOL_PW12POL_HIGH_U32 \
1032    (SI32_PMU_A_PWPOL_PW12POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW12POL_SHIFT)
1033 
1034 #define SI32_PMU_A_PWPOL_PW13POL_MASK  0x00002000
1035 #define SI32_PMU_A_PWPOL_PW13POL_SHIFT  13
1036 // A logic low on WAKE.13 causes a Pin Wake event if PW13EN is set to 1.
1037 #define SI32_PMU_A_PWPOL_PW13POL_LOW_VALUE  0
1038 #define SI32_PMU_A_PWPOL_PW13POL_LOW_U32 \
1039    (SI32_PMU_A_PWPOL_PW13POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW13POL_SHIFT)
1040 // A logic high on WAKE.13 causes a Pin Wake event if PW13EN is set to 1.
1041 #define SI32_PMU_A_PWPOL_PW13POL_HIGH_VALUE  1
1042 #define SI32_PMU_A_PWPOL_PW13POL_HIGH_U32 \
1043    (SI32_PMU_A_PWPOL_PW13POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW13POL_SHIFT)
1044 
1045 #define SI32_PMU_A_PWPOL_PW14POL_MASK  0x00004000
1046 #define SI32_PMU_A_PWPOL_PW14POL_SHIFT  14
1047 // A logic low on WAKE.14 causes a Pin Wake event if PW14EN is set to 1.
1048 #define SI32_PMU_A_PWPOL_PW14POL_LOW_VALUE  0
1049 #define SI32_PMU_A_PWPOL_PW14POL_LOW_U32 \
1050    (SI32_PMU_A_PWPOL_PW14POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW14POL_SHIFT)
1051 // A logic high on WAKE.14 causes a Pin Wake event if PW14EN is set to 1.
1052 #define SI32_PMU_A_PWPOL_PW14POL_HIGH_VALUE  1
1053 #define SI32_PMU_A_PWPOL_PW14POL_HIGH_U32 \
1054    (SI32_PMU_A_PWPOL_PW14POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW14POL_SHIFT)
1055 
1056 #define SI32_PMU_A_PWPOL_PW15POL_MASK  0x00008000
1057 #define SI32_PMU_A_PWPOL_PW15POL_SHIFT  15
1058 // A logic low on WAKE.15 causes a Pin Wake event if PW15EN is set to 1.
1059 #define SI32_PMU_A_PWPOL_PW15POL_LOW_VALUE  0
1060 #define SI32_PMU_A_PWPOL_PW15POL_LOW_U32 \
1061    (SI32_PMU_A_PWPOL_PW15POL_LOW_VALUE << SI32_PMU_A_PWPOL_PW15POL_SHIFT)
1062 // A logic high on WAKE.15 causes a Pin Wake event if PW15EN is set to 1.
1063 #define SI32_PMU_A_PWPOL_PW15POL_HIGH_VALUE  1
1064 #define SI32_PMU_A_PWPOL_PW15POL_HIGH_U32 \
1065    (SI32_PMU_A_PWPOL_PW15POL_HIGH_VALUE << SI32_PMU_A_PWPOL_PW15POL_SHIFT)
1066 
1067 
1068 
1069 typedef struct SI32_PMU_A_Struct
1070 {
1071    struct SI32_PMU_A_CONTROL_Struct                CONTROL        ; // Base Address + 0x0
1072    volatile uint32_t                               CONTROL_SET;
1073    volatile uint32_t                               CONTROL_CLR;
1074    uint32_t                                        reserved0;
1075    struct SI32_PMU_A_CONFIG_Struct                 CONFIG         ; // Base Address + 0x10
1076    volatile uint32_t                               CONFIG_SET;
1077    volatile uint32_t                               CONFIG_CLR;
1078    uint32_t                                        reserved1;
1079    struct SI32_PMU_A_STATUS_Struct                 STATUS         ; // Base Address + 0x20
1080    volatile uint32_t                               STATUS_SET;
1081    volatile uint32_t                               STATUS_CLR;
1082    uint32_t                                        reserved2;
1083    struct SI32_PMU_A_WAKEEN_Struct                 WAKEEN         ; // Base Address + 0x30
1084    volatile uint32_t                               WAKEEN_SET;
1085    volatile uint32_t                               WAKEEN_CLR;
1086    uint32_t                                        reserved3;
1087    struct SI32_PMU_A_WAKESTATUS_Struct             WAKESTATUS     ; // Base Address + 0x40
1088    uint32_t                                        reserved4;
1089    uint32_t                                        reserved5;
1090    uint32_t                                        reserved6;
1091    struct SI32_PMU_A_PWEN_Struct                   PWEN           ; // Base Address + 0x50
1092    volatile uint32_t                               PWEN_SET;
1093    volatile uint32_t                               PWEN_CLR;
1094    uint32_t                                        reserved7;
1095    struct SI32_PMU_A_PWPOL_Struct                  PWPOL          ; // Base Address + 0x60
1096    volatile uint32_t                               PWPOL_SET;
1097    volatile uint32_t                               PWPOL_CLR;
1098    uint32_t                                        reserved8;
1099 } SI32_PMU_A_Type;
1100 
1101 #ifdef __cplusplus
1102 }
1103 #endif
1104 
1105 #endif // __SI32_PMU_A_REGISTERS_H__
1106 
1107 //-eof--------------------------------------------------------------------------
1108 
1109