1 /******************************************************************************
2 *  Filename:       hw_aon_pmctl_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_AON_PMCTL_H__
38 #define __HW_AON_PMCTL_H__
39 
40 //*****************************************************************************
41 //
42 // This section defines the register offsets of
43 // AON_PMCTL component
44 //
45 //*****************************************************************************
46 // AUX SCE Clock Management
47 #define AON_PMCTL_O_AUXSCECLK                                       0x00000004
48 
49 // RAM Configuration
50 #define AON_PMCTL_O_RAMCFG                                          0x00000008
51 
52 // Power Management Control
53 #define AON_PMCTL_O_PWRCTL                                          0x00000010
54 
55 // AON Power and Reset Status
56 #define AON_PMCTL_O_PWRSTAT                                         0x00000014
57 
58 // Shutdown Control
59 #define AON_PMCTL_O_SHUTDOWN                                        0x00000018
60 
61 // Recharge Controller Configuration
62 #define AON_PMCTL_O_RECHARGECFG                                     0x0000001C
63 
64 // Recharge Controller Status
65 #define AON_PMCTL_O_RECHARGESTAT                                    0x00000020
66 
67 // Oscillator Configuration
68 #define AON_PMCTL_O_OSCCFG                                          0x00000024
69 
70 // Reset Management
71 #define AON_PMCTL_O_RESETCTL                                        0x00000028
72 
73 // Sleep Control
74 #define AON_PMCTL_O_SLEEPCTL                                        0x0000002C
75 
76 // JTAG Configuration
77 #define AON_PMCTL_O_JTAGCFG                                         0x00000034
78 
79 // JTAG USERCODE
80 #define AON_PMCTL_O_JTAGUSERCODE                                    0x0000003C
81 
82 //*****************************************************************************
83 //
84 // Register: AON_PMCTL_O_AUXSCECLK
85 //
86 //*****************************************************************************
87 // Field:     [8] PD_SRC
88 //
89 // Selects the clock source for the AUX domain when AUX is in powerdown mode.
90 // Note: Switching the clock source is guaranteed to be glitch-free
91 // ENUMs:
92 // SCLK_LF                  LF clock (SCLK_LF )
93 // NO_CLOCK                 No clock
94 #define AON_PMCTL_AUXSCECLK_PD_SRC                                  0x00000100
95 #define AON_PMCTL_AUXSCECLK_PD_SRC_BITN                                      8
96 #define AON_PMCTL_AUXSCECLK_PD_SRC_M                                0x00000100
97 #define AON_PMCTL_AUXSCECLK_PD_SRC_S                                         8
98 #define AON_PMCTL_AUXSCECLK_PD_SRC_SCLK_LF                          0x00000100
99 #define AON_PMCTL_AUXSCECLK_PD_SRC_NO_CLOCK                         0x00000000
100 
101 // Field:     [0] SRC
102 //
103 // Selects the clock source for the AUX domain when AUX is in active mode.
104 // Note: Switching the clock source is guaranteed to be glitch-free
105 // ENUMs:
106 // SCLK_MF                  MF Clock (SCLK_MF)
107 // SCLK_HFDIV2              HF Clock divided by 2 (SCLK_HFDIV2)
108 #define AON_PMCTL_AUXSCECLK_SRC                                     0x00000001
109 #define AON_PMCTL_AUXSCECLK_SRC_BITN                                         0
110 #define AON_PMCTL_AUXSCECLK_SRC_M                                   0x00000001
111 #define AON_PMCTL_AUXSCECLK_SRC_S                                            0
112 #define AON_PMCTL_AUXSCECLK_SRC_SCLK_MF                             0x00000001
113 #define AON_PMCTL_AUXSCECLK_SRC_SCLK_HFDIV2                         0x00000000
114 
115 //*****************************************************************************
116 //
117 // Register: AON_PMCTL_O_RAMCFG
118 //
119 //*****************************************************************************
120 // Field:    [17] AUX_SRAM_PWR_OFF
121 //
122 // Internal. Only to be used through TI provided API.
123 #define AON_PMCTL_RAMCFG_AUX_SRAM_PWR_OFF                           0x00020000
124 #define AON_PMCTL_RAMCFG_AUX_SRAM_PWR_OFF_BITN                              17
125 #define AON_PMCTL_RAMCFG_AUX_SRAM_PWR_OFF_M                         0x00020000
126 #define AON_PMCTL_RAMCFG_AUX_SRAM_PWR_OFF_S                                 17
127 
128 // Field:    [16] AUX_SRAM_RET_EN
129 //
130 // Internal. Only to be used through TI provided API.
131 #define AON_PMCTL_RAMCFG_AUX_SRAM_RET_EN                            0x00010000
132 #define AON_PMCTL_RAMCFG_AUX_SRAM_RET_EN_BITN                               16
133 #define AON_PMCTL_RAMCFG_AUX_SRAM_RET_EN_M                          0x00010000
134 #define AON_PMCTL_RAMCFG_AUX_SRAM_RET_EN_S                                  16
135 
136 // Field:   [3:0] BUS_SRAM_RET_EN
137 //
138 // MCU SRAM is partitioned into 5  banks . This register controls which of the
139 // banks that has retention during MCU Bus domain power off
140 // ENUMs:
141 // RET_FULL                 Retention on for all banks SRAM:BANK0, SRAM:BANK1
142 //                          ,SRAM:BANK2,  SRAM:BANK3  and SRAM:BANK4
143 // RET_LEVEL3               Retention on for SRAM:BANK0, SRAM:BANK1
144 //                          ,SRAM:BANK2 and SRAM:BANK3
145 // RET_LEVEL2               Retention on for SRAM:BANK0, SRAM:BANK1 and
146 //                          SRAM:BANK2
147 // RET_LEVEL1               Retention on for SRAM:BANK0 and  SRAM:BANK1
148 // RET_NONE                 Retention is disabled
149 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_W                                   4
150 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_M                          0x0000000F
151 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_S                                   0
152 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_FULL                   0x0000000F
153 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_LEVEL3                 0x00000007
154 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_LEVEL2                 0x00000003
155 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_LEVEL1                 0x00000001
156 #define AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_NONE                   0x00000000
157 
158 //*****************************************************************************
159 //
160 // Register: AON_PMCTL_O_PWRCTL
161 //
162 //*****************************************************************************
163 // Field:     [2] DCDC_ACTIVE
164 //
165 // Select to use DCDC regulator for VDDR in active mode
166 //
167 // 0: Use GLDO for regulation of VDDR in active mode.
168 // 1: Use DCDC for regulation of VDDR in active mode.
169 //
170 // DCDC_EN must also be set for DCDC to be used as regulator for VDDR in active
171 // mode
172 #define AON_PMCTL_PWRCTL_DCDC_ACTIVE                                0x00000004
173 #define AON_PMCTL_PWRCTL_DCDC_ACTIVE_BITN                                    2
174 #define AON_PMCTL_PWRCTL_DCDC_ACTIVE_M                              0x00000004
175 #define AON_PMCTL_PWRCTL_DCDC_ACTIVE_S                                       2
176 
177 // Field:     [1] EXT_REG_MODE
178 //
179 // Status of source for VDDRsupply:
180 //
181 // 0: DCDC or GLDO are generating VDDR
182 // 1: DCDC and GLDO are bypassed and an external regulator supplies VDDR
183 #define AON_PMCTL_PWRCTL_EXT_REG_MODE                               0x00000002
184 #define AON_PMCTL_PWRCTL_EXT_REG_MODE_BITN                                   1
185 #define AON_PMCTL_PWRCTL_EXT_REG_MODE_M                             0x00000002
186 #define AON_PMCTL_PWRCTL_EXT_REG_MODE_S                                      1
187 
188 // Field:     [0] DCDC_EN
189 //
190 // Select to use DCDC regulator during recharge of VDDR
191 //
192 // 0: Use GLDO for recharge of VDDR
193 // 1: Use DCDC for recharge of VDDR
194 //
195 // Note: This bitfield should be set to the same as DCDC_ACTIVE
196 #define AON_PMCTL_PWRCTL_DCDC_EN                                    0x00000001
197 #define AON_PMCTL_PWRCTL_DCDC_EN_BITN                                        0
198 #define AON_PMCTL_PWRCTL_DCDC_EN_M                                  0x00000001
199 #define AON_PMCTL_PWRCTL_DCDC_EN_S                                           0
200 
201 //*****************************************************************************
202 //
203 // Register: AON_PMCTL_O_PWRSTAT
204 //
205 //*****************************************************************************
206 // Field:     [2] JTAG_PD_ON
207 //
208 // Indicates JTAG power state:
209 //
210 // 0: JTAG is powered off
211 // 1: JTAG is powered on
212 #define AON_PMCTL_PWRSTAT_JTAG_PD_ON                                0x00000004
213 #define AON_PMCTL_PWRSTAT_JTAG_PD_ON_BITN                                    2
214 #define AON_PMCTL_PWRSTAT_JTAG_PD_ON_M                              0x00000004
215 #define AON_PMCTL_PWRSTAT_JTAG_PD_ON_S                                       2
216 
217 // Field:     [1] AUX_BUS_RESET_DONE
218 //
219 // Indicates Reset Done from AUX Bus:
220 //
221 // 0: AUX Bus is being reset
222 // 1: AUX Bus reset is released
223 #define AON_PMCTL_PWRSTAT_AUX_BUS_RESET_DONE                        0x00000002
224 #define AON_PMCTL_PWRSTAT_AUX_BUS_RESET_DONE_BITN                            1
225 #define AON_PMCTL_PWRSTAT_AUX_BUS_RESET_DONE_M                      0x00000002
226 #define AON_PMCTL_PWRSTAT_AUX_BUS_RESET_DONE_S                               1
227 
228 // Field:     [0] AUX_RESET_DONE
229 //
230 // Indicates Reset Done from AUX:
231 //
232 // 0: AUX is being reset
233 // 1: AUX reset is released
234 #define AON_PMCTL_PWRSTAT_AUX_RESET_DONE                            0x00000001
235 #define AON_PMCTL_PWRSTAT_AUX_RESET_DONE_BITN                                0
236 #define AON_PMCTL_PWRSTAT_AUX_RESET_DONE_M                          0x00000001
237 #define AON_PMCTL_PWRSTAT_AUX_RESET_DONE_S                                   0
238 
239 //*****************************************************************************
240 //
241 // Register: AON_PMCTL_O_SHUTDOWN
242 //
243 //*****************************************************************************
244 // Field:     [0] EN
245 //
246 // Shutdown control.
247 //
248 // 0: Do not write 0 to this bit.
249 // 1: Immediately start the process to enter shutdown mode
250 #define AON_PMCTL_SHUTDOWN_EN                                       0x00000001
251 #define AON_PMCTL_SHUTDOWN_EN_BITN                                           0
252 #define AON_PMCTL_SHUTDOWN_EN_M                                     0x00000001
253 #define AON_PMCTL_SHUTDOWN_EN_S                                              0
254 
255 //*****************************************************************************
256 //
257 // Register: AON_PMCTL_O_RECHARGECFG
258 //
259 //*****************************************************************************
260 // Field: [31:30] MODE
261 //
262 // Selects recharge algorithm for VDDR when the system is running on the uLDO
263 // ENUMs:
264 // COMPARATOR               External recharge comparator.
265 //                          Note that the clock to
266 //                          the recharge comparator must be enabled,
267 //
268 // [ANATOP_MMAP:ADI_3_REFSYS:CTL_RECHARGE_CMP0:COMP_CLK_DISABLE],
269 //                          before selecting  this recharge algorithm.
270 // ADAPTIVE                 Adaptive timer
271 // STATIC                   Static timer
272 // OFF                      Recharge disabled
273 #define AON_PMCTL_RECHARGECFG_MODE_W                                         2
274 #define AON_PMCTL_RECHARGECFG_MODE_M                                0xC0000000
275 #define AON_PMCTL_RECHARGECFG_MODE_S                                        30
276 #define AON_PMCTL_RECHARGECFG_MODE_COMPARATOR                       0xC0000000
277 #define AON_PMCTL_RECHARGECFG_MODE_ADAPTIVE                         0x80000000
278 #define AON_PMCTL_RECHARGECFG_MODE_STATIC                           0x40000000
279 #define AON_PMCTL_RECHARGECFG_MODE_OFF                              0x00000000
280 
281 // Field: [23:20] C2
282 //
283 // Internal. Only to be used through TI provided API.
284 #define AON_PMCTL_RECHARGECFG_C2_W                                           4
285 #define AON_PMCTL_RECHARGECFG_C2_M                                  0x00F00000
286 #define AON_PMCTL_RECHARGECFG_C2_S                                          20
287 
288 // Field: [19:16] C1
289 //
290 // Internal. Only to be used through TI provided API.
291 #define AON_PMCTL_RECHARGECFG_C1_W                                           4
292 #define AON_PMCTL_RECHARGECFG_C1_M                                  0x000F0000
293 #define AON_PMCTL_RECHARGECFG_C1_S                                          16
294 
295 // Field: [15:11] MAX_PER_M
296 //
297 // Internal. Only to be used through TI provided API.
298 #define AON_PMCTL_RECHARGECFG_MAX_PER_M_W                                    5
299 #define AON_PMCTL_RECHARGECFG_MAX_PER_M_M                           0x0000F800
300 #define AON_PMCTL_RECHARGECFG_MAX_PER_M_S                                   11
301 
302 // Field:  [10:8] MAX_PER_E
303 //
304 // Internal. Only to be used through TI provided API.
305 #define AON_PMCTL_RECHARGECFG_MAX_PER_E_W                                    3
306 #define AON_PMCTL_RECHARGECFG_MAX_PER_E_M                           0x00000700
307 #define AON_PMCTL_RECHARGECFG_MAX_PER_E_S                                    8
308 
309 // Field:   [7:3] PER_M
310 //
311 // Internal. Only to be used through TI provided API.
312 #define AON_PMCTL_RECHARGECFG_PER_M_W                                        5
313 #define AON_PMCTL_RECHARGECFG_PER_M_M                               0x000000F8
314 #define AON_PMCTL_RECHARGECFG_PER_M_S                                        3
315 
316 // Field:   [2:0] PER_E
317 //
318 // Internal. Only to be used through TI provided API.
319 #define AON_PMCTL_RECHARGECFG_PER_E_W                                        3
320 #define AON_PMCTL_RECHARGECFG_PER_E_M                               0x00000007
321 #define AON_PMCTL_RECHARGECFG_PER_E_S                                        0
322 
323 //*****************************************************************************
324 //
325 // Register: AON_PMCTL_O_RECHARGESTAT
326 //
327 //*****************************************************************************
328 // Field: [19:16] VDDR_SMPLS
329 //
330 // The last 4 VDDR samples.
331 //
332 // For each bit:
333 // 0: VDDR was below VDDR_OK threshold when recharge started
334 // 1: VDDR was above VDDR_OK threshold when recharge started
335 //
336 // The register is updated prior to every recharge period with a shift left,
337 // and bit 0 is updated with the last VDDR sample.
338 #define AON_PMCTL_RECHARGESTAT_VDDR_SMPLS_W                                  4
339 #define AON_PMCTL_RECHARGESTAT_VDDR_SMPLS_M                         0x000F0000
340 #define AON_PMCTL_RECHARGESTAT_VDDR_SMPLS_S                                 16
341 
342 // Field:  [15:0] MAX_USED_PER
343 //
344 // Shows the maximum number of 32kHz periods that have separated two recharge
345 // cycles and VDDR still was above VDDR_OK threshold when the latter recharge
346 // started. This register can be used as an indication of the leakage current
347 // during standby.
348 //
349 // This bitfield is cleared to 0 when writing this register.
350 #define AON_PMCTL_RECHARGESTAT_MAX_USED_PER_W                               16
351 #define AON_PMCTL_RECHARGESTAT_MAX_USED_PER_M                       0x0000FFFF
352 #define AON_PMCTL_RECHARGESTAT_MAX_USED_PER_S                                0
353 
354 //*****************************************************************************
355 //
356 // Register: AON_PMCTL_O_OSCCFG
357 //
358 //*****************************************************************************
359 // Field:   [7:3] PER_M
360 //
361 // Internal. Only to be used through TI provided API.
362 #define AON_PMCTL_OSCCFG_PER_M_W                                             5
363 #define AON_PMCTL_OSCCFG_PER_M_M                                    0x000000F8
364 #define AON_PMCTL_OSCCFG_PER_M_S                                             3
365 
366 // Field:   [2:0] PER_E
367 //
368 // Internal. Only to be used through TI provided API.
369 #define AON_PMCTL_OSCCFG_PER_E_W                                             3
370 #define AON_PMCTL_OSCCFG_PER_E_M                                    0x00000007
371 #define AON_PMCTL_OSCCFG_PER_E_S                                             0
372 
373 //*****************************************************************************
374 //
375 // Register: AON_PMCTL_O_RESETCTL
376 //
377 //*****************************************************************************
378 // Field:    [31] SYSRESET
379 //
380 // Cold reset register. Writing 1 to this bitfield will reset the entire chip
381 // and cause boot code to run again.
382 //
383 // 0: No effect
384 // 1: Generate system reset. Appears as SYSRESET in RESET_SRC
385 #define AON_PMCTL_RESETCTL_SYSRESET                                 0x80000000
386 #define AON_PMCTL_RESETCTL_SYSRESET_BITN                                    31
387 #define AON_PMCTL_RESETCTL_SYSRESET_M                               0x80000000
388 #define AON_PMCTL_RESETCTL_SYSRESET_S                                       31
389 
390 // Field:    [25] BOOT_DET_1_CLR
391 //
392 // Internal. Only to be used through TI provided API.
393 #define AON_PMCTL_RESETCTL_BOOT_DET_1_CLR                           0x02000000
394 #define AON_PMCTL_RESETCTL_BOOT_DET_1_CLR_BITN                              25
395 #define AON_PMCTL_RESETCTL_BOOT_DET_1_CLR_M                         0x02000000
396 #define AON_PMCTL_RESETCTL_BOOT_DET_1_CLR_S                                 25
397 
398 // Field:    [24] BOOT_DET_0_CLR
399 //
400 // Internal. Only to be used through TI provided API.
401 #define AON_PMCTL_RESETCTL_BOOT_DET_0_CLR                           0x01000000
402 #define AON_PMCTL_RESETCTL_BOOT_DET_0_CLR_BITN                              24
403 #define AON_PMCTL_RESETCTL_BOOT_DET_0_CLR_M                         0x01000000
404 #define AON_PMCTL_RESETCTL_BOOT_DET_0_CLR_S                                 24
405 
406 // Field:    [17] BOOT_DET_1_SET
407 //
408 // Internal. Only to be used through TI provided API.
409 #define AON_PMCTL_RESETCTL_BOOT_DET_1_SET                           0x00020000
410 #define AON_PMCTL_RESETCTL_BOOT_DET_1_SET_BITN                              17
411 #define AON_PMCTL_RESETCTL_BOOT_DET_1_SET_M                         0x00020000
412 #define AON_PMCTL_RESETCTL_BOOT_DET_1_SET_S                                 17
413 
414 // Field:    [16] BOOT_DET_0_SET
415 //
416 // Internal. Only to be used through TI provided API.
417 #define AON_PMCTL_RESETCTL_BOOT_DET_0_SET                           0x00010000
418 #define AON_PMCTL_RESETCTL_BOOT_DET_0_SET_BITN                              16
419 #define AON_PMCTL_RESETCTL_BOOT_DET_0_SET_M                         0x00010000
420 #define AON_PMCTL_RESETCTL_BOOT_DET_0_SET_S                                 16
421 
422 // Field:    [15] WU_FROM_SD
423 //
424 // A Wakeup from SHUTDOWN on an IO event has occurred, or a wakeup from
425 // SHUTDOWN has occurred as a result of the debugger being attached.. (TCK pin
426 // being forced low)
427 //
428 // Please refer to IOC:IOCFGn.WU_CFG for configuring the IO's as wakeup
429 // sources.
430 //
431 // 0: Wakeup occurred from cold reset or brown out as seen in RESET_SRC
432 // 1: A wakeup has occurred from SHUTDOWN
433 //
434 // Note: This flag will be cleared when SLEEPCTL.IO_PAD_SLEEP_DIS is asserted.
435 #define AON_PMCTL_RESETCTL_WU_FROM_SD                               0x00008000
436 #define AON_PMCTL_RESETCTL_WU_FROM_SD_BITN                                  15
437 #define AON_PMCTL_RESETCTL_WU_FROM_SD_M                             0x00008000
438 #define AON_PMCTL_RESETCTL_WU_FROM_SD_S                                     15
439 
440 // Field:    [14] GPIO_WU_FROM_SD
441 //
442 // A wakeup from SHUTDOWN on an IO event has occurred
443 //
444 // Please refer to IOC:IOCFGn.WU_CFG for configuring the IO's as wakeup
445 // sources.
446 //
447 // 0: The wakeup did not occur from SHUTDOWN on an IO event
448 // 1: A wakeup from SHUTDOWN occurred from an IO event
449 //
450 // The case where WU_FROM_SD is asserted but this bitfield is not asserted will
451 // only occur in a debug session. The boot code will not proceed with wakeup
452 // from SHUTDOWN procedure until this bitfield is asserted as well.
453 //
454 // Note: This flag will be cleared when  SLEEPCTL.IO_PAD_SLEEP_DIS is asserted.
455 #define AON_PMCTL_RESETCTL_GPIO_WU_FROM_SD                          0x00004000
456 #define AON_PMCTL_RESETCTL_GPIO_WU_FROM_SD_BITN                             14
457 #define AON_PMCTL_RESETCTL_GPIO_WU_FROM_SD_M                        0x00004000
458 #define AON_PMCTL_RESETCTL_GPIO_WU_FROM_SD_S                                14
459 
460 // Field:    [13] BOOT_DET_1
461 //
462 // Internal. Only to be used through TI provided API.
463 #define AON_PMCTL_RESETCTL_BOOT_DET_1                               0x00002000
464 #define AON_PMCTL_RESETCTL_BOOT_DET_1_BITN                                  13
465 #define AON_PMCTL_RESETCTL_BOOT_DET_1_M                             0x00002000
466 #define AON_PMCTL_RESETCTL_BOOT_DET_1_S                                     13
467 
468 // Field:    [12] BOOT_DET_0
469 //
470 // Internal. Only to be used through TI provided API.
471 #define AON_PMCTL_RESETCTL_BOOT_DET_0                               0x00001000
472 #define AON_PMCTL_RESETCTL_BOOT_DET_0_BITN                                  12
473 #define AON_PMCTL_RESETCTL_BOOT_DET_0_M                             0x00001000
474 #define AON_PMCTL_RESETCTL_BOOT_DET_0_S                                     12
475 
476 // Field:     [8] VDDS_LOSS_EN
477 //
478 // Controls reset generation in case VDDS is lost
479 //
480 // 0: Brown out detect of VDDS is ignored, unless VDDS_LOSS_EN_OVR=1
481 // 1: Brown out detect of VDDS generates system reset
482 #define AON_PMCTL_RESETCTL_VDDS_LOSS_EN                             0x00000100
483 #define AON_PMCTL_RESETCTL_VDDS_LOSS_EN_BITN                                 8
484 #define AON_PMCTL_RESETCTL_VDDS_LOSS_EN_M                           0x00000100
485 #define AON_PMCTL_RESETCTL_VDDS_LOSS_EN_S                                    8
486 
487 // Field:     [7] VDDR_LOSS_EN
488 //
489 // Controls reset generation in case VDDR is lost
490 //
491 // 0: Brown out detect of VDDR is ignored, unless VDDR_LOSS_EN_OVR=1
492 // 1: Brown out detect of VDDR generates system reset
493 #define AON_PMCTL_RESETCTL_VDDR_LOSS_EN                             0x00000080
494 #define AON_PMCTL_RESETCTL_VDDR_LOSS_EN_BITN                                 7
495 #define AON_PMCTL_RESETCTL_VDDR_LOSS_EN_M                           0x00000080
496 #define AON_PMCTL_RESETCTL_VDDR_LOSS_EN_S                                    7
497 
498 // Field:     [6] VDD_LOSS_EN
499 //
500 // Controls reset generation in case VDD is lost
501 //
502 // 0: Brown out detect of VDD is ignored, unless VDD_LOSS_EN_OVR=1
503 // 1: Brown out detect of VDD generates system reset
504 #define AON_PMCTL_RESETCTL_VDD_LOSS_EN                              0x00000040
505 #define AON_PMCTL_RESETCTL_VDD_LOSS_EN_BITN                                  6
506 #define AON_PMCTL_RESETCTL_VDD_LOSS_EN_M                            0x00000040
507 #define AON_PMCTL_RESETCTL_VDD_LOSS_EN_S                                     6
508 
509 // Field:     [5] CLK_LOSS_EN
510 //
511 // Controls reset generation in case SCLK_LF, SCLK_MF or SCLK_HF is lost when
512 // clock loss detection is enabled by [ANATOP_MMAP:DDI_0_OSC:CTL0.CLK_LOSS_EN]
513 //
514 // 0: Clock loss is ignored
515 // 1: Clock loss generates system reset
516 //
517 // Note: Clock loss reset generation must be disabled when changing clock
518 // source for   SCLK_LF. Failure to do so may result in a spurious system
519 // reset. Clock loss reset generation is controlled by
520 // [ANATOP_MMAP:DDI_0_OSC:CTL0.CLK_LOSS_EN]
521 #define AON_PMCTL_RESETCTL_CLK_LOSS_EN                              0x00000020
522 #define AON_PMCTL_RESETCTL_CLK_LOSS_EN_BITN                                  5
523 #define AON_PMCTL_RESETCTL_CLK_LOSS_EN_M                            0x00000020
524 #define AON_PMCTL_RESETCTL_CLK_LOSS_EN_S                                     5
525 
526 // Field:     [4] MCU_WARM_RESET
527 //
528 // Internal. Only to be used through TI provided API.
529 #define AON_PMCTL_RESETCTL_MCU_WARM_RESET                           0x00000010
530 #define AON_PMCTL_RESETCTL_MCU_WARM_RESET_BITN                               4
531 #define AON_PMCTL_RESETCTL_MCU_WARM_RESET_M                         0x00000010
532 #define AON_PMCTL_RESETCTL_MCU_WARM_RESET_S                                  4
533 
534 // Field:   [3:1] RESET_SRC
535 //
536 // Shows the root cause of the last system reset. More than the reported reset
537 // source can have been active during the last system reset but only the root
538 // cause is reported.
539 //
540 // The capture feature is not rearmed until all off the possible reset sources
541 // have been released and the result has been copied to AON_PMCTL. During the
542 // copy and rearm process it is one 2MHz period in which and eventual new
543 // system reset will be reported as Power on reset regardless of the root
544 // cause.
545 // ENUMs:
546 // WARMRESET                Software reset via PRCM warm reset request
547 // SYSRESET                 Software reset via SYSRESET or hardware power
548 //                          management timeout detection.
549 //
550 //                          Note: The hardware power
551 //                          management timeout circuit is always enabled.
552 // CLK_LOSS                 SCLK_LF, SCLK_MF or SCLK_HF clock loss detect
553 // VDDR_LOSS                Brown out detect on VDDR
554 // VDDS_LOSS                Brown out detect on VDDS
555 // PIN_RESET                Reset pin
556 // PWR_ON                   Power on reset
557 #define AON_PMCTL_RESETCTL_RESET_SRC_W                                       3
558 #define AON_PMCTL_RESETCTL_RESET_SRC_M                              0x0000000E
559 #define AON_PMCTL_RESETCTL_RESET_SRC_S                                       1
560 #define AON_PMCTL_RESETCTL_RESET_SRC_WARMRESET                      0x0000000E
561 #define AON_PMCTL_RESETCTL_RESET_SRC_SYSRESET                       0x0000000C
562 #define AON_PMCTL_RESETCTL_RESET_SRC_CLK_LOSS                       0x0000000A
563 #define AON_PMCTL_RESETCTL_RESET_SRC_VDDR_LOSS                      0x00000008
564 #define AON_PMCTL_RESETCTL_RESET_SRC_VDDS_LOSS                      0x00000004
565 #define AON_PMCTL_RESETCTL_RESET_SRC_PIN_RESET                      0x00000002
566 #define AON_PMCTL_RESETCTL_RESET_SRC_PWR_ON                         0x00000000
567 
568 //*****************************************************************************
569 //
570 // Register: AON_PMCTL_O_SLEEPCTL
571 //
572 //*****************************************************************************
573 // Field:     [0] IO_PAD_SLEEP_DIS
574 //
575 // Controls the I/O pad sleep mode. The boot code will set this bitfield
576 // automatically unless waking up from a SHUTDOWN ( RESETCTL.WU_FROM_SD is
577 // set).
578 //
579 // 0: I/O pad sleep mode is enabled, meaning all outputs and pad configurations
580 // are latched. Inputs are transparent if pad is configured as input before
581 // IO_PAD_SLEEP_DIS is set to 1
582 // 1: I/O pad sleep mode is disabled
583 //
584 // Application software must reconfigure the state for all IO's before setting
585 // this bitfield upon waking up from a SHUTDOWN to avoid glitches on pins.
586 #define AON_PMCTL_SLEEPCTL_IO_PAD_SLEEP_DIS                         0x00000001
587 #define AON_PMCTL_SLEEPCTL_IO_PAD_SLEEP_DIS_BITN                             0
588 #define AON_PMCTL_SLEEPCTL_IO_PAD_SLEEP_DIS_M                       0x00000001
589 #define AON_PMCTL_SLEEPCTL_IO_PAD_SLEEP_DIS_S                                0
590 
591 //*****************************************************************************
592 //
593 // Register: AON_PMCTL_O_JTAGCFG
594 //
595 //*****************************************************************************
596 // Field:     [8] JTAG_PD_FORCE_ON
597 //
598 // Controls JTAG Power domain power state:
599 //
600 // 0: Controlled exclusively by debug subsystem. (JTAG Power domain will be
601 // powered off unless a debugger is attached)
602 // 1: JTAG Power Domain is forced on, independent of debug subsystem.
603 //
604 // Note: The reset value causes JTAG Power domain to be powered on by default.
605 // Software must clear this bit to turn off the JTAG Power domain
606 #define AON_PMCTL_JTAGCFG_JTAG_PD_FORCE_ON                          0x00000100
607 #define AON_PMCTL_JTAGCFG_JTAG_PD_FORCE_ON_BITN                              8
608 #define AON_PMCTL_JTAGCFG_JTAG_PD_FORCE_ON_M                        0x00000100
609 #define AON_PMCTL_JTAGCFG_JTAG_PD_FORCE_ON_S                                 8
610 
611 //*****************************************************************************
612 //
613 // Register: AON_PMCTL_O_JTAGUSERCODE
614 //
615 //*****************************************************************************
616 // Field:  [31:0] USER_CODE
617 //
618 // 32-bit JTAG USERCODE register feeding main JTAG TAP
619 // Note: This field can be locked by LOCKCFG.LOCK
620 #define AON_PMCTL_JTAGUSERCODE_USER_CODE_W                                  32
621 #define AON_PMCTL_JTAGUSERCODE_USER_CODE_M                          0xFFFFFFFF
622 #define AON_PMCTL_JTAGUSERCODE_USER_CODE_S                                   0
623 
624 
625 #endif // __AON_PMCTL__
626