1 //----------------------------------------------------------------------------- 2 // Copyright 2012 (c) Silicon Laboratories Inc. 3 // 4 // SPDX-License-Identifier: Zlib 5 // 6 // This siHAL software is provided 'as-is', without any express or implied 7 // warranty. In no event will the authors be held liable for any damages 8 // arising from the use of this software. 9 // 10 // Permission is granted to anyone to use this software for any purpose, 11 // including commercial applications, and to alter it and redistribute it 12 // freely, subject to the following restrictions: 13 // 14 // 1. The origin of this software must not be misrepresented; you must not 15 // claim that you wrote the original software. If you use this software 16 // in a product, an acknowledgment in the product documentation would be 17 // appreciated but is not required. 18 // 2. Altered source versions must be plainly marked as such, and must not be 19 // misrepresented as being the original software. 20 // 3. This notice may not be removed or altered from any source distribution. 21 //----------------------------------------------------------------------------- 22 // 23 // This file applies to the SIM3U1XX_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 // 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