1 // THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT 2 3 /** 4 * Copyright (c) 2024 Raspberry Pi Ltd. 5 * 6 * SPDX-License-Identifier: BSD-3-Clause 7 */ 8 // ============================================================================= 9 // Register block : POWMAN 10 // Version : 1 11 // Bus type : apb 12 // Description : Controls vreg, bor, lposc, chip resets & xosc startup, 13 // powman and provides scratch register for general use and for 14 // bootcode use 15 // ============================================================================= 16 #ifndef _HARDWARE_REGS_POWMAN_H 17 #define _HARDWARE_REGS_POWMAN_H 18 // ============================================================================= 19 // Register : POWMAN_BADPASSWD 20 // Description : Indicates a bad password has been used 21 #define POWMAN_BADPASSWD_OFFSET _u(0x00000000) 22 #define POWMAN_BADPASSWD_BITS _u(0x00000001) 23 #define POWMAN_BADPASSWD_RESET _u(0x00000000) 24 #define POWMAN_BADPASSWD_MSB _u(0) 25 #define POWMAN_BADPASSWD_LSB _u(0) 26 #define POWMAN_BADPASSWD_ACCESS "WC" 27 // ============================================================================= 28 // Register : POWMAN_VREG_CTRL 29 // Description : Voltage Regulator Control 30 #define POWMAN_VREG_CTRL_OFFSET _u(0x00000004) 31 #define POWMAN_VREG_CTRL_BITS _u(0x0000b170) 32 #define POWMAN_VREG_CTRL_RESET _u(0x00008050) 33 // ----------------------------------------------------------------------------- 34 // Field : POWMAN_VREG_CTRL_RST_N 35 // Description : returns the regulator to its startup settings 36 // 0 - reset 37 // 1 - not reset (default) 38 #define POWMAN_VREG_CTRL_RST_N_RESET _u(0x1) 39 #define POWMAN_VREG_CTRL_RST_N_BITS _u(0x00008000) 40 #define POWMAN_VREG_CTRL_RST_N_MSB _u(15) 41 #define POWMAN_VREG_CTRL_RST_N_LSB _u(15) 42 #define POWMAN_VREG_CTRL_RST_N_ACCESS "RW" 43 // ----------------------------------------------------------------------------- 44 // Field : POWMAN_VREG_CTRL_UNLOCK 45 // Description : unlocks the VREG control interface after power up 46 // 0 - Locked (default) 47 // 1 - Unlocked 48 // It cannot be relocked when it is unlocked. 49 #define POWMAN_VREG_CTRL_UNLOCK_RESET _u(0x0) 50 #define POWMAN_VREG_CTRL_UNLOCK_BITS _u(0x00002000) 51 #define POWMAN_VREG_CTRL_UNLOCK_MSB _u(13) 52 #define POWMAN_VREG_CTRL_UNLOCK_LSB _u(13) 53 #define POWMAN_VREG_CTRL_UNLOCK_ACCESS "RW" 54 // ----------------------------------------------------------------------------- 55 // Field : POWMAN_VREG_CTRL_ISOLATE 56 // Description : isolates the VREG control interface 57 // 0 - not isolated (default) 58 // 1 - isolated 59 #define POWMAN_VREG_CTRL_ISOLATE_RESET _u(0x0) 60 #define POWMAN_VREG_CTRL_ISOLATE_BITS _u(0x00001000) 61 #define POWMAN_VREG_CTRL_ISOLATE_MSB _u(12) 62 #define POWMAN_VREG_CTRL_ISOLATE_LSB _u(12) 63 #define POWMAN_VREG_CTRL_ISOLATE_ACCESS "RW" 64 // ----------------------------------------------------------------------------- 65 // Field : POWMAN_VREG_CTRL_DISABLE_VOLTAGE_LIMIT 66 // Description : 0=not disabled, 1=enabled 67 #define POWMAN_VREG_CTRL_DISABLE_VOLTAGE_LIMIT_RESET _u(0x0) 68 #define POWMAN_VREG_CTRL_DISABLE_VOLTAGE_LIMIT_BITS _u(0x00000100) 69 #define POWMAN_VREG_CTRL_DISABLE_VOLTAGE_LIMIT_MSB _u(8) 70 #define POWMAN_VREG_CTRL_DISABLE_VOLTAGE_LIMIT_LSB _u(8) 71 #define POWMAN_VREG_CTRL_DISABLE_VOLTAGE_LIMIT_ACCESS "RW" 72 // ----------------------------------------------------------------------------- 73 // Field : POWMAN_VREG_CTRL_HT_TH 74 // Description : high temperature protection threshold 75 // regulator power transistors are disabled when junction 76 // temperature exceeds threshold 77 // 000 - 100C 78 // 001 - 105C 79 // 010 - 110C 80 // 011 - 115C 81 // 100 - 120C 82 // 101 - 125C 83 // 110 - 135C 84 // 111 - 150C 85 #define POWMAN_VREG_CTRL_HT_TH_RESET _u(0x5) 86 #define POWMAN_VREG_CTRL_HT_TH_BITS _u(0x00000070) 87 #define POWMAN_VREG_CTRL_HT_TH_MSB _u(6) 88 #define POWMAN_VREG_CTRL_HT_TH_LSB _u(4) 89 #define POWMAN_VREG_CTRL_HT_TH_ACCESS "RW" 90 // ============================================================================= 91 // Register : POWMAN_VREG_STS 92 // Description : Voltage Regulator Status 93 #define POWMAN_VREG_STS_OFFSET _u(0x00000008) 94 #define POWMAN_VREG_STS_BITS _u(0x00000011) 95 #define POWMAN_VREG_STS_RESET _u(0x00000000) 96 // ----------------------------------------------------------------------------- 97 // Field : POWMAN_VREG_STS_VOUT_OK 98 // Description : output regulation status 99 // 0=not in regulation, 1=in regulation 100 #define POWMAN_VREG_STS_VOUT_OK_RESET _u(0x0) 101 #define POWMAN_VREG_STS_VOUT_OK_BITS _u(0x00000010) 102 #define POWMAN_VREG_STS_VOUT_OK_MSB _u(4) 103 #define POWMAN_VREG_STS_VOUT_OK_LSB _u(4) 104 #define POWMAN_VREG_STS_VOUT_OK_ACCESS "RO" 105 // ----------------------------------------------------------------------------- 106 // Field : POWMAN_VREG_STS_STARTUP 107 // Description : startup status 108 // 0=startup complete, 1=starting up 109 #define POWMAN_VREG_STS_STARTUP_RESET _u(0x0) 110 #define POWMAN_VREG_STS_STARTUP_BITS _u(0x00000001) 111 #define POWMAN_VREG_STS_STARTUP_MSB _u(0) 112 #define POWMAN_VREG_STS_STARTUP_LSB _u(0) 113 #define POWMAN_VREG_STS_STARTUP_ACCESS "RO" 114 // ============================================================================= 115 // Register : POWMAN_VREG 116 // Description : Voltage Regulator Settings 117 #define POWMAN_VREG_OFFSET _u(0x0000000c) 118 #define POWMAN_VREG_BITS _u(0x000081f2) 119 #define POWMAN_VREG_RESET _u(0x000000b0) 120 // ----------------------------------------------------------------------------- 121 // Field : POWMAN_VREG_UPDATE_IN_PROGRESS 122 // Description : regulator state is being updated 123 // writes to the vreg register will be ignored when this field is 124 // set 125 #define POWMAN_VREG_UPDATE_IN_PROGRESS_RESET _u(0x0) 126 #define POWMAN_VREG_UPDATE_IN_PROGRESS_BITS _u(0x00008000) 127 #define POWMAN_VREG_UPDATE_IN_PROGRESS_MSB _u(15) 128 #define POWMAN_VREG_UPDATE_IN_PROGRESS_LSB _u(15) 129 #define POWMAN_VREG_UPDATE_IN_PROGRESS_ACCESS "RO" 130 // ----------------------------------------------------------------------------- 131 // Field : POWMAN_VREG_VSEL 132 // Description : output voltage select 133 // the regulator output voltage is limited to 1.3V unless the 134 // voltage limit 135 // is disabled using the disable_voltage_limit field in the 136 // vreg_ctrl register 137 // 00000 - 0.55V 138 // 00001 - 0.60V 139 // 00010 - 0.65V 140 // 00011 - 0.70V 141 // 00100 - 0.75V 142 // 00101 - 0.80V 143 // 00110 - 0.85V 144 // 00111 - 0.90V 145 // 01000 - 0.95V 146 // 01001 - 1.00V 147 // 01010 - 1.05V 148 // 01011 - 1.10V (default) 149 // 01100 - 1.15V 150 // 01101 - 1.20V 151 // 01110 - 1.25V 152 // 01111 - 1.30V 153 // 10000 - 1.35V 154 // 10001 - 1.40V 155 // 10010 - 1.50V 156 // 10011 - 1.60V 157 // 10100 - 1.65V 158 // 10101 - 1.70V 159 // 10110 - 1.80V 160 // 10111 - 1.90V 161 // 11000 - 2.00V 162 // 11001 - 2.35V 163 // 11010 - 2.50V 164 // 11011 - 2.65V 165 // 11100 - 2.80V 166 // 11101 - 3.00V 167 // 11110 - 3.15V 168 // 11111 - 3.30V 169 #define POWMAN_VREG_VSEL_RESET _u(0x0b) 170 #define POWMAN_VREG_VSEL_BITS _u(0x000001f0) 171 #define POWMAN_VREG_VSEL_MSB _u(8) 172 #define POWMAN_VREG_VSEL_LSB _u(4) 173 #define POWMAN_VREG_VSEL_ACCESS "RW" 174 // ----------------------------------------------------------------------------- 175 // Field : POWMAN_VREG_HIZ 176 // Description : high impedance mode select 177 // 0=not in high impedance mode, 1=in high impedance mode 178 #define POWMAN_VREG_HIZ_RESET _u(0x0) 179 #define POWMAN_VREG_HIZ_BITS _u(0x00000002) 180 #define POWMAN_VREG_HIZ_MSB _u(1) 181 #define POWMAN_VREG_HIZ_LSB _u(1) 182 #define POWMAN_VREG_HIZ_ACCESS "RW" 183 // ============================================================================= 184 // Register : POWMAN_VREG_LP_ENTRY 185 // Description : Voltage Regulator Low Power Entry Settings 186 #define POWMAN_VREG_LP_ENTRY_OFFSET _u(0x00000010) 187 #define POWMAN_VREG_LP_ENTRY_BITS _u(0x000001f6) 188 #define POWMAN_VREG_LP_ENTRY_RESET _u(0x000000b4) 189 // ----------------------------------------------------------------------------- 190 // Field : POWMAN_VREG_LP_ENTRY_VSEL 191 // Description : output voltage select 192 // the regulator output voltage is limited to 1.3V unless the 193 // voltage limit 194 // is disabled using the disable_voltage_limit field in the 195 // vreg_ctrl register 196 // 00000 - 0.55V 197 // 00001 - 0.60V 198 // 00010 - 0.65V 199 // 00011 - 0.70V 200 // 00100 - 0.75V 201 // 00101 - 0.80V 202 // 00110 - 0.85V 203 // 00111 - 0.90V 204 // 01000 - 0.95V 205 // 01001 - 1.00V 206 // 01010 - 1.05V 207 // 01011 - 1.10V (default) 208 // 01100 - 1.15V 209 // 01101 - 1.20V 210 // 01110 - 1.25V 211 // 01111 - 1.30V 212 // 10000 - 1.35V 213 // 10001 - 1.40V 214 // 10010 - 1.50V 215 // 10011 - 1.60V 216 // 10100 - 1.65V 217 // 10101 - 1.70V 218 // 10110 - 1.80V 219 // 10111 - 1.90V 220 // 11000 - 2.00V 221 // 11001 - 2.35V 222 // 11010 - 2.50V 223 // 11011 - 2.65V 224 // 11100 - 2.80V 225 // 11101 - 3.00V 226 // 11110 - 3.15V 227 // 11111 - 3.30V 228 #define POWMAN_VREG_LP_ENTRY_VSEL_RESET _u(0x0b) 229 #define POWMAN_VREG_LP_ENTRY_VSEL_BITS _u(0x000001f0) 230 #define POWMAN_VREG_LP_ENTRY_VSEL_MSB _u(8) 231 #define POWMAN_VREG_LP_ENTRY_VSEL_LSB _u(4) 232 #define POWMAN_VREG_LP_ENTRY_VSEL_ACCESS "RW" 233 // ----------------------------------------------------------------------------- 234 // Field : POWMAN_VREG_LP_ENTRY_MODE 235 // Description : selects either normal (switching) mode or low power (linear) 236 // mode 237 // low power mode can only be selected for output voltages up to 238 // 1.3V 239 // 0 = normal mode (switching) 240 // 1 = low power mode (linear) 241 #define POWMAN_VREG_LP_ENTRY_MODE_RESET _u(0x1) 242 #define POWMAN_VREG_LP_ENTRY_MODE_BITS _u(0x00000004) 243 #define POWMAN_VREG_LP_ENTRY_MODE_MSB _u(2) 244 #define POWMAN_VREG_LP_ENTRY_MODE_LSB _u(2) 245 #define POWMAN_VREG_LP_ENTRY_MODE_ACCESS "RW" 246 // ----------------------------------------------------------------------------- 247 // Field : POWMAN_VREG_LP_ENTRY_HIZ 248 // Description : high impedance mode select 249 // 0=not in high impedance mode, 1=in high impedance mode 250 #define POWMAN_VREG_LP_ENTRY_HIZ_RESET _u(0x0) 251 #define POWMAN_VREG_LP_ENTRY_HIZ_BITS _u(0x00000002) 252 #define POWMAN_VREG_LP_ENTRY_HIZ_MSB _u(1) 253 #define POWMAN_VREG_LP_ENTRY_HIZ_LSB _u(1) 254 #define POWMAN_VREG_LP_ENTRY_HIZ_ACCESS "RW" 255 // ============================================================================= 256 // Register : POWMAN_VREG_LP_EXIT 257 // Description : Voltage Regulator Low Power Exit Settings 258 #define POWMAN_VREG_LP_EXIT_OFFSET _u(0x00000014) 259 #define POWMAN_VREG_LP_EXIT_BITS _u(0x000001f6) 260 #define POWMAN_VREG_LP_EXIT_RESET _u(0x000000b0) 261 // ----------------------------------------------------------------------------- 262 // Field : POWMAN_VREG_LP_EXIT_VSEL 263 // Description : output voltage select 264 // the regulator output voltage is limited to 1.3V unless the 265 // voltage limit 266 // is disabled using the disable_voltage_limit field in the 267 // vreg_ctrl register 268 // 00000 - 0.55V 269 // 00001 - 0.60V 270 // 00010 - 0.65V 271 // 00011 - 0.70V 272 // 00100 - 0.75V 273 // 00101 - 0.80V 274 // 00110 - 0.85V 275 // 00111 - 0.90V 276 // 01000 - 0.95V 277 // 01001 - 1.00V 278 // 01010 - 1.05V 279 // 01011 - 1.10V (default) 280 // 01100 - 1.15V 281 // 01101 - 1.20V 282 // 01110 - 1.25V 283 // 01111 - 1.30V 284 // 10000 - 1.35V 285 // 10001 - 1.40V 286 // 10010 - 1.50V 287 // 10011 - 1.60V 288 // 10100 - 1.65V 289 // 10101 - 1.70V 290 // 10110 - 1.80V 291 // 10111 - 1.90V 292 // 11000 - 2.00V 293 // 11001 - 2.35V 294 // 11010 - 2.50V 295 // 11011 - 2.65V 296 // 11100 - 2.80V 297 // 11101 - 3.00V 298 // 11110 - 3.15V 299 // 11111 - 3.30V 300 #define POWMAN_VREG_LP_EXIT_VSEL_RESET _u(0x0b) 301 #define POWMAN_VREG_LP_EXIT_VSEL_BITS _u(0x000001f0) 302 #define POWMAN_VREG_LP_EXIT_VSEL_MSB _u(8) 303 #define POWMAN_VREG_LP_EXIT_VSEL_LSB _u(4) 304 #define POWMAN_VREG_LP_EXIT_VSEL_ACCESS "RW" 305 // ----------------------------------------------------------------------------- 306 // Field : POWMAN_VREG_LP_EXIT_MODE 307 // Description : selects either normal (switching) mode or low power (linear) 308 // mode 309 // low power mode can only be selected for output voltages up to 310 // 1.3V 311 // 0 = normal mode (switching) 312 // 1 = low power mode (linear) 313 #define POWMAN_VREG_LP_EXIT_MODE_RESET _u(0x0) 314 #define POWMAN_VREG_LP_EXIT_MODE_BITS _u(0x00000004) 315 #define POWMAN_VREG_LP_EXIT_MODE_MSB _u(2) 316 #define POWMAN_VREG_LP_EXIT_MODE_LSB _u(2) 317 #define POWMAN_VREG_LP_EXIT_MODE_ACCESS "RW" 318 // ----------------------------------------------------------------------------- 319 // Field : POWMAN_VREG_LP_EXIT_HIZ 320 // Description : high impedance mode select 321 // 0=not in high impedance mode, 1=in high impedance mode 322 #define POWMAN_VREG_LP_EXIT_HIZ_RESET _u(0x0) 323 #define POWMAN_VREG_LP_EXIT_HIZ_BITS _u(0x00000002) 324 #define POWMAN_VREG_LP_EXIT_HIZ_MSB _u(1) 325 #define POWMAN_VREG_LP_EXIT_HIZ_LSB _u(1) 326 #define POWMAN_VREG_LP_EXIT_HIZ_ACCESS "RW" 327 // ============================================================================= 328 // Register : POWMAN_BOD_CTRL 329 // Description : Brown-out Detection Control 330 #define POWMAN_BOD_CTRL_OFFSET _u(0x00000018) 331 #define POWMAN_BOD_CTRL_BITS _u(0x00001000) 332 #define POWMAN_BOD_CTRL_RESET _u(0x00000000) 333 // ----------------------------------------------------------------------------- 334 // Field : POWMAN_BOD_CTRL_ISOLATE 335 // Description : isolates the brown-out detection control interface 336 // 0 - not isolated (default) 337 // 1 - isolated 338 #define POWMAN_BOD_CTRL_ISOLATE_RESET _u(0x0) 339 #define POWMAN_BOD_CTRL_ISOLATE_BITS _u(0x00001000) 340 #define POWMAN_BOD_CTRL_ISOLATE_MSB _u(12) 341 #define POWMAN_BOD_CTRL_ISOLATE_LSB _u(12) 342 #define POWMAN_BOD_CTRL_ISOLATE_ACCESS "RW" 343 // ============================================================================= 344 // Register : POWMAN_BOD 345 // Description : Brown-out Detection Settings 346 #define POWMAN_BOD_OFFSET _u(0x0000001c) 347 #define POWMAN_BOD_BITS _u(0x000001f1) 348 #define POWMAN_BOD_RESET _u(0x000000b1) 349 // ----------------------------------------------------------------------------- 350 // Field : POWMAN_BOD_VSEL 351 // Description : threshold select 352 // 00000 - 0.473V 353 // 00001 - 0.516V 354 // 00010 - 0.559V 355 // 00011 - 0.602V 356 // 00100 - 0.645VS 357 // 00101 - 0.688V 358 // 00110 - 0.731V 359 // 00111 - 0.774V 360 // 01000 - 0.817V 361 // 01001 - 0.860V (default) 362 // 01010 - 0.903V 363 // 01011 - 0.946V 364 // 01100 - 0.989V 365 // 01101 - 1.032V 366 // 01110 - 1.075V 367 // 01111 - 1.118V 368 // 10000 - 1.161 369 // 10001 - 1.204V 370 #define POWMAN_BOD_VSEL_RESET _u(0x0b) 371 #define POWMAN_BOD_VSEL_BITS _u(0x000001f0) 372 #define POWMAN_BOD_VSEL_MSB _u(8) 373 #define POWMAN_BOD_VSEL_LSB _u(4) 374 #define POWMAN_BOD_VSEL_ACCESS "RW" 375 // ----------------------------------------------------------------------------- 376 // Field : POWMAN_BOD_EN 377 // Description : enable brown-out detection 378 // 0=not enabled, 1=enabled 379 #define POWMAN_BOD_EN_RESET _u(0x1) 380 #define POWMAN_BOD_EN_BITS _u(0x00000001) 381 #define POWMAN_BOD_EN_MSB _u(0) 382 #define POWMAN_BOD_EN_LSB _u(0) 383 #define POWMAN_BOD_EN_ACCESS "RW" 384 // ============================================================================= 385 // Register : POWMAN_BOD_LP_ENTRY 386 // Description : Brown-out Detection Low Power Entry Settings 387 #define POWMAN_BOD_LP_ENTRY_OFFSET _u(0x00000020) 388 #define POWMAN_BOD_LP_ENTRY_BITS _u(0x000001f1) 389 #define POWMAN_BOD_LP_ENTRY_RESET _u(0x000000b0) 390 // ----------------------------------------------------------------------------- 391 // Field : POWMAN_BOD_LP_ENTRY_VSEL 392 // Description : threshold select 393 // 00000 - 0.473V 394 // 00001 - 0.516V 395 // 00010 - 0.559V 396 // 00011 - 0.602V 397 // 00100 - 0.645VS 398 // 00101 - 0.688V 399 // 00110 - 0.731V 400 // 00111 - 0.774V 401 // 01000 - 0.817V 402 // 01001 - 0.860V (default) 403 // 01010 - 0.903V 404 // 01011 - 0.946V 405 // 01100 - 0.989V 406 // 01101 - 1.032V 407 // 01110 - 1.075V 408 // 01111 - 1.118V 409 // 10000 - 1.161 410 // 10001 - 1.204V 411 #define POWMAN_BOD_LP_ENTRY_VSEL_RESET _u(0x0b) 412 #define POWMAN_BOD_LP_ENTRY_VSEL_BITS _u(0x000001f0) 413 #define POWMAN_BOD_LP_ENTRY_VSEL_MSB _u(8) 414 #define POWMAN_BOD_LP_ENTRY_VSEL_LSB _u(4) 415 #define POWMAN_BOD_LP_ENTRY_VSEL_ACCESS "RW" 416 // ----------------------------------------------------------------------------- 417 // Field : POWMAN_BOD_LP_ENTRY_EN 418 // Description : enable brown-out detection 419 // 0=not enabled, 1=enabled 420 #define POWMAN_BOD_LP_ENTRY_EN_RESET _u(0x0) 421 #define POWMAN_BOD_LP_ENTRY_EN_BITS _u(0x00000001) 422 #define POWMAN_BOD_LP_ENTRY_EN_MSB _u(0) 423 #define POWMAN_BOD_LP_ENTRY_EN_LSB _u(0) 424 #define POWMAN_BOD_LP_ENTRY_EN_ACCESS "RW" 425 // ============================================================================= 426 // Register : POWMAN_BOD_LP_EXIT 427 // Description : Brown-out Detection Low Power Exit Settings 428 #define POWMAN_BOD_LP_EXIT_OFFSET _u(0x00000024) 429 #define POWMAN_BOD_LP_EXIT_BITS _u(0x000001f1) 430 #define POWMAN_BOD_LP_EXIT_RESET _u(0x000000b1) 431 // ----------------------------------------------------------------------------- 432 // Field : POWMAN_BOD_LP_EXIT_VSEL 433 // Description : threshold select 434 // 00000 - 0.473V 435 // 00001 - 0.516V 436 // 00010 - 0.559V 437 // 00011 - 0.602V 438 // 00100 - 0.645VS 439 // 00101 - 0.688V 440 // 00110 - 0.731V 441 // 00111 - 0.774V 442 // 01000 - 0.817V 443 // 01001 - 0.860V (default) 444 // 01010 - 0.903V 445 // 01011 - 0.946V 446 // 01100 - 0.989V 447 // 01101 - 1.032V 448 // 01110 - 1.075V 449 // 01111 - 1.118V 450 // 10000 - 1.161 451 // 10001 - 1.204V 452 #define POWMAN_BOD_LP_EXIT_VSEL_RESET _u(0x0b) 453 #define POWMAN_BOD_LP_EXIT_VSEL_BITS _u(0x000001f0) 454 #define POWMAN_BOD_LP_EXIT_VSEL_MSB _u(8) 455 #define POWMAN_BOD_LP_EXIT_VSEL_LSB _u(4) 456 #define POWMAN_BOD_LP_EXIT_VSEL_ACCESS "RW" 457 // ----------------------------------------------------------------------------- 458 // Field : POWMAN_BOD_LP_EXIT_EN 459 // Description : enable brown-out detection 460 // 0=not enabled, 1=enabled 461 #define POWMAN_BOD_LP_EXIT_EN_RESET _u(0x1) 462 #define POWMAN_BOD_LP_EXIT_EN_BITS _u(0x00000001) 463 #define POWMAN_BOD_LP_EXIT_EN_MSB _u(0) 464 #define POWMAN_BOD_LP_EXIT_EN_LSB _u(0) 465 #define POWMAN_BOD_LP_EXIT_EN_ACCESS "RW" 466 // ============================================================================= 467 // Register : POWMAN_LPOSC 468 // Description : Low power oscillator control register. 469 #define POWMAN_LPOSC_OFFSET _u(0x00000028) 470 #define POWMAN_LPOSC_BITS _u(0x000003f3) 471 #define POWMAN_LPOSC_RESET _u(0x00000203) 472 // ----------------------------------------------------------------------------- 473 // Field : POWMAN_LPOSC_TRIM 474 // Description : Frequency trim - the trim step is typically 1% of the reset 475 // frequency, but can be up to 3% 476 #define POWMAN_LPOSC_TRIM_RESET _u(0x20) 477 #define POWMAN_LPOSC_TRIM_BITS _u(0x000003f0) 478 #define POWMAN_LPOSC_TRIM_MSB _u(9) 479 #define POWMAN_LPOSC_TRIM_LSB _u(4) 480 #define POWMAN_LPOSC_TRIM_ACCESS "RW" 481 // ----------------------------------------------------------------------------- 482 // Field : POWMAN_LPOSC_MODE 483 // Description : This feature has been removed 484 #define POWMAN_LPOSC_MODE_RESET _u(0x3) 485 #define POWMAN_LPOSC_MODE_BITS _u(0x00000003) 486 #define POWMAN_LPOSC_MODE_MSB _u(1) 487 #define POWMAN_LPOSC_MODE_LSB _u(0) 488 #define POWMAN_LPOSC_MODE_ACCESS "RW" 489 // ============================================================================= 490 // Register : POWMAN_CHIP_RESET 491 // Description : Chip reset control and status 492 #define POWMAN_CHIP_RESET_OFFSET _u(0x0000002c) 493 #define POWMAN_CHIP_RESET_BITS _u(0x1fef0011) 494 #define POWMAN_CHIP_RESET_RESET _u(0x00000000) 495 // ----------------------------------------------------------------------------- 496 // Field : POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_RSM 497 // Description : Last reset was a watchdog timeout which was configured to reset 498 // the power-on state machine 499 // This resets: 500 // double_tap flag no 501 // DP no 502 // RPAP no 503 // rescue_flag no 504 // timer no 505 // powman no 506 // swcore no 507 // psm yes 508 // and does not change the power state 509 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_RSM_RESET _u(0x0) 510 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_RSM_BITS _u(0x10000000) 511 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_RSM_MSB _u(28) 512 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_RSM_LSB _u(28) 513 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_RSM_ACCESS "RO" 514 // ----------------------------------------------------------------------------- 515 // Field : POWMAN_CHIP_RESET_HAD_HZD_SYS_RESET_REQ 516 // Description : Last reset was a system reset from the hazard debugger 517 // This resets: 518 // double_tap flag no 519 // DP no 520 // RPAP no 521 // rescue_flag no 522 // timer no 523 // powman no 524 // swcore no 525 // psm yes 526 // and does not change the power state 527 #define POWMAN_CHIP_RESET_HAD_HZD_SYS_RESET_REQ_RESET _u(0x0) 528 #define POWMAN_CHIP_RESET_HAD_HZD_SYS_RESET_REQ_BITS _u(0x08000000) 529 #define POWMAN_CHIP_RESET_HAD_HZD_SYS_RESET_REQ_MSB _u(27) 530 #define POWMAN_CHIP_RESET_HAD_HZD_SYS_RESET_REQ_LSB _u(27) 531 #define POWMAN_CHIP_RESET_HAD_HZD_SYS_RESET_REQ_ACCESS "RO" 532 // ----------------------------------------------------------------------------- 533 // Field : POWMAN_CHIP_RESET_HAD_GLITCH_DETECT 534 // Description : Last reset was due to a power supply glitch 535 // This resets: 536 // double_tap flag no 537 // DP no 538 // RPAP no 539 // rescue_flag no 540 // timer no 541 // powman no 542 // swcore no 543 // psm yes 544 // and does not change the power state 545 #define POWMAN_CHIP_RESET_HAD_GLITCH_DETECT_RESET _u(0x0) 546 #define POWMAN_CHIP_RESET_HAD_GLITCH_DETECT_BITS _u(0x04000000) 547 #define POWMAN_CHIP_RESET_HAD_GLITCH_DETECT_MSB _u(26) 548 #define POWMAN_CHIP_RESET_HAD_GLITCH_DETECT_LSB _u(26) 549 #define POWMAN_CHIP_RESET_HAD_GLITCH_DETECT_ACCESS "RO" 550 // ----------------------------------------------------------------------------- 551 // Field : POWMAN_CHIP_RESET_HAD_SWCORE_PD 552 // Description : Last reset was a switched core powerdown 553 // This resets: 554 // double_tap flag no 555 // DP no 556 // RPAP no 557 // rescue_flag no 558 // timer no 559 // powman no 560 // swcore yes 561 // psm yes 562 // then starts the power sequencer 563 #define POWMAN_CHIP_RESET_HAD_SWCORE_PD_RESET _u(0x0) 564 #define POWMAN_CHIP_RESET_HAD_SWCORE_PD_BITS _u(0x02000000) 565 #define POWMAN_CHIP_RESET_HAD_SWCORE_PD_MSB _u(25) 566 #define POWMAN_CHIP_RESET_HAD_SWCORE_PD_LSB _u(25) 567 #define POWMAN_CHIP_RESET_HAD_SWCORE_PD_ACCESS "RO" 568 // ----------------------------------------------------------------------------- 569 // Field : POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_SWCORE 570 // Description : Last reset was a watchdog timeout which was configured to reset 571 // the switched-core 572 // This resets: 573 // double_tap flag no 574 // DP no 575 // RPAP no 576 // rescue_flag no 577 // timer no 578 // powman no 579 // swcore yes 580 // psm yes 581 // then starts the power sequencer 582 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_SWCORE_RESET _u(0x0) 583 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_SWCORE_BITS _u(0x01000000) 584 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_SWCORE_MSB _u(24) 585 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_SWCORE_LSB _u(24) 586 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_SWCORE_ACCESS "RO" 587 // ----------------------------------------------------------------------------- 588 // Field : POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN 589 // Description : Last reset was a watchdog timeout which was configured to reset 590 // the power manager 591 // This resets: 592 // double_tap flag no 593 // DP no 594 // RPAP no 595 // rescue_flag no 596 // timer yes 597 // powman yes 598 // swcore yes 599 // psm yes 600 // then starts the power sequencer 601 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_RESET _u(0x0) 602 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_BITS _u(0x00800000) 603 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_MSB _u(23) 604 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_LSB _u(23) 605 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ACCESS "RO" 606 // ----------------------------------------------------------------------------- 607 // Field : POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ASYNC 608 // Description : Last reset was a watchdog timeout which was configured to reset 609 // the power manager asynchronously 610 // This resets: 611 // double_tap flag no 612 // DP no 613 // RPAP no 614 // rescue_flag no 615 // timer yes 616 // powman yes 617 // swcore yes 618 // psm yes 619 // then starts the power sequencer 620 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ASYNC_RESET _u(0x0) 621 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ASYNC_BITS _u(0x00400000) 622 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ASYNC_MSB _u(22) 623 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ASYNC_LSB _u(22) 624 #define POWMAN_CHIP_RESET_HAD_WATCHDOG_RESET_POWMAN_ASYNC_ACCESS "RO" 625 // ----------------------------------------------------------------------------- 626 // Field : POWMAN_CHIP_RESET_HAD_RESCUE 627 // Description : Last reset was a rescue reset from the debugger 628 // This resets: 629 // double_tap flag no 630 // DP no 631 // RPAP no 632 // rescue_flag no, it sets this flag 633 // timer yes 634 // powman yes 635 // swcore yes 636 // psm yes 637 // then starts the power sequencer 638 #define POWMAN_CHIP_RESET_HAD_RESCUE_RESET _u(0x0) 639 #define POWMAN_CHIP_RESET_HAD_RESCUE_BITS _u(0x00200000) 640 #define POWMAN_CHIP_RESET_HAD_RESCUE_MSB _u(21) 641 #define POWMAN_CHIP_RESET_HAD_RESCUE_LSB _u(21) 642 #define POWMAN_CHIP_RESET_HAD_RESCUE_ACCESS "RO" 643 // ----------------------------------------------------------------------------- 644 // Field : POWMAN_CHIP_RESET_HAD_DP_RESET_REQ 645 // Description : Last reset was an reset request from the arm debugger 646 // This resets: 647 // double_tap flag no 648 // DP no 649 // RPAP no 650 // rescue_flag yes 651 // timer yes 652 // powman yes 653 // swcore yes 654 // psm yes 655 // then starts the power sequencer 656 #define POWMAN_CHIP_RESET_HAD_DP_RESET_REQ_RESET _u(0x0) 657 #define POWMAN_CHIP_RESET_HAD_DP_RESET_REQ_BITS _u(0x00080000) 658 #define POWMAN_CHIP_RESET_HAD_DP_RESET_REQ_MSB _u(19) 659 #define POWMAN_CHIP_RESET_HAD_DP_RESET_REQ_LSB _u(19) 660 #define POWMAN_CHIP_RESET_HAD_DP_RESET_REQ_ACCESS "RO" 661 // ----------------------------------------------------------------------------- 662 // Field : POWMAN_CHIP_RESET_HAD_RUN_LOW 663 // Description : Last reset was from the RUN pin 664 // This resets: 665 // double_tap flag no 666 // DP yes 667 // RPAP yes 668 // rescue_flag yes 669 // timer yes 670 // powman yes 671 // swcore yes 672 // psm yes 673 // then starts the power sequencer 674 #define POWMAN_CHIP_RESET_HAD_RUN_LOW_RESET _u(0x0) 675 #define POWMAN_CHIP_RESET_HAD_RUN_LOW_BITS _u(0x00040000) 676 #define POWMAN_CHIP_RESET_HAD_RUN_LOW_MSB _u(18) 677 #define POWMAN_CHIP_RESET_HAD_RUN_LOW_LSB _u(18) 678 #define POWMAN_CHIP_RESET_HAD_RUN_LOW_ACCESS "RO" 679 // ----------------------------------------------------------------------------- 680 // Field : POWMAN_CHIP_RESET_HAD_BOR 681 // Description : Last reset was from the brown-out detection block 682 // This resets: 683 // double_tap flag yes 684 // DP yes 685 // RPAP yes 686 // rescue_flag yes 687 // timer yes 688 // powman yes 689 // swcore yes 690 // psm yes 691 // then starts the power sequencer 692 #define POWMAN_CHIP_RESET_HAD_BOR_RESET _u(0x0) 693 #define POWMAN_CHIP_RESET_HAD_BOR_BITS _u(0x00020000) 694 #define POWMAN_CHIP_RESET_HAD_BOR_MSB _u(17) 695 #define POWMAN_CHIP_RESET_HAD_BOR_LSB _u(17) 696 #define POWMAN_CHIP_RESET_HAD_BOR_ACCESS "RO" 697 // ----------------------------------------------------------------------------- 698 // Field : POWMAN_CHIP_RESET_HAD_POR 699 // Description : Last reset was from the power-on reset 700 // This resets: 701 // double_tap flag yes 702 // DP yes 703 // RPAP yes 704 // rescue_flag yes 705 // timer yes 706 // powman yes 707 // swcore yes 708 // psm yes 709 // then starts the power sequencer 710 #define POWMAN_CHIP_RESET_HAD_POR_RESET _u(0x0) 711 #define POWMAN_CHIP_RESET_HAD_POR_BITS _u(0x00010000) 712 #define POWMAN_CHIP_RESET_HAD_POR_MSB _u(16) 713 #define POWMAN_CHIP_RESET_HAD_POR_LSB _u(16) 714 #define POWMAN_CHIP_RESET_HAD_POR_ACCESS "RO" 715 // ----------------------------------------------------------------------------- 716 // Field : POWMAN_CHIP_RESET_RESCUE_FLAG 717 // Description : This is set by a rescue reset from the RP-AP. 718 // Its purpose is to halt before the bootrom before booting from 719 // flash in order to recover from a boot lock-up. 720 // The debugger can then attach once the bootrom has been halted 721 // and flash some working code that does not lock up. 722 #define POWMAN_CHIP_RESET_RESCUE_FLAG_RESET _u(0x0) 723 #define POWMAN_CHIP_RESET_RESCUE_FLAG_BITS _u(0x00000010) 724 #define POWMAN_CHIP_RESET_RESCUE_FLAG_MSB _u(4) 725 #define POWMAN_CHIP_RESET_RESCUE_FLAG_LSB _u(4) 726 #define POWMAN_CHIP_RESET_RESCUE_FLAG_ACCESS "WC" 727 // ----------------------------------------------------------------------------- 728 // Field : POWMAN_CHIP_RESET_DOUBLE_TAP 729 // Description : This flag is set by double-tapping RUN. It tells bootcode to go 730 // into the bootloader. 731 #define POWMAN_CHIP_RESET_DOUBLE_TAP_RESET _u(0x0) 732 #define POWMAN_CHIP_RESET_DOUBLE_TAP_BITS _u(0x00000001) 733 #define POWMAN_CHIP_RESET_DOUBLE_TAP_MSB _u(0) 734 #define POWMAN_CHIP_RESET_DOUBLE_TAP_LSB _u(0) 735 #define POWMAN_CHIP_RESET_DOUBLE_TAP_ACCESS "RW" 736 // ============================================================================= 737 // Register : POWMAN_WDSEL 738 // Description : Allows a watchdog reset to reset the internal state of powman 739 // in addition to the power-on state machine (PSM). 740 // Note that powman ignores watchdog resets that do not select at 741 // least the CLOCKS stage or earlier stages in the PSM. If using 742 // these bits, it's recommended to set PSM_WDSEL to all-ones in 743 // addition to the desired bits in this register. Failing to 744 // select CLOCKS or earlier will result in the POWMAN_WDSEL 745 // register having no effect. 746 #define POWMAN_WDSEL_OFFSET _u(0x00000030) 747 #define POWMAN_WDSEL_BITS _u(0x00001111) 748 #define POWMAN_WDSEL_RESET _u(0x00000000) 749 // ----------------------------------------------------------------------------- 750 // Field : POWMAN_WDSEL_RESET_RSM 751 // Description : If set to 1, a watchdog reset will run the full power-on state 752 // machine (PSM) sequence 753 // From a user perspective it is the same as setting 754 // RSM_WDSEL_PROC_COLD 755 // From a hardware debug perspective it has the same effect as a 756 // reset from a glitch detector 757 #define POWMAN_WDSEL_RESET_RSM_RESET _u(0x0) 758 #define POWMAN_WDSEL_RESET_RSM_BITS _u(0x00001000) 759 #define POWMAN_WDSEL_RESET_RSM_MSB _u(12) 760 #define POWMAN_WDSEL_RESET_RSM_LSB _u(12) 761 #define POWMAN_WDSEL_RESET_RSM_ACCESS "RW" 762 // ----------------------------------------------------------------------------- 763 // Field : POWMAN_WDSEL_RESET_SWCORE 764 // Description : If set to 1, a watchdog reset will reset the switched core 765 // power domain and run the full power-on state machine (PSM) 766 // sequence 767 // From a user perspective it is the same as setting 768 // RSM_WDSEL_PROC_COLD 769 // From a hardware debug perspective it has the same effect as a 770 // power-on reset for the switched core power domain 771 #define POWMAN_WDSEL_RESET_SWCORE_RESET _u(0x0) 772 #define POWMAN_WDSEL_RESET_SWCORE_BITS _u(0x00000100) 773 #define POWMAN_WDSEL_RESET_SWCORE_MSB _u(8) 774 #define POWMAN_WDSEL_RESET_SWCORE_LSB _u(8) 775 #define POWMAN_WDSEL_RESET_SWCORE_ACCESS "RW" 776 // ----------------------------------------------------------------------------- 777 // Field : POWMAN_WDSEL_RESET_POWMAN 778 // Description : If set to 1, a watchdog reset will restore powman defaults, 779 // reset the timer, reset the switched core power domain 780 // and run the full power-on state machine (PSM) sequence 781 // This relies on clk_ref running. Use reset_powman_async if that 782 // may not be true 783 #define POWMAN_WDSEL_RESET_POWMAN_RESET _u(0x0) 784 #define POWMAN_WDSEL_RESET_POWMAN_BITS _u(0x00000010) 785 #define POWMAN_WDSEL_RESET_POWMAN_MSB _u(4) 786 #define POWMAN_WDSEL_RESET_POWMAN_LSB _u(4) 787 #define POWMAN_WDSEL_RESET_POWMAN_ACCESS "RW" 788 // ----------------------------------------------------------------------------- 789 // Field : POWMAN_WDSEL_RESET_POWMAN_ASYNC 790 // Description : If set to 1, a watchdog reset will restore powman defaults, 791 // reset the timer, 792 // reset the switched core domain and run the full power-on state 793 // machine (PSM) sequence 794 // This does not rely on clk_ref running 795 #define POWMAN_WDSEL_RESET_POWMAN_ASYNC_RESET _u(0x0) 796 #define POWMAN_WDSEL_RESET_POWMAN_ASYNC_BITS _u(0x00000001) 797 #define POWMAN_WDSEL_RESET_POWMAN_ASYNC_MSB _u(0) 798 #define POWMAN_WDSEL_RESET_POWMAN_ASYNC_LSB _u(0) 799 #define POWMAN_WDSEL_RESET_POWMAN_ASYNC_ACCESS "RW" 800 // ============================================================================= 801 // Register : POWMAN_SEQ_CFG 802 // Description : For configuration of the power sequencer 803 // Writes are ignored while POWMAN_STATE_CHANGING=1 804 #define POWMAN_SEQ_CFG_OFFSET _u(0x00000034) 805 #define POWMAN_SEQ_CFG_BITS _u(0x001311f3) 806 #define POWMAN_SEQ_CFG_RESET _u(0x001011f0) 807 // ----------------------------------------------------------------------------- 808 // Field : POWMAN_SEQ_CFG_USING_FAST_POWCK 809 // Description : 0 indicates the POWMAN clock is running from the low power 810 // oscillator (32kHz) 811 // 1 indicates the POWMAN clock is running from the reference 812 // clock (2-50MHz) 813 #define POWMAN_SEQ_CFG_USING_FAST_POWCK_RESET _u(0x1) 814 #define POWMAN_SEQ_CFG_USING_FAST_POWCK_BITS _u(0x00100000) 815 #define POWMAN_SEQ_CFG_USING_FAST_POWCK_MSB _u(20) 816 #define POWMAN_SEQ_CFG_USING_FAST_POWCK_LSB _u(20) 817 #define POWMAN_SEQ_CFG_USING_FAST_POWCK_ACCESS "RO" 818 // ----------------------------------------------------------------------------- 819 // Field : POWMAN_SEQ_CFG_USING_BOD_LP 820 // Description : Indicates the brown-out detector (BOD) mode 821 // 0 = BOD high power mode which is the default 822 // 1 = BOD low power mode 823 #define POWMAN_SEQ_CFG_USING_BOD_LP_RESET _u(0x0) 824 #define POWMAN_SEQ_CFG_USING_BOD_LP_BITS _u(0x00020000) 825 #define POWMAN_SEQ_CFG_USING_BOD_LP_MSB _u(17) 826 #define POWMAN_SEQ_CFG_USING_BOD_LP_LSB _u(17) 827 #define POWMAN_SEQ_CFG_USING_BOD_LP_ACCESS "RO" 828 // ----------------------------------------------------------------------------- 829 // Field : POWMAN_SEQ_CFG_USING_VREG_LP 830 // Description : Indicates the voltage regulator (VREG) mode 831 // 0 = VREG high power mode which is the default 832 // 1 = VREG low power mode 833 #define POWMAN_SEQ_CFG_USING_VREG_LP_RESET _u(0x0) 834 #define POWMAN_SEQ_CFG_USING_VREG_LP_BITS _u(0x00010000) 835 #define POWMAN_SEQ_CFG_USING_VREG_LP_MSB _u(16) 836 #define POWMAN_SEQ_CFG_USING_VREG_LP_LSB _u(16) 837 #define POWMAN_SEQ_CFG_USING_VREG_LP_ACCESS "RO" 838 // ----------------------------------------------------------------------------- 839 // Field : POWMAN_SEQ_CFG_USE_FAST_POWCK 840 // Description : selects the reference clock (clk_ref) as the source of the 841 // POWMAN clock when switched-core is powered. The POWMAN clock 842 // always switches to the slow clock (lposc) when switched-core is 843 // powered down because the fast clock stops running. 844 // 0 always run the POWMAN clock from the slow clock (lposc) 845 // 1 run the POWMAN clock from the fast clock when available 846 // This setting takes effect when a power up sequence is next run 847 #define POWMAN_SEQ_CFG_USE_FAST_POWCK_RESET _u(0x1) 848 #define POWMAN_SEQ_CFG_USE_FAST_POWCK_BITS _u(0x00001000) 849 #define POWMAN_SEQ_CFG_USE_FAST_POWCK_MSB _u(12) 850 #define POWMAN_SEQ_CFG_USE_FAST_POWCK_LSB _u(12) 851 #define POWMAN_SEQ_CFG_USE_FAST_POWCK_ACCESS "RW" 852 // ----------------------------------------------------------------------------- 853 // Field : POWMAN_SEQ_CFG_RUN_LPOSC_IN_LP 854 // Description : Set to 0 to stop the low power osc when the switched-core is 855 // powered down, which is unwise if using it to clock the timer 856 // This setting takes effect when the swcore is next powered down 857 #define POWMAN_SEQ_CFG_RUN_LPOSC_IN_LP_RESET _u(0x1) 858 #define POWMAN_SEQ_CFG_RUN_LPOSC_IN_LP_BITS _u(0x00000100) 859 #define POWMAN_SEQ_CFG_RUN_LPOSC_IN_LP_MSB _u(8) 860 #define POWMAN_SEQ_CFG_RUN_LPOSC_IN_LP_LSB _u(8) 861 #define POWMAN_SEQ_CFG_RUN_LPOSC_IN_LP_ACCESS "RW" 862 // ----------------------------------------------------------------------------- 863 // Field : POWMAN_SEQ_CFG_USE_BOD_HP 864 // Description : Set to 0 to prevent automatic switching to bod high power mode 865 // when switched-core is powered up 866 // This setting takes effect when the swcore is next powered up 867 #define POWMAN_SEQ_CFG_USE_BOD_HP_RESET _u(0x1) 868 #define POWMAN_SEQ_CFG_USE_BOD_HP_BITS _u(0x00000080) 869 #define POWMAN_SEQ_CFG_USE_BOD_HP_MSB _u(7) 870 #define POWMAN_SEQ_CFG_USE_BOD_HP_LSB _u(7) 871 #define POWMAN_SEQ_CFG_USE_BOD_HP_ACCESS "RW" 872 // ----------------------------------------------------------------------------- 873 // Field : POWMAN_SEQ_CFG_USE_BOD_LP 874 // Description : Set to 0 to prevent automatic switching to bod low power mode 875 // when switched-core is powered down 876 // This setting takes effect when the swcore is next powered down 877 #define POWMAN_SEQ_CFG_USE_BOD_LP_RESET _u(0x1) 878 #define POWMAN_SEQ_CFG_USE_BOD_LP_BITS _u(0x00000040) 879 #define POWMAN_SEQ_CFG_USE_BOD_LP_MSB _u(6) 880 #define POWMAN_SEQ_CFG_USE_BOD_LP_LSB _u(6) 881 #define POWMAN_SEQ_CFG_USE_BOD_LP_ACCESS "RW" 882 // ----------------------------------------------------------------------------- 883 // Field : POWMAN_SEQ_CFG_USE_VREG_HP 884 // Description : Set to 0 to prevent automatic switching to vreg high power mode 885 // when switched-core is powered up 886 // This setting takes effect when the swcore is next powered up 887 #define POWMAN_SEQ_CFG_USE_VREG_HP_RESET _u(0x1) 888 #define POWMAN_SEQ_CFG_USE_VREG_HP_BITS _u(0x00000020) 889 #define POWMAN_SEQ_CFG_USE_VREG_HP_MSB _u(5) 890 #define POWMAN_SEQ_CFG_USE_VREG_HP_LSB _u(5) 891 #define POWMAN_SEQ_CFG_USE_VREG_HP_ACCESS "RW" 892 // ----------------------------------------------------------------------------- 893 // Field : POWMAN_SEQ_CFG_USE_VREG_LP 894 // Description : Set to 0 to prevent automatic switching to vreg low power mode 895 // when switched-core is powered down 896 // This setting takes effect when the swcore is next powered down 897 #define POWMAN_SEQ_CFG_USE_VREG_LP_RESET _u(0x1) 898 #define POWMAN_SEQ_CFG_USE_VREG_LP_BITS _u(0x00000010) 899 #define POWMAN_SEQ_CFG_USE_VREG_LP_MSB _u(4) 900 #define POWMAN_SEQ_CFG_USE_VREG_LP_LSB _u(4) 901 #define POWMAN_SEQ_CFG_USE_VREG_LP_ACCESS "RW" 902 // ----------------------------------------------------------------------------- 903 // Field : POWMAN_SEQ_CFG_HW_PWRUP_SRAM0 904 // Description : Specifies the power state of SRAM0 when powering up swcore from 905 // a low power state (P1.xxx) to a high power state (P0.0xx). 906 // 0=power-up 907 // 1=no change 908 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM0_RESET _u(0x0) 909 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM0_BITS _u(0x00000002) 910 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM0_MSB _u(1) 911 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM0_LSB _u(1) 912 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM0_ACCESS "RW" 913 // ----------------------------------------------------------------------------- 914 // Field : POWMAN_SEQ_CFG_HW_PWRUP_SRAM1 915 // Description : Specifies the power state of SRAM1 when powering up swcore from 916 // a low power state (P1.xxx) to a high power state (P0.0xx). 917 // 0=power-up 918 // 1=no change 919 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM1_RESET _u(0x0) 920 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM1_BITS _u(0x00000001) 921 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM1_MSB _u(0) 922 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM1_LSB _u(0) 923 #define POWMAN_SEQ_CFG_HW_PWRUP_SRAM1_ACCESS "RW" 924 // ============================================================================= 925 // Register : POWMAN_STATE 926 // Description : This register controls the power state of the 4 power domains. 927 // The current power state is indicated in POWMAN_STATE_CURRENT 928 // which is read-only. 929 // To change the state, write to POWMAN_STATE_REQ. 930 // The coding of POWMAN_STATE_CURRENT & POWMAN_STATE_REQ 931 // corresponds to the power states 932 // defined in the datasheet: 933 // bit 3 = SWCORE 934 // bit 2 = XIP cache 935 // bit 1 = SRAM0 936 // bit 0 = SRAM1 937 // 0 = powered up 938 // 1 = powered down 939 // When POWMAN_STATE_REQ is written, the POWMAN_STATE_WAITING flag 940 // is set while the Power Manager determines what is required. If 941 // an invalid transition is requested the Power Manager will still 942 // register the request in POWMAN_STATE_REQ but will also set the 943 // POWMAN_BAD_REQ flag. It will then implement the power-up 944 // requests and ignore the power down requests. To do nothing 945 // would risk entering an unrecoverable lock-up state. Invalid 946 // requests are: any combination of power up and power down 947 // requests any request that results in swcore boing powered and 948 // xip unpowered If the request is to power down the switched-core 949 // domain then POWMAN_STATE_WAITING stays active until the 950 // processors halt. During this time the POWMAN_STATE_REQ field 951 // can be re-written to change or cancel the request. When the 952 // power state transition begins the POWMAN_STATE_WAITING_flag is 953 // cleared, the POWMAN_STATE_CHANGING flag is set and POWMAN 954 // register writes are ignored until the transition completes. 955 #define POWMAN_STATE_OFFSET _u(0x00000038) 956 #define POWMAN_STATE_BITS _u(0x00003fff) 957 #define POWMAN_STATE_RESET _u(0x0000000f) 958 // ----------------------------------------------------------------------------- 959 // Field : POWMAN_STATE_CHANGING 960 #define POWMAN_STATE_CHANGING_RESET _u(0x0) 961 #define POWMAN_STATE_CHANGING_BITS _u(0x00002000) 962 #define POWMAN_STATE_CHANGING_MSB _u(13) 963 #define POWMAN_STATE_CHANGING_LSB _u(13) 964 #define POWMAN_STATE_CHANGING_ACCESS "RO" 965 // ----------------------------------------------------------------------------- 966 // Field : POWMAN_STATE_WAITING 967 #define POWMAN_STATE_WAITING_RESET _u(0x0) 968 #define POWMAN_STATE_WAITING_BITS _u(0x00001000) 969 #define POWMAN_STATE_WAITING_MSB _u(12) 970 #define POWMAN_STATE_WAITING_LSB _u(12) 971 #define POWMAN_STATE_WAITING_ACCESS "RO" 972 // ----------------------------------------------------------------------------- 973 // Field : POWMAN_STATE_BAD_HW_REQ 974 // Description : Bad hardware initiated state request. Went back to state 0 975 // (i.e. everything powered up) 976 #define POWMAN_STATE_BAD_HW_REQ_RESET _u(0x0) 977 #define POWMAN_STATE_BAD_HW_REQ_BITS _u(0x00000800) 978 #define POWMAN_STATE_BAD_HW_REQ_MSB _u(11) 979 #define POWMAN_STATE_BAD_HW_REQ_LSB _u(11) 980 #define POWMAN_STATE_BAD_HW_REQ_ACCESS "RO" 981 // ----------------------------------------------------------------------------- 982 // Field : POWMAN_STATE_BAD_SW_REQ 983 // Description : Bad software initiated state request. No action taken. 984 #define POWMAN_STATE_BAD_SW_REQ_RESET _u(0x0) 985 #define POWMAN_STATE_BAD_SW_REQ_BITS _u(0x00000400) 986 #define POWMAN_STATE_BAD_SW_REQ_MSB _u(10) 987 #define POWMAN_STATE_BAD_SW_REQ_LSB _u(10) 988 #define POWMAN_STATE_BAD_SW_REQ_ACCESS "RO" 989 // ----------------------------------------------------------------------------- 990 // Field : POWMAN_STATE_PWRUP_WHILE_WAITING 991 // Description : Request ignored because of a pending pwrup request. See 992 // current_pwrup_req. Note this blocks powering up AND powering 993 // down. 994 #define POWMAN_STATE_PWRUP_WHILE_WAITING_RESET _u(0x0) 995 #define POWMAN_STATE_PWRUP_WHILE_WAITING_BITS _u(0x00000200) 996 #define POWMAN_STATE_PWRUP_WHILE_WAITING_MSB _u(9) 997 #define POWMAN_STATE_PWRUP_WHILE_WAITING_LSB _u(9) 998 #define POWMAN_STATE_PWRUP_WHILE_WAITING_ACCESS "WC" 999 // ----------------------------------------------------------------------------- 1000 // Field : POWMAN_STATE_REQ_IGNORED 1001 #define POWMAN_STATE_REQ_IGNORED_RESET _u(0x0) 1002 #define POWMAN_STATE_REQ_IGNORED_BITS _u(0x00000100) 1003 #define POWMAN_STATE_REQ_IGNORED_MSB _u(8) 1004 #define POWMAN_STATE_REQ_IGNORED_LSB _u(8) 1005 #define POWMAN_STATE_REQ_IGNORED_ACCESS "WC" 1006 // ----------------------------------------------------------------------------- 1007 // Field : POWMAN_STATE_REQ 1008 #define POWMAN_STATE_REQ_RESET _u(0x0) 1009 #define POWMAN_STATE_REQ_BITS _u(0x000000f0) 1010 #define POWMAN_STATE_REQ_MSB _u(7) 1011 #define POWMAN_STATE_REQ_LSB _u(4) 1012 #define POWMAN_STATE_REQ_ACCESS "RW" 1013 // ----------------------------------------------------------------------------- 1014 // Field : POWMAN_STATE_CURRENT 1015 #define POWMAN_STATE_CURRENT_RESET _u(0xf) 1016 #define POWMAN_STATE_CURRENT_BITS _u(0x0000000f) 1017 #define POWMAN_STATE_CURRENT_MSB _u(3) 1018 #define POWMAN_STATE_CURRENT_LSB _u(0) 1019 #define POWMAN_STATE_CURRENT_ACCESS "RO" 1020 // ============================================================================= 1021 // Register : POWMAN_POW_FASTDIV 1022 // Description : None 1023 // divides the POWMAN clock to provide a tick for the delay module 1024 // and state machines 1025 // when clk_pow is running from the slow clock it is not divided 1026 // when clk_pow is running from the fast clock it is divided by 1027 // tick_div 1028 #define POWMAN_POW_FASTDIV_OFFSET _u(0x0000003c) 1029 #define POWMAN_POW_FASTDIV_BITS _u(0x000007ff) 1030 #define POWMAN_POW_FASTDIV_RESET _u(0x00000040) 1031 #define POWMAN_POW_FASTDIV_MSB _u(10) 1032 #define POWMAN_POW_FASTDIV_LSB _u(0) 1033 #define POWMAN_POW_FASTDIV_ACCESS "RW" 1034 // ============================================================================= 1035 // Register : POWMAN_POW_DELAY 1036 // Description : power state machine delays 1037 #define POWMAN_POW_DELAY_OFFSET _u(0x00000040) 1038 #define POWMAN_POW_DELAY_BITS _u(0x0000ffff) 1039 #define POWMAN_POW_DELAY_RESET _u(0x00002011) 1040 // ----------------------------------------------------------------------------- 1041 // Field : POWMAN_POW_DELAY_SRAM_STEP 1042 // Description : timing between the sram0 and sram1 power state machine steps 1043 // measured in units of the powman tick period (>=1us), 0 gives a 1044 // delay of 1 unit 1045 #define POWMAN_POW_DELAY_SRAM_STEP_RESET _u(0x20) 1046 #define POWMAN_POW_DELAY_SRAM_STEP_BITS _u(0x0000ff00) 1047 #define POWMAN_POW_DELAY_SRAM_STEP_MSB _u(15) 1048 #define POWMAN_POW_DELAY_SRAM_STEP_LSB _u(8) 1049 #define POWMAN_POW_DELAY_SRAM_STEP_ACCESS "RW" 1050 // ----------------------------------------------------------------------------- 1051 // Field : POWMAN_POW_DELAY_XIP_STEP 1052 // Description : timing between the xip power state machine steps 1053 // measured in units of the lposc period, 0 gives a delay of 1 1054 // unit 1055 #define POWMAN_POW_DELAY_XIP_STEP_RESET _u(0x1) 1056 #define POWMAN_POW_DELAY_XIP_STEP_BITS _u(0x000000f0) 1057 #define POWMAN_POW_DELAY_XIP_STEP_MSB _u(7) 1058 #define POWMAN_POW_DELAY_XIP_STEP_LSB _u(4) 1059 #define POWMAN_POW_DELAY_XIP_STEP_ACCESS "RW" 1060 // ----------------------------------------------------------------------------- 1061 // Field : POWMAN_POW_DELAY_SWCORE_STEP 1062 // Description : timing between the swcore power state machine steps 1063 // measured in units of the lposc period, 0 gives a delay of 1 1064 // unit 1065 #define POWMAN_POW_DELAY_SWCORE_STEP_RESET _u(0x1) 1066 #define POWMAN_POW_DELAY_SWCORE_STEP_BITS _u(0x0000000f) 1067 #define POWMAN_POW_DELAY_SWCORE_STEP_MSB _u(3) 1068 #define POWMAN_POW_DELAY_SWCORE_STEP_LSB _u(0) 1069 #define POWMAN_POW_DELAY_SWCORE_STEP_ACCESS "RW" 1070 // ============================================================================= 1071 // Register : POWMAN_EXT_CTRL0 1072 // Description : Configures a gpio as a power mode aware control output 1073 #define POWMAN_EXT_CTRL0_OFFSET _u(0x00000044) 1074 #define POWMAN_EXT_CTRL0_BITS _u(0x0000713f) 1075 #define POWMAN_EXT_CTRL0_RESET _u(0x0000003f) 1076 // ----------------------------------------------------------------------------- 1077 // Field : POWMAN_EXT_CTRL0_LP_EXIT_STATE 1078 // Description : output level when exiting the low power state 1079 #define POWMAN_EXT_CTRL0_LP_EXIT_STATE_RESET _u(0x0) 1080 #define POWMAN_EXT_CTRL0_LP_EXIT_STATE_BITS _u(0x00004000) 1081 #define POWMAN_EXT_CTRL0_LP_EXIT_STATE_MSB _u(14) 1082 #define POWMAN_EXT_CTRL0_LP_EXIT_STATE_LSB _u(14) 1083 #define POWMAN_EXT_CTRL0_LP_EXIT_STATE_ACCESS "RW" 1084 // ----------------------------------------------------------------------------- 1085 // Field : POWMAN_EXT_CTRL0_LP_ENTRY_STATE 1086 // Description : output level when entering the low power state 1087 #define POWMAN_EXT_CTRL0_LP_ENTRY_STATE_RESET _u(0x0) 1088 #define POWMAN_EXT_CTRL0_LP_ENTRY_STATE_BITS _u(0x00002000) 1089 #define POWMAN_EXT_CTRL0_LP_ENTRY_STATE_MSB _u(13) 1090 #define POWMAN_EXT_CTRL0_LP_ENTRY_STATE_LSB _u(13) 1091 #define POWMAN_EXT_CTRL0_LP_ENTRY_STATE_ACCESS "RW" 1092 // ----------------------------------------------------------------------------- 1093 // Field : POWMAN_EXT_CTRL0_INIT_STATE 1094 #define POWMAN_EXT_CTRL0_INIT_STATE_RESET _u(0x0) 1095 #define POWMAN_EXT_CTRL0_INIT_STATE_BITS _u(0x00001000) 1096 #define POWMAN_EXT_CTRL0_INIT_STATE_MSB _u(12) 1097 #define POWMAN_EXT_CTRL0_INIT_STATE_LSB _u(12) 1098 #define POWMAN_EXT_CTRL0_INIT_STATE_ACCESS "RW" 1099 // ----------------------------------------------------------------------------- 1100 // Field : POWMAN_EXT_CTRL0_INIT 1101 #define POWMAN_EXT_CTRL0_INIT_RESET _u(0x0) 1102 #define POWMAN_EXT_CTRL0_INIT_BITS _u(0x00000100) 1103 #define POWMAN_EXT_CTRL0_INIT_MSB _u(8) 1104 #define POWMAN_EXT_CTRL0_INIT_LSB _u(8) 1105 #define POWMAN_EXT_CTRL0_INIT_ACCESS "RW" 1106 // ----------------------------------------------------------------------------- 1107 // Field : POWMAN_EXT_CTRL0_GPIO_SELECT 1108 // Description : selects from gpio 0->30 1109 // set to 31 to disable this feature 1110 #define POWMAN_EXT_CTRL0_GPIO_SELECT_RESET _u(0x3f) 1111 #define POWMAN_EXT_CTRL0_GPIO_SELECT_BITS _u(0x0000003f) 1112 #define POWMAN_EXT_CTRL0_GPIO_SELECT_MSB _u(5) 1113 #define POWMAN_EXT_CTRL0_GPIO_SELECT_LSB _u(0) 1114 #define POWMAN_EXT_CTRL0_GPIO_SELECT_ACCESS "RW" 1115 // ============================================================================= 1116 // Register : POWMAN_EXT_CTRL1 1117 // Description : Configures a gpio as a power mode aware control output 1118 #define POWMAN_EXT_CTRL1_OFFSET _u(0x00000048) 1119 #define POWMAN_EXT_CTRL1_BITS _u(0x0000713f) 1120 #define POWMAN_EXT_CTRL1_RESET _u(0x0000003f) 1121 // ----------------------------------------------------------------------------- 1122 // Field : POWMAN_EXT_CTRL1_LP_EXIT_STATE 1123 // Description : output level when exiting the low power state 1124 #define POWMAN_EXT_CTRL1_LP_EXIT_STATE_RESET _u(0x0) 1125 #define POWMAN_EXT_CTRL1_LP_EXIT_STATE_BITS _u(0x00004000) 1126 #define POWMAN_EXT_CTRL1_LP_EXIT_STATE_MSB _u(14) 1127 #define POWMAN_EXT_CTRL1_LP_EXIT_STATE_LSB _u(14) 1128 #define POWMAN_EXT_CTRL1_LP_EXIT_STATE_ACCESS "RW" 1129 // ----------------------------------------------------------------------------- 1130 // Field : POWMAN_EXT_CTRL1_LP_ENTRY_STATE 1131 // Description : output level when entering the low power state 1132 #define POWMAN_EXT_CTRL1_LP_ENTRY_STATE_RESET _u(0x0) 1133 #define POWMAN_EXT_CTRL1_LP_ENTRY_STATE_BITS _u(0x00002000) 1134 #define POWMAN_EXT_CTRL1_LP_ENTRY_STATE_MSB _u(13) 1135 #define POWMAN_EXT_CTRL1_LP_ENTRY_STATE_LSB _u(13) 1136 #define POWMAN_EXT_CTRL1_LP_ENTRY_STATE_ACCESS "RW" 1137 // ----------------------------------------------------------------------------- 1138 // Field : POWMAN_EXT_CTRL1_INIT_STATE 1139 #define POWMAN_EXT_CTRL1_INIT_STATE_RESET _u(0x0) 1140 #define POWMAN_EXT_CTRL1_INIT_STATE_BITS _u(0x00001000) 1141 #define POWMAN_EXT_CTRL1_INIT_STATE_MSB _u(12) 1142 #define POWMAN_EXT_CTRL1_INIT_STATE_LSB _u(12) 1143 #define POWMAN_EXT_CTRL1_INIT_STATE_ACCESS "RW" 1144 // ----------------------------------------------------------------------------- 1145 // Field : POWMAN_EXT_CTRL1_INIT 1146 #define POWMAN_EXT_CTRL1_INIT_RESET _u(0x0) 1147 #define POWMAN_EXT_CTRL1_INIT_BITS _u(0x00000100) 1148 #define POWMAN_EXT_CTRL1_INIT_MSB _u(8) 1149 #define POWMAN_EXT_CTRL1_INIT_LSB _u(8) 1150 #define POWMAN_EXT_CTRL1_INIT_ACCESS "RW" 1151 // ----------------------------------------------------------------------------- 1152 // Field : POWMAN_EXT_CTRL1_GPIO_SELECT 1153 // Description : selects from gpio 0->30 1154 // set to 31 to disable this feature 1155 #define POWMAN_EXT_CTRL1_GPIO_SELECT_RESET _u(0x3f) 1156 #define POWMAN_EXT_CTRL1_GPIO_SELECT_BITS _u(0x0000003f) 1157 #define POWMAN_EXT_CTRL1_GPIO_SELECT_MSB _u(5) 1158 #define POWMAN_EXT_CTRL1_GPIO_SELECT_LSB _u(0) 1159 #define POWMAN_EXT_CTRL1_GPIO_SELECT_ACCESS "RW" 1160 // ============================================================================= 1161 // Register : POWMAN_EXT_TIME_REF 1162 // Description : Select a GPIO to use as a time reference, the source can be 1163 // used to drive the low power clock at 32kHz, or to provide a 1ms 1164 // tick to the timer, or provide a 1Hz tick to the timer. The tick 1165 // selection is controlled by the POWMAN_TIMER register. 1166 #define POWMAN_EXT_TIME_REF_OFFSET _u(0x0000004c) 1167 #define POWMAN_EXT_TIME_REF_BITS _u(0x00000013) 1168 #define POWMAN_EXT_TIME_REF_RESET _u(0x00000000) 1169 // ----------------------------------------------------------------------------- 1170 // Field : POWMAN_EXT_TIME_REF_DRIVE_LPCK 1171 // Description : Use the selected GPIO to drive the 32kHz low power clock, in 1172 // place of LPOSC. This field must only be written when 1173 // POWMAN_TIMER_RUN=0 1174 #define POWMAN_EXT_TIME_REF_DRIVE_LPCK_RESET _u(0x0) 1175 #define POWMAN_EXT_TIME_REF_DRIVE_LPCK_BITS _u(0x00000010) 1176 #define POWMAN_EXT_TIME_REF_DRIVE_LPCK_MSB _u(4) 1177 #define POWMAN_EXT_TIME_REF_DRIVE_LPCK_LSB _u(4) 1178 #define POWMAN_EXT_TIME_REF_DRIVE_LPCK_ACCESS "RW" 1179 // ----------------------------------------------------------------------------- 1180 // Field : POWMAN_EXT_TIME_REF_SOURCE_SEL 1181 // Description : 0 -> gpio12 1182 // 1 -> gpio20 1183 // 2 -> gpio14 1184 // 3 -> gpio22 1185 #define POWMAN_EXT_TIME_REF_SOURCE_SEL_RESET _u(0x0) 1186 #define POWMAN_EXT_TIME_REF_SOURCE_SEL_BITS _u(0x00000003) 1187 #define POWMAN_EXT_TIME_REF_SOURCE_SEL_MSB _u(1) 1188 #define POWMAN_EXT_TIME_REF_SOURCE_SEL_LSB _u(0) 1189 #define POWMAN_EXT_TIME_REF_SOURCE_SEL_ACCESS "RW" 1190 // ============================================================================= 1191 // Register : POWMAN_LPOSC_FREQ_KHZ_INT 1192 // Description : Informs the AON Timer of the integer component of the clock 1193 // frequency when running off the LPOSC. 1194 // Integer component of the LPOSC or GPIO clock source frequency 1195 // in kHz. Default = 32 This field must only be written when 1196 // POWMAN_TIMER_RUN=0 or POWMAN_TIMER_USING_XOSC=1 1197 #define POWMAN_LPOSC_FREQ_KHZ_INT_OFFSET _u(0x00000050) 1198 #define POWMAN_LPOSC_FREQ_KHZ_INT_BITS _u(0x0000003f) 1199 #define POWMAN_LPOSC_FREQ_KHZ_INT_RESET _u(0x00000020) 1200 #define POWMAN_LPOSC_FREQ_KHZ_INT_MSB _u(5) 1201 #define POWMAN_LPOSC_FREQ_KHZ_INT_LSB _u(0) 1202 #define POWMAN_LPOSC_FREQ_KHZ_INT_ACCESS "RW" 1203 // ============================================================================= 1204 // Register : POWMAN_LPOSC_FREQ_KHZ_FRAC 1205 // Description : Informs the AON Timer of the fractional component of the clock 1206 // frequency when running off the LPOSC. 1207 // Fractional component of the LPOSC or GPIO clock source 1208 // frequency in kHz. Default = 0.768 This field must only be 1209 // written when POWMAN_TIMER_RUN=0 or POWMAN_TIMER_USING_XOSC=1 1210 #define POWMAN_LPOSC_FREQ_KHZ_FRAC_OFFSET _u(0x00000054) 1211 #define POWMAN_LPOSC_FREQ_KHZ_FRAC_BITS _u(0x0000ffff) 1212 #define POWMAN_LPOSC_FREQ_KHZ_FRAC_RESET _u(0x0000c49c) 1213 #define POWMAN_LPOSC_FREQ_KHZ_FRAC_MSB _u(15) 1214 #define POWMAN_LPOSC_FREQ_KHZ_FRAC_LSB _u(0) 1215 #define POWMAN_LPOSC_FREQ_KHZ_FRAC_ACCESS "RW" 1216 // ============================================================================= 1217 // Register : POWMAN_XOSC_FREQ_KHZ_INT 1218 // Description : Informs the AON Timer of the integer component of the clock 1219 // frequency when running off the XOSC. 1220 // Integer component of the XOSC frequency in kHz. Default = 12000 1221 // Must be >1 This field must only be written when 1222 // POWMAN_TIMER_RUN=0 or POWMAN_TIMER_USING_XOSC=0 1223 #define POWMAN_XOSC_FREQ_KHZ_INT_OFFSET _u(0x00000058) 1224 #define POWMAN_XOSC_FREQ_KHZ_INT_BITS _u(0x0000ffff) 1225 #define POWMAN_XOSC_FREQ_KHZ_INT_RESET _u(0x00002ee0) 1226 #define POWMAN_XOSC_FREQ_KHZ_INT_MSB _u(15) 1227 #define POWMAN_XOSC_FREQ_KHZ_INT_LSB _u(0) 1228 #define POWMAN_XOSC_FREQ_KHZ_INT_ACCESS "RW" 1229 // ============================================================================= 1230 // Register : POWMAN_XOSC_FREQ_KHZ_FRAC 1231 // Description : Informs the AON Timer of the fractional component of the clock 1232 // frequency when running off the XOSC. 1233 // Fractional component of the XOSC frequency in kHz. This field 1234 // must only be written when POWMAN_TIMER_RUN=0 or 1235 // POWMAN_TIMER_USING_XOSC=0 1236 #define POWMAN_XOSC_FREQ_KHZ_FRAC_OFFSET _u(0x0000005c) 1237 #define POWMAN_XOSC_FREQ_KHZ_FRAC_BITS _u(0x0000ffff) 1238 #define POWMAN_XOSC_FREQ_KHZ_FRAC_RESET _u(0x00000000) 1239 #define POWMAN_XOSC_FREQ_KHZ_FRAC_MSB _u(15) 1240 #define POWMAN_XOSC_FREQ_KHZ_FRAC_LSB _u(0) 1241 #define POWMAN_XOSC_FREQ_KHZ_FRAC_ACCESS "RW" 1242 // ============================================================================= 1243 // Register : POWMAN_SET_TIME_63TO48 1244 // Description : None 1245 // For setting the time, do not use for reading the time, use 1246 // POWMAN_READ_TIME_UPPER and POWMAN_READ_TIME_LOWER. This field 1247 // must only be written when POWMAN_TIMER_RUN=0 1248 #define POWMAN_SET_TIME_63TO48_OFFSET _u(0x00000060) 1249 #define POWMAN_SET_TIME_63TO48_BITS _u(0x0000ffff) 1250 #define POWMAN_SET_TIME_63TO48_RESET _u(0x00000000) 1251 #define POWMAN_SET_TIME_63TO48_MSB _u(15) 1252 #define POWMAN_SET_TIME_63TO48_LSB _u(0) 1253 #define POWMAN_SET_TIME_63TO48_ACCESS "RW" 1254 // ============================================================================= 1255 // Register : POWMAN_SET_TIME_47TO32 1256 // Description : None 1257 // For setting the time, do not use for reading the time, use 1258 // POWMAN_READ_TIME_UPPER and POWMAN_READ_TIME_LOWER. This field 1259 // must only be written when POWMAN_TIMER_RUN=0 1260 #define POWMAN_SET_TIME_47TO32_OFFSET _u(0x00000064) 1261 #define POWMAN_SET_TIME_47TO32_BITS _u(0x0000ffff) 1262 #define POWMAN_SET_TIME_47TO32_RESET _u(0x00000000) 1263 #define POWMAN_SET_TIME_47TO32_MSB _u(15) 1264 #define POWMAN_SET_TIME_47TO32_LSB _u(0) 1265 #define POWMAN_SET_TIME_47TO32_ACCESS "RW" 1266 // ============================================================================= 1267 // Register : POWMAN_SET_TIME_31TO16 1268 // Description : None 1269 // For setting the time, do not use for reading the time, use 1270 // POWMAN_READ_TIME_UPPER and POWMAN_READ_TIME_LOWER. This field 1271 // must only be written when POWMAN_TIMER_RUN=0 1272 #define POWMAN_SET_TIME_31TO16_OFFSET _u(0x00000068) 1273 #define POWMAN_SET_TIME_31TO16_BITS _u(0x0000ffff) 1274 #define POWMAN_SET_TIME_31TO16_RESET _u(0x00000000) 1275 #define POWMAN_SET_TIME_31TO16_MSB _u(15) 1276 #define POWMAN_SET_TIME_31TO16_LSB _u(0) 1277 #define POWMAN_SET_TIME_31TO16_ACCESS "RW" 1278 // ============================================================================= 1279 // Register : POWMAN_SET_TIME_15TO0 1280 // Description : None 1281 // For setting the time, do not use for reading the time, use 1282 // POWMAN_READ_TIME_UPPER and POWMAN_READ_TIME_LOWER. This field 1283 // must only be written when POWMAN_TIMER_RUN=0 1284 #define POWMAN_SET_TIME_15TO0_OFFSET _u(0x0000006c) 1285 #define POWMAN_SET_TIME_15TO0_BITS _u(0x0000ffff) 1286 #define POWMAN_SET_TIME_15TO0_RESET _u(0x00000000) 1287 #define POWMAN_SET_TIME_15TO0_MSB _u(15) 1288 #define POWMAN_SET_TIME_15TO0_LSB _u(0) 1289 #define POWMAN_SET_TIME_15TO0_ACCESS "RW" 1290 // ============================================================================= 1291 // Register : POWMAN_READ_TIME_UPPER 1292 // Description : None 1293 // For reading bits 63:32 of the timer. When reading all 64 bits 1294 // it is possible for the LOWER count to rollover during the read. 1295 // It is recommended to read UPPER, then LOWER, then re-read UPPER 1296 // and, if it has changed, re-read LOWER. 1297 #define POWMAN_READ_TIME_UPPER_OFFSET _u(0x00000070) 1298 #define POWMAN_READ_TIME_UPPER_BITS _u(0xffffffff) 1299 #define POWMAN_READ_TIME_UPPER_RESET _u(0x00000000) 1300 #define POWMAN_READ_TIME_UPPER_MSB _u(31) 1301 #define POWMAN_READ_TIME_UPPER_LSB _u(0) 1302 #define POWMAN_READ_TIME_UPPER_ACCESS "RO" 1303 // ============================================================================= 1304 // Register : POWMAN_READ_TIME_LOWER 1305 // Description : None 1306 // For reading bits 31:0 of the timer. 1307 #define POWMAN_READ_TIME_LOWER_OFFSET _u(0x00000074) 1308 #define POWMAN_READ_TIME_LOWER_BITS _u(0xffffffff) 1309 #define POWMAN_READ_TIME_LOWER_RESET _u(0x00000000) 1310 #define POWMAN_READ_TIME_LOWER_MSB _u(31) 1311 #define POWMAN_READ_TIME_LOWER_LSB _u(0) 1312 #define POWMAN_READ_TIME_LOWER_ACCESS "RO" 1313 // ============================================================================= 1314 // Register : POWMAN_ALARM_TIME_63TO48 1315 // Description : None 1316 // This field must only be written when POWMAN_ALARM_ENAB=0 1317 #define POWMAN_ALARM_TIME_63TO48_OFFSET _u(0x00000078) 1318 #define POWMAN_ALARM_TIME_63TO48_BITS _u(0x0000ffff) 1319 #define POWMAN_ALARM_TIME_63TO48_RESET _u(0x00000000) 1320 #define POWMAN_ALARM_TIME_63TO48_MSB _u(15) 1321 #define POWMAN_ALARM_TIME_63TO48_LSB _u(0) 1322 #define POWMAN_ALARM_TIME_63TO48_ACCESS "RW" 1323 // ============================================================================= 1324 // Register : POWMAN_ALARM_TIME_47TO32 1325 // Description : None 1326 // This field must only be written when POWMAN_ALARM_ENAB=0 1327 #define POWMAN_ALARM_TIME_47TO32_OFFSET _u(0x0000007c) 1328 #define POWMAN_ALARM_TIME_47TO32_BITS _u(0x0000ffff) 1329 #define POWMAN_ALARM_TIME_47TO32_RESET _u(0x00000000) 1330 #define POWMAN_ALARM_TIME_47TO32_MSB _u(15) 1331 #define POWMAN_ALARM_TIME_47TO32_LSB _u(0) 1332 #define POWMAN_ALARM_TIME_47TO32_ACCESS "RW" 1333 // ============================================================================= 1334 // Register : POWMAN_ALARM_TIME_31TO16 1335 // Description : None 1336 // This field must only be written when POWMAN_ALARM_ENAB=0 1337 #define POWMAN_ALARM_TIME_31TO16_OFFSET _u(0x00000080) 1338 #define POWMAN_ALARM_TIME_31TO16_BITS _u(0x0000ffff) 1339 #define POWMAN_ALARM_TIME_31TO16_RESET _u(0x00000000) 1340 #define POWMAN_ALARM_TIME_31TO16_MSB _u(15) 1341 #define POWMAN_ALARM_TIME_31TO16_LSB _u(0) 1342 #define POWMAN_ALARM_TIME_31TO16_ACCESS "RW" 1343 // ============================================================================= 1344 // Register : POWMAN_ALARM_TIME_15TO0 1345 // Description : None 1346 // This field must only be written when POWMAN_ALARM_ENAB=0 1347 #define POWMAN_ALARM_TIME_15TO0_OFFSET _u(0x00000084) 1348 #define POWMAN_ALARM_TIME_15TO0_BITS _u(0x0000ffff) 1349 #define POWMAN_ALARM_TIME_15TO0_RESET _u(0x00000000) 1350 #define POWMAN_ALARM_TIME_15TO0_MSB _u(15) 1351 #define POWMAN_ALARM_TIME_15TO0_LSB _u(0) 1352 #define POWMAN_ALARM_TIME_15TO0_ACCESS "RW" 1353 // ============================================================================= 1354 // Register : POWMAN_TIMER 1355 #define POWMAN_TIMER_OFFSET _u(0x00000088) 1356 #define POWMAN_TIMER_BITS _u(0x000f2777) 1357 #define POWMAN_TIMER_RESET _u(0x00000000) 1358 // ----------------------------------------------------------------------------- 1359 // Field : POWMAN_TIMER_USING_GPIO_1HZ 1360 // Description : Timer is synchronised to a 1hz gpio source 1361 #define POWMAN_TIMER_USING_GPIO_1HZ_RESET _u(0x0) 1362 #define POWMAN_TIMER_USING_GPIO_1HZ_BITS _u(0x00080000) 1363 #define POWMAN_TIMER_USING_GPIO_1HZ_MSB _u(19) 1364 #define POWMAN_TIMER_USING_GPIO_1HZ_LSB _u(19) 1365 #define POWMAN_TIMER_USING_GPIO_1HZ_ACCESS "RO" 1366 // ----------------------------------------------------------------------------- 1367 // Field : POWMAN_TIMER_USING_GPIO_1KHZ 1368 // Description : Timer is running from a 1khz gpio source 1369 #define POWMAN_TIMER_USING_GPIO_1KHZ_RESET _u(0x0) 1370 #define POWMAN_TIMER_USING_GPIO_1KHZ_BITS _u(0x00040000) 1371 #define POWMAN_TIMER_USING_GPIO_1KHZ_MSB _u(18) 1372 #define POWMAN_TIMER_USING_GPIO_1KHZ_LSB _u(18) 1373 #define POWMAN_TIMER_USING_GPIO_1KHZ_ACCESS "RO" 1374 // ----------------------------------------------------------------------------- 1375 // Field : POWMAN_TIMER_USING_LPOSC 1376 // Description : Timer is running from lposc 1377 #define POWMAN_TIMER_USING_LPOSC_RESET _u(0x0) 1378 #define POWMAN_TIMER_USING_LPOSC_BITS _u(0x00020000) 1379 #define POWMAN_TIMER_USING_LPOSC_MSB _u(17) 1380 #define POWMAN_TIMER_USING_LPOSC_LSB _u(17) 1381 #define POWMAN_TIMER_USING_LPOSC_ACCESS "RO" 1382 // ----------------------------------------------------------------------------- 1383 // Field : POWMAN_TIMER_USING_XOSC 1384 // Description : Timer is running from xosc 1385 #define POWMAN_TIMER_USING_XOSC_RESET _u(0x0) 1386 #define POWMAN_TIMER_USING_XOSC_BITS _u(0x00010000) 1387 #define POWMAN_TIMER_USING_XOSC_MSB _u(16) 1388 #define POWMAN_TIMER_USING_XOSC_LSB _u(16) 1389 #define POWMAN_TIMER_USING_XOSC_ACCESS "RO" 1390 // ----------------------------------------------------------------------------- 1391 // Field : POWMAN_TIMER_USE_GPIO_1HZ 1392 // Description : Selects the gpio source as the reference for the sec counter. 1393 // The msec counter will continue to use the lposc or xosc 1394 // reference. 1395 #define POWMAN_TIMER_USE_GPIO_1HZ_RESET _u(0x0) 1396 #define POWMAN_TIMER_USE_GPIO_1HZ_BITS _u(0x00002000) 1397 #define POWMAN_TIMER_USE_GPIO_1HZ_MSB _u(13) 1398 #define POWMAN_TIMER_USE_GPIO_1HZ_LSB _u(13) 1399 #define POWMAN_TIMER_USE_GPIO_1HZ_ACCESS "RW" 1400 // ----------------------------------------------------------------------------- 1401 // Field : POWMAN_TIMER_USE_GPIO_1KHZ 1402 // Description : switch to gpio as the source of the 1kHz timer tick 1403 #define POWMAN_TIMER_USE_GPIO_1KHZ_RESET _u(0x0) 1404 #define POWMAN_TIMER_USE_GPIO_1KHZ_BITS _u(0x00000400) 1405 #define POWMAN_TIMER_USE_GPIO_1KHZ_MSB _u(10) 1406 #define POWMAN_TIMER_USE_GPIO_1KHZ_LSB _u(10) 1407 #define POWMAN_TIMER_USE_GPIO_1KHZ_ACCESS "SC" 1408 // ----------------------------------------------------------------------------- 1409 // Field : POWMAN_TIMER_USE_XOSC 1410 // Description : switch to xosc as the source of the 1kHz timer tick 1411 #define POWMAN_TIMER_USE_XOSC_RESET _u(0x0) 1412 #define POWMAN_TIMER_USE_XOSC_BITS _u(0x00000200) 1413 #define POWMAN_TIMER_USE_XOSC_MSB _u(9) 1414 #define POWMAN_TIMER_USE_XOSC_LSB _u(9) 1415 #define POWMAN_TIMER_USE_XOSC_ACCESS "SC" 1416 // ----------------------------------------------------------------------------- 1417 // Field : POWMAN_TIMER_USE_LPOSC 1418 // Description : Switch to lposc as the source of the 1kHz timer tick 1419 #define POWMAN_TIMER_USE_LPOSC_RESET _u(0x0) 1420 #define POWMAN_TIMER_USE_LPOSC_BITS _u(0x00000100) 1421 #define POWMAN_TIMER_USE_LPOSC_MSB _u(8) 1422 #define POWMAN_TIMER_USE_LPOSC_LSB _u(8) 1423 #define POWMAN_TIMER_USE_LPOSC_ACCESS "SC" 1424 // ----------------------------------------------------------------------------- 1425 // Field : POWMAN_TIMER_ALARM 1426 // Description : Alarm has fired. Write to 1 to clear the alarm. 1427 #define POWMAN_TIMER_ALARM_RESET _u(0x0) 1428 #define POWMAN_TIMER_ALARM_BITS _u(0x00000040) 1429 #define POWMAN_TIMER_ALARM_MSB _u(6) 1430 #define POWMAN_TIMER_ALARM_LSB _u(6) 1431 #define POWMAN_TIMER_ALARM_ACCESS "WC" 1432 // ----------------------------------------------------------------------------- 1433 // Field : POWMAN_TIMER_PWRUP_ON_ALARM 1434 // Description : Alarm wakes the chip from low power mode 1435 #define POWMAN_TIMER_PWRUP_ON_ALARM_RESET _u(0x0) 1436 #define POWMAN_TIMER_PWRUP_ON_ALARM_BITS _u(0x00000020) 1437 #define POWMAN_TIMER_PWRUP_ON_ALARM_MSB _u(5) 1438 #define POWMAN_TIMER_PWRUP_ON_ALARM_LSB _u(5) 1439 #define POWMAN_TIMER_PWRUP_ON_ALARM_ACCESS "RW" 1440 // ----------------------------------------------------------------------------- 1441 // Field : POWMAN_TIMER_ALARM_ENAB 1442 // Description : Enables the alarm. The alarm must be disabled while writing the 1443 // alarm time. 1444 #define POWMAN_TIMER_ALARM_ENAB_RESET _u(0x0) 1445 #define POWMAN_TIMER_ALARM_ENAB_BITS _u(0x00000010) 1446 #define POWMAN_TIMER_ALARM_ENAB_MSB _u(4) 1447 #define POWMAN_TIMER_ALARM_ENAB_LSB _u(4) 1448 #define POWMAN_TIMER_ALARM_ENAB_ACCESS "RW" 1449 // ----------------------------------------------------------------------------- 1450 // Field : POWMAN_TIMER_CLEAR 1451 // Description : Clears the timer, does not disable the timer and does not 1452 // affect the alarm. This control can be written at any time. 1453 #define POWMAN_TIMER_CLEAR_RESET _u(0x0) 1454 #define POWMAN_TIMER_CLEAR_BITS _u(0x00000004) 1455 #define POWMAN_TIMER_CLEAR_MSB _u(2) 1456 #define POWMAN_TIMER_CLEAR_LSB _u(2) 1457 #define POWMAN_TIMER_CLEAR_ACCESS "SC" 1458 // ----------------------------------------------------------------------------- 1459 // Field : POWMAN_TIMER_RUN 1460 // Description : Timer enable. Setting this bit causes the timer to begin 1461 // counting up from its current value. Clearing this bit stops the 1462 // timer from counting. 1463 // 1464 // Before enabling the timer, set the POWMAN_LPOSC_FREQ* and 1465 // POWMAN_XOSC_FREQ* registers to configure the count rate, and 1466 // initialise the current time by writing to SET_TIME_63TO48 1467 // through SET_TIME_15TO0. You must not write to the SET_TIME_x 1468 // registers when the timer is running. 1469 // 1470 // Once configured, start the timer by setting POWMAN_TIMER_RUN=1. 1471 // This will start the timer running from the LPOSC. When the XOSC 1472 // is available switch the reference clock to XOSC then select it 1473 // as the timer clock by setting POWMAN_TIMER_USE_XOSC=1 1474 #define POWMAN_TIMER_RUN_RESET _u(0x0) 1475 #define POWMAN_TIMER_RUN_BITS _u(0x00000002) 1476 #define POWMAN_TIMER_RUN_MSB _u(1) 1477 #define POWMAN_TIMER_RUN_LSB _u(1) 1478 #define POWMAN_TIMER_RUN_ACCESS "RW" 1479 // ----------------------------------------------------------------------------- 1480 // Field : POWMAN_TIMER_NONSEC_WRITE 1481 // Description : Control whether Non-secure software can write to the timer 1482 // registers. All other registers are hardwired to be inaccessible 1483 // to Non-secure. 1484 #define POWMAN_TIMER_NONSEC_WRITE_RESET _u(0x0) 1485 #define POWMAN_TIMER_NONSEC_WRITE_BITS _u(0x00000001) 1486 #define POWMAN_TIMER_NONSEC_WRITE_MSB _u(0) 1487 #define POWMAN_TIMER_NONSEC_WRITE_LSB _u(0) 1488 #define POWMAN_TIMER_NONSEC_WRITE_ACCESS "RW" 1489 // ============================================================================= 1490 // Register : POWMAN_PWRUP0 1491 // Description : 4 GPIO powerup events can be configured to wake the chip up 1492 // from a low power state. 1493 // The pwrups are level/edge sensitive and can be set to trigger 1494 // on a high/rising or low/falling event 1495 // The number of gpios available depends on the package option. An 1496 // invalid selection will be ignored 1497 // source = 0 selects gpio0 1498 // . 1499 // . 1500 // source = 47 selects gpio47 1501 // source = 48 selects qspi_ss 1502 // source = 49 selects qspi_sd0 1503 // source = 50 selects qspi_sd1 1504 // source = 51 selects qspi_sd2 1505 // source = 52 selects qspi_sd3 1506 // source = 53 selects qspi_sclk 1507 // level = 0 triggers the pwrup when the source is low 1508 // level = 1 triggers the pwrup when the source is high 1509 #define POWMAN_PWRUP0_OFFSET _u(0x0000008c) 1510 #define POWMAN_PWRUP0_BITS _u(0x000007ff) 1511 #define POWMAN_PWRUP0_RESET _u(0x0000003f) 1512 // ----------------------------------------------------------------------------- 1513 // Field : POWMAN_PWRUP0_RAW_STATUS 1514 // Description : Value of selected gpio pin (only if enable == 1) 1515 #define POWMAN_PWRUP0_RAW_STATUS_RESET _u(0x0) 1516 #define POWMAN_PWRUP0_RAW_STATUS_BITS _u(0x00000400) 1517 #define POWMAN_PWRUP0_RAW_STATUS_MSB _u(10) 1518 #define POWMAN_PWRUP0_RAW_STATUS_LSB _u(10) 1519 #define POWMAN_PWRUP0_RAW_STATUS_ACCESS "RO" 1520 // ----------------------------------------------------------------------------- 1521 // Field : POWMAN_PWRUP0_STATUS 1522 // Description : Status of gpio wakeup. Write to 1 to clear a latched edge 1523 // detect. 1524 #define POWMAN_PWRUP0_STATUS_RESET _u(0x0) 1525 #define POWMAN_PWRUP0_STATUS_BITS _u(0x00000200) 1526 #define POWMAN_PWRUP0_STATUS_MSB _u(9) 1527 #define POWMAN_PWRUP0_STATUS_LSB _u(9) 1528 #define POWMAN_PWRUP0_STATUS_ACCESS "WC" 1529 // ----------------------------------------------------------------------------- 1530 // Field : POWMAN_PWRUP0_MODE 1531 // Description : Edge or level detect. Edge will detect a 0 to 1 transition (or 1532 // 1 to 0 transition). Level will detect a 1 or 0. Both types of 1533 // event get latched into the current_pwrup_req register. 1534 // 0x0 -> level 1535 // 0x1 -> edge 1536 #define POWMAN_PWRUP0_MODE_RESET _u(0x0) 1537 #define POWMAN_PWRUP0_MODE_BITS _u(0x00000100) 1538 #define POWMAN_PWRUP0_MODE_MSB _u(8) 1539 #define POWMAN_PWRUP0_MODE_LSB _u(8) 1540 #define POWMAN_PWRUP0_MODE_ACCESS "RW" 1541 #define POWMAN_PWRUP0_MODE_VALUE_LEVEL _u(0x0) 1542 #define POWMAN_PWRUP0_MODE_VALUE_EDGE _u(0x1) 1543 // ----------------------------------------------------------------------------- 1544 // Field : POWMAN_PWRUP0_DIRECTION 1545 // 0x0 -> low_falling 1546 // 0x1 -> high_rising 1547 #define POWMAN_PWRUP0_DIRECTION_RESET _u(0x0) 1548 #define POWMAN_PWRUP0_DIRECTION_BITS _u(0x00000080) 1549 #define POWMAN_PWRUP0_DIRECTION_MSB _u(7) 1550 #define POWMAN_PWRUP0_DIRECTION_LSB _u(7) 1551 #define POWMAN_PWRUP0_DIRECTION_ACCESS "RW" 1552 #define POWMAN_PWRUP0_DIRECTION_VALUE_LOW_FALLING _u(0x0) 1553 #define POWMAN_PWRUP0_DIRECTION_VALUE_HIGH_RISING _u(0x1) 1554 // ----------------------------------------------------------------------------- 1555 // Field : POWMAN_PWRUP0_ENABLE 1556 // Description : Set to 1 to enable the wakeup source. Set to 0 to disable the 1557 // wakeup source and clear a pending wakeup event. 1558 // If using edge detect a latched edge needs to be cleared by 1559 // writing 1 to the status register also. 1560 #define POWMAN_PWRUP0_ENABLE_RESET _u(0x0) 1561 #define POWMAN_PWRUP0_ENABLE_BITS _u(0x00000040) 1562 #define POWMAN_PWRUP0_ENABLE_MSB _u(6) 1563 #define POWMAN_PWRUP0_ENABLE_LSB _u(6) 1564 #define POWMAN_PWRUP0_ENABLE_ACCESS "RW" 1565 // ----------------------------------------------------------------------------- 1566 // Field : POWMAN_PWRUP0_SOURCE 1567 #define POWMAN_PWRUP0_SOURCE_RESET _u(0x3f) 1568 #define POWMAN_PWRUP0_SOURCE_BITS _u(0x0000003f) 1569 #define POWMAN_PWRUP0_SOURCE_MSB _u(5) 1570 #define POWMAN_PWRUP0_SOURCE_LSB _u(0) 1571 #define POWMAN_PWRUP0_SOURCE_ACCESS "RW" 1572 // ============================================================================= 1573 // Register : POWMAN_PWRUP1 1574 // Description : 4 GPIO powerup events can be configured to wake the chip up 1575 // from a low power state. 1576 // The pwrups are level/edge sensitive and can be set to trigger 1577 // on a high/rising or low/falling event 1578 // The number of gpios available depends on the package option. An 1579 // invalid selection will be ignored 1580 // source = 0 selects gpio0 1581 // . 1582 // . 1583 // source = 47 selects gpio47 1584 // source = 48 selects qspi_ss 1585 // source = 49 selects qspi_sd0 1586 // source = 50 selects qspi_sd1 1587 // source = 51 selects qspi_sd2 1588 // source = 52 selects qspi_sd3 1589 // source = 53 selects qspi_sclk 1590 // level = 0 triggers the pwrup when the source is low 1591 // level = 1 triggers the pwrup when the source is high 1592 #define POWMAN_PWRUP1_OFFSET _u(0x00000090) 1593 #define POWMAN_PWRUP1_BITS _u(0x000007ff) 1594 #define POWMAN_PWRUP1_RESET _u(0x0000003f) 1595 // ----------------------------------------------------------------------------- 1596 // Field : POWMAN_PWRUP1_RAW_STATUS 1597 // Description : Value of selected gpio pin (only if enable == 1) 1598 #define POWMAN_PWRUP1_RAW_STATUS_RESET _u(0x0) 1599 #define POWMAN_PWRUP1_RAW_STATUS_BITS _u(0x00000400) 1600 #define POWMAN_PWRUP1_RAW_STATUS_MSB _u(10) 1601 #define POWMAN_PWRUP1_RAW_STATUS_LSB _u(10) 1602 #define POWMAN_PWRUP1_RAW_STATUS_ACCESS "RO" 1603 // ----------------------------------------------------------------------------- 1604 // Field : POWMAN_PWRUP1_STATUS 1605 // Description : Status of gpio wakeup. Write to 1 to clear a latched edge 1606 // detect. 1607 #define POWMAN_PWRUP1_STATUS_RESET _u(0x0) 1608 #define POWMAN_PWRUP1_STATUS_BITS _u(0x00000200) 1609 #define POWMAN_PWRUP1_STATUS_MSB _u(9) 1610 #define POWMAN_PWRUP1_STATUS_LSB _u(9) 1611 #define POWMAN_PWRUP1_STATUS_ACCESS "WC" 1612 // ----------------------------------------------------------------------------- 1613 // Field : POWMAN_PWRUP1_MODE 1614 // Description : Edge or level detect. Edge will detect a 0 to 1 transition (or 1615 // 1 to 0 transition). Level will detect a 1 or 0. Both types of 1616 // event get latched into the current_pwrup_req register. 1617 // 0x0 -> level 1618 // 0x1 -> edge 1619 #define POWMAN_PWRUP1_MODE_RESET _u(0x0) 1620 #define POWMAN_PWRUP1_MODE_BITS _u(0x00000100) 1621 #define POWMAN_PWRUP1_MODE_MSB _u(8) 1622 #define POWMAN_PWRUP1_MODE_LSB _u(8) 1623 #define POWMAN_PWRUP1_MODE_ACCESS "RW" 1624 #define POWMAN_PWRUP1_MODE_VALUE_LEVEL _u(0x0) 1625 #define POWMAN_PWRUP1_MODE_VALUE_EDGE _u(0x1) 1626 // ----------------------------------------------------------------------------- 1627 // Field : POWMAN_PWRUP1_DIRECTION 1628 // 0x0 -> low_falling 1629 // 0x1 -> high_rising 1630 #define POWMAN_PWRUP1_DIRECTION_RESET _u(0x0) 1631 #define POWMAN_PWRUP1_DIRECTION_BITS _u(0x00000080) 1632 #define POWMAN_PWRUP1_DIRECTION_MSB _u(7) 1633 #define POWMAN_PWRUP1_DIRECTION_LSB _u(7) 1634 #define POWMAN_PWRUP1_DIRECTION_ACCESS "RW" 1635 #define POWMAN_PWRUP1_DIRECTION_VALUE_LOW_FALLING _u(0x0) 1636 #define POWMAN_PWRUP1_DIRECTION_VALUE_HIGH_RISING _u(0x1) 1637 // ----------------------------------------------------------------------------- 1638 // Field : POWMAN_PWRUP1_ENABLE 1639 // Description : Set to 1 to enable the wakeup source. Set to 0 to disable the 1640 // wakeup source and clear a pending wakeup event. 1641 // If using edge detect a latched edge needs to be cleared by 1642 // writing 1 to the status register also. 1643 #define POWMAN_PWRUP1_ENABLE_RESET _u(0x0) 1644 #define POWMAN_PWRUP1_ENABLE_BITS _u(0x00000040) 1645 #define POWMAN_PWRUP1_ENABLE_MSB _u(6) 1646 #define POWMAN_PWRUP1_ENABLE_LSB _u(6) 1647 #define POWMAN_PWRUP1_ENABLE_ACCESS "RW" 1648 // ----------------------------------------------------------------------------- 1649 // Field : POWMAN_PWRUP1_SOURCE 1650 #define POWMAN_PWRUP1_SOURCE_RESET _u(0x3f) 1651 #define POWMAN_PWRUP1_SOURCE_BITS _u(0x0000003f) 1652 #define POWMAN_PWRUP1_SOURCE_MSB _u(5) 1653 #define POWMAN_PWRUP1_SOURCE_LSB _u(0) 1654 #define POWMAN_PWRUP1_SOURCE_ACCESS "RW" 1655 // ============================================================================= 1656 // Register : POWMAN_PWRUP2 1657 // Description : 4 GPIO powerup events can be configured to wake the chip up 1658 // from a low power state. 1659 // The pwrups are level/edge sensitive and can be set to trigger 1660 // on a high/rising or low/falling event 1661 // The number of gpios available depends on the package option. An 1662 // invalid selection will be ignored 1663 // source = 0 selects gpio0 1664 // . 1665 // . 1666 // source = 47 selects gpio47 1667 // source = 48 selects qspi_ss 1668 // source = 49 selects qspi_sd0 1669 // source = 50 selects qspi_sd1 1670 // source = 51 selects qspi_sd2 1671 // source = 52 selects qspi_sd3 1672 // source = 53 selects qspi_sclk 1673 // level = 0 triggers the pwrup when the source is low 1674 // level = 1 triggers the pwrup when the source is high 1675 #define POWMAN_PWRUP2_OFFSET _u(0x00000094) 1676 #define POWMAN_PWRUP2_BITS _u(0x000007ff) 1677 #define POWMAN_PWRUP2_RESET _u(0x0000003f) 1678 // ----------------------------------------------------------------------------- 1679 // Field : POWMAN_PWRUP2_RAW_STATUS 1680 // Description : Value of selected gpio pin (only if enable == 1) 1681 #define POWMAN_PWRUP2_RAW_STATUS_RESET _u(0x0) 1682 #define POWMAN_PWRUP2_RAW_STATUS_BITS _u(0x00000400) 1683 #define POWMAN_PWRUP2_RAW_STATUS_MSB _u(10) 1684 #define POWMAN_PWRUP2_RAW_STATUS_LSB _u(10) 1685 #define POWMAN_PWRUP2_RAW_STATUS_ACCESS "RO" 1686 // ----------------------------------------------------------------------------- 1687 // Field : POWMAN_PWRUP2_STATUS 1688 // Description : Status of gpio wakeup. Write to 1 to clear a latched edge 1689 // detect. 1690 #define POWMAN_PWRUP2_STATUS_RESET _u(0x0) 1691 #define POWMAN_PWRUP2_STATUS_BITS _u(0x00000200) 1692 #define POWMAN_PWRUP2_STATUS_MSB _u(9) 1693 #define POWMAN_PWRUP2_STATUS_LSB _u(9) 1694 #define POWMAN_PWRUP2_STATUS_ACCESS "WC" 1695 // ----------------------------------------------------------------------------- 1696 // Field : POWMAN_PWRUP2_MODE 1697 // Description : Edge or level detect. Edge will detect a 0 to 1 transition (or 1698 // 1 to 0 transition). Level will detect a 1 or 0. Both types of 1699 // event get latched into the current_pwrup_req register. 1700 // 0x0 -> level 1701 // 0x1 -> edge 1702 #define POWMAN_PWRUP2_MODE_RESET _u(0x0) 1703 #define POWMAN_PWRUP2_MODE_BITS _u(0x00000100) 1704 #define POWMAN_PWRUP2_MODE_MSB _u(8) 1705 #define POWMAN_PWRUP2_MODE_LSB _u(8) 1706 #define POWMAN_PWRUP2_MODE_ACCESS "RW" 1707 #define POWMAN_PWRUP2_MODE_VALUE_LEVEL _u(0x0) 1708 #define POWMAN_PWRUP2_MODE_VALUE_EDGE _u(0x1) 1709 // ----------------------------------------------------------------------------- 1710 // Field : POWMAN_PWRUP2_DIRECTION 1711 // 0x0 -> low_falling 1712 // 0x1 -> high_rising 1713 #define POWMAN_PWRUP2_DIRECTION_RESET _u(0x0) 1714 #define POWMAN_PWRUP2_DIRECTION_BITS _u(0x00000080) 1715 #define POWMAN_PWRUP2_DIRECTION_MSB _u(7) 1716 #define POWMAN_PWRUP2_DIRECTION_LSB _u(7) 1717 #define POWMAN_PWRUP2_DIRECTION_ACCESS "RW" 1718 #define POWMAN_PWRUP2_DIRECTION_VALUE_LOW_FALLING _u(0x0) 1719 #define POWMAN_PWRUP2_DIRECTION_VALUE_HIGH_RISING _u(0x1) 1720 // ----------------------------------------------------------------------------- 1721 // Field : POWMAN_PWRUP2_ENABLE 1722 // Description : Set to 1 to enable the wakeup source. Set to 0 to disable the 1723 // wakeup source and clear a pending wakeup event. 1724 // If using edge detect a latched edge needs to be cleared by 1725 // writing 1 to the status register also. 1726 #define POWMAN_PWRUP2_ENABLE_RESET _u(0x0) 1727 #define POWMAN_PWRUP2_ENABLE_BITS _u(0x00000040) 1728 #define POWMAN_PWRUP2_ENABLE_MSB _u(6) 1729 #define POWMAN_PWRUP2_ENABLE_LSB _u(6) 1730 #define POWMAN_PWRUP2_ENABLE_ACCESS "RW" 1731 // ----------------------------------------------------------------------------- 1732 // Field : POWMAN_PWRUP2_SOURCE 1733 #define POWMAN_PWRUP2_SOURCE_RESET _u(0x3f) 1734 #define POWMAN_PWRUP2_SOURCE_BITS _u(0x0000003f) 1735 #define POWMAN_PWRUP2_SOURCE_MSB _u(5) 1736 #define POWMAN_PWRUP2_SOURCE_LSB _u(0) 1737 #define POWMAN_PWRUP2_SOURCE_ACCESS "RW" 1738 // ============================================================================= 1739 // Register : POWMAN_PWRUP3 1740 // Description : 4 GPIO powerup events can be configured to wake the chip up 1741 // from a low power state. 1742 // The pwrups are level/edge sensitive and can be set to trigger 1743 // on a high/rising or low/falling event 1744 // The number of gpios available depends on the package option. An 1745 // invalid selection will be ignored 1746 // source = 0 selects gpio0 1747 // . 1748 // . 1749 // source = 47 selects gpio47 1750 // source = 48 selects qspi_ss 1751 // source = 49 selects qspi_sd0 1752 // source = 50 selects qspi_sd1 1753 // source = 51 selects qspi_sd2 1754 // source = 52 selects qspi_sd3 1755 // source = 53 selects qspi_sclk 1756 // level = 0 triggers the pwrup when the source is low 1757 // level = 1 triggers the pwrup when the source is high 1758 #define POWMAN_PWRUP3_OFFSET _u(0x00000098) 1759 #define POWMAN_PWRUP3_BITS _u(0x000007ff) 1760 #define POWMAN_PWRUP3_RESET _u(0x0000003f) 1761 // ----------------------------------------------------------------------------- 1762 // Field : POWMAN_PWRUP3_RAW_STATUS 1763 // Description : Value of selected gpio pin (only if enable == 1) 1764 #define POWMAN_PWRUP3_RAW_STATUS_RESET _u(0x0) 1765 #define POWMAN_PWRUP3_RAW_STATUS_BITS _u(0x00000400) 1766 #define POWMAN_PWRUP3_RAW_STATUS_MSB _u(10) 1767 #define POWMAN_PWRUP3_RAW_STATUS_LSB _u(10) 1768 #define POWMAN_PWRUP3_RAW_STATUS_ACCESS "RO" 1769 // ----------------------------------------------------------------------------- 1770 // Field : POWMAN_PWRUP3_STATUS 1771 // Description : Status of gpio wakeup. Write to 1 to clear a latched edge 1772 // detect. 1773 #define POWMAN_PWRUP3_STATUS_RESET _u(0x0) 1774 #define POWMAN_PWRUP3_STATUS_BITS _u(0x00000200) 1775 #define POWMAN_PWRUP3_STATUS_MSB _u(9) 1776 #define POWMAN_PWRUP3_STATUS_LSB _u(9) 1777 #define POWMAN_PWRUP3_STATUS_ACCESS "WC" 1778 // ----------------------------------------------------------------------------- 1779 // Field : POWMAN_PWRUP3_MODE 1780 // Description : Edge or level detect. Edge will detect a 0 to 1 transition (or 1781 // 1 to 0 transition). Level will detect a 1 or 0. Both types of 1782 // event get latched into the current_pwrup_req register. 1783 // 0x0 -> level 1784 // 0x1 -> edge 1785 #define POWMAN_PWRUP3_MODE_RESET _u(0x0) 1786 #define POWMAN_PWRUP3_MODE_BITS _u(0x00000100) 1787 #define POWMAN_PWRUP3_MODE_MSB _u(8) 1788 #define POWMAN_PWRUP3_MODE_LSB _u(8) 1789 #define POWMAN_PWRUP3_MODE_ACCESS "RW" 1790 #define POWMAN_PWRUP3_MODE_VALUE_LEVEL _u(0x0) 1791 #define POWMAN_PWRUP3_MODE_VALUE_EDGE _u(0x1) 1792 // ----------------------------------------------------------------------------- 1793 // Field : POWMAN_PWRUP3_DIRECTION 1794 // 0x0 -> low_falling 1795 // 0x1 -> high_rising 1796 #define POWMAN_PWRUP3_DIRECTION_RESET _u(0x0) 1797 #define POWMAN_PWRUP3_DIRECTION_BITS _u(0x00000080) 1798 #define POWMAN_PWRUP3_DIRECTION_MSB _u(7) 1799 #define POWMAN_PWRUP3_DIRECTION_LSB _u(7) 1800 #define POWMAN_PWRUP3_DIRECTION_ACCESS "RW" 1801 #define POWMAN_PWRUP3_DIRECTION_VALUE_LOW_FALLING _u(0x0) 1802 #define POWMAN_PWRUP3_DIRECTION_VALUE_HIGH_RISING _u(0x1) 1803 // ----------------------------------------------------------------------------- 1804 // Field : POWMAN_PWRUP3_ENABLE 1805 // Description : Set to 1 to enable the wakeup source. Set to 0 to disable the 1806 // wakeup source and clear a pending wakeup event. 1807 // If using edge detect a latched edge needs to be cleared by 1808 // writing 1 to the status register also. 1809 #define POWMAN_PWRUP3_ENABLE_RESET _u(0x0) 1810 #define POWMAN_PWRUP3_ENABLE_BITS _u(0x00000040) 1811 #define POWMAN_PWRUP3_ENABLE_MSB _u(6) 1812 #define POWMAN_PWRUP3_ENABLE_LSB _u(6) 1813 #define POWMAN_PWRUP3_ENABLE_ACCESS "RW" 1814 // ----------------------------------------------------------------------------- 1815 // Field : POWMAN_PWRUP3_SOURCE 1816 #define POWMAN_PWRUP3_SOURCE_RESET _u(0x3f) 1817 #define POWMAN_PWRUP3_SOURCE_BITS _u(0x0000003f) 1818 #define POWMAN_PWRUP3_SOURCE_MSB _u(5) 1819 #define POWMAN_PWRUP3_SOURCE_LSB _u(0) 1820 #define POWMAN_PWRUP3_SOURCE_ACCESS "RW" 1821 // ============================================================================= 1822 // Register : POWMAN_CURRENT_PWRUP_REQ 1823 // Description : Indicates current powerup request state 1824 // pwrup events can be cleared by removing the enable from the 1825 // pwrup register. The alarm pwrup req can be cleared by clearing 1826 // timer.alarm_enab 1827 // 0 = chip reset, for the source of the last reset see 1828 // POWMAN_CHIP_RESET 1829 // 1 = pwrup0 1830 // 2 = pwrup1 1831 // 3 = pwrup2 1832 // 4 = pwrup3 1833 // 5 = coresight_pwrup 1834 // 6 = alarm_pwrup 1835 #define POWMAN_CURRENT_PWRUP_REQ_OFFSET _u(0x0000009c) 1836 #define POWMAN_CURRENT_PWRUP_REQ_BITS _u(0x0000007f) 1837 #define POWMAN_CURRENT_PWRUP_REQ_RESET _u(0x00000000) 1838 #define POWMAN_CURRENT_PWRUP_REQ_MSB _u(6) 1839 #define POWMAN_CURRENT_PWRUP_REQ_LSB _u(0) 1840 #define POWMAN_CURRENT_PWRUP_REQ_ACCESS "RO" 1841 // ============================================================================= 1842 // Register : POWMAN_LAST_SWCORE_PWRUP 1843 // Description : Indicates which pwrup source triggered the last switched-core 1844 // power up 1845 // 0 = chip reset, for the source of the last reset see 1846 // POWMAN_CHIP_RESET 1847 // 1 = pwrup0 1848 // 2 = pwrup1 1849 // 3 = pwrup2 1850 // 4 = pwrup3 1851 // 5 = coresight_pwrup 1852 // 6 = alarm_pwrup 1853 #define POWMAN_LAST_SWCORE_PWRUP_OFFSET _u(0x000000a0) 1854 #define POWMAN_LAST_SWCORE_PWRUP_BITS _u(0x0000007f) 1855 #define POWMAN_LAST_SWCORE_PWRUP_RESET _u(0x00000000) 1856 #define POWMAN_LAST_SWCORE_PWRUP_MSB _u(6) 1857 #define POWMAN_LAST_SWCORE_PWRUP_LSB _u(0) 1858 #define POWMAN_LAST_SWCORE_PWRUP_ACCESS "RO" 1859 // ============================================================================= 1860 // Register : POWMAN_DBG_PWRCFG 1861 #define POWMAN_DBG_PWRCFG_OFFSET _u(0x000000a4) 1862 #define POWMAN_DBG_PWRCFG_BITS _u(0x00000001) 1863 #define POWMAN_DBG_PWRCFG_RESET _u(0x00000000) 1864 // ----------------------------------------------------------------------------- 1865 // Field : POWMAN_DBG_PWRCFG_IGNORE 1866 // Description : Ignore pwrup req from debugger. If pwrup req is asserted then 1867 // this will prevent power down and set powerdown blocked. Set 1868 // ignore to stop paying attention to pwrup_req 1869 #define POWMAN_DBG_PWRCFG_IGNORE_RESET _u(0x0) 1870 #define POWMAN_DBG_PWRCFG_IGNORE_BITS _u(0x00000001) 1871 #define POWMAN_DBG_PWRCFG_IGNORE_MSB _u(0) 1872 #define POWMAN_DBG_PWRCFG_IGNORE_LSB _u(0) 1873 #define POWMAN_DBG_PWRCFG_IGNORE_ACCESS "RW" 1874 // ============================================================================= 1875 // Register : POWMAN_BOOTDIS 1876 // Description : Tell the bootrom to ignore the BOOT0..3 registers following the 1877 // next RSM reset (e.g. the next core power down/up). 1878 // 1879 // If an early boot stage has soft-locked some OTP pages in order 1880 // to protect their contents from later stages, there is a risk 1881 // that Secure code running at a later stage can unlock the pages 1882 // by powering the core up and down. 1883 // 1884 // This register can be used to ensure that the bootloader runs as 1885 // normal on the next power up, preventing Secure code at a later 1886 // stage from accessing OTP in its unlocked state. 1887 // 1888 // Should be used in conjunction with the OTP BOOTDIS register. 1889 #define POWMAN_BOOTDIS_OFFSET _u(0x000000a8) 1890 #define POWMAN_BOOTDIS_BITS _u(0x00000003) 1891 #define POWMAN_BOOTDIS_RESET _u(0x00000000) 1892 // ----------------------------------------------------------------------------- 1893 // Field : POWMAN_BOOTDIS_NEXT 1894 // Description : This flag always ORs writes into its current contents. It can 1895 // be set but not cleared by software. 1896 // 1897 // The BOOTDIS_NEXT bit is OR'd into the BOOTDIS_NOW bit when the 1898 // core is powered down. Simultaneously, the BOOTDIS_NEXT bit is 1899 // cleared. Setting this bit means that the BOOT0..3 registers 1900 // will be ignored following the next reset of the RSM by powman. 1901 // 1902 // This flag should be set by an early boot stage that has soft- 1903 // locked OTP pages, to prevent later stages from unlocking it by 1904 // power cycling. 1905 #define POWMAN_BOOTDIS_NEXT_RESET _u(0x0) 1906 #define POWMAN_BOOTDIS_NEXT_BITS _u(0x00000002) 1907 #define POWMAN_BOOTDIS_NEXT_MSB _u(1) 1908 #define POWMAN_BOOTDIS_NEXT_LSB _u(1) 1909 #define POWMAN_BOOTDIS_NEXT_ACCESS "RW" 1910 // ----------------------------------------------------------------------------- 1911 // Field : POWMAN_BOOTDIS_NOW 1912 // Description : When powman resets the RSM, the current value of BOOTDIS_NEXT 1913 // is OR'd into BOOTDIS_NOW, and BOOTDIS_NEXT is cleared. 1914 // 1915 // The bootrom checks this flag before reading the BOOT0..3 1916 // registers. If it is set, the bootrom clears it, and ignores the 1917 // BOOT registers. This prevents Secure software from diverting 1918 // the boot path before a bootloader has had the chance to soft 1919 // lock OTP pages containing sensitive data. 1920 #define POWMAN_BOOTDIS_NOW_RESET _u(0x0) 1921 #define POWMAN_BOOTDIS_NOW_BITS _u(0x00000001) 1922 #define POWMAN_BOOTDIS_NOW_MSB _u(0) 1923 #define POWMAN_BOOTDIS_NOW_LSB _u(0) 1924 #define POWMAN_BOOTDIS_NOW_ACCESS "WC" 1925 // ============================================================================= 1926 // Register : POWMAN_DBGCONFIG 1927 #define POWMAN_DBGCONFIG_OFFSET _u(0x000000ac) 1928 #define POWMAN_DBGCONFIG_BITS _u(0x0000000f) 1929 #define POWMAN_DBGCONFIG_RESET _u(0x00000000) 1930 // ----------------------------------------------------------------------------- 1931 // Field : POWMAN_DBGCONFIG_DP_INSTID 1932 // Description : Configure DP instance ID for SWD multidrop selection. 1933 // Recommend that this is NOT changed until you require debug 1934 // access in multi-chip environment 1935 #define POWMAN_DBGCONFIG_DP_INSTID_RESET _u(0x0) 1936 #define POWMAN_DBGCONFIG_DP_INSTID_BITS _u(0x0000000f) 1937 #define POWMAN_DBGCONFIG_DP_INSTID_MSB _u(3) 1938 #define POWMAN_DBGCONFIG_DP_INSTID_LSB _u(0) 1939 #define POWMAN_DBGCONFIG_DP_INSTID_ACCESS "RW" 1940 // ============================================================================= 1941 // Register : POWMAN_SCRATCH0 1942 // Description : Scratch register. Information persists in low power mode 1943 #define POWMAN_SCRATCH0_OFFSET _u(0x000000b0) 1944 #define POWMAN_SCRATCH0_BITS _u(0xffffffff) 1945 #define POWMAN_SCRATCH0_RESET _u(0x00000000) 1946 #define POWMAN_SCRATCH0_MSB _u(31) 1947 #define POWMAN_SCRATCH0_LSB _u(0) 1948 #define POWMAN_SCRATCH0_ACCESS "RW" 1949 // ============================================================================= 1950 // Register : POWMAN_SCRATCH1 1951 // Description : Scratch register. Information persists in low power mode 1952 #define POWMAN_SCRATCH1_OFFSET _u(0x000000b4) 1953 #define POWMAN_SCRATCH1_BITS _u(0xffffffff) 1954 #define POWMAN_SCRATCH1_RESET _u(0x00000000) 1955 #define POWMAN_SCRATCH1_MSB _u(31) 1956 #define POWMAN_SCRATCH1_LSB _u(0) 1957 #define POWMAN_SCRATCH1_ACCESS "RW" 1958 // ============================================================================= 1959 // Register : POWMAN_SCRATCH2 1960 // Description : Scratch register. Information persists in low power mode 1961 #define POWMAN_SCRATCH2_OFFSET _u(0x000000b8) 1962 #define POWMAN_SCRATCH2_BITS _u(0xffffffff) 1963 #define POWMAN_SCRATCH2_RESET _u(0x00000000) 1964 #define POWMAN_SCRATCH2_MSB _u(31) 1965 #define POWMAN_SCRATCH2_LSB _u(0) 1966 #define POWMAN_SCRATCH2_ACCESS "RW" 1967 // ============================================================================= 1968 // Register : POWMAN_SCRATCH3 1969 // Description : Scratch register. Information persists in low power mode 1970 #define POWMAN_SCRATCH3_OFFSET _u(0x000000bc) 1971 #define POWMAN_SCRATCH3_BITS _u(0xffffffff) 1972 #define POWMAN_SCRATCH3_RESET _u(0x00000000) 1973 #define POWMAN_SCRATCH3_MSB _u(31) 1974 #define POWMAN_SCRATCH3_LSB _u(0) 1975 #define POWMAN_SCRATCH3_ACCESS "RW" 1976 // ============================================================================= 1977 // Register : POWMAN_SCRATCH4 1978 // Description : Scratch register. Information persists in low power mode 1979 #define POWMAN_SCRATCH4_OFFSET _u(0x000000c0) 1980 #define POWMAN_SCRATCH4_BITS _u(0xffffffff) 1981 #define POWMAN_SCRATCH4_RESET _u(0x00000000) 1982 #define POWMAN_SCRATCH4_MSB _u(31) 1983 #define POWMAN_SCRATCH4_LSB _u(0) 1984 #define POWMAN_SCRATCH4_ACCESS "RW" 1985 // ============================================================================= 1986 // Register : POWMAN_SCRATCH5 1987 // Description : Scratch register. Information persists in low power mode 1988 #define POWMAN_SCRATCH5_OFFSET _u(0x000000c4) 1989 #define POWMAN_SCRATCH5_BITS _u(0xffffffff) 1990 #define POWMAN_SCRATCH5_RESET _u(0x00000000) 1991 #define POWMAN_SCRATCH5_MSB _u(31) 1992 #define POWMAN_SCRATCH5_LSB _u(0) 1993 #define POWMAN_SCRATCH5_ACCESS "RW" 1994 // ============================================================================= 1995 // Register : POWMAN_SCRATCH6 1996 // Description : Scratch register. Information persists in low power mode 1997 #define POWMAN_SCRATCH6_OFFSET _u(0x000000c8) 1998 #define POWMAN_SCRATCH6_BITS _u(0xffffffff) 1999 #define POWMAN_SCRATCH6_RESET _u(0x00000000) 2000 #define POWMAN_SCRATCH6_MSB _u(31) 2001 #define POWMAN_SCRATCH6_LSB _u(0) 2002 #define POWMAN_SCRATCH6_ACCESS "RW" 2003 // ============================================================================= 2004 // Register : POWMAN_SCRATCH7 2005 // Description : Scratch register. Information persists in low power mode 2006 #define POWMAN_SCRATCH7_OFFSET _u(0x000000cc) 2007 #define POWMAN_SCRATCH7_BITS _u(0xffffffff) 2008 #define POWMAN_SCRATCH7_RESET _u(0x00000000) 2009 #define POWMAN_SCRATCH7_MSB _u(31) 2010 #define POWMAN_SCRATCH7_LSB _u(0) 2011 #define POWMAN_SCRATCH7_ACCESS "RW" 2012 // ============================================================================= 2013 // Register : POWMAN_BOOT0 2014 // Description : Scratch register. Information persists in low power mode 2015 #define POWMAN_BOOT0_OFFSET _u(0x000000d0) 2016 #define POWMAN_BOOT0_BITS _u(0xffffffff) 2017 #define POWMAN_BOOT0_RESET _u(0x00000000) 2018 #define POWMAN_BOOT0_MSB _u(31) 2019 #define POWMAN_BOOT0_LSB _u(0) 2020 #define POWMAN_BOOT0_ACCESS "RW" 2021 // ============================================================================= 2022 // Register : POWMAN_BOOT1 2023 // Description : Scratch register. Information persists in low power mode 2024 #define POWMAN_BOOT1_OFFSET _u(0x000000d4) 2025 #define POWMAN_BOOT1_BITS _u(0xffffffff) 2026 #define POWMAN_BOOT1_RESET _u(0x00000000) 2027 #define POWMAN_BOOT1_MSB _u(31) 2028 #define POWMAN_BOOT1_LSB _u(0) 2029 #define POWMAN_BOOT1_ACCESS "RW" 2030 // ============================================================================= 2031 // Register : POWMAN_BOOT2 2032 // Description : Scratch register. Information persists in low power mode 2033 #define POWMAN_BOOT2_OFFSET _u(0x000000d8) 2034 #define POWMAN_BOOT2_BITS _u(0xffffffff) 2035 #define POWMAN_BOOT2_RESET _u(0x00000000) 2036 #define POWMAN_BOOT2_MSB _u(31) 2037 #define POWMAN_BOOT2_LSB _u(0) 2038 #define POWMAN_BOOT2_ACCESS "RW" 2039 // ============================================================================= 2040 // Register : POWMAN_BOOT3 2041 // Description : Scratch register. Information persists in low power mode 2042 #define POWMAN_BOOT3_OFFSET _u(0x000000dc) 2043 #define POWMAN_BOOT3_BITS _u(0xffffffff) 2044 #define POWMAN_BOOT3_RESET _u(0x00000000) 2045 #define POWMAN_BOOT3_MSB _u(31) 2046 #define POWMAN_BOOT3_LSB _u(0) 2047 #define POWMAN_BOOT3_ACCESS "RW" 2048 // ============================================================================= 2049 // Register : POWMAN_INTR 2050 // Description : Raw Interrupts 2051 #define POWMAN_INTR_OFFSET _u(0x000000e0) 2052 #define POWMAN_INTR_BITS _u(0x0000000f) 2053 #define POWMAN_INTR_RESET _u(0x00000000) 2054 // ----------------------------------------------------------------------------- 2055 // Field : POWMAN_INTR_PWRUP_WHILE_WAITING 2056 // Description : Source is state.pwrup_while_waiting 2057 #define POWMAN_INTR_PWRUP_WHILE_WAITING_RESET _u(0x0) 2058 #define POWMAN_INTR_PWRUP_WHILE_WAITING_BITS _u(0x00000008) 2059 #define POWMAN_INTR_PWRUP_WHILE_WAITING_MSB _u(3) 2060 #define POWMAN_INTR_PWRUP_WHILE_WAITING_LSB _u(3) 2061 #define POWMAN_INTR_PWRUP_WHILE_WAITING_ACCESS "RO" 2062 // ----------------------------------------------------------------------------- 2063 // Field : POWMAN_INTR_STATE_REQ_IGNORED 2064 // Description : Source is state.req_ignored 2065 #define POWMAN_INTR_STATE_REQ_IGNORED_RESET _u(0x0) 2066 #define POWMAN_INTR_STATE_REQ_IGNORED_BITS _u(0x00000004) 2067 #define POWMAN_INTR_STATE_REQ_IGNORED_MSB _u(2) 2068 #define POWMAN_INTR_STATE_REQ_IGNORED_LSB _u(2) 2069 #define POWMAN_INTR_STATE_REQ_IGNORED_ACCESS "RO" 2070 // ----------------------------------------------------------------------------- 2071 // Field : POWMAN_INTR_TIMER 2072 #define POWMAN_INTR_TIMER_RESET _u(0x0) 2073 #define POWMAN_INTR_TIMER_BITS _u(0x00000002) 2074 #define POWMAN_INTR_TIMER_MSB _u(1) 2075 #define POWMAN_INTR_TIMER_LSB _u(1) 2076 #define POWMAN_INTR_TIMER_ACCESS "RO" 2077 // ----------------------------------------------------------------------------- 2078 // Field : POWMAN_INTR_VREG_OUTPUT_LOW 2079 #define POWMAN_INTR_VREG_OUTPUT_LOW_RESET _u(0x0) 2080 #define POWMAN_INTR_VREG_OUTPUT_LOW_BITS _u(0x00000001) 2081 #define POWMAN_INTR_VREG_OUTPUT_LOW_MSB _u(0) 2082 #define POWMAN_INTR_VREG_OUTPUT_LOW_LSB _u(0) 2083 #define POWMAN_INTR_VREG_OUTPUT_LOW_ACCESS "WC" 2084 // ============================================================================= 2085 // Register : POWMAN_INTE 2086 // Description : Interrupt Enable 2087 #define POWMAN_INTE_OFFSET _u(0x000000e4) 2088 #define POWMAN_INTE_BITS _u(0x0000000f) 2089 #define POWMAN_INTE_RESET _u(0x00000000) 2090 // ----------------------------------------------------------------------------- 2091 // Field : POWMAN_INTE_PWRUP_WHILE_WAITING 2092 // Description : Source is state.pwrup_while_waiting 2093 #define POWMAN_INTE_PWRUP_WHILE_WAITING_RESET _u(0x0) 2094 #define POWMAN_INTE_PWRUP_WHILE_WAITING_BITS _u(0x00000008) 2095 #define POWMAN_INTE_PWRUP_WHILE_WAITING_MSB _u(3) 2096 #define POWMAN_INTE_PWRUP_WHILE_WAITING_LSB _u(3) 2097 #define POWMAN_INTE_PWRUP_WHILE_WAITING_ACCESS "RW" 2098 // ----------------------------------------------------------------------------- 2099 // Field : POWMAN_INTE_STATE_REQ_IGNORED 2100 // Description : Source is state.req_ignored 2101 #define POWMAN_INTE_STATE_REQ_IGNORED_RESET _u(0x0) 2102 #define POWMAN_INTE_STATE_REQ_IGNORED_BITS _u(0x00000004) 2103 #define POWMAN_INTE_STATE_REQ_IGNORED_MSB _u(2) 2104 #define POWMAN_INTE_STATE_REQ_IGNORED_LSB _u(2) 2105 #define POWMAN_INTE_STATE_REQ_IGNORED_ACCESS "RW" 2106 // ----------------------------------------------------------------------------- 2107 // Field : POWMAN_INTE_TIMER 2108 #define POWMAN_INTE_TIMER_RESET _u(0x0) 2109 #define POWMAN_INTE_TIMER_BITS _u(0x00000002) 2110 #define POWMAN_INTE_TIMER_MSB _u(1) 2111 #define POWMAN_INTE_TIMER_LSB _u(1) 2112 #define POWMAN_INTE_TIMER_ACCESS "RW" 2113 // ----------------------------------------------------------------------------- 2114 // Field : POWMAN_INTE_VREG_OUTPUT_LOW 2115 #define POWMAN_INTE_VREG_OUTPUT_LOW_RESET _u(0x0) 2116 #define POWMAN_INTE_VREG_OUTPUT_LOW_BITS _u(0x00000001) 2117 #define POWMAN_INTE_VREG_OUTPUT_LOW_MSB _u(0) 2118 #define POWMAN_INTE_VREG_OUTPUT_LOW_LSB _u(0) 2119 #define POWMAN_INTE_VREG_OUTPUT_LOW_ACCESS "RW" 2120 // ============================================================================= 2121 // Register : POWMAN_INTF 2122 // Description : Interrupt Force 2123 #define POWMAN_INTF_OFFSET _u(0x000000e8) 2124 #define POWMAN_INTF_BITS _u(0x0000000f) 2125 #define POWMAN_INTF_RESET _u(0x00000000) 2126 // ----------------------------------------------------------------------------- 2127 // Field : POWMAN_INTF_PWRUP_WHILE_WAITING 2128 // Description : Source is state.pwrup_while_waiting 2129 #define POWMAN_INTF_PWRUP_WHILE_WAITING_RESET _u(0x0) 2130 #define POWMAN_INTF_PWRUP_WHILE_WAITING_BITS _u(0x00000008) 2131 #define POWMAN_INTF_PWRUP_WHILE_WAITING_MSB _u(3) 2132 #define POWMAN_INTF_PWRUP_WHILE_WAITING_LSB _u(3) 2133 #define POWMAN_INTF_PWRUP_WHILE_WAITING_ACCESS "RW" 2134 // ----------------------------------------------------------------------------- 2135 // Field : POWMAN_INTF_STATE_REQ_IGNORED 2136 // Description : Source is state.req_ignored 2137 #define POWMAN_INTF_STATE_REQ_IGNORED_RESET _u(0x0) 2138 #define POWMAN_INTF_STATE_REQ_IGNORED_BITS _u(0x00000004) 2139 #define POWMAN_INTF_STATE_REQ_IGNORED_MSB _u(2) 2140 #define POWMAN_INTF_STATE_REQ_IGNORED_LSB _u(2) 2141 #define POWMAN_INTF_STATE_REQ_IGNORED_ACCESS "RW" 2142 // ----------------------------------------------------------------------------- 2143 // Field : POWMAN_INTF_TIMER 2144 #define POWMAN_INTF_TIMER_RESET _u(0x0) 2145 #define POWMAN_INTF_TIMER_BITS _u(0x00000002) 2146 #define POWMAN_INTF_TIMER_MSB _u(1) 2147 #define POWMAN_INTF_TIMER_LSB _u(1) 2148 #define POWMAN_INTF_TIMER_ACCESS "RW" 2149 // ----------------------------------------------------------------------------- 2150 // Field : POWMAN_INTF_VREG_OUTPUT_LOW 2151 #define POWMAN_INTF_VREG_OUTPUT_LOW_RESET _u(0x0) 2152 #define POWMAN_INTF_VREG_OUTPUT_LOW_BITS _u(0x00000001) 2153 #define POWMAN_INTF_VREG_OUTPUT_LOW_MSB _u(0) 2154 #define POWMAN_INTF_VREG_OUTPUT_LOW_LSB _u(0) 2155 #define POWMAN_INTF_VREG_OUTPUT_LOW_ACCESS "RW" 2156 // ============================================================================= 2157 // Register : POWMAN_INTS 2158 // Description : Interrupt status after masking & forcing 2159 #define POWMAN_INTS_OFFSET _u(0x000000ec) 2160 #define POWMAN_INTS_BITS _u(0x0000000f) 2161 #define POWMAN_INTS_RESET _u(0x00000000) 2162 // ----------------------------------------------------------------------------- 2163 // Field : POWMAN_INTS_PWRUP_WHILE_WAITING 2164 // Description : Source is state.pwrup_while_waiting 2165 #define POWMAN_INTS_PWRUP_WHILE_WAITING_RESET _u(0x0) 2166 #define POWMAN_INTS_PWRUP_WHILE_WAITING_BITS _u(0x00000008) 2167 #define POWMAN_INTS_PWRUP_WHILE_WAITING_MSB _u(3) 2168 #define POWMAN_INTS_PWRUP_WHILE_WAITING_LSB _u(3) 2169 #define POWMAN_INTS_PWRUP_WHILE_WAITING_ACCESS "RO" 2170 // ----------------------------------------------------------------------------- 2171 // Field : POWMAN_INTS_STATE_REQ_IGNORED 2172 // Description : Source is state.req_ignored 2173 #define POWMAN_INTS_STATE_REQ_IGNORED_RESET _u(0x0) 2174 #define POWMAN_INTS_STATE_REQ_IGNORED_BITS _u(0x00000004) 2175 #define POWMAN_INTS_STATE_REQ_IGNORED_MSB _u(2) 2176 #define POWMAN_INTS_STATE_REQ_IGNORED_LSB _u(2) 2177 #define POWMAN_INTS_STATE_REQ_IGNORED_ACCESS "RO" 2178 // ----------------------------------------------------------------------------- 2179 // Field : POWMAN_INTS_TIMER 2180 #define POWMAN_INTS_TIMER_RESET _u(0x0) 2181 #define POWMAN_INTS_TIMER_BITS _u(0x00000002) 2182 #define POWMAN_INTS_TIMER_MSB _u(1) 2183 #define POWMAN_INTS_TIMER_LSB _u(1) 2184 #define POWMAN_INTS_TIMER_ACCESS "RO" 2185 // ----------------------------------------------------------------------------- 2186 // Field : POWMAN_INTS_VREG_OUTPUT_LOW 2187 #define POWMAN_INTS_VREG_OUTPUT_LOW_RESET _u(0x0) 2188 #define POWMAN_INTS_VREG_OUTPUT_LOW_BITS _u(0x00000001) 2189 #define POWMAN_INTS_VREG_OUTPUT_LOW_MSB _u(0) 2190 #define POWMAN_INTS_VREG_OUTPUT_LOW_LSB _u(0) 2191 #define POWMAN_INTS_VREG_OUTPUT_LOW_ACCESS "RO" 2192 // ============================================================================= 2193 #endif // _HARDWARE_REGS_POWMAN_H 2194 2195