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