CC26xx Driver Library
[aon_pmctl.h] AON Power Management Controller

Functions

static void AONPMCTLMcuSRamRetConfig (uint32_t ui32Retention)
 Configure the retention on the block SRAM in the MCU BUS domain. More...
 
static uint32_t AONPMCTLPowerStatusGet (void)
 Get the power status of the Always On (AON) domain. More...
 
static void AONPMCTLJtagPowerOff (void)
 Request power off of the JTAG domain. More...
 

Detailed Description

Introduction

This API provides a set of functions for using the AON Power Management Controller module (AON_PMCTL).

The AON_PMCTL module contains the following functional options:

The main clock for the AON_PMCTL module is the 2 MHz SCLK MF clock.

AON_PMCTL supports the MCU_voltage domain with a 48 MHz clock (SCLK_HF) that is divided and gated by the PRCM module before being distributed to all modules in the MCU voltage domain.

The AON_PMCTL controls the SCLK_HF clock to ensure that it is available in the Active and Idle power modes, and disabled for all other modes. SCLK_HF is not allowed in uLDO state since it uses too much power. The SCLK_HF clock is also available for the AUX module in the Active and Idle power modes.

The AON_PMCTL selects the clock source for the AUX domain in the different power modes.

Main functionality to control power management of the JTAG power domain is supported. Note that no clock control is supported, as the JTAG is clocked on the TCK clock.

API

The API functions can be grouped like this:

Functions to perform status report:

Functions to perform device configuration:

Please note that due to legacy software compatibility some functionalities controlled by the AON Power Management Controller module are supported through the APIs of the System Controller and Power Controller. Relevant functions are:

Function Documentation

static void AONPMCTLJtagPowerOff ( void  )
inlinestatic

Request power off of the JTAG domain.

The JTAG domain is automatically powered up on if a debugger is connected. If a debugger is not connected this function can be used to power off the JTAG domain.

Note
Achieving the lowest power modes (shutdown/powerdown) requires the JTAG domain to be turned off. In general the JTAG domain should never be powered in production code.
Returns
None
178 {
179  // Request the power off of the JTAG domain
180  HWREG(AON_PMCTL_BASE + AON_PMCTL_O_JTAGCFG) = 0;
181 }
static void AONPMCTLMcuSRamRetConfig ( uint32_t  ui32Retention)
inlinestatic

Configure the retention on the block SRAM in the MCU BUS domain.

MCU SRAM is partitioned into 5 banks of 16 KB each. The SRAM supports retention on all 5 banks during MCU BUS domain power off. The retention on the SRAM can be turned on and off. Use this function to enable the retention on the banks.

If a group of banks is not represented in the parameter ui32Retention then the retention will be disabled for that bank group during MCU BUS domain power off.

Note
Retention on all SRAM banks is enabled by default. Configuration of individual SRAM banks is not supported. Configuration is only supported on bank group level.
Parameters
ui32Retentiondefines which groups of SRAM banks to enable/disable retention on:
Returns
None
126 {
127  uint32_t ui32Reg;
128 
129  // Check the arguments.
130  ASSERT((ui32Retention == MCU_RAM_RET_NONE) ||
131  (ui32Retention == MCU_RAM_RET_LVL1) ||
132  (ui32Retention == MCU_RAM_RET_LVL2) ||
133  (ui32Retention == MCU_RAM_RET_LVL3) ||
134  (ui32Retention == MCU_RAM_RET_FULL));
135 
136  // Configure the retention.
138  ui32Reg |= ui32Retention;
139  HWREG(AON_PMCTL_BASE + AON_PMCTL_O_RAMCFG) = ui32Reg;
140 }
#define MCU_RAM_RET_LVL2
Definition: aon_pmctl.h:78
#define ASSERT(expr)
Definition: debug.h:73
#define MCU_RAM_RET_FULL
Definition: aon_pmctl.h:80
#define MCU_RAM_RET_LVL1
Definition: aon_pmctl.h:77
#define MCU_RAM_RET_NONE
Definition: aon_pmctl.h:76
#define MCU_RAM_RET_LVL3
Definition: aon_pmctl.h:79
static uint32_t AONPMCTLPowerStatusGet ( void  )
inlinestatic

Get the power status of the Always On (AON) domain.

This function reports the power management status in AON.

Returns
Returns the current power status of the device as a bitwise OR'ed combination of these values:
155 {
156  // Return the power status.
157  return (HWREG(AON_PMCTL_BASE + AON_PMCTL_O_PWRSTAT));
158 }

Macro Definition Documentation

#define AONPMCTL_JTAG_POWER_ON   AON_PMCTL_PWRSTAT_JTAG_PD_ON
#define MCU_RAM_RET_FULL   AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_FULL
#define MCU_RAM_RET_LVL1   AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_LEVEL1
#define MCU_RAM_RET_LVL2   AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_LEVEL2
#define MCU_RAM_RET_LVL3   AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_LEVEL3
#define MCU_RAM_RET_NONE   AON_PMCTL_RAMCFG_BUS_SRAM_RET_EN_RET_NONE