1 /******************************************************************************
2 *  Filename:       aon_pmctl_doc.h
3 *  Revised:        2020-02-14 11:30:20 +0100 (Fri, 14 Feb 2020)
4 *  Revision:       56760
5 *
6 *  Copyright (c) 2015 - 2020, 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 //! \addtogroup aonpmctl_api
37 //! @{
38 //! \section sec_aonpmctl Introduction
39 //!
40 //! This API provides a set of functions for using the AON Power Management
41 //! Controller module (AON_PMCTL).
42 //!
43 //! The AON_PMCTL module contains the following functional options:
44 //! - Selection of voltage regulator for the digital domain.
45 //! - Control of retention of MCU SRAM banks during power off of the BUS power domain.
46 //! - Control of power and retention of AUX SRAM.
47 //! - Control of power, reset, and clock for the following domains:
48 //!   - MCU_VD
49 //!   - JTAG_PD
50 //!   - AUX
51 //! - Control of the recharging of VDDR while in uLDO state.
52 //! - Control of the generation of a periodic request to the OSCDIG to initiate
53 //! an XOSC_HF amplitude calibration sequence.
54 //!
55 //! The main clock for the AON_PMCTL module is the 2 MHz SCLK MF clock.
56 //!
57 //! AON_PMCTL supports the MCU_voltage domain with a 48 MHz clock (SCLK_HF) that is divided
58 //! and gated by the PRCM module before being distributed to all modules in the
59 //! MCU voltage domain.
60 //!
61 //! The AON_PMCTL controls the SCLK_HF clock to ensure that it is available in the
62 //! Active and Idle power modes, and disabled for all other modes. SCLK_HF is not
63 //! allowed in uLDO state since it uses too much power.
64 //! The SCLK_HF clock is also available for the AUX module in the Active and Idle
65 //! power modes.
66 //!
67 //! The AON_PMCTL selects the clock source for the AUX domain in the different
68 //! power modes.
69 //!
70 //! Main functionality to control power management of the JTAG power domain is
71 //! supported. Note that no clock control is supported, as the JTAG is clocked
72 //! on the TCK clock.
73 //!
74 //!
75 //! \section sec_aonpmctl_api API
76 //!
77 //! The API functions can be grouped like this:
78 //!
79 //! Functions to perform status report:
80 //! - \ref AONPMCTLPowerStatusGet()
81 //!
82 //!
83 //! Functions to perform device configuration:
84 //! - \ref AONPMCTLJtagPowerOff()
85 //! - \ref AONPMCTLMcuSRamRetConfig()
86 //!
87 //! Please note that due to legacy software compatibility some functionalities controlled
88 //! by the AON Power Management Controller module are supported through the APIs of
89 //! the [System Controller](@ref sysctrl_api) and [Power Controller](@ref pwrctrl_api). Relevant functions are:
90 //! - \ref PowerCtrlSourceGet()
91 //! - \ref PowerCtrlSourceSet()
92 //! - \ref PowerCtrlResetSourceGet()
93 //! - \ref SysCtrl_DCDC_VoltageConditionalControl()
94 //! - \ref SysCtrlClockLossResetDisable()
95 //! - \ref SysCtrlClockLossResetEnable()
96 //! - \ref SysCtrlSystemReset()
97 //! - \ref SysCtrlResetSourceGet()
98 //!
99 //! @}
100