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 system power and power mode.

Files

file  fsl_power.h
 

Data Structures

struct  power_aon_comp_config_t
 AON Comparator config structure. More...
 

Enumerations

enum  power_wakeup_edge_t {
  kPOWER_WakeupEdgeLow = 0U,
  kPOWER_WakeupEdgeHigh = 1U
}
 Pin edge for wakeup. More...
 
enum  power_wakeup_pin_t {
  kPOWER_WakeupPin0 = 0U,
  kPOWER_WakeupPin1 = 1U
}
 Wakeup pin. More...
 
enum  power_reset_cause_t {
  kPOWER_ResetCauseVbatBrownout = 1U << 0U,
  kPOWER_ResetCauseAv12Brownout = 1U << 1U,
  kPOWER_ResetCauseAv18Brownout = 1U << 2U,
  kPOWER_ResetCauseSysResetReq = 1U << 3U,
  kPOWER_ResetCauseLockup = 1U << 4U,
  kPOWER_ResetCauseWdt = 1U << 5U,
  kPOWER_ResetCauseAll = 0x3FU
}
 Reset cause. More...
 
enum  power_wakeup_src_t {
  kPOWER_WakeupSrcPin0 = 1U << 0U,
  kPOWER_WakeupSrcPin1 = 1U << 1U,
  kPOWER_WakeupSrcWlan = 1U << 2U,
  kPOWER_WakeupSrcRtc = 1U << 3U,
  kPOWER_WakeupSrcComp = 1U << 4U,
  kPOWER_WakeupSrcAll = 0x1FU
}
 Wakeup source. More...
 
enum  power_wakeup_mask_t {
  kPOWER_WakeupMaskPin0 = 1U << 3U,
  kPOWER_WakeupMaskPin1 = 1U << 4U,
  kPOWER_WakeupMaskRtc = 1U << 5U,
  kPOWER_WakeupMaskComp = 1U << 6U,
  kPOWER_WakeupMaskWlan = 1U << 7U,
  kPOWER_WakeupMaskAll = 0xF8U
}
 Wakeup interrupt mask. More...
 
enum  power_vddio_t {
  kPOWER_VddIo0 = 0U,
  kPOWER_VddIo1 = 1U,
  kPOWER_VddIo2 = 2U,
  kPOWER_VddIo3 = 3U,
  kPOWER_VddIoAon = 19U
}
 IO domain. More...
 
enum  power_vddio_volt_t {
  kPOWER_VddioVolt3V3 = 0x00U,
  kPOWER_VddioVolt2V5 = 0x01U,
  kPOWER_VddioVolt1V8 = 0x10U
}
 IO domain voltage level. More...
 
enum  power_aon_comp_hyst_t {
  kPOWER_AonCompHyst_0 = 0x0,
  kPOWER_AonCompHyst_1 = 0x1,
  kPOWER_AonCompHyst_2 = 0x2,
  kPOWER_AonCompHyst_3 = 0x3
}
 AON Comparator Hysteresis list. More...
 
enum  power_aon_comp_mode_t
 AON Comparator mode.
 
enum  power_aon_comp_ref_t {
  kPOWER_AonCompRef_0V2 = 0U,
  kPOWER_AonCompRef_0V4 = 1U,
  kPOWER_AonCompRef_0V6 = 2U,
  kPOWER_AonCompRef_0V8 = 3U,
  kPOWER_AonCompRef_1V0 = 4U,
  kPOWER_AonCompRef_1V2 = 5U,
  kPOWER_AonCompRef_1V4 = 6U,
  kPOWER_AonCompRef_1V6 = 7U
}
 AON Comparator Reference for Single-Ended mode. More...
 
