MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Power Driver

Overview

Power driver provides APIs to control peripherals power and control the system power mode.

Macros

#define PMUC_PCON_RESERVED_MASK   ((0xf << 4) | (0x6 << 8) | 0xfffff000u)
 PMU PCON reserved mask, used to clear reserved field which should not write 1.
 

Enumerations

enum  pd_bit_t
 power down configurations mask
 
enum  _power_wakeup
 Deep sleep and power down mode wake up configurations.
 
enum  _power_deep_sleep_active
 Deep sleep/power down mode active part.
 
enum  power_gen_reg_t {
  kPmu_GenReg0 = 0U,
  kPmu_GenReg1 = 1U,
  kPmu_GenReg2 = 2U,
  kPmu_GenReg3 = 3U,
  kPmu_GenReg4 = 4U
}
 pmu general purpose register index More...
 

Driver version

#define FSL_POWER_DRIVER_VERSION   (MAKE_VERSION(2, 0, 3))
 power driver version 2.0.3. More...
 

SYSCON Power Configuration

static void POWER_EnablePD (pd_bit_t en)
 API to enable PDRUNCFG bit in the Syscon. More...
 
static void POWER_DisablePD (pd_bit_t en)
 API to disable PDRUNCFG bit in the Syscon. More...
 
static void POWER_WakeUpConfig (uint32_t mask, bool powerDown)
 API to config wakeup configurations for deep sleep mode and power down mode. More...
 
static void POWER_DeepSleepConfig (uint32_t mask, bool powerDown)
 API to config active part for deep sleep mode and power down mode. More...
 

ARM core Power Configuration

static void POWER_EnableDeepSleep (void)
 API to enable deep sleep bit in the ARM Core. More...
 
static void POWER_DisableDeepSleep (void)
 API to disable deep sleep bit in the ARM Core. More...
 

PMU functionality

void POWER_EnterSleep (void)
 API to enter sleep power mode. More...
 
void POWER_EnterDeepSleep (uint32_t activePart)
 API to enter deep sleep power mode. More...
 
void POWER_EnterPowerDown (uint32_t activePart)
 API to enter power down mode. More...
 
void POWER_EnterDeepPowerDownMode (void)
 API to enter deep power down mode. More...
 
static uint32_t POWER_GetSleepModeFlag (void)
 API to get sleep mode flag. More...
 
static void POWER_ClrSleepModeFlag (void)
 API to clear sleep mode flag.
 
static uint32_t POWER_GetDeepPowerDownModeFlag (void)
 API to get deep power down mode flag. More...
 
static void POWER_ClrDeepPowerDownModeFlag (void)
 API to clear deep power down mode flag.
 
static void POWER_EnableNonDpd (bool enable)
 API to enable non deep power down mode. More...
 
static void POWER_EnbaleLPO (bool enable)
 API to enable LPO. More...
 
static void POWER_EnbaleLPOInDeepPowerDownMode (bool enable)
 API to enable LPO in deep power down mode. More...
 
static void POWER_SetRetainData (power_gen_reg_t index, uint32_t data)
 API to retore data to general purpose register which can be retain during deep power down mode. More...
 
static uint32_t POWER_GetRetainData (power_gen_reg_t index)
 API to get data from general purpose register which retain during deep power down mode. More...
 
static void POWER_EnableWktClkIn (bool enable, bool enHysteresis)
 API to enable external clock input for self wake up timer. More...
 
static void POWER_EnableWakeupPinForDeepPowerDown (bool enable, bool enHysteresis)
 API to enable wake up pin for deep power down mode. More...
 
static void POWER_EnableResetPinForDeepPowerDown (bool enable, bool enHysteresis)
 API to enable external clock input for self wake up timer. More...
 

Macro Definition Documentation

#define FSL_POWER_DRIVER_VERSION   (MAKE_VERSION(2, 0, 3))

Enumeration Type Documentation

Enumerator
kPmu_GenReg0 

general purpose register0

kPmu_GenReg1 

