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