1 /******************************************************************************
2 *  Filename:       aon_pmctl_doc.h
3 *
4 *  Copyright (c) 2015 - 2022, Texas Instruments Incorporated
5 *  All rights reserved.
6 *
7 *  Redistribution and use in source and binary forms, with or without
8 *  modification, are permitted provided that the following conditions are met:
9 *
10 *  1) Redistributions of source code must retain the above copyright notice,
11 *     this list of conditions and the following disclaimer.
12 *
13 *  2) Redistributions in binary form must reproduce the above copyright notice,
14 *     this list of conditions and the following disclaimer in the documentation
15 *     and/or other materials provided with the distribution.
16 *
17 *  3) Neither the name of the ORGANIZATION nor the names of its contributors may
18 *     be used to endorse or promote products derived from this software without
19 *     specific prior written permission.
20 *
21 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25 *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 *  POSSIBILITY OF SUCH DAMAGE.
32 *
33 ******************************************************************************/
34 //! \addtogroup aonpmctl_api
35 //! @{
36 //! \section sec_aonpmctl Introduction
37 //!
38 //! This API provides a set of functions for using the AON Power Management
39 //! Controller module (AON_PMCTL).
40 //!
41 //! The AON_PMCTL module contains the following functional options:
42 //! - Selection of voltage regulator for the digital domain.
43 //! - Control of retention of MCU SRAM banks during power off of the BUS power domain.
44 //! - Control of power and retention of AUX SRAM.
45 //! - Control of power, reset, and clock for the following domains:
46 //!   - MCU_VD
47 //!   - JTAG_PD
48 //!   - AUX
49 //! - Control of the recharging of VDDR while in uLDO state.
50 //! - Control of the generation of a periodic request to the OSCDIG to initiate
51 //! an XOSC_HF amplitude calibration sequence.
52 //!
53 //! The main clock for the AON_PMCTL module is the 2 MHz SCLK MF clock.
54 //!
55 //! AON_PMCTL supports the MCU_voltage domain with a 48 MHz clock (SCLK_HF) that is divided
56 //! and gated by the PRCM module before being distributed to all modules in the
57 //! MCU voltage domain.
58 //!
59 //! The AON_PMCTL controls the SCLK_HF clock to ensure that it is available in the
60 //! Active and Idle power modes, and disabled for all other modes. SCLK_HF is not
61 //! allowed in uLDO state since it uses too much power.
62 //! The SCLK_HF clock is also available for the AUX module in the Active and Idle
63 //! power modes.
64 //!
65 //! The AON_PMCTL selects the clock source for the AUX domain in the different
66 //! power modes.
67 //!
68 //! Main functionality to control power management of the JTAG power domain is
69 //! supported. Note that no clock control is supported, as the JTAG is clocked
70 //! on the TCK clock.
71 //!
72 //!
73 //! \section sec_aonpmctl_api API
74 //!
75 //! The API functions can be grouped like this:
76 //!
77 //! Functions to perform status report:
78 //! - \ref AONPMCTLPowerStatusGet()
79 //!
80 //!
81 //! Functions to perform device configuration:
82 //! - \ref AONPMCTLJtagPowerOff()
83 //! - \ref AONPMCTLMcuSRamRetConfig()
84 //!
85 //! Please note that due to legacy software compatibility some functionalities controlled
86 //! by the AON Power Management Controller module are supported through the APIs of
87 //! the [System Controller](@ref sysctrl_api) and [Power Controller](@ref pwrctrl_api). Relevant functions are:
88 //! - \ref PowerCtrlSourceGet()
89 //! - \ref PowerCtrlSourceSet()
90 //! - \ref PowerCtrlResetSourceGet()
91 //! - \ref SysCtrl_DCDC_VoltageConditionalControl()
92 //! - \ref SysCtrlClockLossResetDisable()
93 //! - \ref SysCtrlClockLossResetEnable()
94 //! - \ref SysCtrlSystemReset()
95 //! - \ref SysCtrlResetSourceGet()
96 //!
97 //! @}
98