MCUXpresso SDK API Reference Manual  Rev 2.16.000
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.

Data Structures

struct  _power_bod_config
 The configuration of power bod, including reset level, interrupt level, and so on. More...
 

Typedefs

typedef enum _power_bod_status power_bod_status_t
 The enumeration of BOD status flags.
 
typedef enum _power_bod_reset_level power_bod_reset_level_t
 The enumeration of BOD reset level.
 
typedef enum
_power_bod_interrupt_level 
power_bod_interrupt_level_t
 The enumeration of BOD interrupt level.
 
typedef struct _power_bod_config power_bod_config_t
 The configuration of power bod, including reset level, interrupt level, and so on.
 

Enumerations

enum  _power_bod_status {
  kBod_ResetStatusFlag = SYSCON_BODCTRL_BODRSTSTAT_MASK,
  kBod_InterruptStatusFlag = SYSCON_BODCTRL_BODINTSTAT_MASK
}
 The enumeration of BOD status flags. More...
 
enum  _power_bod_reset_level {
  kBod_ResetLevel0 = 0U,
  kBod_ResetLevel1,
  kBod_ResetLevel2,
  kBod_ResetLevel3
}
 The enumeration of BOD reset level. More...
 
enum  _power_bod_interrupt_level {
  kBod_InterruptLevel0 = 0U,
  kBod_InterruptLevel1,
  kBod_InterruptLevel2,
  kBod_InterruptLevel3
}
 The enumeration of BOD interrupt level. More...
 

Driver version

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

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_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...
 
static void POWER_PowerDownFlash (void)
 API to power down flash controller. More...
 
static void POWER_PowerUpFlash (void)
 API to power up flash controller. More...
 
void POWER_SetPLL (void)
 Power Library API to power the PLLs. More...
 
void POWER_SetUsbPhy (void)
 Power Library API to power the USB PHY. More...
 
void POWER_EnterPowerMode (power_mode_cfg_t mode, uint64_t exclude_from_pd)
 Power Library API to enter different power mode. More...
 
void POWER_EnterSleep (void)
 Power Library API to enter sleep mode. More...
 
void POWER_EnterDeepSleep (uint64_t exclude_from_pd)
 Power Library API to enter deep sleep mode. More...
 
void POWER_EnterDeepPowerDown (uint64_t exclude_from_pd)
 Power Library API to enter deep power down mode. More...
 
void POWER_SetVoltageForFreq (uint32_t freq)
 Power Library API to choose normal regulation and set the voltage for the desired operating frequency. More...
 
uint32_t POWER_GetLibVersion (void)
 Power Library API to return the library version. More...
 
void POWER_InitBod (const power_bod_config_t *bodConfig)
 Initialize BOD, including enabling/disabling BOD interrupt, enabling/disabling BOD reset, setting BOD interrupt level, and reset level. More...
 
void POWER_GetDefaultBodConfig (power_bod_config_t *bodConfig)
 Get default BOD configuration. More...
 
static void POWER_DeinitBod (void)
 De-initialize BOD.
 
static uint32_t POWER_GetBodStatusFlags (void)
 Get Bod status flags. More...
 
static void POWER_ClearBodStatusFlags (uint32_t mask)
 Clear Bod status flags. More...
 

Data Structure Documentation

struct _power_bod_config

Data Fields

bool enableReset
 Enable/disable BOD reset function. More...
 
power_bod_reset_level_t resetLevel
 BOD reset level, please refer to power_bod_reset_level_t. More...
 
bool enableInterrupt
 Enable/disable BOD interrupt function. More...
 
power_bod_interrupt_level_t interruptLevel
 BOD interrupt level, please refer to power_bod_interrupt_level_t. More...
 

Field Documentation

bool _power_bod_config::enableReset
power_bod_reset_level_t _power_bod_config::resetLevel
bool _power_bod_config::enableInterrupt
power_bod_interrupt_level_t _power_bod_config::interruptLevel

Macro Definition Documentation

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

Enumeration Type Documentation

Enumerator
kBod_ResetStatusFlag 

BOD reset has occurred.

kBod_InterruptStatusFlag 

BOD interrupt has occurred.

Enumerator
kBod_ResetLevel0 

Reset Level0: 1.5V.

kBod_ResetLevel1 

Reset Level0: 1.85V.

kBod_ResetLevel2 

Reset Level0: 2.0V.

kBod_ResetLevel3 

Reset Level0: 2.3V.

Enumerator
kBod_InterruptLevel0 

Interrupt level: 2.05V.

kBod_InterruptLevel1 

Interrupt level: 2.45V.

kBod_InterruptLevel2 

Interrupt level: 2.75V.

kBod_InterruptLevel3 

Interrupt level: 3.05V.

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_EnableDeepSleep ( void  )
inlinestatic
Returns
none
static void POWER_DisableDeepSleep ( void  )
inlinestatic
Returns
none
static void POWER_PowerDownFlash ( void  )
inlinestatic
Returns
none
static void POWER_PowerUpFlash ( void  )
inlinestatic
Returns
none
void POWER_SetPLL ( void  )
Returns
none
void POWER_SetUsbPhy ( void  )
Returns
none
void POWER_EnterPowerMode ( power_mode_cfg_t  mode,
uint64_t  exclude_from_pd 
)
Parameters
modePower mode configuration
exclude_from_pdBit mask of the PDRUNCFG0(low 32bits) and PDRUNCFG1(high 32bits) that needs to be powered on during power mode selected.
Returns
none
void POWER_EnterSleep ( void  )
Returns
none
void POWER_EnterDeepSleep ( uint64_t  exclude_from_pd)
Parameters
exclude_from_pdBit mask of the PDRUNCFG0(low 32bits) and PDRUNCFG1(high 32bits) bits that needs to be powered on during deep sleep
Returns
none
void POWER_EnterDeepPowerDown ( uint64_t  exclude_from_pd)
Parameters
exclude_from_pdBit mask of the PDRUNCFG0(low 32bits) and PDRUNCFG1(high 32bits) that needs to be powered on during deep power down mode, but this is has no effect as the voltages are cut off.
Returns
none
void POWER_SetVoltageForFreq ( uint32_t  freq)
Parameters
freq- The desired frequency at which the part would like to operate, note that the voltage and flash wait states should be set before changing frequency
Returns
none
uint32_t POWER_GetLibVersion ( void  )
Returns
version number of the power library
void POWER_InitBod ( const power_bod_config_t bodConfig)
Parameters
bodConfigPointer the the structure power_bod_config_t.
void POWER_GetDefaultBodConfig ( power_bod_config_t bodConfig)
* bodConfig->enableReset = true;
* bodConfig->resetLevel = kBod_ResetLevel0;
* bodConfig->enableInterrupt = false;
* bodConfig->interruptLevel = kBod_InterruptLevel0;
*
Parameters
bodConfigPointer the the structure power_bod_config_t.
static uint32_t POWER_GetBodStatusFlags ( void  )
inlinestatic
Returns
uint32_t
static void POWER_ClearBodStatusFlags ( uint32_t  mask)
inlinestatic
Parameters
maskThe mask of status flags to clear, should be the OR'ed value of power_bod_status_t.