general purpose register1

kPmu_GenReg2 

general purpose register2

kPmu_GenReg3 

general purpose register3

kPmu_GenReg4 

DPDCTRL bit 31-8.

Function Documentation

static void POWER_EnablePD ( pd_bit_t  en)
inlinestatic

Note that enabling the bit powers down the peripheral

Parameters
enperipheral for which to enable the PDRUNCFG bit
Returns
none
static void POWER_DisablePD ( pd_bit_t  en)
inlinestatic

Note that disabling the bit powers up the peripheral

Parameters
enperipheral for which to disable the PDRUNCFG bit
Returns
none
static void POWER_WakeUpConfig ( uint32_t  mask,
bool  powerDown 
)
inlinestatic
Parameters
mask,:wake up configurations for deep sleep mode and power down mode, reference _power_wakeup.
powerDown,:true is power down the mask part, false is powered part.
static void POWER_DeepSleepConfig ( uint32_t  mask,
bool  powerDown 
)
inlinestatic
Parameters
mask,:active part configurations for deep sleep mode and power down mode, reference _power_deep_sleep_active.
powerDown,:true is power down the mask part, false is powered part.
static void POWER_EnableDeepSleep ( void  )
inlinestatic
Returns
none
static void POWER_DisableDeepSleep ( void  )
inlinestatic
Returns
none
void POWER_EnterSleep ( void  )
Returns
none
void POWER_EnterDeepSleep ( uint32_t  activePart)
Parameters
activePart,:should be a single or combine value of _power_deep_sleep_active .
Returns
none
void POWER_EnterPowerDown ( uint32_t  activePart)
Parameters
activePart,:should be a single or combine value of _power_deep_sleep_active .
Returns
none
void POWER_EnterDeepPowerDownMode ( void  )
Returns
none
static uint32_t POWER_GetSleepModeFlag ( void  )
inlinestatic
Returns
sleep mode flag: 0 is active mode, 1 is sleep mode entered.
static uint32_t POWER_GetDeepPowerDownModeFlag ( void  )
inlinestatic
Returns
sleep mode flag: 0 not deep power down, 1 is deep power down mode entered.
static void POWER_EnableNonDpd ( bool  enable)
inlinestatic
Parameters
enable,:true is enable non deep power down, otherwise disable.
static void POWER_EnbaleLPO ( bool  enable)
inlinestatic
Parameters
enable,:true to enable LPO, false to disable LPO.
static void POWER_EnbaleLPOInDeepPowerDownMode ( bool  enable)
inlinestatic
Parameters
enable,:true to enable LPO, false to disable LPO.
static void POWER_SetRetainData ( power_gen_reg_t  index,
uint32_t  data 
)
inlinestatic

Note the kPMU_GenReg4 can retore 3 byte data only, so the general purpose register can store 19bytes data.

Parameters
index,:general purpose data register index.
data,:data to restore.
static uint32_t POWER_GetRetainData ( power_gen_reg_t  index)
inlinestatic

Note the kPMU_GenReg4 can retore 3 byte data only, so the general purpose register can store 19bytes data.

Parameters
index,:general purpose data register index.
Returns
data stored in the general purpose register.
static void POWER_EnableWktClkIn ( bool  enable,
bool  enHysteresis 
)
inlinestatic
Parameters
enable,:true is enable external clock input for self-wake-up timer, otherwise disable.
enHysteresis,:true is enable Hysteresis for the pin, otherwise disable.
static void POWER_EnableWakeupPinForDeepPowerDown ( bool  enable,
bool  enHysteresis 
)
inlinestatic
Parameters
enable,:true is enable, otherwise disable.
enHysteresis,:true is enable Hysteresis for the pin, otherwise disable.
static void POWER_EnableResetPinForDeepPowerDown ( bool  enable,
bool  enHysteresis 
)
inlinestatic
Parameters
enable,:true is enable , otherwise disable.
enHysteresis,:true is enable Hysteresis for the pin, otherwise disable.