1 /****************************************************************************** 2 * Filename: hw_pmctl_h 3 ****************************************************************************** 4 * Copyright (c) 2021 Texas Instruments Incorporated. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * 9 * 1) Redistributions of source code must retain the above copyright notice, 10 * this list of conditions and the following disclaimer. 11 * 12 * 2) Redistributions in binary form must reproduce the above copyright notice, 13 * this list of conditions and the following disclaimer in the documentation 14 * and/or other materials provided with the distribution. 15 * 16 * 3) Neither the name of the copyright holder nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 ******************************************************************************/ 32 33 #ifndef __HW_PMCTL_H__ 34 #define __HW_PMCTL_H__ 35 36 //***************************************************************************** 37 // 38 // This section defines the register offsets of 39 // PMCTL component 40 // 41 //***************************************************************************** 42 // Description Register. 43 #define PMCTL_O_DESC 0x00000000U 44 45 // Extended Description Register. 46 #define PMCTL_O_DESCEX 0x00000004U 47 48 // Shutdown Register. 49 #define PMCTL_O_SHTDWN 0x00000008U 50 51 // Sleep Control Register. 52 #define PMCTL_O_SLPCTL 0x0000000CU 53 54 // Wakeup Status Register 55 #define PMCTL_O_WUSTA 0x00000010U 56 57 // VDDR Control Register. 58 #define PMCTL_O_VDDRCTL 0x00000014U 59 60 // Internal. Only to be used through TI provided API. 61 #define PMCTL_O_SYSFSET 0x00000020U 62 63 // Internal. Only to be used through TI provided API. 64 #define PMCTL_O_SYSFCLR 0x00000024U 65 66 // Internal. Only to be used through TI provided API. 67 #define PMCTL_O_SYSFSTA 0x00000028U 68 69 // Reset Control Register. 70 #define PMCTL_O_RSTCTL 0x0000002CU 71 72 // Reset Status. 73 #define PMCTL_O_RSTSTA 0x00000030U 74 75 // Internal. Only to be used through TI provided API. 76 #define PMCTL_O_BOOTSTA 0x00000034U 77 78 // AON Register Status 1. 79 #define PMCTL_O_AONRSTA1 0x0000003CU 80 81 // AON Register Set 1. 82 #define PMCTL_O_AONRSET1 0x00000040U 83 84 // AON Register Clear 1. 85 #define PMCTL_O_AONRCLR1 0x00000044U 86 87 // Internal. Only to be used through TI provided API. 88 #define PMCTL_O_ETPP 0x00000064U 89 90 // Internal. Only to be used through TI provided API. 91 #define PMCTL_O_RETCFG0 0x0000007CU 92 93 // Internal. Only to be used through TI provided API. 94 #define PMCTL_O_RETCFG1 0x00000080U 95 96 // Internal. Only to be used through TI provided API. 97 #define PMCTL_O_RETCFG2 0x00000084U 98 99 // Internal. Only to be used through TI provided API. 100 #define PMCTL_O_RETCFG3 0x00000088U 101 102 // Internal. Only to be used through TI provided API. 103 #define PMCTL_O_RETCFG4 0x0000008CU 104 105 // Internal. Only to be used through TI provided API. 106 #define PMCTL_O_RETCFG5 0x00000090U 107 108 // Internal. Only to be used through TI provided API. 109 #define PMCTL_O_RETCFG6 0x00000094U 110 111 // Internal. Only to be used through TI provided API. 112 #define PMCTL_O_RETCFG7 0x00000098U 113 114 //***************************************************************************** 115 // 116 // Register: PMCTL_O_DESC 117 // 118 //***************************************************************************** 119 // Field: [31:16] MODID 120 // 121 // Module identifier used to uniquely identify this IP. 122 #define PMCTL_DESC_MODID_W 16U 123 #define PMCTL_DESC_MODID_M 0xFFFF0000U 124 #define PMCTL_DESC_MODID_S 16U 125 126 // Field: [15:12] STDIPOFF 127 // 128 // Standard IP MMR block offset. Standard IP MMRs are the set of from 129 // aggregated IRQ registers till DTB. 130 // 131 // 0: Standard IP MMRs do not exist 132 // 0x1-0xF: Standard IP MMRs begin at offset of (64*STDIPOFF from the base IP 133 // address) 134 #define PMCTL_DESC_STDIPOFF_W 4U 135 #define PMCTL_DESC_STDIPOFF_M 0x0000F000U 136 #define PMCTL_DESC_STDIPOFF_S 12U 137 138 // Field: [11:8] INSTIDX 139 // 140 // IP Instance ID number. If multiple instances of IP exist in the device, this 141 // field can identify the instance number (0-15). 142 #define PMCTL_DESC_INSTIDX_W 4U 143 #define PMCTL_DESC_INSTIDX_M 0x00000F00U 144 #define PMCTL_DESC_INSTIDX_S 8U 145 146 // Field: [7:4] MAJREV 147 // 148 // Major revision of IP (0-15). 149 #define PMCTL_DESC_MAJREV_W 4U 150 #define PMCTL_DESC_MAJREV_M 0x000000F0U 151 #define PMCTL_DESC_MAJREV_S 4U 152 153 // Field: [3:0] MINREV 154 // 155 // Minor revision of IP (0-15). 156 #define PMCTL_DESC_MINREV_W 4U 157 #define PMCTL_DESC_MINREV_M 0x0000000FU 158 #define PMCTL_DESC_MINREV_S 0U 159 160 //***************************************************************************** 161 // 162 // Register: PMCTL_O_DESCEX 163 // 164 //***************************************************************************** 165 // Field: [31:30] FLASHSZ 166 // 167 // System flash availability 168 // ENUMs: 169 // SZ3 Flash size set to level 3 (Max size) 170 // SZ2 Flash size set to level 2 171 // SZ1 Flash size set to level 1 172 // SZ0 Flash size set to level 0 (Min size) 173 #define PMCTL_DESCEX_FLASHSZ_W 2U 174 #define PMCTL_DESCEX_FLASHSZ_M 0xC0000000U 175 #define PMCTL_DESCEX_FLASHSZ_S 30U 176 #define PMCTL_DESCEX_FLASHSZ_SZ3 0xC0000000U 177 #define PMCTL_DESCEX_FLASHSZ_SZ2 0x80000000U 178 #define PMCTL_DESCEX_FLASHSZ_SZ1 0x40000000U 179 #define PMCTL_DESCEX_FLASHSZ_SZ0 0x00000000U 180 181 // Field: [29:28] SRAMSZ 182 // 183 // System SRAM availability 184 // ENUMs: 185 // SZ3 SRAM size set to level 3 (Max size) 186 // SZ2 SRAM size set to level 2 187 // SZ1 SRAM size set to level 1 188 // SZ0 SRAM size set to level 0 (Min size) 189 #define PMCTL_DESCEX_SRAMSZ_W 2U 190 #define PMCTL_DESCEX_SRAMSZ_M 0x30000000U 191 #define PMCTL_DESCEX_SRAMSZ_S 28U 192 #define PMCTL_DESCEX_SRAMSZ_SZ3 0x30000000U 193 #define PMCTL_DESCEX_SRAMSZ_SZ2 0x20000000U 194 #define PMCTL_DESCEX_SRAMSZ_SZ1 0x10000000U 195 #define PMCTL_DESCEX_SRAMSZ_SZ0 0x00000000U 196 197 // Field: [27] TSD 198 // 199 // TSD (thermal shutdown) IP status on device 200 // ENUMs: 201 // IP_AVAIL IP is available 202 // IP_UNAVAIL IP is unavailable 203 #define PMCTL_DESCEX_TSD 0x08000000U 204 #define PMCTL_DESCEX_TSD_M 0x08000000U 205 #define PMCTL_DESCEX_TSD_S 27U 206 #define PMCTL_DESCEX_TSD_IP_AVAIL 0x08000000U 207 #define PMCTL_DESCEX_TSD_IP_UNAVAIL 0x00000000U 208 209 // Field: [26] LPCMP 210 // 211 // LPCMP (low power comparator) IP status on device 212 // ENUMs: 213 // IP_AVAIL IP is available 214 // IP_UNAVAIL IP is unavailable 215 #define PMCTL_DESCEX_LPCMP 0x04000000U 216 #define PMCTL_DESCEX_LPCMP_M 0x04000000U 217 #define PMCTL_DESCEX_LPCMP_S 26U 218 #define PMCTL_DESCEX_LPCMP_IP_AVAIL 0x04000000U 219 #define PMCTL_DESCEX_LPCMP_IP_UNAVAIL 0x00000000U 220 221 //***************************************************************************** 222 // 223 // Register: PMCTL_O_SHTDWN 224 // 225 //***************************************************************************** 226 // Field: [15:0] KEY 227 // 228 // Setting a valid key will trigger the device to enter SHUTDOWN mode. 229 // ENUMs: 230 // VALID This is the only valid key value that will trigger 231 // SHUTDOWN mode. 232 // All other values are 233 // invalid and will have no effect. 234 #define PMCTL_SHTDWN_KEY_W 16U 235 #define PMCTL_SHTDWN_KEY_M 0x0000FFFFU 236 #define PMCTL_SHTDWN_KEY_S 0U 237 #define PMCTL_SHTDWN_KEY_VALID 0x0000A5A5U 238 239 //***************************************************************************** 240 // 241 // Register: PMCTL_O_SLPCTL 242 // 243 //***************************************************************************** 244 // Field: [0] SLPN 245 // 246 // The boot code will set this bit field and disable sleep mode, automatically 247 // unless waking up from a SHUTDOWN RSTSTA.SDDET is set. 248 // Application software must reconfigure the state for all IO's before setting 249 // this bit field upon waking up from a SHUTDOWN to avoid glitches on pins. 250 // ENUMs: 251 // DIS I/O pad sleep mode is disabled 252 // EN I/O pad sleep mode is enabled 253 #define PMCTL_SLPCTL_SLPN 0x00000001U 254 #define PMCTL_SLPCTL_SLPN_M 0x00000001U 255 #define PMCTL_SLPCTL_SLPN_S 0U 256 #define PMCTL_SLPCTL_SLPN_DIS 0x00000001U 257 #define PMCTL_SLPCTL_SLPN_EN 0x00000000U 258 259 //***************************************************************************** 260 // 261 // Register: PMCTL_O_WUSTA 262 // 263 //***************************************************************************** 264 // Field: [1:0] SRC 265 // 266 // This field shows the device wakeup source. 267 // ENUMs: 268 // STBY Wakeup from STANDBY mode. 269 // RST_SHTDWN Wakeup from system reset / SHUTDOWN mode. 270 // See RSTSTA for more 271 // status information. 272 #define PMCTL_WUSTA_SRC_W 2U 273 #define PMCTL_WUSTA_SRC_M 0x00000003U 274 #define PMCTL_WUSTA_SRC_S 0U 275 #define PMCTL_WUSTA_SRC_STBY 0x00000002U 276 #define PMCTL_WUSTA_SRC_RST_SHTDWN 0x00000001U 277 278 //***************************************************************************** 279 // 280 // Register: PMCTL_O_VDDRCTL 281 // 282 //***************************************************************************** 283 // Field: [1] STBY 284 // 285 // Select between continuous or duty-cycled VDDR regulation in STANDBY mode. 286 // ENUMs: 287 // PSUEDO Continuous VDDR regulation in STANDBY mode. 288 // NORMAL Duty-cycled VDDR regulation in STANDBY mode. 289 #define PMCTL_VDDRCTL_STBY 0x00000002U 290 #define PMCTL_VDDRCTL_STBY_M 0x00000002U 291 #define PMCTL_VDDRCTL_STBY_S 1U 292 #define PMCTL_VDDRCTL_STBY_PSUEDO 0x00000002U 293 #define PMCTL_VDDRCTL_STBY_NORMAL 0x00000000U 294 295 // Field: [0] SELECT 296 // 297 // Select between GLDO and DCDC as VDDR regulator (in ACTIVE, IDLE and STANDBY 298 // mode). 299 // ENUMs: 300 // DCDC DCDC enabled for regulation of VDDR voltage 301 // GLDO GLDO enabled for regulation of VDDR voltage 302 #define PMCTL_VDDRCTL_SELECT 0x00000001U 303 #define PMCTL_VDDRCTL_SELECT_M 0x00000001U 304 #define PMCTL_VDDRCTL_SELECT_S 0U 305 #define PMCTL_VDDRCTL_SELECT_DCDC 0x00000001U 306 #define PMCTL_VDDRCTL_SELECT_GLDO 0x00000000U 307 308 //***************************************************************************** 309 // 310 // Register: PMCTL_O_SYSFSET 311 // 312 //***************************************************************************** 313 // Field: [2] FLAG2 314 // 315 // Internal. Only to be used through TI provided API. 316 // ENUMs: 317 // SET Internal. Only to be used through TI provided API. 318 // NOEFF Internal. Only to be used through TI provided API. 319 #define PMCTL_SYSFSET_FLAG2 0x00000004U 320 #define PMCTL_SYSFSET_FLAG2_M 0x00000004U 321 #define PMCTL_SYSFSET_FLAG2_S 2U 322 #define PMCTL_SYSFSET_FLAG2_SET 0x00000004U 323 #define PMCTL_SYSFSET_FLAG2_NOEFF 0x00000000U 324 325 // Field: [1] FLAG1 326 // 327 // Internal. Only to be used through TI provided API. 328 // ENUMs: 329 // SET Internal. Only to be used through TI provided API. 330 // NOEFF Internal. Only to be used through TI provided API. 331 #define PMCTL_SYSFSET_FLAG1 0x00000002U 332 #define PMCTL_SYSFSET_FLAG1_M 0x00000002U 333 #define PMCTL_SYSFSET_FLAG1_S 1U 334 #define PMCTL_SYSFSET_FLAG1_SET 0x00000002U 335 #define PMCTL_SYSFSET_FLAG1_NOEFF 0x00000000U 336 337 // Field: [0] FLAG0 338 // 339 // Internal. Only to be used through TI provided API. 340 // ENUMs: 341 // SET Internal. Only to be used through TI provided API. 342 // NOEFF Internal. Only to be used through TI provided API. 343 #define PMCTL_SYSFSET_FLAG0 0x00000001U 344 #define PMCTL_SYSFSET_FLAG0_M 0x00000001U 345 #define PMCTL_SYSFSET_FLAG0_S 0U 346 #define PMCTL_SYSFSET_FLAG0_SET 0x00000001U 347 #define PMCTL_SYSFSET_FLAG0_NOEFF 0x00000000U 348 349 //***************************************************************************** 350 // 351 // Register: PMCTL_O_SYSFCLR 352 // 353 //***************************************************************************** 354 // Field: [2] FLAG2 355 // 356 // Internal. Only to be used through TI provided API. 357 // ENUMs: 358 // CLR Internal. Only to be used through TI provided API. 359 // NOEFF Internal. Only to be used through TI provided API. 360 #define PMCTL_SYSFCLR_FLAG2 0x00000004U 361 #define PMCTL_SYSFCLR_FLAG2_M 0x00000004U 362 #define PMCTL_SYSFCLR_FLAG2_S 2U 363 #define PMCTL_SYSFCLR_FLAG2_CLR 0x00000004U 364 #define PMCTL_SYSFCLR_FLAG2_NOEFF 0x00000000U 365 366 // Field: [1] FLAG1 367 // 368 // Internal. Only to be used through TI provided API. 369 // ENUMs: 370 // CLR Internal. Only to be used through TI provided API. 371 // NOEFF Internal. Only to be used through TI provided API. 372 #define PMCTL_SYSFCLR_FLAG1 0x00000002U 373 #define PMCTL_SYSFCLR_FLAG1_M 0x00000002U 374 #define PMCTL_SYSFCLR_FLAG1_S 1U 375 #define PMCTL_SYSFCLR_FLAG1_CLR 0x00000002U 376 #define PMCTL_SYSFCLR_FLAG1_NOEFF 0x00000000U 377 378 // Field: [0] FLAG0 379 // 380 // Internal. Only to be used through TI provided API. 381 // ENUMs: 382 // CLR Internal. Only to be used through TI provided API. 383 // NOEFF Internal. Only to be used through TI provided API. 384 #define PMCTL_SYSFCLR_FLAG0 0x00000001U 385 #define PMCTL_SYSFCLR_FLAG0_M 0x00000001U 386 #define PMCTL_SYSFCLR_FLAG0_S 0U 387 #define PMCTL_SYSFCLR_FLAG0_CLR 0x00000001U 388 #define PMCTL_SYSFCLR_FLAG0_NOEFF 0x00000000U 389 390 //***************************************************************************** 391 // 392 // Register: PMCTL_O_SYSFSTA 393 // 394 //***************************************************************************** 395 // Field: [2] FLAG2 396 // 397 // Internal. Only to be used through TI provided API. 398 // ENUMs: 399 // VAL1 Internal. Only to be used through TI provided API. 400 // VAL0 Internal. Only to be used through TI provided API. 401 #define PMCTL_SYSFSTA_FLAG2 0x00000004U 402 #define PMCTL_SYSFSTA_FLAG2_M 0x00000004U 403 #define PMCTL_SYSFSTA_FLAG2_S 2U 404 #define PMCTL_SYSFSTA_FLAG2_VAL1 0x00000004U 405 #define PMCTL_SYSFSTA_FLAG2_VAL0 0x00000000U 406 407 // Field: [1] FLAG1 408 // 409 // Internal. Only to be used through TI provided API. 410 // ENUMs: 411 // VAL1 Internal. Only to be used through TI provided API. 412 #define PMCTL_SYSFSTA_FLAG1 0x00000002U 413 #define PMCTL_SYSFSTA_FLAG1_M 0x00000002U 414 #define PMCTL_SYSFSTA_FLAG1_S 1U 415 #define PMCTL_SYSFSTA_FLAG1_VAL1 0x00000002U 416 417 // Field: [0] FLAG0 418 // 419 // Internal. Only to be used through TI provided API. 420 // ENUMs: 421 // VAL1 Internal. Only to be used through TI provided API. 422 // VAL0 Internal. Only to be used through TI provided API. 423 #define PMCTL_SYSFSTA_FLAG0 0x00000001U 424 #define PMCTL_SYSFSTA_FLAG0_M 0x00000001U 425 #define PMCTL_SYSFSTA_FLAG0_S 0U 426 #define PMCTL_SYSFSTA_FLAG0_VAL1 0x00000001U 427 #define PMCTL_SYSFSTA_FLAG0_VAL0 0x00000000U 428 429 //***************************************************************************** 430 // 431 // Register: PMCTL_O_RSTCTL 432 // 433 //***************************************************************************** 434 // Field: [2] LFLOSS 435 // 436 // LF clock loss reset enable. 437 // Trigger system reset when LF clock loss is detected, which reset the entire 438 // device and causes a reboot of the system. 439 // The system reset event is captured as RSTSTA.RESETSRC set to SYSRESET and 440 // RSTSTA.SYSSRC set to LFLOSSEV. 441 // ENUMs: 442 // ARMED LF clock loss detection will trigger a system 443 // reset. 444 // DISARMED LF clock loss detection will not trigger a system 445 // reset. 446 #define PMCTL_RSTCTL_LFLOSS 0x00000004U 447 #define PMCTL_RSTCTL_LFLOSS_M 0x00000004U 448 #define PMCTL_RSTCTL_LFLOSS_S 2U 449 #define PMCTL_RSTCTL_LFLOSS_ARMED 0x00000004U 450 #define PMCTL_RSTCTL_LFLOSS_DISARMED 0x00000000U 451 452 // Field: [1] TSDEN 453 // 454 // TSD (Thermal Shutdown) enable. 455 // TSD will trigger an immediate system reset, which reset the entire device 456 // and causes a reboot of the system. 457 // The device will be in reset until released by the TSD IP. 458 // The system reset event is captured as RSTSTA.TSDEV flag set. 459 // ENUMs: 460 // EN Temperature shutdown comparator enable. 461 // Note: If TSD IP not 462 // present, see DESCEX.TSD, enable will have no 463 // effect. 464 // NOEFF No effect 465 #define PMCTL_RSTCTL_TSDEN 0x00000002U 466 #define PMCTL_RSTCTL_TSDEN_M 0x00000002U 467 #define PMCTL_RSTCTL_TSDEN_S 1U 468 #define PMCTL_RSTCTL_TSDEN_EN 0x00000002U 469 #define PMCTL_RSTCTL_TSDEN_NOEFF 0x00000000U 470 471 // Field: [0] SYSRST 472 // 473 // Trigger system reset, which will reset the entire device and causes a reboot 474 // of the system. 475 // The system reset event is captured as RSTSTA.RESETSRC set to SYSRESET and 476 // RSTSTA.SYSSRC set to SYSRSTEV. 477 // ENUMs: 478 // SET Trigger a system reset. 479 // NOEFF No effect 480 #define PMCTL_RSTCTL_SYSRST 0x00000001U 481 #define PMCTL_RSTCTL_SYSRST_M 0x00000001U 482 #define PMCTL_RSTCTL_SYSRST_S 0U 483 #define PMCTL_RSTCTL_SYSRST_SET 0x00000001U 484 #define PMCTL_RSTCTL_SYSRST_NOEFF 0x00000000U 485 486 //***************************************************************************** 487 // 488 // Register: PMCTL_O_RSTSTA 489 // 490 //***************************************************************************** 491 // Field: [17] SDDET 492 // 493 // Wakeup from SHUTDOWN flag. 494 // Note: This flag will be cleared when SLPCTL.SLPN is asserted. 495 // ENUMs: 496 // TRIG Wakeup from SHUTDOWN mode 497 // NO_TRIG Wakeup from SHUTDOWN mode not triggered 498 #define PMCTL_RSTSTA_SDDET 0x00020000U 499 #define PMCTL_RSTSTA_SDDET_M 0x00020000U 500 #define PMCTL_RSTSTA_SDDET_S 17U 501 #define PMCTL_RSTSTA_SDDET_TRIG 0x00020000U 502 #define PMCTL_RSTSTA_SDDET_NO_TRIG 0x00000000U 503 504 // Field: [16] IOWUSD 505 // 506 // Wakeup from SHUTDOWN on an I/O event flag. 507 // Note: This flag will be cleared when SLPCTL.SLPN is asserted. 508 // ENUMs: 509 // TRIG Wakeup from SHUTDOWN triggered by an I/O event. 510 // NO_TRIG Wakeup from SHUTDOWN not triggered by an I/O 511 // event. 512 #define PMCTL_RSTSTA_IOWUSD 0x00010000U 513 #define PMCTL_RSTSTA_IOWUSD_M 0x00010000U 514 #define PMCTL_RSTSTA_IOWUSD_S 16U 515 #define PMCTL_RSTSTA_IOWUSD_TRIG 0x00010000U 516 #define PMCTL_RSTSTA_IOWUSD_NO_TRIG 0x00000000U 517 518 // Field: [7:4] SYSSRC 519 // 520 // Shows which reset event that triggered SYSRESET in RESETSRC 521 // ENUMs: 522 // DERREV Digital Error reset event 523 // AERREV Analog Error reset event 524 // AFSMEV Analog FSM timeout event 525 // SWDRSTEV Serial Wire Debug reset event 526 // SYSRSTEV System reset event 527 // WDTEV Watchdog timeout event 528 // LOCKUPEV CPU LOCKUP event 529 // CPURSTEV CPU reset event 530 // LFLOSSEV LF clock loss event 531 #define PMCTL_RSTSTA_SYSSRC_W 4U 532 #define PMCTL_RSTSTA_SYSSRC_M 0x000000F0U 533 #define PMCTL_RSTSTA_SYSSRC_S 4U 534 #define PMCTL_RSTSTA_SYSSRC_DERREV 0x000000F0U 535 #define PMCTL_RSTSTA_SYSSRC_AERREV 0x000000E0U 536 #define PMCTL_RSTSTA_SYSSRC_AFSMEV 0x00000060U 537 #define PMCTL_RSTSTA_SYSSRC_SWDRSTEV 0x00000050U 538 #define PMCTL_RSTSTA_SYSSRC_SYSRSTEV 0x00000040U 539 #define PMCTL_RSTSTA_SYSSRC_WDTEV 0x00000030U 540 #define PMCTL_RSTSTA_SYSSRC_LOCKUPEV 0x00000020U 541 #define PMCTL_RSTSTA_SYSSRC_CPURSTEV 0x00000010U 542 #define PMCTL_RSTSTA_SYSSRC_LFLOSSEV 0x00000000U 543 544 // Field: [3] TSDEV 545 // 546 // System reset triggered by TSD event 547 // ENUMs: 548 // TRIG System reset triggered by TSD event 549 // NO_TRIG TSD event not triggered 550 #define PMCTL_RSTSTA_TSDEV 0x00000008U 551 #define PMCTL_RSTSTA_TSDEV_M 0x00000008U 552 #define PMCTL_RSTSTA_TSDEV_S 3U 553 #define PMCTL_RSTSTA_TSDEV_TRIG 0x00000008U 554 #define PMCTL_RSTSTA_TSDEV_NO_TRIG 0x00000000U 555 556 // Field: [2:0] RESETSRC 557 // 558 // Shows the root cause of the last system reset. More than one reported reset 559 // source can have been active during the last system reset, but only the root 560 // cause is reported. 561 // If reset cause is SYSRESET or PINRESET, the other reset flags must be read 562 // to determine actual root cause. 563 // ENUMs: 564 // SYSRESET Digital system reset. Actual root cause is given 565 // by SYSSRC. 566 // VDDRLOSS Brown out detect on VDDR 567 // VDDSLOSS Brown out detect on VDDS 568 // PINRESET Reset pin. TSD will also trigger a pin reset, so 569 // actual root cause is given by TSDEV reset flag 570 // status. 571 // PWRON Power on reset 572 #define PMCTL_RSTSTA_RESETSRC_W 3U 573 #define PMCTL_RSTSTA_RESETSRC_M 0x00000007U 574 #define PMCTL_RSTSTA_RESETSRC_S 0U 575 #define PMCTL_RSTSTA_RESETSRC_SYSRESET 0x00000006U 576 #define PMCTL_RSTSTA_RESETSRC_VDDRLOSS 0x00000004U 577 #define PMCTL_RSTSTA_RESETSRC_VDDSLOSS 0x00000002U 578 #define PMCTL_RSTSTA_RESETSRC_PINRESET 0x00000001U 579 #define PMCTL_RSTSTA_RESETSRC_PWRON 0x00000000U 580 581 //***************************************************************************** 582 // 583 // Register: PMCTL_O_BOOTSTA 584 // 585 //***************************************************************************** 586 // Field: [7:0] FLAG 587 // 588 // Internal. Only to be used through TI provided API. 589 // ENUMs: 590 // APP_FAULT_HANDLER Internal. Only to be used through TI provided API. 591 // APP_FAIL_APPTRANSFER Internal. Only to be used through TI provided API. 592 // APP_FAIL_NOAPP Internal. Only to be used through TI provided API. 593 // APP_WAITLOOP_DBGPROBE Internal. Only to be used through TI provided API. 594 // MODE_APP Internal. Only to be used through TI provided API. 595 // BLDR_FAULT_HANDLER Internal. Only to be used through TI provided API. 596 // BLDR_FAIL_APPTRANSFER Internal. Only to be used through TI provided API. 597 // BLDR_FAIL_EXECUTION_CONTEXTInternal. Only to be used through TI provided 598 // API. 599 // BLDR_CMD_PROCESSING Internal. Only to be used through TI provided API. 600 // BLDR_CMD_IDLE Internal. Only to be used through TI provided API. 601 // BLDR_STARTED Internal. Only to be used through TI provided API. 602 // BLDR_WAITLOOP_DBGPROBE Internal. Only to be used through TI provided API. 603 // MODE_BLDR Internal. Only to be used through TI provided API. 604 // BOOT_FAULT_HANDLER Internal. Only to be used through TI provided API. 605 // BOOT_FAIL_SRAM_REPAIR Internal. Only to be used through TI provided API. 606 // BOOT_WAITLOOP_DBGPROBE Internal. Only to be used through TI provided API. 607 // BOOT_EXITED_SACI Internal. Only to be used through TI provided API. 608 // BOOT_WAIT_SWD_DISCONNECT Internal. Only to be used through TI provided API. 609 // BOOT_ENTERED_SACI Internal. Only to be used through TI provided API. 610 // BOOT_GENERAL_TRIMS Internal. Only to be used through TI provided API. 611 // BOOT_SRAM_REP_DONE Internal. Only to be used through TI provided API. 612 // BOOT_COLD_BOOT Internal. Only to be used through TI provided API. 613 // BOOT_RESET Internal. Only to be used through TI provided API. 614 #define PMCTL_BOOTSTA_FLAG_W 8U 615 #define PMCTL_BOOTSTA_FLAG_M 0x000000FFU 616 #define PMCTL_BOOTSTA_FLAG_S 0U 617 #define PMCTL_BOOTSTA_FLAG_APP_FAULT_HANDLER 0x000000FFU 618 #define PMCTL_BOOTSTA_FLAG_APP_FAIL_APPTRANSFER 0x000000FEU 619 #define PMCTL_BOOTSTA_FLAG_APP_FAIL_NOAPP 0x000000FDU 620 #define PMCTL_BOOTSTA_FLAG_APP_WAITLOOP_DBGPROBE 0x000000C1U 621 #define PMCTL_BOOTSTA_FLAG_MODE_APP 0x000000C0U 622 #define PMCTL_BOOTSTA_FLAG_BLDR_FAULT_HANDLER 0x000000BFU 623 #define PMCTL_BOOTSTA_FLAG_BLDR_FAIL_APPTRANSFER 0x000000BEU 624 #define PMCTL_BOOTSTA_FLAG_BLDR_FAIL_EXECUTION_CONTEXT 0x000000BDU 625 #define PMCTL_BOOTSTA_FLAG_BLDR_CMD_PROCESSING 0x000000BCU 626 #define PMCTL_BOOTSTA_FLAG_BLDR_CMD_IDLE 0x000000BBU 627 #define PMCTL_BOOTSTA_FLAG_BLDR_STARTED 0x000000BAU 628 #define PMCTL_BOOTSTA_FLAG_BLDR_WAITLOOP_DBGPROBE 0x00000081U 629 #define PMCTL_BOOTSTA_FLAG_MODE_BLDR 0x00000080U 630 #define PMCTL_BOOTSTA_FLAG_BOOT_FAULT_HANDLER 0x0000003FU 631 #define PMCTL_BOOTSTA_FLAG_BOOT_FAIL_SRAM_REPAIR 0x0000003EU 632 #define PMCTL_BOOTSTA_FLAG_BOOT_WAITLOOP_DBGPROBE 0x00000038U 633 #define PMCTL_BOOTSTA_FLAG_BOOT_EXITED_SACI 0x00000037U 634 #define PMCTL_BOOTSTA_FLAG_BOOT_WAIT_SWD_DISCONNECT 0x00000036U 635 #define PMCTL_BOOTSTA_FLAG_BOOT_ENTERED_SACI 0x00000020U 636 #define PMCTL_BOOTSTA_FLAG_BOOT_GENERAL_TRIMS 0x00000003U 637 #define PMCTL_BOOTSTA_FLAG_BOOT_SRAM_REP_DONE 0x00000002U 638 #define PMCTL_BOOTSTA_FLAG_BOOT_COLD_BOOT 0x00000001U 639 #define PMCTL_BOOTSTA_FLAG_BOOT_RESET 0x00000000U 640 641 //***************************************************************************** 642 // 643 // Register: PMCTL_O_AONRSTA1 644 // 645 //***************************************************************************** 646 // Field: [17:0] FLAG 647 // 648 // State of the AON register flags 649 #define PMCTL_AONRSTA1_FLAG_W 18U 650 #define PMCTL_AONRSTA1_FLAG_M 0x0003FFFFU 651 #define PMCTL_AONRSTA1_FLAG_S 0U 652 653 //***************************************************************************** 654 // 655 // Register: PMCTL_O_AONRSET1 656 // 657 //***************************************************************************** 658 // Field: [17:0] FLAG 659 // 660 // Write 1 to set AONRSTA1.FLAG 661 // ENUMs: 662 // ALL_SET Set all flags 663 // NOEFF No flags changed status 664 #define PMCTL_AONRSET1_FLAG_W 18U 665 #define PMCTL_AONRSET1_FLAG_M 0x0003FFFFU 666 #define PMCTL_AONRSET1_FLAG_S 0U 667 #define PMCTL_AONRSET1_FLAG_ALL_SET 0x0003FFFFU 668 #define PMCTL_AONRSET1_FLAG_NOEFF 0x00000000U 669 670 //***************************************************************************** 671 // 672 // Register: PMCTL_O_AONRCLR1 673 // 674 //***************************************************************************** 675 // Field: [17:0] FLAG 676 // 677 // Write 1 to clear AONRSTA1.FLAG 678 // ENUMs: 679 // ALL_CLR Clear all flags 680 // NOEFF No flags changed status 681 #define PMCTL_AONRCLR1_FLAG_W 18U 682 #define PMCTL_AONRCLR1_FLAG_M 0x0003FFFFU 683 #define PMCTL_AONRCLR1_FLAG_S 0U 684 #define PMCTL_AONRCLR1_FLAG_ALL_CLR 0x0003FFFFU 685 #define PMCTL_AONRCLR1_FLAG_NOEFF 0x00000000U 686 687 //***************************************************************************** 688 // 689 // Register: PMCTL_O_ETPP 690 // 691 //***************************************************************************** 692 //***************************************************************************** 693 // 694 // Register: PMCTL_O_RETCFG0 695 // 696 //***************************************************************************** 697 // Field: [0] VAL 698 // 699 // Internal. Only to be used through TI provided API. 700 #define PMCTL_RETCFG0_VAL 0x00000001U 701 #define PMCTL_RETCFG0_VAL_M 0x00000001U 702 #define PMCTL_RETCFG0_VAL_S 0U 703 704 //***************************************************************************** 705 // 706 // Register: PMCTL_O_RETCFG1 707 // 708 //***************************************************************************** 709 // Field: [0] VAL 710 // 711 // Internal. Only to be used through TI provided API. 712 #define PMCTL_RETCFG1_VAL 0x00000001U 713 #define PMCTL_RETCFG1_VAL_M 0x00000001U 714 #define PMCTL_RETCFG1_VAL_S 0U 715 716 //***************************************************************************** 717 // 718 // Register: PMCTL_O_RETCFG2 719 // 720 //***************************************************************************** 721 // Field: [2:0] VAL 722 // 723 // Internal. Only to be used through TI provided API. 724 #define PMCTL_RETCFG2_VAL_W 3U 725 #define PMCTL_RETCFG2_VAL_M 0x00000007U 726 #define PMCTL_RETCFG2_VAL_S 0U 727 728 //***************************************************************************** 729 // 730 // Register: PMCTL_O_RETCFG3 731 // 732 //***************************************************************************** 733 //***************************************************************************** 734 // 735 // Register: PMCTL_O_RETCFG4 736 // 737 //***************************************************************************** 738 //***************************************************************************** 739 // 740 // Register: PMCTL_O_RETCFG5 741 // 742 //***************************************************************************** 743 //***************************************************************************** 744 // 745 // Register: PMCTL_O_RETCFG6 746 // 747 //***************************************************************************** 748 //***************************************************************************** 749 // 750 // Register: PMCTL_O_RETCFG7 751 // 752 //***************************************************************************** 753 754 #endif // __PMCTL__ 755