1 /****************************************************************************** 2 * Filename: hw_prcm_h 3 * Revised: $Date$ 4 * Revision: $Revision$ 5 * 6 * Copyright (c) 2015 - 2017, Texas Instruments Incorporated 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions are met: 11 * 12 * 1) Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the following disclaimer. 14 * 15 * 2) Redistributions in binary form must reproduce the above copyright notice, 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may 20 * be used to endorse or promote products derived from this software without 21 * specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33 * POSSIBILITY OF SUCH DAMAGE. 34 * 35 ******************************************************************************/ 36 37 #ifndef __HW_PRCM_H__ 38 #define __HW_PRCM_H__ 39 40 //***************************************************************************** 41 // 42 // This section defines the register offsets of 43 // PRCM component 44 // 45 //***************************************************************************** 46 // Infrastructure Clock Division Factor For Run Mode 47 #define PRCM_O_INFRCLKDIVR 0x00000000 48 49 // Infrastructure Clock Division Factor For Sleep Mode 50 #define PRCM_O_INFRCLKDIVS 0x00000004 51 52 // Infrastructure Clock Division Factor For DeepSleep Mode 53 #define PRCM_O_INFRCLKDIVDS 0x00000008 54 55 // MCU Voltage Domain Control 56 #define PRCM_O_VDCTL 0x0000000C 57 58 // Load PRCM Settings To CLKCTRL Power Domain 59 #define PRCM_O_CLKLOADCTL 0x00000028 60 61 // RFC Clock Gate 62 #define PRCM_O_RFCCLKG 0x0000002C 63 64 // VIMS Clock Gate 65 #define PRCM_O_VIMSCLKG 0x00000030 66 67 // SEC (PKA And TRNG And CRYPTO) And UDMA Clock Gate For Run And All Modes 68 #define PRCM_O_SECDMACLKGR 0x0000003C 69 70 // SEC (PKA And TRNG And CRYPTO) And UDMA Clock Gate For Sleep Mode 71 #define PRCM_O_SECDMACLKGS 0x00000040 72 73 // SEC (PKA And TRNG and CRYPTO) And UDMA Clock Gate For Deep Sleep Mode 74 #define PRCM_O_SECDMACLKGDS 0x00000044 75 76 // GPIO Clock Gate For Run And All Modes 77 #define PRCM_O_GPIOCLKGR 0x00000048 78 79 // GPIO Clock Gate For Sleep Mode 80 #define PRCM_O_GPIOCLKGS 0x0000004C 81 82 // GPIO Clock Gate For Deep Sleep Mode 83 #define PRCM_O_GPIOCLKGDS 0x00000050 84 85 // GPT Clock Gate For Run And All Modes 86 #define PRCM_O_GPTCLKGR 0x00000054 87 88 // GPT Clock Gate For Sleep Mode 89 #define PRCM_O_GPTCLKGS 0x00000058 90 91 // GPT Clock Gate For Deep Sleep Mode 92 #define PRCM_O_GPTCLKGDS 0x0000005C 93 94 // I2C Clock Gate For Run And All Modes 95 #define PRCM_O_I2CCLKGR 0x00000060 96 97 // I2C Clock Gate For Sleep Mode 98 #define PRCM_O_I2CCLKGS 0x00000064 99 100 // I2C Clock Gate For Deep Sleep Mode 101 #define PRCM_O_I2CCLKGDS 0x00000068 102 103 // UART Clock Gate For Run And All Modes 104 #define PRCM_O_UARTCLKGR 0x0000006C 105 106 // UART Clock Gate For Sleep Mode 107 #define PRCM_O_UARTCLKGS 0x00000070 108 109 // UART Clock Gate For Deep Sleep Mode 110 #define PRCM_O_UARTCLKGDS 0x00000074 111 112 // SSI Clock Gate For Run And All Modes 113 #define PRCM_O_SSICLKGR 0x00000078 114 115 // SSI Clock Gate For Sleep Mode 116 #define PRCM_O_SSICLKGS 0x0000007C 117 118 // SSI Clock Gate For Deep Sleep Mode 119 #define PRCM_O_SSICLKGDS 0x00000080 120 121 // I2S Clock Gate For Run And All Modes 122 #define PRCM_O_I2SCLKGR 0x00000084 123 124 // I2S Clock Gate For Sleep Mode 125 #define PRCM_O_I2SCLKGS 0x00000088 126 127 // I2S Clock Gate For Deep Sleep Mode 128 #define PRCM_O_I2SCLKGDS 0x0000008C 129 130 // Internal 131 #define PRCM_O_SYSBUSCLKDIV 0x000000B4 132 133 // Internal 134 #define PRCM_O_CPUCLKDIV 0x000000B8 135 136 // Internal 137 #define PRCM_O_PERBUSCPUCLKDIV 0x000000BC 138 139 // Internal 140 #define PRCM_O_PERDMACLKDIV 0x000000C4 141 142 // I2S Clock Control 143 #define PRCM_O_I2SBCLKSEL 0x000000C8 144 145 // GPT Scalar 146 #define PRCM_O_GPTCLKDIV 0x000000CC 147 148 // I2S Clock Control 149 #define PRCM_O_I2SCLKCTL 0x000000D0 150 151 // MCLK Division Ratio 152 #define PRCM_O_I2SMCLKDIV 0x000000D4 153 154 // BCLK Division Ratio 155 #define PRCM_O_I2SBCLKDIV 0x000000D8 156 157 // WCLK Division Ratio 158 #define PRCM_O_I2SWCLKDIV 0x000000DC 159 160 // RESET For SEC (PKA And TRNG And CRYPTO) And UDMA 161 #define PRCM_O_RESETSECDMA 0x000000F0 162 163 // RESET For GPIO IPs 164 #define PRCM_O_RESETGPIO 0x000000F4 165 166 // RESET For GPT Ips 167 #define PRCM_O_RESETGPT 0x000000F8 168 169 // RESET For I2C IPs 170 #define PRCM_O_RESETI2C 0x000000FC 171 172 // RESET For UART IPs 173 #define PRCM_O_RESETUART 0x00000100 174 175 // RESET For SSI IPs 176 #define PRCM_O_RESETSSI 0x00000104 177 178 // RESET For I2S IP 179 #define PRCM_O_RESETI2S 0x00000108 180 181 // Power Domain Control 182 #define PRCM_O_PDCTL0 0x0000012C 183 184 // RFC Power Domain Control 185 #define PRCM_O_PDCTL0RFC 0x00000130 186 187 // SERIAL Power Domain Control 188 #define PRCM_O_PDCTL0SERIAL 0x00000134 189 190 // PERIPH Power Domain Control 191 #define PRCM_O_PDCTL0PERIPH 0x00000138 192 193 // Power Domain Status 194 #define PRCM_O_PDSTAT0 0x00000140 195 196 // RFC Power Domain Status 197 #define PRCM_O_PDSTAT0RFC 0x00000144 198 199 // SERIAL Power Domain Status 200 #define PRCM_O_PDSTAT0SERIAL 0x00000148 201 202 // PERIPH Power Domain Status 203 #define PRCM_O_PDSTAT0PERIPH 0x0000014C 204 205 // Power Domain Control 206 #define PRCM_O_PDCTL1 0x0000017C 207 208 // CPU Power Domain Direct Control 209 #define PRCM_O_PDCTL1CPU 0x00000184 210 211 // RFC Power Domain Direct Control 212 #define PRCM_O_PDCTL1RFC 0x00000188 213 214 // VIMS Mode Direct Control 215 #define PRCM_O_PDCTL1VIMS 0x0000018C 216 217 // Power Manager Status 218 #define PRCM_O_PDSTAT1 0x00000194 219 220 // BUS Power Domain Direct Read Status 221 #define PRCM_O_PDSTAT1BUS 0x00000198 222 223 // RFC Power Domain Direct Read Status 224 #define PRCM_O_PDSTAT1RFC 0x0000019C 225 226 // CPU Power Domain Direct Read Status 227 #define PRCM_O_PDSTAT1CPU 0x000001A0 228 229 // VIMS Mode Direct Read Status 230 #define PRCM_O_PDSTAT1VIMS 0x000001A4 231 232 // Control To RFC 233 #define PRCM_O_RFCBITS 0x000001CC 234 235 // Selected RFC Mode 236 #define PRCM_O_RFCMODESEL 0x000001D0 237 238 // Allowed RFC Modes 239 #define PRCM_O_RFCMODEHWOPT 0x000001D4 240 241 // Power Profiler Register 242 #define PRCM_O_PWRPROFSTAT 0x000001E0 243 244 // Memory Retention Control 245 #define PRCM_O_RAMRETEN 0x00000224 246 247 // Oscillator Interrupt Mask Control 248 #define PRCM_O_OSCIMSC 0x00000290 249 250 // Oscillator Raw Interrupt Status 251 #define PRCM_O_OSCRIS 0x00000294 252 253 // Oscillator Raw Interrupt Clear 254 #define PRCM_O_OSCICR 0x00000298 255 256 //***************************************************************************** 257 // 258 // Register: PRCM_O_INFRCLKDIVR 259 // 260 //***************************************************************************** 261 // Field: [1:0] RATIO 262 // 263 // Division rate for clocks driving modules in the MCU_AON domain when system 264 // CPU is in run mode. Division ratio affects both infrastructure clock and 265 // perbusull clock. 266 // ENUMs: 267 // DIV32 Divide by 32 268 // DIV8 Divide by 8 269 // DIV2 Divide by 2 270 // DIV1 Divide by 1 271 #define PRCM_INFRCLKDIVR_RATIO_W 2 272 #define PRCM_INFRCLKDIVR_RATIO_M 0x00000003 273 #define PRCM_INFRCLKDIVR_RATIO_S 0 274 #define PRCM_INFRCLKDIVR_RATIO_DIV32 0x00000003 275 #define PRCM_INFRCLKDIVR_RATIO_DIV8 0x00000002 276 #define PRCM_INFRCLKDIVR_RATIO_DIV2 0x00000001 277 #define PRCM_INFRCLKDIVR_RATIO_DIV1 0x00000000 278 279 //***************************************************************************** 280 // 281 // Register: PRCM_O_INFRCLKDIVS 282 // 283 //***************************************************************************** 284 // Field: [1:0] RATIO 285 // 286 // Division rate for clocks driving modules in the MCU_AON domain when system 287 // CPU is in sleep mode. Division ratio affects both infrastructure clock and 288 // perbusull clock. 289 // ENUMs: 290 // DIV32 Divide by 32 291 // DIV8 Divide by 8 292 // DIV2 Divide by 2 293 // DIV1 Divide by 1 294 #define PRCM_INFRCLKDIVS_RATIO_W 2 295 #define PRCM_INFRCLKDIVS_RATIO_M 0x00000003 296 #define PRCM_INFRCLKDIVS_RATIO_S 0 297 #define PRCM_INFRCLKDIVS_RATIO_DIV32 0x00000003 298 #define PRCM_INFRCLKDIVS_RATIO_DIV8 0x00000002 299 #define PRCM_INFRCLKDIVS_RATIO_DIV2 0x00000001 300 #define PRCM_INFRCLKDIVS_RATIO_DIV1 0x00000000 301 302 //***************************************************************************** 303 // 304 // Register: PRCM_O_INFRCLKDIVDS 305 // 306 //***************************************************************************** 307 // Field: [1:0] RATIO 308 // 309 // Division rate for clocks driving modules in the MCU_AON domain when system 310 // CPU is in seepsleep mode. Division ratio affects both infrastructure clock 311 // and perbusull clock. 312 // ENUMs: 313 // DIV32 Divide by 32 314 // DIV8 Divide by 8 315 // DIV2 Divide by 2 316 // DIV1 Divide by 1 317 #define PRCM_INFRCLKDIVDS_RATIO_W 2 318 #define PRCM_INFRCLKDIVDS_RATIO_M 0x00000003 319 #define PRCM_INFRCLKDIVDS_RATIO_S 0 320 #define PRCM_INFRCLKDIVDS_RATIO_DIV32 0x00000003 321 #define PRCM_INFRCLKDIVDS_RATIO_DIV8 0x00000002 322 #define PRCM_INFRCLKDIVDS_RATIO_DIV2 0x00000001 323 #define PRCM_INFRCLKDIVDS_RATIO_DIV1 0x00000000 324 325 //***************************************************************************** 326 // 327 // Register: PRCM_O_VDCTL 328 // 329 //***************************************************************************** 330 // Field: [0] ULDO 331 // 332 // Request PMCTL to switch to uLDO. 333 // 334 // 0: No request 335 // 1: Assert request when possible 336 // 337 // The bit will have no effect before the following requirements are met: 338 // 1. PDCTL1.CPU_ON = 0 339 // 2. PDCTL1.VIMS_MODE = x0 340 // 3. SECDMACLKGDS.DMA_CLK_EN = 0 and S.CRYPTO_CLK_EN] = 0 and 341 // SECDMACLKGR.DMA_AM_CLK_EN = 0 (Note: Settings must be loaded with 342 // CLKLOADCTL.LOAD) 343 // 4. SECDMACLKGDS.CRYPTO_CLK_EN = 0 and SECDMACLKGR.CRYPTO_AM_CLK_EN = 0 344 // (Note: Settings must be loaded with CLKLOADCTL.LOAD) 345 // 5. I2SCLKGDS.CLK_EN = 0 and I2SCLKGR.AM_CLK_EN = 0 (Note: Settings must be 346 // loaded with CLKLOADCTL.LOAD) 347 // 6. RFC do no request access to BUS 348 // 7. System CPU in deepsleep 349 #define PRCM_VDCTL_ULDO 0x00000001 350 #define PRCM_VDCTL_ULDO_BITN 0 351 #define PRCM_VDCTL_ULDO_M 0x00000001 352 #define PRCM_VDCTL_ULDO_S 0 353 354 //***************************************************************************** 355 // 356 // Register: PRCM_O_CLKLOADCTL 357 // 358 //***************************************************************************** 359 // Field: [1] LOAD_DONE 360 // 361 // Status of LOAD. 362 // Will be cleared to 0 when any of the registers requiring a LOAD is written 363 // to, and be set to 1 when a LOAD is done. 364 // Note that writing no change to a register will result in the LOAD_DONE being 365 // cleared. 366 // 367 // 0 : One or more registers have been write accessed after last LOAD 368 // 1 : No registers are write accessed after last LOAD 369 #define PRCM_CLKLOADCTL_LOAD_DONE 0x00000002 370 #define PRCM_CLKLOADCTL_LOAD_DONE_BITN 1 371 #define PRCM_CLKLOADCTL_LOAD_DONE_M 0x00000002 372 #define PRCM_CLKLOADCTL_LOAD_DONE_S 1 373 374 // Field: [0] LOAD 375 // 376 // 377 // 0: No action 378 // 1: Load settings to CLKCTRL. Bit is HW cleared. 379 // 380 // Multiple changes to settings may be done before LOAD is written once so all 381 // changes takes place at the same time. LOAD can also be done after single 382 // setting updates. 383 // 384 // Registers that needs to be followed by LOAD before settings being applied 385 // are: 386 // - SYSBUSCLKDIV 387 // - CPUCLKDIV 388 // - PERBUSCPUCLKDIV 389 // - PERDMACLKDIV 390 // - PERBUSCPUCLKG 391 // - RFCCLKG 392 // - VIMSCLKG 393 // - SECDMACLKGR 394 // - SECDMACLKGS 395 // - SECDMACLKGDS 396 // - GPIOCLKGR 397 // - GPIOCLKGS 398 // - GPIOCLKGDS 399 // - GPTCLKGR 400 // - GPTCLKGS 401 // - GPTCLKGDS 402 // - GPTCLKDIV 403 // - I2CCLKGR 404 // - I2CCLKGS 405 // - I2CCLKGDS 406 // - SSICLKGR 407 // - SSICLKGS 408 // - SSICLKGDS 409 // - UARTCLKGR 410 // - UARTCLKGS 411 // - UARTCLKGDS 412 // - I2SCLKGR 413 // - I2SCLKGS 414 // - I2SCLKGDS 415 // - I2SBCLKSEL 416 // - I2SCLKCTL 417 // - I2SMCLKDIV 418 // - I2SBCLKDIV 419 // - I2SWCLKDIV 420 #define PRCM_CLKLOADCTL_LOAD 0x00000001 421 #define PRCM_CLKLOADCTL_LOAD_BITN 0 422 #define PRCM_CLKLOADCTL_LOAD_M 0x00000001 423 #define PRCM_CLKLOADCTL_LOAD_S 0 424 425 //***************************************************************************** 426 // 427 // Register: PRCM_O_RFCCLKG 428 // 429 //***************************************************************************** 430 // Field: [0] CLK_EN 431 // 432 // 433 // 0: Disable Clock 434 // 1: Enable clock if RFC power domain is on 435 // 436 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 437 #define PRCM_RFCCLKG_CLK_EN 0x00000001 438 #define PRCM_RFCCLKG_CLK_EN_BITN 0 439 #define PRCM_RFCCLKG_CLK_EN_M 0x00000001 440 #define PRCM_RFCCLKG_CLK_EN_S 0 441 442 //***************************************************************************** 443 // 444 // Register: PRCM_O_VIMSCLKG 445 // 446 //***************************************************************************** 447 // Field: [1:0] CLK_EN 448 // 449 // 00: Disable clock 450 // 01: Disable clock when SYSBUS clock is disabled 451 // 11: Enable clock 452 // 453 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 454 #define PRCM_VIMSCLKG_CLK_EN_W 2 455 #define PRCM_VIMSCLKG_CLK_EN_M 0x00000003 456 #define PRCM_VIMSCLKG_CLK_EN_S 0 457 458 //***************************************************************************** 459 // 460 // Register: PRCM_O_SECDMACLKGR 461 // 462 //***************************************************************************** 463 // Field: [24] DMA_AM_CLK_EN 464 // 465 // 466 // 0: No force 467 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 468 // 469 // Overrides DMA_CLK_EN, SECDMACLKGS.DMA_CLK_EN and SECDMACLKGDS.DMA_CLK_EN 470 // when enabled. 471 // 472 // SYSBUS clock will always run when enabled 473 // 474 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 475 #define PRCM_SECDMACLKGR_DMA_AM_CLK_EN 0x01000000 476 #define PRCM_SECDMACLKGR_DMA_AM_CLK_EN_BITN 24 477 #define PRCM_SECDMACLKGR_DMA_AM_CLK_EN_M 0x01000000 478 #define PRCM_SECDMACLKGR_DMA_AM_CLK_EN_S 24 479 480 // Field: [19] PKA_ZERIOZE_RESET_N 481 // 482 // Zeroization logic hardware reset. 483 // 484 // 0: pka_zeroize logic inactive. 485 // 1: pka_zeroize of memory is enabled. 486 // 487 // This register must remain active until the memory are completely zeroized 488 // which requires 256 periods on systembus clock. 489 #define PRCM_SECDMACLKGR_PKA_ZERIOZE_RESET_N 0x00080000 490 #define PRCM_SECDMACLKGR_PKA_ZERIOZE_RESET_N_BITN 19 491 #define PRCM_SECDMACLKGR_PKA_ZERIOZE_RESET_N_M 0x00080000 492 #define PRCM_SECDMACLKGR_PKA_ZERIOZE_RESET_N_S 19 493 494 // Field: [18] PKA_AM_CLK_EN 495 // 496 // 497 // 0: No force 498 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 499 // 500 // Overrides PKA_CLK_EN, SECDMACLKGS.PKA_CLK_EN and SECDMACLKGDS.PKA_CLK_EN 501 // when enabled. 502 // 503 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 504 #define PRCM_SECDMACLKGR_PKA_AM_CLK_EN 0x00040000 505 #define PRCM_SECDMACLKGR_PKA_AM_CLK_EN_BITN 18 506 #define PRCM_SECDMACLKGR_PKA_AM_CLK_EN_M 0x00040000 507 #define PRCM_SECDMACLKGR_PKA_AM_CLK_EN_S 18 508 509 // Field: [17] TRNG_AM_CLK_EN 510 // 511 // 512 // 0: No force 513 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 514 // 515 // Overrides TRNG_CLK_EN, SECDMACLKGS.TRNG_CLK_EN and SECDMACLKGDS.TRNG_CLK_EN 516 // when enabled. 517 // 518 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 519 #define PRCM_SECDMACLKGR_TRNG_AM_CLK_EN 0x00020000 520 #define PRCM_SECDMACLKGR_TRNG_AM_CLK_EN_BITN 17 521 #define PRCM_SECDMACLKGR_TRNG_AM_CLK_EN_M 0x00020000 522 #define PRCM_SECDMACLKGR_TRNG_AM_CLK_EN_S 17 523 524 // Field: [16] CRYPTO_AM_CLK_EN 525 // 526 // 527 // 0: No force 528 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 529 // 530 // Overrides CRYPTO_CLK_EN, SECDMACLKGS.CRYPTO_CLK_EN and 531 // SECDMACLKGDS.CRYPTO_CLK_EN when enabled. 532 // 533 // SYSBUS clock will always run when enabled 534 // 535 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 536 #define PRCM_SECDMACLKGR_CRYPTO_AM_CLK_EN 0x00010000 537 #define PRCM_SECDMACLKGR_CRYPTO_AM_CLK_EN_BITN 16 538 #define PRCM_SECDMACLKGR_CRYPTO_AM_CLK_EN_M 0x00010000 539 #define PRCM_SECDMACLKGR_CRYPTO_AM_CLK_EN_S 16 540 541 // Field: [8] DMA_CLK_EN 542 // 543 // 544 // 0: Disable clock 545 // 1: Enable clock 546 // 547 // Can be forced on by DMA_AM_CLK_EN 548 // 549 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 550 #define PRCM_SECDMACLKGR_DMA_CLK_EN 0x00000100 551 #define PRCM_SECDMACLKGR_DMA_CLK_EN_BITN 8 552 #define PRCM_SECDMACLKGR_DMA_CLK_EN_M 0x00000100 553 #define PRCM_SECDMACLKGR_DMA_CLK_EN_S 8 554 555 // Field: [2] PKA_CLK_EN 556 // 557 // 558 // 0: Disable clock 559 // 1: Enable clock 560 // 561 // Can be forced on by PKA_AM_CLK_EN 562 // 563 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 564 #define PRCM_SECDMACLKGR_PKA_CLK_EN 0x00000004 565 #define PRCM_SECDMACLKGR_PKA_CLK_EN_BITN 2 566 #define PRCM_SECDMACLKGR_PKA_CLK_EN_M 0x00000004 567 #define PRCM_SECDMACLKGR_PKA_CLK_EN_S 2 568 569 // Field: [1] TRNG_CLK_EN 570 // 571 // 572 // 0: Disable clock 573 // 1: Enable clock 574 // 575 // Can be forced on by TRNG_AM_CLK_EN 576 // 577 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 578 #define PRCM_SECDMACLKGR_TRNG_CLK_EN 0x00000002 579 #define PRCM_SECDMACLKGR_TRNG_CLK_EN_BITN 1 580 #define PRCM_SECDMACLKGR_TRNG_CLK_EN_M 0x00000002 581 #define PRCM_SECDMACLKGR_TRNG_CLK_EN_S 1 582 583 // Field: [0] CRYPTO_CLK_EN 584 // 585 // 586 // 0: Disable clock 587 // 1: Enable clock 588 // 589 // Can be forced on by CRYPTO_AM_CLK_EN 590 // 591 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 592 #define PRCM_SECDMACLKGR_CRYPTO_CLK_EN 0x00000001 593 #define PRCM_SECDMACLKGR_CRYPTO_CLK_EN_BITN 0 594 #define PRCM_SECDMACLKGR_CRYPTO_CLK_EN_M 0x00000001 595 #define PRCM_SECDMACLKGR_CRYPTO_CLK_EN_S 0 596 597 //***************************************************************************** 598 // 599 // Register: PRCM_O_SECDMACLKGS 600 // 601 //***************************************************************************** 602 // Field: [8] DMA_CLK_EN 603 // 604 // 605 // 0: Disable clock 606 // 1: Enable clock 607 // 608 // Can be forced on by SECDMACLKGR.DMA_AM_CLK_EN 609 // 610 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 611 #define PRCM_SECDMACLKGS_DMA_CLK_EN 0x00000100 612 #define PRCM_SECDMACLKGS_DMA_CLK_EN_BITN 8 613 #define PRCM_SECDMACLKGS_DMA_CLK_EN_M 0x00000100 614 #define PRCM_SECDMACLKGS_DMA_CLK_EN_S 8 615 616 // Field: [2] PKA_CLK_EN 617 // 618 // 619 // 0: Disable clock 620 // 1: Enable clock 621 // 622 // Can be forced on by SECDMACLKGR.PKA_AM_CLK_EN 623 // 624 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 625 #define PRCM_SECDMACLKGS_PKA_CLK_EN 0x00000004 626 #define PRCM_SECDMACLKGS_PKA_CLK_EN_BITN 2 627 #define PRCM_SECDMACLKGS_PKA_CLK_EN_M 0x00000004 628 #define PRCM_SECDMACLKGS_PKA_CLK_EN_S 2 629 630 // Field: [1] TRNG_CLK_EN 631 // 632 // 633 // 0: Disable clock 634 // 1: Enable clock 635 // 636 // Can be forced on by SECDMACLKGR.TRNG_AM_CLK_EN 637 // 638 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 639 #define PRCM_SECDMACLKGS_TRNG_CLK_EN 0x00000002 640 #define PRCM_SECDMACLKGS_TRNG_CLK_EN_BITN 1 641 #define PRCM_SECDMACLKGS_TRNG_CLK_EN_M 0x00000002 642 #define PRCM_SECDMACLKGS_TRNG_CLK_EN_S 1 643 644 // Field: [0] CRYPTO_CLK_EN 645 // 646 // 647 // 0: Disable clock 648 // 1: Enable clock 649 // 650 // Can be forced on by SECDMACLKGR.CRYPTO_AM_CLK_EN 651 // 652 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 653 #define PRCM_SECDMACLKGS_CRYPTO_CLK_EN 0x00000001 654 #define PRCM_SECDMACLKGS_CRYPTO_CLK_EN_BITN 0 655 #define PRCM_SECDMACLKGS_CRYPTO_CLK_EN_M 0x00000001 656 #define PRCM_SECDMACLKGS_CRYPTO_CLK_EN_S 0 657 658 //***************************************************************************** 659 // 660 // Register: PRCM_O_SECDMACLKGDS 661 // 662 //***************************************************************************** 663 // Field: [8] DMA_CLK_EN 664 // 665 // 666 // 0: Disable clock 667 // 1: Enable clock 668 // 669 // Can be forced on by SECDMACLKGR.DMA_AM_CLK_EN 670 // 671 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 672 #define PRCM_SECDMACLKGDS_DMA_CLK_EN 0x00000100 673 #define PRCM_SECDMACLKGDS_DMA_CLK_EN_BITN 8 674 #define PRCM_SECDMACLKGDS_DMA_CLK_EN_M 0x00000100 675 #define PRCM_SECDMACLKGDS_DMA_CLK_EN_S 8 676 677 // Field: [2] PKA_CLK_EN 678 // 679 // 680 // 0: Disable clock 681 // 1: Enable clock 682 // 683 // Can be forced on by SECDMACLKGR.PKA_AM_CLK_EN 684 // 685 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 686 #define PRCM_SECDMACLKGDS_PKA_CLK_EN 0x00000004 687 #define PRCM_SECDMACLKGDS_PKA_CLK_EN_BITN 2 688 #define PRCM_SECDMACLKGDS_PKA_CLK_EN_M 0x00000004 689 #define PRCM_SECDMACLKGDS_PKA_CLK_EN_S 2 690 691 // Field: [1] TRNG_CLK_EN 692 // 693 // 694 // 0: Disable clock 695 // 1: Enable clock 696 // 697 // SYSBUS clock will always run when enabled 698 // 699 // Can be forced on by SECDMACLKGR.TRNG_AM_CLK_EN 700 // 701 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 702 #define PRCM_SECDMACLKGDS_TRNG_CLK_EN 0x00000002 703 #define PRCM_SECDMACLKGDS_TRNG_CLK_EN_BITN 1 704 #define PRCM_SECDMACLKGDS_TRNG_CLK_EN_M 0x00000002 705 #define PRCM_SECDMACLKGDS_TRNG_CLK_EN_S 1 706 707 // Field: [0] CRYPTO_CLK_EN 708 // 709 // 710 // 0: Disable clock 711 // 1: Enable clock 712 // 713 // SYSBUS clock will always run when enabled 714 // 715 // Can be forced on by SECDMACLKGR.CRYPTO_AM_CLK_EN 716 // 717 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 718 #define PRCM_SECDMACLKGDS_CRYPTO_CLK_EN 0x00000001 719 #define PRCM_SECDMACLKGDS_CRYPTO_CLK_EN_BITN 0 720 #define PRCM_SECDMACLKGDS_CRYPTO_CLK_EN_M 0x00000001 721 #define PRCM_SECDMACLKGDS_CRYPTO_CLK_EN_S 0 722 723 //***************************************************************************** 724 // 725 // Register: PRCM_O_GPIOCLKGR 726 // 727 //***************************************************************************** 728 // Field: [8] AM_CLK_EN 729 // 730 // 731 // 0: No force 732 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 733 // 734 // Overrides CLK_EN, GPIOCLKGS.CLK_EN and GPIOCLKGDS.CLK_EN when enabled. 735 // 736 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 737 #define PRCM_GPIOCLKGR_AM_CLK_EN 0x00000100 738 #define PRCM_GPIOCLKGR_AM_CLK_EN_BITN 8 739 #define PRCM_GPIOCLKGR_AM_CLK_EN_M 0x00000100 740 #define PRCM_GPIOCLKGR_AM_CLK_EN_S 8 741 742 // Field: [0] CLK_EN 743 // 744 // 745 // 0: Disable clock 746 // 1: Enable clock 747 // 748 // Can be forced on by AM_CLK_EN 749 // 750 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 751 #define PRCM_GPIOCLKGR_CLK_EN 0x00000001 752 #define PRCM_GPIOCLKGR_CLK_EN_BITN 0 753 #define PRCM_GPIOCLKGR_CLK_EN_M 0x00000001 754 #define PRCM_GPIOCLKGR_CLK_EN_S 0 755 756 //***************************************************************************** 757 // 758 // Register: PRCM_O_GPIOCLKGS 759 // 760 //***************************************************************************** 761 // Field: [0] CLK_EN 762 // 763 // 764 // 0: Disable clock 765 // 1: Enable clock 766 // 767 // Can be forced on by GPIOCLKGR.AM_CLK_EN 768 // 769 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 770 #define PRCM_GPIOCLKGS_CLK_EN 0x00000001 771 #define PRCM_GPIOCLKGS_CLK_EN_BITN 0 772 #define PRCM_GPIOCLKGS_CLK_EN_M 0x00000001 773 #define PRCM_GPIOCLKGS_CLK_EN_S 0 774 775 //***************************************************************************** 776 // 777 // Register: PRCM_O_GPIOCLKGDS 778 // 779 //***************************************************************************** 780 // Field: [0] CLK_EN 781 // 782 // 783 // 0: Disable clock 784 // 1: Enable clock 785 // 786 // Can be forced on by GPIOCLKGR.AM_CLK_EN 787 // 788 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 789 #define PRCM_GPIOCLKGDS_CLK_EN 0x00000001 790 #define PRCM_GPIOCLKGDS_CLK_EN_BITN 0 791 #define PRCM_GPIOCLKGDS_CLK_EN_M 0x00000001 792 #define PRCM_GPIOCLKGDS_CLK_EN_S 0 793 794 //***************************************************************************** 795 // 796 // Register: PRCM_O_GPTCLKGR 797 // 798 //***************************************************************************** 799 // Field: [11:8] AM_CLK_EN 800 // 801 // Each bit below has the following meaning: 802 // 803 // 0: No force 804 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 805 // 806 // Overrides CLK_EN, GPTCLKGS.CLK_EN and GPTCLKGDS.CLK_EN when enabled. 807 // 808 // ENUMs can be combined 809 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 810 // ENUMs: 811 // AM_GPT3 Enable clock for GPT3 in all modes 812 // AM_GPT2 Enable clock for GPT2 in all modes 813 // AM_GPT1 Enable clock for GPT1 in all modes 814 // AM_GPT0 Enable clock for GPT0 in all modes 815 #define PRCM_GPTCLKGR_AM_CLK_EN_W 4 816 #define PRCM_GPTCLKGR_AM_CLK_EN_M 0x00000F00 817 #define PRCM_GPTCLKGR_AM_CLK_EN_S 8 818 #define PRCM_GPTCLKGR_AM_CLK_EN_AM_GPT3 0x00000800 819 #define PRCM_GPTCLKGR_AM_CLK_EN_AM_GPT2 0x00000400 820 #define PRCM_GPTCLKGR_AM_CLK_EN_AM_GPT1 0x00000200 821 #define PRCM_GPTCLKGR_AM_CLK_EN_AM_GPT0 0x00000100 822 823 // Field: [3:0] CLK_EN 824 // 825 // Each bit below has the following meaning: 826 // 827 // 0: Disable clock 828 // 1: Enable clock 829 // 830 // Can be forced on by AM_CLK_EN 831 // 832 // ENUMs can be combined 833 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 834 // ENUMs: 835 // GPT3 Enable clock for GPT3 836 // GPT2 Enable clock for GPT2 837 // GPT1 Enable clock for GPT1 838 // GPT0 Enable clock for GPT0 839 #define PRCM_GPTCLKGR_CLK_EN_W 4 840 #define PRCM_GPTCLKGR_CLK_EN_M 0x0000000F 841 #define PRCM_GPTCLKGR_CLK_EN_S 0 842 #define PRCM_GPTCLKGR_CLK_EN_GPT3 0x00000008 843 #define PRCM_GPTCLKGR_CLK_EN_GPT2 0x00000004 844 #define PRCM_GPTCLKGR_CLK_EN_GPT1 0x00000002 845 #define PRCM_GPTCLKGR_CLK_EN_GPT0 0x00000001 846 847 //***************************************************************************** 848 // 849 // Register: PRCM_O_GPTCLKGS 850 // 851 //***************************************************************************** 852 // Field: [3:0] CLK_EN 853 // 854 // Each bit below has the following meaning: 855 // 856 // 0: Disable clock 857 // 1: Enable clock 858 // 859 // Can be forced on by GPTCLKGR.AM_CLK_EN 860 // 861 // ENUMs can be combined 862 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 863 // ENUMs: 864 // GPT3 Enable clock for GPT3 865 // GPT2 Enable clock for GPT2 866 // GPT1 Enable clock for GPT1 867 // GPT0 Enable clock for GPT0 868 #define PRCM_GPTCLKGS_CLK_EN_W 4 869 #define PRCM_GPTCLKGS_CLK_EN_M 0x0000000F 870 #define PRCM_GPTCLKGS_CLK_EN_S 0 871 #define PRCM_GPTCLKGS_CLK_EN_GPT3 0x00000008 872 #define PRCM_GPTCLKGS_CLK_EN_GPT2 0x00000004 873 #define PRCM_GPTCLKGS_CLK_EN_GPT1 0x00000002 874 #define PRCM_GPTCLKGS_CLK_EN_GPT0 0x00000001 875 876 //***************************************************************************** 877 // 878 // Register: PRCM_O_GPTCLKGDS 879 // 880 //***************************************************************************** 881 // Field: [3:0] CLK_EN 882 // 883 // Each bit below has the following meaning: 884 // 885 // 0: Disable clock 886 // 1: Enable clock 887 // 888 // Can be forced on by GPTCLKGR.AM_CLK_EN 889 // 890 // ENUMs can be combined 891 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 892 // ENUMs: 893 // GPT3 Enable clock for GPT3 894 // GPT2 Enable clock for GPT2 895 // GPT1 Enable clock for GPT1 896 // GPT0 Enable clock for GPT0 897 #define PRCM_GPTCLKGDS_CLK_EN_W 4 898 #define PRCM_GPTCLKGDS_CLK_EN_M 0x0000000F 899 #define PRCM_GPTCLKGDS_CLK_EN_S 0 900 #define PRCM_GPTCLKGDS_CLK_EN_GPT3 0x00000008 901 #define PRCM_GPTCLKGDS_CLK_EN_GPT2 0x00000004 902 #define PRCM_GPTCLKGDS_CLK_EN_GPT1 0x00000002 903 #define PRCM_GPTCLKGDS_CLK_EN_GPT0 0x00000001 904 905 //***************************************************************************** 906 // 907 // Register: PRCM_O_I2CCLKGR 908 // 909 //***************************************************************************** 910 // Field: [8] AM_CLK_EN 911 // 912 // 913 // 0: No force 914 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 915 // 916 // Overrides CLK_EN, I2CCLKGS.CLK_EN and I2CCLKGDS.CLK_EN when enabled. 917 // 918 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 919 #define PRCM_I2CCLKGR_AM_CLK_EN 0x00000100 920 #define PRCM_I2CCLKGR_AM_CLK_EN_BITN 8 921 #define PRCM_I2CCLKGR_AM_CLK_EN_M 0x00000100 922 #define PRCM_I2CCLKGR_AM_CLK_EN_S 8 923 924 // Field: [0] CLK_EN 925 // 926 // 927 // 0: Disable clock 928 // 1: Enable clock 929 // 930 // Can be forced on by AM_CLK_EN 931 // 932 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 933 #define PRCM_I2CCLKGR_CLK_EN 0x00000001 934 #define PRCM_I2CCLKGR_CLK_EN_BITN 0 935 #define PRCM_I2CCLKGR_CLK_EN_M 0x00000001 936 #define PRCM_I2CCLKGR_CLK_EN_S 0 937 938 //***************************************************************************** 939 // 940 // Register: PRCM_O_I2CCLKGS 941 // 942 //***************************************************************************** 943 // Field: [0] CLK_EN 944 // 945 // 946 // 0: Disable clock 947 // 1: Enable clock 948 // 949 // Can be forced on by I2CCLKGR.AM_CLK_EN 950 // 951 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 952 #define PRCM_I2CCLKGS_CLK_EN 0x00000001 953 #define PRCM_I2CCLKGS_CLK_EN_BITN 0 954 #define PRCM_I2CCLKGS_CLK_EN_M 0x00000001 955 #define PRCM_I2CCLKGS_CLK_EN_S 0 956 957 //***************************************************************************** 958 // 959 // Register: PRCM_O_I2CCLKGDS 960 // 961 //***************************************************************************** 962 // Field: [0] CLK_EN 963 // 964 // 965 // 0: Disable clock 966 // 1: Enable clock 967 // 968 // Can be forced on by I2CCLKGR.AM_CLK_EN 969 // 970 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 971 #define PRCM_I2CCLKGDS_CLK_EN 0x00000001 972 #define PRCM_I2CCLKGDS_CLK_EN_BITN 0 973 #define PRCM_I2CCLKGDS_CLK_EN_M 0x00000001 974 #define PRCM_I2CCLKGDS_CLK_EN_S 0 975 976 //***************************************************************************** 977 // 978 // Register: PRCM_O_UARTCLKGR 979 // 980 //***************************************************************************** 981 // Field: [9:8] AM_CLK_EN 982 // 983 // 984 // 0: No force 985 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 986 // 987 // Overrides CLK_EN, UARTCLKGS.CLK_EN and UARTCLKGDS.CLK_EN when enabled. 988 // 989 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 990 // ENUMs: 991 // AM_UART1 Enable clock for UART1 992 // AM_UART0 Enable clock for UART0 993 #define PRCM_UARTCLKGR_AM_CLK_EN_W 2 994 #define PRCM_UARTCLKGR_AM_CLK_EN_M 0x00000300 995 #define PRCM_UARTCLKGR_AM_CLK_EN_S 8 996 #define PRCM_UARTCLKGR_AM_CLK_EN_AM_UART1 0x00000200 997 #define PRCM_UARTCLKGR_AM_CLK_EN_AM_UART0 0x00000100 998 999 // Field: [1:0] CLK_EN 1000 // 1001 // 1002 // 0: Disable clock 1003 // 1: Enable clock 1004 // 1005 // Can be forced on by AM_CLK_EN 1006 // 1007 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1008 // ENUMs: 1009 // UART1 Enable clock for UART1 1010 // UART0 Enable clock for UART0 1011 #define PRCM_UARTCLKGR_CLK_EN_W 2 1012 #define PRCM_UARTCLKGR_CLK_EN_M 0x00000003 1013 #define PRCM_UARTCLKGR_CLK_EN_S 0 1014 #define PRCM_UARTCLKGR_CLK_EN_UART1 0x00000002 1015 #define PRCM_UARTCLKGR_CLK_EN_UART0 0x00000001 1016 1017 //***************************************************************************** 1018 // 1019 // Register: PRCM_O_UARTCLKGS 1020 // 1021 //***************************************************************************** 1022 // Field: [1:0] CLK_EN 1023 // 1024 // 1025 // 0: Disable clock 1026 // 1: Enable clock 1027 // 1028 // Can be forced on by UARTCLKGR.AM_CLK_EN 1029 // 1030 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1031 // ENUMs: 1032 // AM_UART1 Enable clock for UART1 1033 // AM_UART0 Enable clock for UART0 1034 #define PRCM_UARTCLKGS_CLK_EN_W 2 1035 #define PRCM_UARTCLKGS_CLK_EN_M 0x00000003 1036 #define PRCM_UARTCLKGS_CLK_EN_S 0 1037 #define PRCM_UARTCLKGS_CLK_EN_AM_UART1 0x00000002 1038 #define PRCM_UARTCLKGS_CLK_EN_AM_UART0 0x00000001 1039 1040 //***************************************************************************** 1041 // 1042 // Register: PRCM_O_UARTCLKGDS 1043 // 1044 //***************************************************************************** 1045 // Field: [1:0] CLK_EN 1046 // 1047 // 1048 // 0: Disable clock 1049 // 1: Enable clock 1050 // 1051 // Can be forced on by UARTCLKGR.AM_CLK_EN 1052 // 1053 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1054 // ENUMs: 1055 // AM_UART1 Enable clock for UART1 1056 // AM_UART0 Enable clock for UART0 1057 #define PRCM_UARTCLKGDS_CLK_EN_W 2 1058 #define PRCM_UARTCLKGDS_CLK_EN_M 0x00000003 1059 #define PRCM_UARTCLKGDS_CLK_EN_S 0 1060 #define PRCM_UARTCLKGDS_CLK_EN_AM_UART1 0x00000002 1061 #define PRCM_UARTCLKGDS_CLK_EN_AM_UART0 0x00000001 1062 1063 //***************************************************************************** 1064 // 1065 // Register: PRCM_O_SSICLKGR 1066 // 1067 //***************************************************************************** 1068 // Field: [9:8] AM_CLK_EN 1069 // 1070 // 1071 // 0: No force 1072 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 1073 // 1074 // Overrides CLK_EN, SSICLKGS.CLK_EN and SSICLKGDS.CLK_EN when enabled. 1075 // 1076 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1077 // ENUMs: 1078 // SSI1 Enable clock for SSI1 1079 // SSI0 Enable clock for SSI0 1080 #define PRCM_SSICLKGR_AM_CLK_EN_W 2 1081 #define PRCM_SSICLKGR_AM_CLK_EN_M 0x00000300 1082 #define PRCM_SSICLKGR_AM_CLK_EN_S 8 1083 #define PRCM_SSICLKGR_AM_CLK_EN_SSI1 0x00000200 1084 #define PRCM_SSICLKGR_AM_CLK_EN_SSI0 0x00000100 1085 1086 // Field: [1:0] CLK_EN 1087 // 1088 // 1089 // 0: Disable clock 1090 // 1: Enable clock 1091 // 1092 // Can be forced on by AM_CLK_EN 1093 // 1094 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1095 // ENUMs: 1096 // SSI1 Enable clock for SSI1 1097 // SSI0 Enable clock for SSI0 1098 #define PRCM_SSICLKGR_CLK_EN_W 2 1099 #define PRCM_SSICLKGR_CLK_EN_M 0x00000003 1100 #define PRCM_SSICLKGR_CLK_EN_S 0 1101 #define PRCM_SSICLKGR_CLK_EN_SSI1 0x00000002 1102 #define PRCM_SSICLKGR_CLK_EN_SSI0 0x00000001 1103 1104 //***************************************************************************** 1105 // 1106 // Register: PRCM_O_SSICLKGS 1107 // 1108 //***************************************************************************** 1109 // Field: [1:0] CLK_EN 1110 // 1111 // 1112 // 0: Disable clock 1113 // 1: Enable clock 1114 // 1115 // Can be forced on by SSICLKGR.AM_CLK_EN 1116 // 1117 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1118 // ENUMs: 1119 // SSI1 Enable clock for SSI1 1120 // SSI0 Enable clock for SSI0 1121 #define PRCM_SSICLKGS_CLK_EN_W 2 1122 #define PRCM_SSICLKGS_CLK_EN_M 0x00000003 1123 #define PRCM_SSICLKGS_CLK_EN_S 0 1124 #define PRCM_SSICLKGS_CLK_EN_SSI1 0x00000002 1125 #define PRCM_SSICLKGS_CLK_EN_SSI0 0x00000001 1126 1127 //***************************************************************************** 1128 // 1129 // Register: PRCM_O_SSICLKGDS 1130 // 1131 //***************************************************************************** 1132 // Field: [1:0] CLK_EN 1133 // 1134 // 1135 // 0: Disable clock 1136 // 1: Enable clock 1137 // 1138 // Can be forced on by SSICLKGR.AM_CLK_EN 1139 // 1140 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1141 // ENUMs: 1142 // SSI1 Enable clock for SSI1 1143 // SSI0 Enable clock for SSI0 1144 #define PRCM_SSICLKGDS_CLK_EN_W 2 1145 #define PRCM_SSICLKGDS_CLK_EN_M 0x00000003 1146 #define PRCM_SSICLKGDS_CLK_EN_S 0 1147 #define PRCM_SSICLKGDS_CLK_EN_SSI1 0x00000002 1148 #define PRCM_SSICLKGDS_CLK_EN_SSI0 0x00000001 1149 1150 //***************************************************************************** 1151 // 1152 // Register: PRCM_O_I2SCLKGR 1153 // 1154 //***************************************************************************** 1155 // Field: [8] AM_CLK_EN 1156 // 1157 // 1158 // 0: No force 1159 // 1: Force clock on for all modes (Run, Sleep and Deep Sleep) 1160 // 1161 // Overrides CLK_EN, I2SCLKGS.CLK_EN and I2SCLKGDS.CLK_EN when enabled. 1162 // SYSBUS clock will always run when enabled 1163 // 1164 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1165 #define PRCM_I2SCLKGR_AM_CLK_EN 0x00000100 1166 #define PRCM_I2SCLKGR_AM_CLK_EN_BITN 8 1167 #define PRCM_I2SCLKGR_AM_CLK_EN_M 0x00000100 1168 #define PRCM_I2SCLKGR_AM_CLK_EN_S 8 1169 1170 // Field: [0] CLK_EN 1171 // 1172 // 1173 // 0: Disable clock 1174 // 1: Enable clock 1175 // 1176 // Can be forced on by AM_CLK_EN 1177 // 1178 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1179 #define PRCM_I2SCLKGR_CLK_EN 0x00000001 1180 #define PRCM_I2SCLKGR_CLK_EN_BITN 0 1181 #define PRCM_I2SCLKGR_CLK_EN_M 0x00000001 1182 #define PRCM_I2SCLKGR_CLK_EN_S 0 1183 1184 //***************************************************************************** 1185 // 1186 // Register: PRCM_O_I2SCLKGS 1187 // 1188 //***************************************************************************** 1189 // Field: [0] CLK_EN 1190 // 1191 // 1192 // 0: Disable clock 1193 // 1: Enable clock 1194 // 1195 // Can be forced on by I2SCLKGR.AM_CLK_EN 1196 // 1197 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1198 #define PRCM_I2SCLKGS_CLK_EN 0x00000001 1199 #define PRCM_I2SCLKGS_CLK_EN_BITN 0 1200 #define PRCM_I2SCLKGS_CLK_EN_M 0x00000001 1201 #define PRCM_I2SCLKGS_CLK_EN_S 0 1202 1203 //***************************************************************************** 1204 // 1205 // Register: PRCM_O_I2SCLKGDS 1206 // 1207 //***************************************************************************** 1208 // Field: [0] CLK_EN 1209 // 1210 // 1211 // 0: Disable clock 1212 // 1: Enable clock 1213 // 1214 // SYSBUS clock will always run when enabled 1215 // 1216 // Can be forced on by I2SCLKGR.AM_CLK_EN 1217 // 1218 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1219 #define PRCM_I2SCLKGDS_CLK_EN 0x00000001 1220 #define PRCM_I2SCLKGDS_CLK_EN_BITN 0 1221 #define PRCM_I2SCLKGDS_CLK_EN_M 0x00000001 1222 #define PRCM_I2SCLKGDS_CLK_EN_S 0 1223 1224 //***************************************************************************** 1225 // 1226 // Register: PRCM_O_SYSBUSCLKDIV 1227 // 1228 //***************************************************************************** 1229 // Field: [2:0] RATIO 1230 // 1231 // Internal. Only to be used through TI provided API. 1232 // ENUMs: 1233 // DIV2 Internal. Only to be used through TI provided API. 1234 // DIV1 Internal. Only to be used through TI provided API. 1235 #define PRCM_SYSBUSCLKDIV_RATIO_W 3 1236 #define PRCM_SYSBUSCLKDIV_RATIO_M 0x00000007 1237 #define PRCM_SYSBUSCLKDIV_RATIO_S 0 1238 #define PRCM_SYSBUSCLKDIV_RATIO_DIV2 0x00000001 1239 #define PRCM_SYSBUSCLKDIV_RATIO_DIV1 0x00000000 1240 1241 //***************************************************************************** 1242 // 1243 // Register: PRCM_O_CPUCLKDIV 1244 // 1245 //***************************************************************************** 1246 // Field: [0] RATIO 1247 // 1248 // Internal. Only to be used through TI provided API. 1249 // ENUMs: 1250 // DIV2 Internal. Only to be used through TI provided API. 1251 // DIV1 Internal. Only to be used through TI provided API. 1252 #define PRCM_CPUCLKDIV_RATIO 0x00000001 1253 #define PRCM_CPUCLKDIV_RATIO_BITN 0 1254 #define PRCM_CPUCLKDIV_RATIO_M 0x00000001 1255 #define PRCM_CPUCLKDIV_RATIO_S 0 1256 #define PRCM_CPUCLKDIV_RATIO_DIV2 0x00000001 1257 #define PRCM_CPUCLKDIV_RATIO_DIV1 0x00000000 1258 1259 //***************************************************************************** 1260 // 1261 // Register: PRCM_O_PERBUSCPUCLKDIV 1262 // 1263 //***************************************************************************** 1264 // Field: [3:0] RATIO 1265 // 1266 // Internal. Only to be used through TI provided API. 1267 // ENUMs: 1268 // DIV256 Internal. Only to be used through TI provided API. 1269 // DIV128 Internal. Only to be used through TI provided API. 1270 // DIV64 Internal. Only to be used through TI provided API. 1271 // DIV32 Internal. Only to be used through TI provided API. 1272 // DIV16 Internal. Only to be used through TI provided API. 1273 // DIV8 Internal. Only to be used through TI provided API. 1274 // DIV4 Internal. Only to be used through TI provided API. 1275 // DIV2 Internal. Only to be used through TI provided API. 1276 // DIV1 Internal. Only to be used through TI provided API. 1277 #define PRCM_PERBUSCPUCLKDIV_RATIO_W 4 1278 #define PRCM_PERBUSCPUCLKDIV_RATIO_M 0x0000000F 1279 #define PRCM_PERBUSCPUCLKDIV_RATIO_S 0 1280 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV256 0x00000008 1281 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV128 0x00000007 1282 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV64 0x00000006 1283 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV32 0x00000005 1284 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV16 0x00000004 1285 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV8 0x00000003 1286 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV4 0x00000002 1287 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV2 0x00000001 1288 #define PRCM_PERBUSCPUCLKDIV_RATIO_DIV1 0x00000000 1289 1290 //***************************************************************************** 1291 // 1292 // Register: PRCM_O_PERDMACLKDIV 1293 // 1294 //***************************************************************************** 1295 // Field: [3:0] RATIO 1296 // 1297 // Internal. Only to be used through TI provided API. 1298 // ENUMs: 1299 // DIV256 Internal. Only to be used through TI provided API. 1300 // DIV128 Internal. Only to be used through TI provided API. 1301 // DIV64 Internal. Only to be used through TI provided API. 1302 // DIV32 Internal. Only to be used through TI provided API. 1303 // DIV16 Internal. Only to be used through TI provided API. 1304 // DIV8 Internal. Only to be used through TI provided API. 1305 // DIV4 Internal. Only to be used through TI provided API. 1306 // DIV2 Internal. Only to be used through TI provided API. 1307 // DIV1 Internal. Only to be used through TI provided API. 1308 #define PRCM_PERDMACLKDIV_RATIO_W 4 1309 #define PRCM_PERDMACLKDIV_RATIO_M 0x0000000F 1310 #define PRCM_PERDMACLKDIV_RATIO_S 0 1311 #define PRCM_PERDMACLKDIV_RATIO_DIV256 0x00000008 1312 #define PRCM_PERDMACLKDIV_RATIO_DIV128 0x00000007 1313 #define PRCM_PERDMACLKDIV_RATIO_DIV64 0x00000006 1314 #define PRCM_PERDMACLKDIV_RATIO_DIV32 0x00000005 1315 #define PRCM_PERDMACLKDIV_RATIO_DIV16 0x00000004 1316 #define PRCM_PERDMACLKDIV_RATIO_DIV8 0x00000003 1317 #define PRCM_PERDMACLKDIV_RATIO_DIV4 0x00000002 1318 #define PRCM_PERDMACLKDIV_RATIO_DIV2 0x00000001 1319 #define PRCM_PERDMACLKDIV_RATIO_DIV1 0x00000000 1320 1321 //***************************************************************************** 1322 // 1323 // Register: PRCM_O_I2SBCLKSEL 1324 // 1325 //***************************************************************************** 1326 // Field: [0] SRC 1327 // 1328 // BCLK source selector 1329 // 1330 // 0: Use external BCLK 1331 // 1: Use internally generated clock 1332 // 1333 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1334 #define PRCM_I2SBCLKSEL_SRC 0x00000001 1335 #define PRCM_I2SBCLKSEL_SRC_BITN 0 1336 #define PRCM_I2SBCLKSEL_SRC_M 0x00000001 1337 #define PRCM_I2SBCLKSEL_SRC_S 0 1338 1339 //***************************************************************************** 1340 // 1341 // Register: PRCM_O_GPTCLKDIV 1342 // 1343 //***************************************************************************** 1344 // Field: [3:0] RATIO 1345 // 1346 // Scalar used for GPTs. The division rate will be constant and ungated for Run 1347 // / Sleep / DeepSleep mode. For changes to take effect, CLKLOADCTL.LOAD 1348 // needs to be written Other values are not supported. 1349 // ENUMs: 1350 // DIV256 Divide by 256 1351 // DIV128 Divide by 128 1352 // DIV64 Divide by 64 1353 // DIV32 Divide by 32 1354 // DIV16 Divide by 16 1355 // DIV8 Divide by 8 1356 // DIV4 Divide by 4 1357 // DIV2 Divide by 2 1358 // DIV1 Divide by 1 1359 #define PRCM_GPTCLKDIV_RATIO_W 4 1360 #define PRCM_GPTCLKDIV_RATIO_M 0x0000000F 1361 #define PRCM_GPTCLKDIV_RATIO_S 0 1362 #define PRCM_GPTCLKDIV_RATIO_DIV256 0x00000008 1363 #define PRCM_GPTCLKDIV_RATIO_DIV128 0x00000007 1364 #define PRCM_GPTCLKDIV_RATIO_DIV64 0x00000006 1365 #define PRCM_GPTCLKDIV_RATIO_DIV32 0x00000005 1366 #define PRCM_GPTCLKDIV_RATIO_DIV16 0x00000004 1367 #define PRCM_GPTCLKDIV_RATIO_DIV8 0x00000003 1368 #define PRCM_GPTCLKDIV_RATIO_DIV4 0x00000002 1369 #define PRCM_GPTCLKDIV_RATIO_DIV2 0x00000001 1370 #define PRCM_GPTCLKDIV_RATIO_DIV1 0x00000000 1371 1372 //***************************************************************************** 1373 // 1374 // Register: PRCM_O_I2SCLKCTL 1375 // 1376 //***************************************************************************** 1377 // Field: [3] SMPL_ON_POSEDGE 1378 // 1379 // On the I2S serial interface, data and WCLK is sampled and clocked out on 1380 // opposite edges of BCLK. 1381 // 1382 // 0 - data and WCLK are sampled on the negative edge and clocked out on the 1383 // positive edge. 1384 // 1 - data and WCLK are sampled on the positive edge and clocked out on the 1385 // negative edge. 1386 // 1387 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1388 #define PRCM_I2SCLKCTL_SMPL_ON_POSEDGE 0x00000008 1389 #define PRCM_I2SCLKCTL_SMPL_ON_POSEDGE_BITN 3 1390 #define PRCM_I2SCLKCTL_SMPL_ON_POSEDGE_M 0x00000008 1391 #define PRCM_I2SCLKCTL_SMPL_ON_POSEDGE_S 3 1392 1393 // Field: [2:1] WCLK_PHASE 1394 // 1395 // Decides how the WCLK division ratio is calculated and used to generate 1396 // different duty cycles (See I2SWCLKDIV.WDIV). 1397 // 1398 // 0: Single phase 1399 // 1: Dual phase 1400 // 2: User Defined 1401 // 3: Reserved/Undefined 1402 // 1403 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1404 #define PRCM_I2SCLKCTL_WCLK_PHASE_W 2 1405 #define PRCM_I2SCLKCTL_WCLK_PHASE_M 0x00000006 1406 #define PRCM_I2SCLKCTL_WCLK_PHASE_S 1 1407 1408 // Field: [0] EN 1409 // 1410 // 1411 // 0: MCLK, BCLK and WCLK will be static low 1412 // 1: Enables the generation of MCLK, BCLK and WCLK 1413 // 1414 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1415 #define PRCM_I2SCLKCTL_EN 0x00000001 1416 #define PRCM_I2SCLKCTL_EN_BITN 0 1417 #define PRCM_I2SCLKCTL_EN_M 0x00000001 1418 #define PRCM_I2SCLKCTL_EN_S 0 1419 1420 //***************************************************************************** 1421 // 1422 // Register: PRCM_O_I2SMCLKDIV 1423 // 1424 //***************************************************************************** 1425 // Field: [9:0] MDIV 1426 // 1427 // An unsigned factor of the division ratio used to generate MCLK [2-1024]: 1428 // 1429 // MCLK = MCUCLK/MDIV[Hz] 1430 // MCUCLK is 48MHz. 1431 // 1432 // A value of 0 is interpreted as 1024. 1433 // A value of 1 is invalid. 1434 // If MDIV is odd the low phase of the clock is one MCUCLK period longer than 1435 // the high phase. 1436 // 1437 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1438 #define PRCM_I2SMCLKDIV_MDIV_W 10 1439 #define PRCM_I2SMCLKDIV_MDIV_M 0x000003FF 1440 #define PRCM_I2SMCLKDIV_MDIV_S 0 1441 1442 //***************************************************************************** 1443 // 1444 // Register: PRCM_O_I2SBCLKDIV 1445 // 1446 //***************************************************************************** 1447 // Field: [9:0] BDIV 1448 // 1449 // An unsigned factor of the division ratio used to generate I2S BCLK [2-1024]: 1450 // 1451 // BCLK = MCUCLK/BDIV[Hz] 1452 // MCUCLK is 48MHz. 1453 // 1454 // A value of 0 is interpreted as 1024. 1455 // A value of 1 is invalid. 1456 // If BDIV is odd and I2SCLKCTL.SMPL_ON_POSEDGE = 0, the low phase of the clock 1457 // is one MCUCLK period longer than the high phase. 1458 // If BDIV is odd and I2SCLKCTL.SMPL_ON_POSEDGE = 1 , the high phase of the 1459 // clock is one MCUCLK period longer than the low phase. 1460 // 1461 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1462 #define PRCM_I2SBCLKDIV_BDIV_W 10 1463 #define PRCM_I2SBCLKDIV_BDIV_M 0x000003FF 1464 #define PRCM_I2SBCLKDIV_BDIV_S 0 1465 1466 //***************************************************************************** 1467 // 1468 // Register: PRCM_O_I2SWCLKDIV 1469 // 1470 //***************************************************************************** 1471 // Field: [15:0] WDIV 1472 // 1473 // If I2SCLKCTL.WCLK_PHASE = 0, Single phase. 1474 // WCLK is high one BCLK period and low WDIV[9:0] (unsigned, [1-1023]) BCLK 1475 // periods. 1476 // 1477 // WCLK = MCUCLK / BDIV*(WDIV[9:0] + 1) [Hz] 1478 // MCUCLK is 48MHz. 1479 // 1480 // If I2SCLKCTL.WCLK_PHASE = 1, Dual phase. 1481 // Each phase on WCLK (50% duty cycle) is WDIV[9:0] (unsigned, [1-1023]) BCLK 1482 // periods. 1483 // 1484 // WCLK = MCUCLK / BDIV*(2*WDIV[9:0]) [Hz] 1485 // 1486 // If I2SCLKCTL.WCLK_PHASE = 2, User defined. 1487 // WCLK is high WDIV[7:0] (unsigned, [1-255]) BCLK periods and low WDIV[15:8] 1488 // (unsigned, [1-255]) BCLK periods. 1489 // 1490 // WCLK = MCUCLK / (BDIV*(WDIV[7:0] + WDIV[15:8]) [Hz] 1491 // 1492 // For changes to take effect, CLKLOADCTL.LOAD needs to be written 1493 #define PRCM_I2SWCLKDIV_WDIV_W 16 1494 #define PRCM_I2SWCLKDIV_WDIV_M 0x0000FFFF 1495 #define PRCM_I2SWCLKDIV_WDIV_S 0 1496 1497 //***************************************************************************** 1498 // 1499 // Register: PRCM_O_RESETSECDMA 1500 // 1501 //***************************************************************************** 1502 // Field: [8] DMA 1503 // 1504 // Write 1 to reset. HW cleared. 1505 // Acess will only have effect when PERIPH power domain is on, 1506 // PDSTAT0.PERIPH_ON = 1 1507 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1508 // activated while executing from flash. This means one cannot execute from 1509 // flash when using the SW reset. 1510 #define PRCM_RESETSECDMA_DMA 0x00000100 1511 #define PRCM_RESETSECDMA_DMA_BITN 8 1512 #define PRCM_RESETSECDMA_DMA_M 0x00000100 1513 #define PRCM_RESETSECDMA_DMA_S 8 1514 1515 // Field: [2] PKA 1516 // 1517 // Write 1 to reset. HW cleared. 1518 // Acess will only have effect when PERIPH power domain is on, 1519 // PDSTAT0.PERIPH_ON = 1 1520 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1521 // activated while executing from flash. This means one cannot execute from 1522 // flash when using the SW reset. 1523 #define PRCM_RESETSECDMA_PKA 0x00000004 1524 #define PRCM_RESETSECDMA_PKA_BITN 2 1525 #define PRCM_RESETSECDMA_PKA_M 0x00000004 1526 #define PRCM_RESETSECDMA_PKA_S 2 1527 1528 // Field: [1] TRNG 1529 // 1530 // Write 1 to reset. HW cleared. 1531 // Acess will only have effect when PERIPH power domain is on, 1532 // PDSTAT0.PERIPH_ON = 1 1533 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1534 // activated while executing from flash. This means one cannot execute from 1535 // flash when using the SW reset. 1536 #define PRCM_RESETSECDMA_TRNG 0x00000002 1537 #define PRCM_RESETSECDMA_TRNG_BITN 1 1538 #define PRCM_RESETSECDMA_TRNG_M 0x00000002 1539 #define PRCM_RESETSECDMA_TRNG_S 1 1540 1541 // Field: [0] CRYPTO 1542 // 1543 // Write 1 to reset. HW cleared. 1544 // Acess will only have effect when PERIPH power domain is on, 1545 // PDSTAT0.PERIPH_ON = 1 1546 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1547 // activated while executing from flash. This means one cannot execute from 1548 // flash when using the SW reset. 1549 #define PRCM_RESETSECDMA_CRYPTO 0x00000001 1550 #define PRCM_RESETSECDMA_CRYPTO_BITN 0 1551 #define PRCM_RESETSECDMA_CRYPTO_M 0x00000001 1552 #define PRCM_RESETSECDMA_CRYPTO_S 0 1553 1554 //***************************************************************************** 1555 // 1556 // Register: PRCM_O_RESETGPIO 1557 // 1558 //***************************************************************************** 1559 // Field: [0] GPIO 1560 // 1561 // 1562 // 0: No action 1563 // 1: Reset GPIO. HW cleared. 1564 // 1565 // Acess will only have effect when PERIPH power domain is on, 1566 // PDSTAT0.PERIPH_ON = 1 1567 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1568 // activated while executing from flash. This means one cannot execute from 1569 // flash when using the SW reset. 1570 #define PRCM_RESETGPIO_GPIO 0x00000001 1571 #define PRCM_RESETGPIO_GPIO_BITN 0 1572 #define PRCM_RESETGPIO_GPIO_M 0x00000001 1573 #define PRCM_RESETGPIO_GPIO_S 0 1574 1575 //***************************************************************************** 1576 // 1577 // Register: PRCM_O_RESETGPT 1578 // 1579 //***************************************************************************** 1580 // Field: [0] GPT 1581 // 1582 // 1583 // 0: No action 1584 // 1: Reset all GPTs. HW cleared. 1585 // 1586 // Acess will only have effect when PERIPH power domain is on, 1587 // PDSTAT0.PERIPH_ON = 1 1588 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1589 // activated while executing from flash. This means one cannot execute from 1590 // flash when using the SW reset. 1591 #define PRCM_RESETGPT_GPT 0x00000001 1592 #define PRCM_RESETGPT_GPT_BITN 0 1593 #define PRCM_RESETGPT_GPT_M 0x00000001 1594 #define PRCM_RESETGPT_GPT_S 0 1595 1596 //***************************************************************************** 1597 // 1598 // Register: PRCM_O_RESETI2C 1599 // 1600 //***************************************************************************** 1601 // Field: [0] I2C 1602 // 1603 // 1604 // 0: No action 1605 // 1: Reset I2C. HW cleared. 1606 // 1607 // Acess will only have effect when SERIAL power domain is on, 1608 // PDSTAT0.SERIAL_ON = 1 1609 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1610 // activated while executing from flash. This means one cannot execute from 1611 // flash when using the SW reset. 1612 #define PRCM_RESETI2C_I2C 0x00000001 1613 #define PRCM_RESETI2C_I2C_BITN 0 1614 #define PRCM_RESETI2C_I2C_M 0x00000001 1615 #define PRCM_RESETI2C_I2C_S 0 1616 1617 //***************************************************************************** 1618 // 1619 // Register: PRCM_O_RESETUART 1620 // 1621 //***************************************************************************** 1622 // Field: [1] UART1 1623 // 1624 // 1625 // 0: No action 1626 // 1: Reset UART1. HW cleared. 1627 // 1628 // Acess will only have effect when PERIPH power domain is on, 1629 // PDSTAT0.PERIPH_ON = 1 1630 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1631 // activated while executing from flash. This means one cannot execute from 1632 // flash when using the SW reset. 1633 #define PRCM_RESETUART_UART1 0x00000002 1634 #define PRCM_RESETUART_UART1_BITN 1 1635 #define PRCM_RESETUART_UART1_M 0x00000002 1636 #define PRCM_RESETUART_UART1_S 1 1637 1638 // Field: [0] UART0 1639 // 1640 // 1641 // 0: No action 1642 // 1: Reset UART0. HW cleared. 1643 // 1644 // Acess will only have effect when SERIAL power domain is on, 1645 // PDSTAT0.SERIAL_ON = 1 1646 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1647 // activated while executing from flash. This means one cannot execute from 1648 // flash when using the SW reset. 1649 #define PRCM_RESETUART_UART0 0x00000001 1650 #define PRCM_RESETUART_UART0_BITN 0 1651 #define PRCM_RESETUART_UART0_M 0x00000001 1652 #define PRCM_RESETUART_UART0_S 0 1653 1654 //***************************************************************************** 1655 // 1656 // Register: PRCM_O_RESETSSI 1657 // 1658 //***************************************************************************** 1659 // Field: [1:0] SSI 1660 // 1661 // SSI 0: 1662 // 1663 // 0: No action 1664 // 1: Reset SSI. HW cleared. 1665 // 1666 // Acess will only have effect when SERIAL power domain is on, 1667 // PDSTAT0.SERIAL_ON = 1 1668 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1669 // activated while executing from flash. This means one cannot execute from 1670 // flash when using the SW reset. 1671 // 1672 // SSI 1: 1673 // 1674 // 0: No action 1675 // 1: Reset SSI. HW cleared. 1676 // 1677 // Acess will only have effect when PERIPH power domain is on, 1678 // PDSTAT0.PERIPH_ON = 1 1679 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1680 // activated while executing from flash. This means one cannot execute from 1681 // flash when using the SW reset. 1682 #define PRCM_RESETSSI_SSI_W 2 1683 #define PRCM_RESETSSI_SSI_M 0x00000003 1684 #define PRCM_RESETSSI_SSI_S 0 1685 1686 //***************************************************************************** 1687 // 1688 // Register: PRCM_O_RESETI2S 1689 // 1690 //***************************************************************************** 1691 // Field: [0] I2S 1692 // 1693 // 1694 // 0: No action 1695 // 1: Reset module. HW cleared. 1696 // 1697 // Acess will only have effect when PERIPH power domain is on, 1698 // PDSTAT0.PERIPH_ON = 1 1699 // Before writing set FLASH:CFG.DIS_READACCESS = 1 to ensure the reset is not 1700 // activated while executing from flash. This means one cannot execute from 1701 // flash when using the SW reset. 1702 #define PRCM_RESETI2S_I2S 0x00000001 1703 #define PRCM_RESETI2S_I2S_BITN 0 1704 #define PRCM_RESETI2S_I2S_M 0x00000001 1705 #define PRCM_RESETI2S_I2S_S 0 1706 1707 //***************************************************************************** 1708 // 1709 // Register: PRCM_O_PDCTL0 1710 // 1711 //***************************************************************************** 1712 // Field: [2] PERIPH_ON 1713 // 1714 // PERIPH Power domain. 1715 // 1716 // 0: PERIPH power domain is powered down 1717 // 1: PERIPH power domain is powered up 1718 #define PRCM_PDCTL0_PERIPH_ON 0x00000004 1719 #define PRCM_PDCTL0_PERIPH_ON_BITN 2 1720 #define PRCM_PDCTL0_PERIPH_ON_M 0x00000004 1721 #define PRCM_PDCTL0_PERIPH_ON_S 2 1722 1723 // Field: [1] SERIAL_ON 1724 // 1725 // SERIAL Power domain. 1726 // 1727 // 0: SERIAL power domain is powered down 1728 // 1: SERIAL power domain is powered up 1729 #define PRCM_PDCTL0_SERIAL_ON 0x00000002 1730 #define PRCM_PDCTL0_SERIAL_ON_BITN 1 1731 #define PRCM_PDCTL0_SERIAL_ON_M 0x00000002 1732 #define PRCM_PDCTL0_SERIAL_ON_S 1 1733 1734 // Field: [0] RFC_ON 1735 // 1736 // 1737 // 0: RFC power domain powered off if also PDCTL1.RFC_ON = 0 1738 // 1: RFC power domain powered on 1739 #define PRCM_PDCTL0_RFC_ON 0x00000001 1740 #define PRCM_PDCTL0_RFC_ON_BITN 0 1741 #define PRCM_PDCTL0_RFC_ON_M 0x00000001 1742 #define PRCM_PDCTL0_RFC_ON_S 0 1743 1744 //***************************************************************************** 1745 // 1746 // Register: PRCM_O_PDCTL0RFC 1747 // 1748 //***************************************************************************** 1749 // Field: [0] ON 1750 // 1751 // Alias for PDCTL0.RFC_ON 1752 #define PRCM_PDCTL0RFC_ON 0x00000001 1753 #define PRCM_PDCTL0RFC_ON_BITN 0 1754 #define PRCM_PDCTL0RFC_ON_M 0x00000001 1755 #define PRCM_PDCTL0RFC_ON_S 0 1756 1757 //***************************************************************************** 1758 // 1759 // Register: PRCM_O_PDCTL0SERIAL 1760 // 1761 //***************************************************************************** 1762 // Field: [0] ON 1763 // 1764 // Alias for PDCTL0.SERIAL_ON 1765 #define PRCM_PDCTL0SERIAL_ON 0x00000001 1766 #define PRCM_PDCTL0SERIAL_ON_BITN 0 1767 #define PRCM_PDCTL0SERIAL_ON_M 0x00000001 1768 #define PRCM_PDCTL0SERIAL_ON_S 0 1769 1770 //***************************************************************************** 1771 // 1772 // Register: PRCM_O_PDCTL0PERIPH 1773 // 1774 //***************************************************************************** 1775 // Field: [0] ON 1776 // 1777 // Alias for PDCTL0.PERIPH_ON 1778 #define PRCM_PDCTL0PERIPH_ON 0x00000001 1779 #define PRCM_PDCTL0PERIPH_ON_BITN 0 1780 #define PRCM_PDCTL0PERIPH_ON_M 0x00000001 1781 #define PRCM_PDCTL0PERIPH_ON_S 0 1782 1783 //***************************************************************************** 1784 // 1785 // Register: PRCM_O_PDSTAT0 1786 // 1787 //***************************************************************************** 1788 // Field: [2] PERIPH_ON 1789 // 1790 // PERIPH Power domain. 1791 // 1792 // 0: Domain may be powered down 1793 // 1: Domain powered up (guaranteed) 1794 #define PRCM_PDSTAT0_PERIPH_ON 0x00000004 1795 #define PRCM_PDSTAT0_PERIPH_ON_BITN 2 1796 #define PRCM_PDSTAT0_PERIPH_ON_M 0x00000004 1797 #define PRCM_PDSTAT0_PERIPH_ON_S 2 1798 1799 // Field: [1] SERIAL_ON 1800 // 1801 // SERIAL Power domain. 1802 // 1803 // 0: Domain may be powered down 1804 // 1: Domain powered up (guaranteed) 1805 #define PRCM_PDSTAT0_SERIAL_ON 0x00000002 1806 #define PRCM_PDSTAT0_SERIAL_ON_BITN 1 1807 #define PRCM_PDSTAT0_SERIAL_ON_M 0x00000002 1808 #define PRCM_PDSTAT0_SERIAL_ON_S 1 1809 1810 // Field: [0] RFC_ON 1811 // 1812 // RFC Power domain 1813 // 1814 // 0: Domain may be powered down 1815 // 1: Domain powered up (guaranteed) 1816 #define PRCM_PDSTAT0_RFC_ON 0x00000001 1817 #define PRCM_PDSTAT0_RFC_ON_BITN 0 1818 #define PRCM_PDSTAT0_RFC_ON_M 0x00000001 1819 #define PRCM_PDSTAT0_RFC_ON_S 0 1820 1821 //***************************************************************************** 1822 // 1823 // Register: PRCM_O_PDSTAT0RFC 1824 // 1825 //***************************************************************************** 1826 // Field: [0] ON 1827 // 1828 // Alias for PDSTAT0.RFC_ON 1829 #define PRCM_PDSTAT0RFC_ON 0x00000001 1830 #define PRCM_PDSTAT0RFC_ON_BITN 0 1831 #define PRCM_PDSTAT0RFC_ON_M 0x00000001 1832 #define PRCM_PDSTAT0RFC_ON_S 0 1833 1834 //***************************************************************************** 1835 // 1836 // Register: PRCM_O_PDSTAT0SERIAL 1837 // 1838 //***************************************************************************** 1839 // Field: [0] ON 1840 // 1841 // Alias for PDSTAT0.SERIAL_ON 1842 #define PRCM_PDSTAT0SERIAL_ON 0x00000001 1843 #define PRCM_PDSTAT0SERIAL_ON_BITN 0 1844 #define PRCM_PDSTAT0SERIAL_ON_M 0x00000001 1845 #define PRCM_PDSTAT0SERIAL_ON_S 0 1846 1847 //***************************************************************************** 1848 // 1849 // Register: PRCM_O_PDSTAT0PERIPH 1850 // 1851 //***************************************************************************** 1852 // Field: [0] ON 1853 // 1854 // Alias for PDSTAT0.PERIPH_ON 1855 #define PRCM_PDSTAT0PERIPH_ON 0x00000001 1856 #define PRCM_PDSTAT0PERIPH_ON_BITN 0 1857 #define PRCM_PDSTAT0PERIPH_ON_M 0x00000001 1858 #define PRCM_PDSTAT0PERIPH_ON_S 0 1859 1860 //***************************************************************************** 1861 // 1862 // Register: PRCM_O_PDCTL1 1863 // 1864 //***************************************************************************** 1865 // Field: [4:3] VIMS_MODE 1866 // 1867 // 1868 // 00: VIMS power domain is only powered when CPU power domain is powered. 1869 // 01: VIMS power domain is powered whenever the BUS power domain is powered. 1870 // 1X: Block power up of VIMS power domain at next wake up. This mode only has 1871 // effect when VIMS power domain is not powered. Used for Autonomous RF Core. 1872 #define PRCM_PDCTL1_VIMS_MODE_W 2 1873 #define PRCM_PDCTL1_VIMS_MODE_M 0x00000018 1874 #define PRCM_PDCTL1_VIMS_MODE_S 3 1875 1876 // Field: [2] RFC_ON 1877 // 1878 // 0: RFC power domain powered off if also PDCTL0.RFC_ON = 0 1: RFC power 1879 // domain powered on Bit shall be used by RFC in autonomous mode but there is 1880 // no HW restrictions fom system CPU to access the bit. 1881 #define PRCM_PDCTL1_RFC_ON 0x00000004 1882 #define PRCM_PDCTL1_RFC_ON_BITN 2 1883 #define PRCM_PDCTL1_RFC_ON_M 0x00000004 1884 #define PRCM_PDCTL1_RFC_ON_S 2 1885 1886 // Field: [1] CPU_ON 1887 // 1888 // 1889 // 0: Causes a power down of the CPU power domain when system CPU indicates it 1890 // is idle. 1891 // 1: Initiates power-on of the CPU power domain. 1892 // 1893 // This bit is automatically set by a WIC power-on event. 1894 #define PRCM_PDCTL1_CPU_ON 0x00000002 1895 #define PRCM_PDCTL1_CPU_ON_BITN 1 1896 #define PRCM_PDCTL1_CPU_ON_M 0x00000002 1897 #define PRCM_PDCTL1_CPU_ON_S 1 1898 1899 //***************************************************************************** 1900 // 1901 // Register: PRCM_O_PDCTL1CPU 1902 // 1903 //***************************************************************************** 1904 // Field: [0] ON 1905 // 1906 // This is an alias for PDCTL1.CPU_ON 1907 #define PRCM_PDCTL1CPU_ON 0x00000001 1908 #define PRCM_PDCTL1CPU_ON_BITN 0 1909 #define PRCM_PDCTL1CPU_ON_M 0x00000001 1910 #define PRCM_PDCTL1CPU_ON_S 0 1911 1912 //***************************************************************************** 1913 // 1914 // Register: PRCM_O_PDCTL1RFC 1915 // 1916 //***************************************************************************** 1917 // Field: [0] ON 1918 // 1919 // This is an alias for PDCTL1.RFC_ON 1920 #define PRCM_PDCTL1RFC_ON 0x00000001 1921 #define PRCM_PDCTL1RFC_ON_BITN 0 1922 #define PRCM_PDCTL1RFC_ON_M 0x00000001 1923 #define PRCM_PDCTL1RFC_ON_S 0 1924 1925 //***************************************************************************** 1926 // 1927 // Register: PRCM_O_PDCTL1VIMS 1928 // 1929 //***************************************************************************** 1930 // Field: [1:0] MODE 1931 // 1932 // This is an alias for PDCTL1.VIMS_MODE 1933 #define PRCM_PDCTL1VIMS_MODE_W 2 1934 #define PRCM_PDCTL1VIMS_MODE_M 0x00000003 1935 #define PRCM_PDCTL1VIMS_MODE_S 0 1936 1937 //***************************************************************************** 1938 // 1939 // Register: PRCM_O_PDSTAT1 1940 // 1941 //***************************************************************************** 1942 // Field: [4] BUS_ON 1943 // 1944 // 1945 // 0: BUS domain not accessible 1946 // 1: BUS domain is currently accessible 1947 #define PRCM_PDSTAT1_BUS_ON 0x00000010 1948 #define PRCM_PDSTAT1_BUS_ON_BITN 4 1949 #define PRCM_PDSTAT1_BUS_ON_M 0x00000010 1950 #define PRCM_PDSTAT1_BUS_ON_S 4 1951 1952 // Field: [3] VIMS_ON 1953 // 1954 // 1955 // 0: VIMS domain not accessible 1956 // 1: VIMS domain is currently accessible 1957 #define PRCM_PDSTAT1_VIMS_ON 0x00000008 1958 #define PRCM_PDSTAT1_VIMS_ON_BITN 3 1959 #define PRCM_PDSTAT1_VIMS_ON_M 0x00000008 1960 #define PRCM_PDSTAT1_VIMS_ON_S 3 1961 1962 // Field: [2] RFC_ON 1963 // 1964 // 1965 // 0: RFC domain not accessible 1966 // 1: RFC domain is currently accessible 1967 #define PRCM_PDSTAT1_RFC_ON 0x00000004 1968 #define PRCM_PDSTAT1_RFC_ON_BITN 2 1969 #define PRCM_PDSTAT1_RFC_ON_M 0x00000004 1970 #define PRCM_PDSTAT1_RFC_ON_S 2 1971 1972 // Field: [1] CPU_ON 1973 // 1974 // 1975 // 0: CPU and BUS domain not accessible 1976 // 1: CPU and BUS domains are both currently accessible 1977 #define PRCM_PDSTAT1_CPU_ON 0x00000002 1978 #define PRCM_PDSTAT1_CPU_ON_BITN 1 1979 #define PRCM_PDSTAT1_CPU_ON_M 0x00000002 1980 #define PRCM_PDSTAT1_CPU_ON_S 1 1981 1982 //***************************************************************************** 1983 // 1984 // Register: PRCM_O_PDSTAT1BUS 1985 // 1986 //***************************************************************************** 1987 // Field: [0] ON 1988 // 1989 // This is an alias for PDSTAT1.BUS_ON 1990 #define PRCM_PDSTAT1BUS_ON 0x00000001 1991 #define PRCM_PDSTAT1BUS_ON_BITN 0 1992 #define PRCM_PDSTAT1BUS_ON_M 0x00000001 1993 #define PRCM_PDSTAT1BUS_ON_S 0 1994 1995 //***************************************************************************** 1996 // 1997 // Register: PRCM_O_PDSTAT1RFC 1998 // 1999 //***************************************************************************** 2000 // Field: [0] ON 2001 // 2002 // This is an alias for PDSTAT1.RFC_ON 2003 #define PRCM_PDSTAT1RFC_ON 0x00000001 2004 #define PRCM_PDSTAT1RFC_ON_BITN 0 2005 #define PRCM_PDSTAT1RFC_ON_M 0x00000001 2006 #define PRCM_PDSTAT1RFC_ON_S 0 2007 2008 //***************************************************************************** 2009 // 2010 // Register: PRCM_O_PDSTAT1CPU 2011 // 2012 //***************************************************************************** 2013 // Field: [0] ON 2014 // 2015 // This is an alias for PDSTAT1.CPU_ON 2016 #define PRCM_PDSTAT1CPU_ON 0x00000001 2017 #define PRCM_PDSTAT1CPU_ON_BITN 0 2018 #define PRCM_PDSTAT1CPU_ON_M 0x00000001 2019 #define PRCM_PDSTAT1CPU_ON_S 0 2020 2021 //***************************************************************************** 2022 // 2023 // Register: PRCM_O_PDSTAT1VIMS 2024 // 2025 //***************************************************************************** 2026 // Field: [0] ON 2027 // 2028 // This is an alias for PDSTAT1.VIMS_ON 2029 #define PRCM_PDSTAT1VIMS_ON 0x00000001 2030 #define PRCM_PDSTAT1VIMS_ON_BITN 0 2031 #define PRCM_PDSTAT1VIMS_ON_M 0x00000001 2032 #define PRCM_PDSTAT1VIMS_ON_S 0 2033 2034 //***************************************************************************** 2035 // 2036 // Register: PRCM_O_RFCBITS 2037 // 2038 //***************************************************************************** 2039 // Field: [31:0] READ 2040 // 2041 // Control bits for RFC. The RF core CPE processor will automatically check 2042 // this register when it boots, and it can be used to immediately instruct CPE 2043 // to perform some tasks at its start-up. The supported functionality is 2044 // ROM-defined and may vary. See the technical reference manual for more 2045 // details. 2046 #define PRCM_RFCBITS_READ_W 32 2047 #define PRCM_RFCBITS_READ_M 0xFFFFFFFF 2048 #define PRCM_RFCBITS_READ_S 0 2049 2050 //***************************************************************************** 2051 // 2052 // Register: PRCM_O_RFCMODESEL 2053 // 2054 //***************************************************************************** 2055 // Field: [2:0] CURR 2056 // 2057 // Selects the set of commands that the RFC will accept. Only modes permitted 2058 // by RFCMODEHWOPT.AVAIL are writeable. See the technical reference manual for 2059 // details. 2060 // ENUMs: 2061 // MODE7 Select Mode 7 2062 // MODE6 Select Mode 6 2063 // MODE5 Select Mode 5 2064 // MODE4 Select Mode 4 2065 // MODE3 Select Mode 3 2066 // MODE2 Select Mode 2 2067 // MODE1 Select Mode 1 2068 // MODE0 Select Mode 0 2069 #define PRCM_RFCMODESEL_CURR_W 3 2070 #define PRCM_RFCMODESEL_CURR_M 0x00000007 2071 #define PRCM_RFCMODESEL_CURR_S 0 2072 #define PRCM_RFCMODESEL_CURR_MODE7 0x00000007 2073 #define PRCM_RFCMODESEL_CURR_MODE6 0x00000006 2074 #define PRCM_RFCMODESEL_CURR_MODE5 0x00000005 2075 #define PRCM_RFCMODESEL_CURR_MODE4 0x00000004 2076 #define PRCM_RFCMODESEL_CURR_MODE3 0x00000003 2077 #define PRCM_RFCMODESEL_CURR_MODE2 0x00000002 2078 #define PRCM_RFCMODESEL_CURR_MODE1 0x00000001 2079 #define PRCM_RFCMODESEL_CURR_MODE0 0x00000000 2080 2081 //***************************************************************************** 2082 // 2083 // Register: PRCM_O_RFCMODEHWOPT 2084 // 2085 //***************************************************************************** 2086 // Field: [7:0] AVAIL 2087 // 2088 // Permitted RFC modes. More than one mode can be permitted. 2089 // ENUMs: 2090 // MODE7 Mode 7 permitted 2091 // MODE6 Mode 6 permitted 2092 // MODE5 Mode 5 permitted 2093 // MODE4 Mode 4 permitted 2094 // MODE3 Mode 3 permitted 2095 // MODE2 Mode 2 permitted 2096 // MODE1 Mode 1 permitted 2097 // MODE0 Mode 0 permitted 2098 #define PRCM_RFCMODEHWOPT_AVAIL_W 8 2099 #define PRCM_RFCMODEHWOPT_AVAIL_M 0x000000FF 2100 #define PRCM_RFCMODEHWOPT_AVAIL_S 0 2101 #define PRCM_RFCMODEHWOPT_AVAIL_MODE7 0x00000080 2102 #define PRCM_RFCMODEHWOPT_AVAIL_MODE6 0x00000040 2103 #define PRCM_RFCMODEHWOPT_AVAIL_MODE5 0x00000020 2104 #define PRCM_RFCMODEHWOPT_AVAIL_MODE4 0x00000010 2105 #define PRCM_RFCMODEHWOPT_AVAIL_MODE3 0x00000008 2106 #define PRCM_RFCMODEHWOPT_AVAIL_MODE2 0x00000004 2107 #define PRCM_RFCMODEHWOPT_AVAIL_MODE1 0x00000002 2108 #define PRCM_RFCMODEHWOPT_AVAIL_MODE0 0x00000001 2109 2110 //***************************************************************************** 2111 // 2112 // Register: PRCM_O_PWRPROFSTAT 2113 // 2114 //***************************************************************************** 2115 // Field: [7:0] VALUE 2116 // 2117 // SW can use these bits to timestamp the application. These bits are also 2118 // available through the testtap and can thus be used by the emulator to 2119 // profile in real time. 2120 #define PRCM_PWRPROFSTAT_VALUE_W 8 2121 #define PRCM_PWRPROFSTAT_VALUE_M 0x000000FF 2122 #define PRCM_PWRPROFSTAT_VALUE_S 0 2123 2124 //***************************************************************************** 2125 // 2126 // Register: PRCM_O_RAMRETEN 2127 // 2128 //***************************************************************************** 2129 // Field: [3] RFCULL 2130 // 2131 // 0: Retention for RFC ULL SRAM disabled 2132 // 1: Retention for RFC ULL SRAM enabled 2133 // 2134 // Memories controlled: 2135 // CPEULLRAM 2136 #define PRCM_RAMRETEN_RFCULL 0x00000008 2137 #define PRCM_RAMRETEN_RFCULL_BITN 3 2138 #define PRCM_RAMRETEN_RFCULL_M 0x00000008 2139 #define PRCM_RAMRETEN_RFCULL_S 3 2140 2141 // Field: [2] RFC 2142 // 2143 // 0: Retention for RFC SRAM disabled 2144 // 1: Retention for RFC SRAM enabled 2145 // 2146 // Memories controlled: CPERAM MCERAM RFERAM DSBRAM 2147 #define PRCM_RAMRETEN_RFC 0x00000004 2148 #define PRCM_RAMRETEN_RFC_BITN 2 2149 #define PRCM_RAMRETEN_RFC_M 0x00000004 2150 #define PRCM_RAMRETEN_RFC_S 2 2151 2152 // Field: [1:0] VIMS 2153 // 2154 // 2155 // 0: Memory retention disabled 2156 // 1: Memory retention enabled 2157 // 2158 // Bit 0: VIMS_TRAM 2159 // Bit 1: VIMS_CRAM 2160 // 2161 // Legal modes depend on settings in VIMS:CTL.MODE 2162 // 2163 // 00: VIMS:CTL.MODE must be OFF before DEEPSLEEP is asserted - must be set to 2164 // CACHE or SPLIT mode after waking up again 2165 // 01: VIMS:CTL.MODE must be GPRAM before DEEPSLEEP is asserted. Must remain in 2166 // GPRAM mode after wake up, alternatively select OFF mode first and then CACHE 2167 // or SPILT mode. 2168 // 10: Illegal mode 2169 // 11: No restrictions 2170 #define PRCM_RAMRETEN_VIMS_W 2 2171 #define PRCM_RAMRETEN_VIMS_M 0x00000003 2172 #define PRCM_RAMRETEN_VIMS_S 0 2173 2174 //***************************************************************************** 2175 // 2176 // Register: PRCM_O_OSCIMSC 2177 // 2178 //***************************************************************************** 2179 // Field: [7] HFSRCPENDIM 2180 // 2181 // 0: Disable interrupt generation when HFSRCPEND is qualified 2182 // 1: Enable interrupt generation when HFSRCPEND is qualified 2183 #define PRCM_OSCIMSC_HFSRCPENDIM 0x00000080 2184 #define PRCM_OSCIMSC_HFSRCPENDIM_BITN 7 2185 #define PRCM_OSCIMSC_HFSRCPENDIM_M 0x00000080 2186 #define PRCM_OSCIMSC_HFSRCPENDIM_S 7 2187 2188 // Field: [6] LFSRCDONEIM 2189 // 2190 // 0: Disable interrupt generation when LFSRCDONE is qualified 2191 // 1: Enable interrupt generation when LFSRCDONE is qualified 2192 #define PRCM_OSCIMSC_LFSRCDONEIM 0x00000040 2193 #define PRCM_OSCIMSC_LFSRCDONEIM_BITN 6 2194 #define PRCM_OSCIMSC_LFSRCDONEIM_M 0x00000040 2195 #define PRCM_OSCIMSC_LFSRCDONEIM_S 6 2196 2197 // Field: [5] XOSCDLFIM 2198 // 2199 // 0: Disable interrupt generation when XOSCDLF is qualified 2200 // 1: Enable interrupt generation when XOSCDLF is qualified 2201 #define PRCM_OSCIMSC_XOSCDLFIM 0x00000020 2202 #define PRCM_OSCIMSC_XOSCDLFIM_BITN 5 2203 #define PRCM_OSCIMSC_XOSCDLFIM_M 0x00000020 2204 #define PRCM_OSCIMSC_XOSCDLFIM_S 5 2205 2206 // Field: [4] XOSCLFIM 2207 // 2208 // 0: Disable interrupt generation when XOSCLF is qualified 2209 // 1: Enable interrupt generation when XOSCLF is qualified 2210 #define PRCM_OSCIMSC_XOSCLFIM 0x00000010 2211 #define PRCM_OSCIMSC_XOSCLFIM_BITN 4 2212 #define PRCM_OSCIMSC_XOSCLFIM_M 0x00000010 2213 #define PRCM_OSCIMSC_XOSCLFIM_S 4 2214 2215 // Field: [3] RCOSCDLFIM 2216 // 2217 // 0: Disable interrupt generation when RCOSCDLF is qualified 2218 // 1: Enable interrupt generation when RCOSCDLF is qualified 2219 #define PRCM_OSCIMSC_RCOSCDLFIM 0x00000008 2220 #define PRCM_OSCIMSC_RCOSCDLFIM_BITN 3 2221 #define PRCM_OSCIMSC_RCOSCDLFIM_M 0x00000008 2222 #define PRCM_OSCIMSC_RCOSCDLFIM_S 3 2223 2224 // Field: [2] RCOSCLFIM 2225 // 2226 // 0: Disable interrupt generation when RCOSCLF is qualified 2227 // 1: Enable interrupt generation when RCOSCLF is qualified 2228 #define PRCM_OSCIMSC_RCOSCLFIM 0x00000004 2229 #define PRCM_OSCIMSC_RCOSCLFIM_BITN 2 2230 #define PRCM_OSCIMSC_RCOSCLFIM_M 0x00000004 2231 #define PRCM_OSCIMSC_RCOSCLFIM_S 2 2232 2233 // Field: [1] XOSCHFIM 2234 // 2235 // 0: Disable interrupt generation when XOSCHF is qualified 2236 // 1: Enable interrupt generation when XOSCHF is qualified 2237 #define PRCM_OSCIMSC_XOSCHFIM 0x00000002 2238 #define PRCM_OSCIMSC_XOSCHFIM_BITN 1 2239 #define PRCM_OSCIMSC_XOSCHFIM_M 0x00000002 2240 #define PRCM_OSCIMSC_XOSCHFIM_S 1 2241 2242 // Field: [0] RCOSCHFIM 2243 // 2244 // 0: Disable interrupt generation when RCOSCHF is qualified 2245 // 1: Enable interrupt generation when RCOSCHF is qualified 2246 #define PRCM_OSCIMSC_RCOSCHFIM 0x00000001 2247 #define PRCM_OSCIMSC_RCOSCHFIM_BITN 0 2248 #define PRCM_OSCIMSC_RCOSCHFIM_M 0x00000001 2249 #define PRCM_OSCIMSC_RCOSCHFIM_S 0 2250 2251 //***************************************************************************** 2252 // 2253 // Register: PRCM_O_OSCRIS 2254 // 2255 //***************************************************************************** 2256 // Field: [7] HFSRCPENDRIS 2257 // 2258 // SCLK_HF source switch pending interrupt. 2259 // 2260 // After a write to DDI_0_OSC:CTL0.SCLK_HF_SRC_SEL leads to a SCLK_HF source 2261 // change request, then the requested SCLK_HF source will be enabled and 2262 // qualified. When the new source is ready to be used as a clock source, then 2263 // the interrupt HSSRCPENDRIS will go high. When the Flash allows SCLK_HF 2264 // source switching to take place after flash memory read access is disabled. 2265 // At this time the actual SCLK_HF clock source switch will be performed, and 2266 // the interrupt status HSSRCPENDRIS will go low. 2267 // 2268 // 0: Indicates SCLK_HF source is not ready to be switched 2269 // 1: Indicates SCLK_HF source is ready to be switched 2270 // 2271 // Interrupt is qualified regardless of OSCIMSC.HFSRCPENDIM setting. The order 2272 // of qualifying raw interrupt and enable of interrupt mask is indifferent for 2273 // generating an OSC Interrupt. 2274 // 2275 // Set by HW. Cleared by writing to OSCICR.HFSRCPENDC 2276 #define PRCM_OSCRIS_HFSRCPENDRIS 0x00000080 2277 #define PRCM_OSCRIS_HFSRCPENDRIS_BITN 7 2278 #define PRCM_OSCRIS_HFSRCPENDRIS_M 0x00000080 2279 #define PRCM_OSCRIS_HFSRCPENDRIS_S 7 2280 2281 // Field: [6] LFSRCDONERIS 2282 // 2283 // SCLK_LF source switch done. 2284 // 2285 // The DDI_0_OSC:CTL0.SCLK_LF_SRC_SEL register field is used to request that 2286 // the SCLK_LF source shall be changed. After an SCLK_LF clock source change is 2287 // requested, the new source may need to be enabled and qualified before 2288 // switching of clock source can be done. The interrupt LFRSRCDONERIS goes high 2289 // to indicate that the SCLK_LF clock source switching has been performed. 2290 // LFRSRCDONERIS will go low again when the next clock source change is 2291 // requested by writing to DDI_0_OSC:CTL0.SCLK_LF_SRC_SEL . 2292 // 2293 // 0: Indicates SCLK_LF source switch has not completed 2294 // 1: Indicates SCLK_LF source switch has completed 2295 // 2296 // Interrupt is qualified regardless of OSCIMSC.LFSRCDONEIM setting. The order 2297 // of qualifying raw interrupt and enable of interrupt mask is indifferent for 2298 // generating an OSC Interrupt. 2299 // 2300 // Set by HW. Cleared by writing to OSCICR.LFSRCDONEC 2301 #define PRCM_OSCRIS_LFSRCDONERIS 0x00000040 2302 #define PRCM_OSCRIS_LFSRCDONERIS_BITN 6 2303 #define PRCM_OSCRIS_LFSRCDONERIS_M 0x00000040 2304 #define PRCM_OSCRIS_LFSRCDONERIS_S 6 2305 2306 // Field: [5] XOSCDLFRIS 2307 // 2308 // The XOSCDLFRIS interrupt indicates when the XOSC_HF oscillator is ready to 2309 // be used as a derived low-frequency clock source for SCLK_LF or ACLK_REF. 2310 // When XOSCDLFRIS is high, XOSC_HF will be used as source for SCLK_LF when 2311 // selected. When none of the system clocks have XOSC_HF selected as clock 2312 // source, the XOSC_HF source is automatically disabled and the XOSCDLFRIS 2313 // interrupt status will go low. 2314 // 2315 // 0: XOSCDLF has not been qualified 2316 // 1: XOSCDLF has been qualified 2317 // 2318 // Interrupt is qualified regardless of OSCIMSC.XOSCDLFIM setting. The order of 2319 // qualifying raw interrupt and enable of interrupt mask is indifferent for 2320 // generating an OSC Interrupt. 2321 // 2322 // Set by HW. Cleared by writing to OSCICR.XOSCDLFC 2323 #define PRCM_OSCRIS_XOSCDLFRIS 0x00000020 2324 #define PRCM_OSCRIS_XOSCDLFRIS_BITN 5 2325 #define PRCM_OSCRIS_XOSCDLFRIS_M 0x00000020 2326 #define PRCM_OSCRIS_XOSCDLFRIS_S 5 2327 2328 // Field: [4] XOSCLFRIS 2329 // 2330 // The XOSCLFRIS interrupt indicates when the output of the XOSC_LF oscillator 2331 // has been qualified with respect to frequency. The XOSCLFRIS interrupt status 2332 // goes high when the XOSC_LF oscillator is ready to be used as a clock source. 2333 // After the clock qualification is successful, XOSCLFRIS interrupt status 2334 // remains high, and further qualification is turned off until the XOSC_LF 2335 // oscillator is disabled. XOSCLFRIS interrupt status will go low only at 2336 // initial power-on, or after the XOSC_LF oscillator has been disabled when 2337 // being deselected as a clock source. 2338 // 2339 // 0: XOSCLF has not been qualified 2340 // 1: XOSCLF has been qualified 2341 // 2342 // Interrupt is qualified regardless of OSCIMSC.XOSCLFIM setting. The order of 2343 // qualifying raw interrupt and enable of interrupt mask is indifferent for 2344 // generating an OSC Interrupt. 2345 // 2346 // Set by HW. Cleared by writing to OSCICR.XOSCLFC 2347 #define PRCM_OSCRIS_XOSCLFRIS 0x00000010 2348 #define PRCM_OSCRIS_XOSCLFRIS_BITN 4 2349 #define PRCM_OSCRIS_XOSCLFRIS_M 0x00000010 2350 #define PRCM_OSCRIS_XOSCLFRIS_S 4 2351 2352 // Field: [3] RCOSCDLFRIS 2353 // 2354 // The RCOSCDLFRIS interrupt indicates when the RCOSC_HF oscillator is ready to 2355 // be used as a derived low-frequency clock source for SCLK_LF or ACLK_REF. 2356 // When RCOSCDLFRIS is high, RCOSC_HF will be used as source for SCLK_LF when 2357 // selected. When none of the system clocks have RCOSC_HF selected as clock 2358 // source, the RCOSC_HF source is automatically disabled and the RCOSCDLFRIS 2359 // interrupt status will go low. 2360 // If the SCLK_LF or ACLK_REF source is changed from RCOSC_HF derived to 2361 // XOSC_HF derived low-frequency clock and the new source has not been 2362 // qualified, then the clock will remain running on the original source. The 2363 // RCOSCDLFRIS interrupt will then remain high. 2364 // 2365 // 0: RCOSCDLF has not been qualified 2366 // 1: RCOSCDLF has been qualified 2367 // 2368 // Interrupt is qualified regardless of OSCIMSC.RCOSCDLFIM setting. The order 2369 // of qualifying raw interrupt and enable of interrupt mask is indifferent for 2370 // generating an OSC Interrupt. 2371 // 2372 // Set by HW. Cleared by writing to OSCICR.RCOSCDLFC 2373 #define PRCM_OSCRIS_RCOSCDLFRIS 0x00000008 2374 #define PRCM_OSCRIS_RCOSCDLFRIS_BITN 3 2375 #define PRCM_OSCRIS_RCOSCDLFRIS_M 0x00000008 2376 #define PRCM_OSCRIS_RCOSCDLFRIS_S 3 2377 2378 // Field: [2] RCOSCLFRIS 2379 // 2380 // The RCOSCLFRIS interrupt indicates when the output of the RCOSC_LF 2381 // oscillator has been qualified with respect to frequency. The RCOSCLFRIS 2382 // interrupt status goes high when the RCOSC_LF oscillator is ready to be used 2383 // as a clock source. 2384 // After the clock qualification is successful, RCOSCLFRIS interrupt status 2385 // remains high, and further qualification is turned off until the RCOSC_LF 2386 // oscillator is disabled. RCOSCLFRIS interrupt status will go low only at 2387 // initial power-on, or after the RCOSC_LF oscillator has been disabled when 2388 // being deselected as a clock source. 2389 // 2390 // 0: RCOSCLF has not been qualified 2391 // 1: RCOSCLF has been qualified 2392 // 2393 // Interrupt is qualified regardless of OSCIMSC.RCOSCLFIM setting. The order of 2394 // qualifying raw interrupt and enable of interrupt mask is indifferent for 2395 // generating an OSC Interrupt. 2396 // 2397 // Set by HW. Cleared by writing to OSCICR.RCOSCLFC 2398 #define PRCM_OSCRIS_RCOSCLFRIS 0x00000004 2399 #define PRCM_OSCRIS_RCOSCLFRIS_BITN 2 2400 #define PRCM_OSCRIS_RCOSCLFRIS_M 0x00000004 2401 #define PRCM_OSCRIS_RCOSCLFRIS_S 2 2402 2403 // Field: [1] XOSCHFRIS 2404 // 2405 // The XOSCHFRIS interrupt indicates when the XOSC_HF oscillator has been 2406 // qualified for use as a clock source. XOSCHFRIS is also used in TCXO mode 2407 // (when DDI_0_OSC:XOSCHFCTL.TCXO_MODE is 1). 2408 // When the XOSCHFRIS interrupt is high, the oscillator is qualified and will 2409 // be used as a clock source when selected. The XOSCHFRIS interrupt goes low 2410 // when the oscillator is disabled after being deselected as a clock source. 2411 // 2412 // 2413 // 0: XOSC_HF has not been qualified 2414 // 1: XOSC_HF has been qualified 2415 // 2416 // Interrupt is qualified regardless of OSCIMSC.XOSCHFIM setting. The order of 2417 // qualifying raw interrupt and enable of interrupt mask is indifferent for 2418 // generating an OSC Interrupt. 2419 // 2420 // Set by HW. Cleared by writing to OSCICR.XOSCHFC 2421 #define PRCM_OSCRIS_XOSCHFRIS 0x00000002 2422 #define PRCM_OSCRIS_XOSCHFRIS_BITN 1 2423 #define PRCM_OSCRIS_XOSCHFRIS_M 0x00000002 2424 #define PRCM_OSCRIS_XOSCHFRIS_S 1 2425 2426 // Field: [0] RCOSCHFRIS 2427 // 2428 // The RCOSCHFRIS interrupt indicates when the RCOSC_HF oscillator has been 2429 // qualified for use as a clock source When the RCOSCHFRIS interrupt is high, 2430 // the oscillator is qualified and will be used as a clock source when 2431 // selected. The RCOSCHFRIS interrupt goes low when the oscillator is disabled 2432 // after being deselected as a clock source. 2433 // 2434 // 0: RCOSC_HF has not been qualified 2435 // 1: RCOSC_HF has been qualified 2436 // 2437 // Interrupt is qualified regardless of OSCIMSC.RCOSCHFIM setting. The order of 2438 // qualifying raw interrupt and enable of interrupt mask is indifferent for 2439 // generating an OSC Interrupt. 2440 // 2441 // Set by HW. Cleared by writing to OSCICR.RCOSCHFC 2442 #define PRCM_OSCRIS_RCOSCHFRIS 0x00000001 2443 #define PRCM_OSCRIS_RCOSCHFRIS_BITN 0 2444 #define PRCM_OSCRIS_RCOSCHFRIS_M 0x00000001 2445 #define PRCM_OSCRIS_RCOSCHFRIS_S 0 2446 2447 //***************************************************************************** 2448 // 2449 // Register: PRCM_O_OSCICR 2450 // 2451 //***************************************************************************** 2452 // Field: [7] HFSRCPENDC 2453 // 2454 // Writing 1 to this field clears the HFSRCPEND raw interrupt status. Writing 0 2455 // has no effect. 2456 #define PRCM_OSCICR_HFSRCPENDC 0x00000080 2457 #define PRCM_OSCICR_HFSRCPENDC_BITN 7 2458 #define PRCM_OSCICR_HFSRCPENDC_M 0x00000080 2459 #define PRCM_OSCICR_HFSRCPENDC_S 7 2460 2461 // Field: [6] LFSRCDONEC 2462 // 2463 // Writing 1 to this field clears the LFSRCDONE raw interrupt status. Writing 0 2464 // has no effect. 2465 #define PRCM_OSCICR_LFSRCDONEC 0x00000040 2466 #define PRCM_OSCICR_LFSRCDONEC_BITN 6 2467 #define PRCM_OSCICR_LFSRCDONEC_M 0x00000040 2468 #define PRCM_OSCICR_LFSRCDONEC_S 6 2469 2470 // Field: [5] XOSCDLFC 2471 // 2472 // Writing 1 to this field clears the XOSCDLF raw interrupt status. Writing 0 2473 // has no effect. 2474 #define PRCM_OSCICR_XOSCDLFC 0x00000020 2475 #define PRCM_OSCICR_XOSCDLFC_BITN 5 2476 #define PRCM_OSCICR_XOSCDLFC_M 0x00000020 2477 #define PRCM_OSCICR_XOSCDLFC_S 5 2478 2479 // Field: [4] XOSCLFC 2480 // 2481 // Writing 1 to this field clears the XOSCLF raw interrupt status. Writing 0 2482 // has no effect. 2483 #define PRCM_OSCICR_XOSCLFC 0x00000010 2484 #define PRCM_OSCICR_XOSCLFC_BITN 4 2485 #define PRCM_OSCICR_XOSCLFC_M 0x00000010 2486 #define PRCM_OSCICR_XOSCLFC_S 4 2487 2488 // Field: [3] RCOSCDLFC 2489 // 2490 // Writing 1 to this field clears the RCOSCDLF raw interrupt status. Writing 0 2491 // has no effect. 2492 #define PRCM_OSCICR_RCOSCDLFC 0x00000008 2493 #define PRCM_OSCICR_RCOSCDLFC_BITN 3 2494 #define PRCM_OSCICR_RCOSCDLFC_M 0x00000008 2495 #define PRCM_OSCICR_RCOSCDLFC_S 3 2496 2497 // Field: [2] RCOSCLFC 2498 // 2499 // Writing 1 to this field clears the RCOSCLF raw interrupt status. Writing 0 2500 // has no effect. 2501 #define PRCM_OSCICR_RCOSCLFC 0x00000004 2502 #define PRCM_OSCICR_RCOSCLFC_BITN 2 2503 #define PRCM_OSCICR_RCOSCLFC_M 0x00000004 2504 #define PRCM_OSCICR_RCOSCLFC_S 2 2505 2506 // Field: [1] XOSCHFC 2507 // 2508 // Writing 1 to this field clears the XOSCHF raw interrupt status. Writing 0 2509 // has no effect. 2510 #define PRCM_OSCICR_XOSCHFC 0x00000002 2511 #define PRCM_OSCICR_XOSCHFC_BITN 1 2512 #define PRCM_OSCICR_XOSCHFC_M 0x00000002 2513 #define PRCM_OSCICR_XOSCHFC_S 1 2514 2515 // Field: [0] RCOSCHFC 2516 // 2517 // Writing 1 to this field clears the RCOSCHF raw interrupt status. Writing 0 2518 // has no effect. 2519 #define PRCM_OSCICR_RCOSCHFC 0x00000001 2520 #define PRCM_OSCICR_RCOSCHFC_BITN 0 2521 #define PRCM_OSCICR_RCOSCHFC_M 0x00000001 2522 #define PRCM_OSCICR_RCOSCHFC_S 0 2523 2524 2525 #endif // __PRCM__ 2526