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