enum  power_bandgap_ref_voltage_t {
  kPOWER_BGRefVoltage1P159V = 0U,
  kPOWER_BGRefVoltage1P163V,
  kPOWER_BGRefVoltage1P168V,
  kPOWER_BGRefVoltage1P172V,
  kPOWER_BGRefVoltage1P177V,
  kPOWER_BGRefVoltage1P181V,
  kPOWER_BGRefVoltage1P186V,
  kPOWER_BGRefVoltage1P190V,
  kPOWER_BGRefVoltage1P194V,
  kPOWER_BGRefVoltage1P199V,
  kPOWER_BGRefVoltage1P204V,
  kPOWER_BGRefVoltage1P208,
  kPOWER_BGRefVoltage1P213V,
  kPOWER_BGRefVoltage1P217V,
  kPOWER_BGRefVoltage1P222V,
  kPOWER_BGRefVoltage1P226V
}
 Internal bandgap reference voltage trim value. More...
 

Functions

__STATIC_INLINE void POWER_ConfigWakeupPin (power_wakeup_pin_t pin, power_wakeup_edge_t edge)
 Configure pin edge for wakeup. More...
 
__STATIC_INLINE uint32_t POWER_GetResetCause (void)
 Get last reset cause. More...
 
__STATIC_INLINE void POWER_ClearResetCause (uint32_t cause)
 Clear last reset cause. More...
 
__STATIC_INLINE uint32_t POWER_GetWakeupSource (void)
 Get last wakeup source. More...
 
__STATIC_INLINE void POWER_ClearWakeupSource (uint32_t src)
 Clear wakeup source. More...
 
__STATIC_INLINE void POWER_EnableWakeup (uint32_t interruptMask)
 Enable the Wakeup interrupts. More...
 
__STATIC_INLINE void POWER_DisableWakeup (uint32_t interruptMask)
 Disable the Wakeup interrupts. More...
 
void POWER_SetSleepMode (uint32_t mode)
 Set sleep mode on idle. More...
 
void POWER_EnterPowerMode (uint32_t mode, uint32_t excludeIo)
 Switch system into certain power mode. More...
 
__STATIC_INLINE void POWER_PowerOnVddio (power_vddio_t domain)
 Power on IO domain. More...
 
__STATIC_INLINE void POWER_PowerOffVddio (power_vddio_t domain)
 Power off IO domain. More...
 
void POWER_PowerOnVddioPad (power_vddio_t domain)
 Power on IO domain pad regulator. More...
 
void POWER_PowerOffVddioPad (power_vddio_t domain)
 Power off IO domain pad regulator. More...
 
void POWER_SetVddioPadVolt (power_vddio_t domain, power_vddio_volt_t volt)
 Set IO domain pad voltage. More...
 
__STATIC_INLINE void POWER_PowerOnWlan (void)
 Power on WLAN.
 
__STATIC_INLINE void POWER_PowerOffWlan (void)
 Power off WLAN.
 
__STATIC_INLINE void PMU_EnableWlanWakeup (void)
 Enable MCI wakeup WLAN.
 
__STATIC_INLINE void PMU_DisableWlanWakeup (void)
 Disable MCI wakeup WLAN.
 
void POWER_AttachGpioIrq (uint32_t pin)
 Attach GPIO interrupt to NVIC vector table. Since 2 GPIO pins shares 1 IRQ number. Attaching one GPIO IRQ implicits detaching the sibling GPIO IRQ. More...
 
void POWER_EnableAonComp (const power_aon_comp_config_t *config)
 Enable AON Domain Comparator. More...
 
void POWER_DisableAonComp (void)
 Disable AON Domain Comparator.
 
uint32_t POWER_GetAonCompValue (void)
 Get AON Domain Comparator result. More...
 
__STATIC_INLINE void POWER_PowerUpBandgap (void)
 Power up internal bandgap.
 
__STATIC_INLINE void POWER_PowerDownBandgap (void)
 Power down internal bandgap.
 
void POWER_TrimBandgapRefVoltage (power_bandgap_ref_voltage_t refVoltage)
 Trim internal bandgap reference voltage. More...
 
__STATIC_INLINE bool POWER_CheckBandgapReady (void)
 Check internal bandgap ready status. More...
 

