![]() |
MCUXpresso SDK API Reference Manual
Rev 2.16.000
NXP Semiconductors
|
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. | |
Typedefs | |
typedef enum _power_gen_reg | power_gen_reg_t |
pmu general purpose register index | |
typedef enum _power_bod_reset_level | power_bod_reset_level_t |
BOD reset level, if VDD below reset level value, the reset will be asserted. | |
typedef enum _power_bod_interrupt_level | power_bod_interrupt_level_t |
BOD interrupt level, if VDD below interrupt level value, the BOD interrupt will be asserted. | |
Enumerations | |
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 { kPmu_GenReg0 = 0U, kPmu_GenReg1 = 1U, kPmu_GenReg2 = 2U, kPmu_GenReg3 = 3U, kPmu_GenReg4 = 4U } |
pmu general purpose register index More... | |
enum | _power_bod_reset_level { kBod_ResetLevelReserved = 0U, kBod_ResetLevel1, kBod_ResetLevel2, kBod_ResetLevel3 } |
BOD reset level, if VDD below reset level value, the reset will be asserted. More... | |
enum | _power_bod_interrupt_level { kBod_InterruptLevelReserved = 0U, kBod_InterruptLevel1, kBod_InterruptLevel2, kBod_InterruptLevel3 } |
BOD interrupt level, if VDD below interrupt level value, the BOD interrupt will be asserted. More... | |
Driver version | |
#define | FSL_POWER_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
power driver version 2.1.0. 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_EnableLPO (bool enable) |
API to enable LPO. More... | |
static void | POWER_EnableLPOInDeepPowerDownMode (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_SetBodLevel (power_bod_reset_level_t resetLevel, power_bod_interrupt_level_t interruptLevel, bool enable) |
Set Bod interrupt level and reset level. More... | |
#define FSL_POWER_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
enum _power_gen_reg |
|
inlinestatic |
Note that enabling the bit powers down the peripheral
en | peripheral for which to enable the PDRUNCFG bit |
|
inlinestatic |
Note that disabling the bit powers up the peripheral
en | peripheral for which to disable the PDRUNCFG bit |
|
inlinestatic |
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. |
|
inlinestatic |
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. |
|
inlinestatic |
|
inlinestatic |
void POWER_EnterSleep | ( | void | ) |
void POWER_EnterDeepSleep | ( | uint32_t | activePart | ) |
activePart,: | should be a single or combine value of _power_deep_sleep_active . |
void POWER_EnterPowerDown | ( | uint32_t | activePart | ) |
activePart,: | should be a single or combine value of _power_deep_sleep_active . |
void POWER_EnterDeepPowerDownMode | ( | void | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
enable,: | true is enable non deep power down, otherwise disable. |
|
inlinestatic |
enable,: | true to enable LPO, false to disable LPO. |
|
inlinestatic |
enable,: | true to enable LPO, false to disable LPO. |
|
inlinestatic |
Note the kPMU_GenReg4 can retore 3 byte data only, so the general purpose register can store 19bytes data.
index,: | general purpose data register index. |
data,: | data to restore. |
|
inlinestatic |
Note the kPMU_GenReg4 can retore 3 byte data only, so the general purpose register can store 19bytes data.
index,: | general purpose data register index. |
|
inlinestatic |
enable,: | true is enable external clock input for self-wake-up timer, otherwise disable. |
enHysteresis,: | true is enable Hysteresis for the pin, otherwise disable. |
|
inlinestatic |
enable,: | true is enable, otherwise disable. |
enHysteresis,: | true is enable Hysteresis for the pin, otherwise disable. |
|
inlinestatic |
resetLevel | BOD reset threshold level, please refer to power_bod_reset_level_t. |
interruptLevel | BOD interrupt threshold level, please refer to power_bod_interrupt_level_t. |
enable | Used to enable/disable the BOD interrupt and BOD reset. |