Driver version

#define FSL_POWER_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 POWER driver version 2.1.0. More...
 

Data Structure Documentation

struct power_aon_comp_config_t

Macro Definition Documentation

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

Enumeration Type Documentation

Enumerator
kPOWER_WakeupEdgeLow 

Wakeup on pin low level.

kPOWER_WakeupEdgeHigh 

Wakeup on pin high level.

Enumerator
kPOWER_WakeupPin0 

Wakeup0 pin - GPIO22.

kPOWER_WakeupPin1 

Wakeup1 pin - GPIO23.

Enumerator
kPOWER_ResetCauseVbatBrownout 

VBAT power brown-out detected.

kPOWER_ResetCauseAv12Brownout 

AV12 power brown-out detected.

kPOWER_ResetCauseAv18Brownout 

AV18 power brown-out detected.

kPOWER_ResetCauseSysResetReq 

CM4 system soft reset request.

kPOWER_ResetCauseLockup 

CM4 locked up.

kPOWER_ResetCauseWdt 

watchdog timer.

kPOWER_ResetCauseAll 

All reset causes.

Used in POWER_ClearResetCause().

Enumerator
kPOWER_WakeupSrcPin0 

Wakeup0 pin.

kPOWER_WakeupSrcPin1 

Wakeup1 pin.

kPOWER_WakeupSrcWlan 

WLAN interrupt.

kPOWER_WakeupSrcRtc 

RTC interrupt.

kPOWER_WakeupSrcComp 

PMIP Comp interrupt.

kPOWER_WakeupSrcAll 

All wakeup sources.

Used in POWER_ClearWakeupSource().

Enumerator
kPOWER_WakeupMaskPin0 

Wakeup0 pin.

kPOWER_WakeupMaskPin1 

Wakeup1 pin.

kPOWER_WakeupMaskRtc 

RTC interrupt.

kPOWER_WakeupMaskComp 

PMIP Comp interrupt.

kPOWER_WakeupMaskWlan 

WLAN interrupt.

kPOWER_WakeupMaskAll 

All wakeup interrupt mask.

Enumerator
kPOWER_VddIo0 

VDDIO0 pad group.

kPOWER_VddIo1 

VDDIO1 pad group.

kPOWER_VddIo2 

VDDIO2 pad group.

kPOWER_VddIo3 

VDDIO3 pad group.

kPOWER_VddIoAon 

Always on pad group.

Enumerator
kPOWER_VddioVolt3V3 

VDDIO 3.3V.

kPOWER_VddioVolt2V5 

VDDIO 2.5V.

kPOWER_VddioVolt1V8 

VDDIO 1.8V.

Enumerator
kPOWER_AonCompHyst_0 

Ulpcomp hysteresis level 0.

kPOWER_AonCompHyst_1 

Ulpcomp hysteresis level 1.

kPOWER_AonCompHyst_2 

Ulpcomp hysteresis level 2.

kPOWER_AonCompHyst_3 

Ulpcomp hysteresis level 3.

Enumerator
kPOWER_AonCompRef_0V2 

0.2V

kPOWER_AonCompRef_0V4 

0.4

kPOWER_AonCompRef_0V6 

0.6V

kPOWER_AonCompRef_0V8 

0.8V

kPOWER_AonCompRef_1V0 

1.0V

kPOWER_AonCompRef_1V2 

1.2V

kPOWER_AonCompRef_1V4 

1.4V

kPOWER_AonCompRef_1V6 

1.6V

Enumerator
kPOWER_BGRefVoltage1P159V 

Trim reference voltage to 1.159V.

kPOWER_BGRefVoltage1P163V 

Trim reference voltage to 1.163V.

kPOWER_BGRefVoltage1P168V 

Trim reference voltage to 1.168V.

kPOWER_BGRefVoltage1P172V 

Trim reference voltage to 1.172V.

kPOWER_BGRefVoltage1P177V 

Trim reference voltage to 1.177V.

kPOWER_BGRefVoltage1P181V 

Trim reference voltage to 1.181V.

kPOWER_BGRefVoltage1P186V 

Trim reference voltage to 1.186V.

kPOWER_BGRefVoltage1P190V 

Trim reference voltage to 1.190V.

kPOWER_BGRefVoltage1P194V 

Trim reference voltage to 1.194V.

kPOWER_BGRefVoltage1P199V 

Trim reference voltage to 1.199V.

kPOWER_BGRefVoltage1P204V 

Trim reference voltage to 1.204V.

kPOWER_BGRefVoltage1P208 

Trim reference voltage to 1.208V.

kPOWER_BGRefVoltage1P213V 

Trim reference voltage to 1.213V.

kPOWER_BGRefVoltage1P217V 

Trim reference voltage to 1.217V.

kPOWER_BGRefVoltage1P222V 

Trim reference voltage to 1.222V.

kPOWER_BGRefVoltage1P226V 

Trim reference voltage to 1.226V.

Function Documentation

__STATIC_INLINE void POWER_ConfigWakeupPin ( power_wakeup_pin_t  pin,
power_wakeup_edge_t  edge 
)
Parameters
pin: Wakeup pin
edge: Pin level for wakeup
__STATIC_INLINE uint32_t POWER_GetResetCause ( void  )
Returns
Or'ed cause of power_reset_cause_t
__STATIC_INLINE void POWER_ClearResetCause ( uint32_t  cause)
Parameters
cause: A bitmask of of power_reset_cause_t
__STATIC_INLINE uint32_t POWER_GetWakeupSource ( void  )
Returns
Bitmask of power_wakeup_src_t
__STATIC_INLINE void POWER_ClearWakeupSource ( uint32_t  src)
Parameters
src: A bitmask of power_wakeup_src_t
__STATIC_INLINE void POWER_EnableWakeup ( uint32_t  interruptMask)
Parameters
interruptMask: A bitmask of interrupts to enable. See power_wakeup_mask_t.
__STATIC_INLINE void POWER_DisableWakeup ( uint32_t  interruptMask)
Parameters
interruptMask: A bitmask of interrupts to disable. See power_wakeup_mask_t.
void POWER_SetSleepMode ( uint32_t  mode)
Parameters
mode: 0 ~ 4 stands for PM0 ~ PM4.
void POWER_EnterPowerMode ( uint32_t  mode,
uint32_t  excludeIo 
)
Parameters
mode: 0 ~ 4 stands for PM0 ~ PM4.
excludeIo,:IO domains bitmask to keep unchanged during PM2.
__STATIC_INLINE void POWER_PowerOnVddio ( power_vddio_t  domain)
Parameters
domain: IO domain to power on.
__STATIC_INLINE void POWER_PowerOffVddio ( power_vddio_t  domain)
Parameters
domain: IO domain to power off.
void POWER_PowerOnVddioPad ( power_vddio_t  domain)
Parameters
domain: IO domain to power on.
void POWER_PowerOffVddioPad ( power_vddio_t  domain)
Parameters
domain: IO domain to power off.
void POWER_SetVddioPadVolt ( power_vddio_t  domain,
power_vddio_volt_t  volt 
)
Parameters
domain: IO domain.
volt: Voltage level to be set.
void POWER_AttachGpioIrq ( uint32_t  pin)
Parameters
pin: GPIO index.
void POWER_EnableAonComp ( const power_aon_comp_config_t config)
Parameters
config: AON Comparator config data.
uint32_t POWER_GetAonCompValue ( void  )
Returns
AON Comparator output value
void POWER_TrimBandgapRefVoltage ( power_bandgap_ref_voltage_t  refVoltage)
Parameters
refVoltageThe reference voltage value to trim, please refer to power_bandgap_ref_voltage_t for details.
__STATIC_INLINE bool POWER_CheckBandgapReady ( void  )
Return values
trueInternal bandgap is ready.
falseInternal bandgap is not ready.