MCUXpresso SDK API Reference Manual  Rev 2.16.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Pmc0

Overview

Files

file  fsl_pmc0.h
 

Data Structures

struct  pmc0_hsrun_mode_config_t
 PMC 0 HSRUN mode configuration. More...
 
struct  pmc0_run_mode_config_t
 PMC 0 RUN mode configuration. More...
 
struct  pmc0_vlpr_mode_config_t
 PMC 0 VLPR mode configuration. More...
 
struct  pmc0_stop_mode_config_t
 PMC 0 STOP mode configuration. More...
 
struct  pmc0_vlps_mode_config_t
 PMC 0 VLPS mode configuration. More...
 
struct  pmc0_lls_mode_config_t
 PMC 0 LLS mode configuration. More...
 
struct  pmc0_vlls_mode_config_t
 PMC 0 VLLS mode configuration. More...
 
struct  pmc0_bias_config_t
 PMC 0 bias configuration. More...
 

Macros

#define CORE_REGULATOR_VOLT_LEVEL_MAX   50U
 MAX valid values of Core Regulator Voltage Level.
 

Enumerations

enum  pmc0_high_volt_detect_monitor_select_t {
  kPMC0_HighVoltDetectLowPowerMonitor = 0U,
  kPMC0_HighVoltDetectHighPowerMonitor = 1U
}
 High Voltage Detect Monitor Select. More...
 
enum  pmc0_low_volt_detect_monitor_select_t {
  kPMC0_LowVoltDetectLowPowerMonitor = 0U,
  kPMC0_LowVoltDetectHighPowerMonitor = 1U
}
 Low Voltage Detect Monitor Select. More...
 
enum  pmc0_core_regulator_select_t {
  kPMC0_CoreLowPowerRegulator = 0U,
  kPMC0_CoreHighPowerRegulator = 1U
}
 Core Regulator Select. More...
 
enum  pmc0_array_regulator_select_t {
  kPMC0_ArrayLowPowerRegulator = 0U,
  kPMC0_ArrayHighPowerRegulator = 1U
}
 Array Regulator Select. More...
 
enum  pmc0_vlls_array_regulator_select_t {
  kPMC0_VllsArrayRegulatorOff = 0U,
  kPMC0_VllsArrayLowPowerRegulator = 2U,
  kPMC0_VllsArrayHighPowerRegulator = 3U
}
 VLLS mode array Regulator Select. More...
 
enum  pmc0_fbb_p_well_voltage_level_select_t {
  kPMC0_FbbPWellNoBiasCondition = 0U,
  kPMC0_FbbPWellVoltageLevelAt50Mv = 1U,
  kPMC0_FbbPWellVoltageLevelAt150Mv = 2U,
  kPMC0_FbbPWellVoltageLevelAt100Mv = 3U,
  kPMC0_FbbPWellVoltageLevelAt350Mv = 4U,
  kPMC0_FbbPWellVoltageLevelAt300Mv = 5U,
  kPMC0_FbbPWellVoltageLevelAt200Mv = 6U,
  kPMC0_FbbPWellVoltageLevelAt250Mv = 7U
}
 FBB P-Well voltage level select. More...
 
enum  pmc0_fbb_n_well_voltage_level_select_t {
  kPMC0_FbbNWellNoBiasCondition = 0U,
  kPMC0_FbbNWellVoltageLevelAtMinus50Mv = 1U,
  kPMC0_FbbNWellVoltageLevelAtMinus150Mv = 2U,
  kPMC0_FbbNWellVoltageLevelAtMinus100Mv = 3U,
  kPMC0_FbbNWellVoltageLevelAtMinus350Mv = 4U,
  kPMC0_FbbNWellVoltageLevelAtMinus300Mv = 5U,
  kPMC0_FbbNWellVoltageLevelAtMinus200Mv = 6U,
  kPMC0_FbbNWellVoltageLevelAtMinus250Mv = 7U
}
 FBB N-Well voltage level select. More...
 
enum  pmc0_rbb_p_well_voltage_level_select_t {
  kPMC0_RBBPWellVoltageLevelAtMinus0_5V = 0U,
  kPMC0_RBBPWellVoltageLevelAtMinus0_6V = 1U,
  kPMC0_RBBPWellVoltageLevelAtMinus0_7V = 2U,
  kPMC0_RBBPWellVoltageLevelAtMinus0_8V = 3U,
  kPMC0_RBBPWellVoltageLevelAtMinus0_9V = 4U,
  kPMC0_RBBPWellVoltageLevelAtMinus1_0V = 5U,
  kPMC0_RBBPWellVoltageLevelAtMinus1_1V = 6U,
  kPMC0_RBBPWellVoltageLevelAtMinus1_2V = 7U,
  kPMC0_RBBPWellVoltageLevelAtMinus1_3V = 8U
}
 RBB P-Well voltage level select. More...
 
enum  pmc0_rbb_n_well_voltage_level_select_t {
  kPMC0_RBBNWellVoltageLevelAt0_5V = 0U,
  kPMC0_RBBNWellVoltageLevelAt0_6V = 1U,
  kPMC0_RBBNWellVoltageLevelAt0_7V = 2U,
  kPMC0_RBBNWellVoltageLevelAt0_8V = 3U,
  kPMC0_RBBNWellVoltageLevelAt0_9V = 4U,
  kPMC0_RBBNWellVoltageLevelAt1_0V = 5U,
  kPMC0_RBBNWellVoltageLevelAt1_1V = 6U,
  kPMC0_RBBNWellVoltageLevelAt1_2V = 7U,
  kPMC0_RBBNWellVoltageLevelAt1_3V = 8U
}
 RBB N-Well voltage level select. More...
 
enum  _pmc0_status_flags {
  kPMC0_LowVoltDetectEventFlag,
  kPMC0_LowVoltDetectValueFlag = PMC0_STATUS_LVDV_MASK,
  kPMC0_HighVoltDetectEventFlag,
  kPMC0_HighVoltDetectValueFlag = PMC0_STATUS_HVDV_MASK,
  kPMC0_CoreRegulatorVoltLevelFlag = PMC0_STATUS_COREVLF_MASK,
  kPMC0_SramFlag,
  kPMC0_PMC1VoltageSourceFlag
}
 PMC 0 status flags. More...
 
enum  _pmc0_power_mode_status_flags {
  kPMC0_HSRUNModeStatusFlags = 0U,
  kPMC0_RUNModeStatusFlags = 1U,
  kPMC0_STOPModeStatusFlags = 2U,
  kPMC0_VLPRModeStatusFlags = 3U,
  kPMC0_VLPSModeStatusFlags = 4U,
  kPMC0_LLSModeStatusFlags = 5U,
  kPMC0_VLLSModeStatusFlags = 6U
}
 PMC 0 power mode status flags. More...
 

Driver version

#define FSL_PMC0_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 PMC 0 driver version.
 

Power Management Controller Control APIs

static void PMC0_ConfigureHsrunMode (const pmc0_hsrun_mode_config_t *config)
 Configure the HSRUN power mode. More...
 
static void PMC0_ConfigureRunMode (const pmc0_run_mode_config_t *config)
 Configure the RUN power mode. More...
 
static void PMC0_ConfigureVlprMode (const pmc0_vlpr_mode_config_t *config)
 Configure the VLPR power mode. More...
 
static void PMC0_ConfigureStopMode (const pmc0_stop_mode_config_t *config)
 Configure the STOP power mode. More...
 
static void PMC0_ConfigureVlpsMode (const pmc0_vlps_mode_config_t *config)
 Configure the VLPS power mode. More...
 
static void PMC0_ConfigureLlsMode (const pmc0_lls_mode_config_t *config)
 Configure the LLS power mode. More...
 
static void PMC0_ConfigureVllsMode (const pmc0_vlls_mode_config_t *config)
 Configure the VLLS power mode. More...
 
static uint32_t PMC0_GetPMC0PowerModeStatusFlags (void)
 Get current power mode of PMC 0. More...
 
static bool PMC0_GetPMC0PowerTransitionStatus (void)
 Get the status of PMC 0 power mode transition. More...
 
static uint32_t PMC0_GetPMC1PowerModeStatusFlags (void)
 Get current power mode of PMC 1. More...
 
static bool PMC0_GetPMC1PowerTransitionStatus (void)
 Get the status of PMC 1 power mode transition. More...
 
static uint32_t PMC0_GetStatusFlags (void)
 Gets PMC 0 status flags. More...
 
static void PMC0_EnableLowVoltDetectInterrupt (void)
 Enables the 1.2V Low-Voltage Detector interrupt. More...
 
static void PMC0_DisableLowVoltDetectInterrupt (void)
 Disables the 1.2V Low-Voltage Detector interrupt. More...
 
static void PMC0_ClearLowVoltDetectFlag (void)
 Clears the 1.2V Low-Voltage Detector flag. More...
 
static void PMC0_EnableHighVoltDetectInterrupt (void)
 Enables the 1.8V High-Voltage Detector interrupt. More...
 
static void PMC0_DisableHighVoltDetectInterrupt (void)
 Disables the 1.8V High-Voltage Detector interrupt. More...
 
static void PMC0_ClearHighVoltDetectFlag (void)
 Clears the 1.8V High-Voltage Detector flag. More...
 
static void PMC0_EnableLowVoltDetectReset (bool enable)
 Enables the 1.2V Low-Voltage Detector reset. More...
 
static void PMC0_EnableHighVoltDetectReset (bool enable)
 Enables the 1.8V High-Voltage Detector reset. More...
 
static void PMC0_ClearPadsIsolation (void)
 Releases/clears the isolation in the PADS. More...
 
static void PMC0_PowerOnPmc1 (void)
 Powers on PMC 1. More...
 
static void PMC0_EnableWaitLdoOkSignal (bool enable)
 Enables to wait LDO OK signal. More...
 
static void PMC0_EnablePmc1LdoRegulator (bool enable)
 Enables PMC 1 LDO Regulator. More...
 
static void PMC0_EnablePmc1RBBMode (bool enable)
 Enable the PMC 1 RBB(reverse back bias) mode. More...
 
static void PMC0_SetBiasConfig (const pmc0_bias_config_t *config)
 Configure the PMC 0 bias voltage level and enable/disable pull-down. More...
 
static void PMC0_ConfigureSramBankPowerDown (uint32_t bankMask)
 Configures PMC 0 SRAM bank power down. More...
 
static void PMC0_ConfigureSramBankPowerDownStopMode (uint32_t bankMask)
 Configures PMC 0 SRAM bank power down in stop modes. More...
 
static void PMC0_ConfigureSramBankPowerDownStandbyMode (uint32_t bankMask)
 Configures PMC 0 SRAM bank power down in Standby Mode. More...
 
static void PMC0_EnableTemperatureSensor (bool enable)
 Enable/disable internal temperature sensor. More...
 
static void PMC0_SetTemperatureSensorMode (uint8_t mode)
 Set temperature sensor mode. More...
 

Data Structure Documentation

struct pmc0_hsrun_mode_config_t

Data Fields

uint32_t __pad0__: 16
 Reserved. More...
 
uint32_t coreRegulatorVoltLevel: 6
 Core Regulator Voltage Level. More...
 
uint32_t __pad1__: 2
 Reserved. More...
 
uint32_t enableForwardBias: 1
 Enable forward bias. More...
 
uint32_t __pad2__: 7
 Reserved. More...
 

Field Documentation

uint32_t pmc0_hsrun_mode_config_t::__pad0__
uint32_t pmc0_hsrun_mode_config_t::coreRegulatorVoltLevel
uint32_t pmc0_hsrun_mode_config_t::__pad1__
uint32_t pmc0_hsrun_mode_config_t::enableForwardBias
uint32_t pmc0_hsrun_mode_config_t::__pad2__
struct pmc0_run_mode_config_t

Data Fields

uint32_t __pad0__: 16
 Reserved. More...
 
uint32_t coreRegulatorVoltLevel: 6
 Core Regulator Voltage Level. More...
 
uint32_t __pad1__: 10
 Reserved. More...
 

Field Documentation

uint32_t pmc0_run_mode_config_t::__pad0__
uint32_t pmc0_run_mode_config_t::coreRegulatorVoltLevel
uint32_t pmc0_run_mode_config_t::__pad1__
struct pmc0_vlpr_mode_config_t

Data Fields

uint32_t arrayRegulatorSelect: 1
 Array Regulator Select. More...
 
uint32_t __pad0__: 1
 Reserved. More...
 
uint32_t coreRegulatorSelect: 1
 Core Regulator Select. More...
 
uint32_t __pad1__: 1
 Reserved. More...
 
uint32_t lvdMonitorSelect: 1
 1.2V LVD Monitor Select. More...
 
uint32_t hvdMonitorSelect: 1
 1.2V HVD Monitor Select. More...
 
uint32_t __pad2__: 1
 Reserved. More...
 
uint32_t enableForceHpBandgap: 1
 Enable force HP band-gap. More...
 
uint32_t __pad3__: 8
 Reserved. More...
 
uint32_t coreRegulatorVoltLevel: 6
 Core Regulator Voltage Level. More...
 
uint32_t __pad4__: 6
 Reserved. More...
 
uint32_t enableReverseBackBias: 1
 Enable reverse back bias. More...
 
uint32_t __pad5__: 3
 Reserved. More...
 

Field Documentation

uint32_t pmc0_vlpr_mode_config_t::arrayRegulatorSelect
uint32_t pmc0_vlpr_mode_config_t::__pad0__
uint32_t pmc0_vlpr_mode_config_t::coreRegulatorSelect
uint32_t pmc0_vlpr_mode_config_t::__pad1__
uint32_t pmc0_vlpr_mode_config_t::lvdMonitorSelect
uint32_t pmc0_vlpr_mode_config_t::hvdMonitorSelect
uint32_t pmc0_vlpr_mode_config_t::__pad2__
uint32_t pmc0_vlpr_mode_config_t::enableForceHpBandgap
uint32_t pmc0_vlpr_mode_config_t::__pad3__
uint32_t pmc0_vlpr_mode_config_t::coreRegulatorVoltLevel
uint32_t pmc0_vlpr_mode_config_t::__pad4__
uint32_t pmc0_vlpr_mode_config_t::enableReverseBackBias
uint32_t pmc0_vlpr_mode_config_t::__pad5__
struct pmc0_stop_mode_config_t

Data Fields

uint32_t __pad0__: 16
 Reserved. More...
 
uint32_t coreRegulatorVoltLevel: 6
 Core Regulator Voltage Level. More...
 
uint32_t __pad1__: 10
 Reserved. More...
 

Field Documentation

uint32_t pmc0_stop_mode_config_t::__pad0__
uint32_t pmc0_stop_mode_config_t::coreRegulatorVoltLevel
uint32_t pmc0_stop_mode_config_t::__pad1__
struct pmc0_vlps_mode_config_t

Data Fields

uint32_t arrayRegulatorSelect: 1
 Array Regulator Select. More...
 
uint32_t __pad0__: 1
 Reserved. More...
 
uint32_t coreRegulatorSelect: 1
 Core Regulator Select. More...
 
uint32_t __pad1__: 1
 Reserved. More...
 
uint32_t lvdMonitorSelect: 1
 1.2V LVD Monitor Select. More...
 
uint32_t hvdMonitorSelect: 1
 1.2V HVD Monitor Select. More...
 
uint32_t __pad2__: 1
 Reserved. More...
 
uint32_t enableForceHpBandgap: 1
 Enable force HP band-gap. More...
 
uint32_t __pad3__: 8
 Reserved. More...
 
uint32_t coreRegulatorVoltLevel: 6
 Core Regulator Voltage Level. More...
 
uint32_t __pad4__: 6
 Reserved. More...
 
uint32_t enableReverseBackBias: 1
 Enable reverse back bias. More...
 
uint32_t __pad5__: 3
 Reserved. More...
 

Field Documentation

uint32_t pmc0_vlps_mode_config_t::arrayRegulatorSelect
uint32_t pmc0_vlps_mode_config_t::__pad0__
uint32_t pmc0_vlps_mode_config_t::coreRegulatorSelect
uint32_t pmc0_vlps_mode_config_t::__pad1__
uint32_t pmc0_vlps_mode_config_t::lvdMonitorSelect
uint32_t pmc0_vlps_mode_config_t::hvdMonitorSelect
uint32_t pmc0_vlps_mode_config_t::__pad2__
uint32_t pmc0_vlps_mode_config_t::enableForceHpBandgap
uint32_t pmc0_vlps_mode_config_t::__pad3__
uint32_t pmc0_vlps_mode_config_t::coreRegulatorVoltLevel
uint32_t pmc0_vlps_mode_config_t::__pad4__
uint32_t pmc0_vlps_mode_config_t::enableReverseBackBias
uint32_t pmc0_vlps_mode_config_t::__pad5__
struct pmc0_lls_mode_config_t

Data Fields

uint32_t arrayRegulatorSelect: 1
 Array Regulator Select. More...
 
uint32_t __pad0__: 1
 Reserved. More...
 
uint32_t coreRegulatorSelect: 1
 Core Regulator Select. More...
 
uint32_t __pad1__: 1
 Reserved. More...
 
uint32_t lvdMonitorSelect: 1
 1.2V LVD Monitor Select. More...
 
uint32_t hvdMonitorSelect: 1
 1.2V HVD Monitor Select. More...
 
uint32_t __pad2__: 1
 Reserved. More...
 
uint32_t enableForceHpBandgap: 1
 Enable force HP band-gap. More...
 
uint32_t __pad3__: 8
 Reserved. More...
 
uint32_t coreRegulatorVoltLevel: 6
 Core Regulator Voltage Level. More...
 
uint32_t __pad4__: 6
 Reserved. More...
 
uint32_t enableReverseBackBias: 1
 Enable reverse back bias. More...
 
uint32_t __pad5__: 3
 Reserved. More...
 

Field Documentation

uint32_t pmc0_lls_mode_config_t::arrayRegulatorSelect
uint32_t pmc0_lls_mode_config_t::__pad0__
uint32_t pmc0_lls_mode_config_t::coreRegulatorSelect
uint32_t pmc0_lls_mode_config_t::__pad1__
uint32_t pmc0_lls_mode_config_t::lvdMonitorSelect
uint32_t pmc0_lls_mode_config_t::hvdMonitorSelect
uint32_t pmc0_lls_mode_config_t::__pad2__
uint32_t pmc0_lls_mode_config_t::enableForceHpBandgap
uint32_t pmc0_lls_mode_config_t::__pad3__
uint32_t pmc0_lls_mode_config_t::coreRegulatorVoltLevel
uint32_t pmc0_lls_mode_config_t::__pad4__
uint32_t pmc0_lls_mode_config_t::enableReverseBackBias
uint32_t pmc0_lls_mode_config_t::__pad5__
struct pmc0_vlls_mode_config_t

Data Fields

uint32_t arrayRegulatorSelect: 2
 Array Regulator Select. More...
 
uint32_t __pad0__: 2
 Reserved. More...
 
uint32_t lvdMonitorSelect: 1
 1.2V LVD Monitor Select. More...
 
uint32_t hvdMonitorSelect: 1
 1.2V HVD Monitor Select. More...
 
uint32_t __pad1__: 1
 Reserved. More...
 
uint32_t enableForceHpBandgap: 1
 Enable force HP band-gap. More...
 
uint32_t __pad2__: 24
 Reserved. More...
 

Field Documentation

uint32_t pmc0_vlls_mode_config_t::arrayRegulatorSelect
uint32_t pmc0_vlls_mode_config_t::__pad0__
uint32_t pmc0_vlls_mode_config_t::lvdMonitorSelect
uint32_t pmc0_vlls_mode_config_t::hvdMonitorSelect
uint32_t pmc0_vlls_mode_config_t::__pad1__
uint32_t pmc0_vlls_mode_config_t::enableForceHpBandgap
uint32_t pmc0_vlls_mode_config_t::__pad2__
struct pmc0_bias_config_t

Data Fields

uint32_t __pad0__: 4
 Reserved. More...
 
uint32_t RBBPWellVoltageLevelSelect: 4
 Select PMC0 RBB P-Well voltage level. More...
 
uint32_t __pad1__: 3
 Reserved. More...
 
uint32_t DisableRBBPullDown: 1
 Disable RBB pull-down. More...
 
uint32_t FBBNWellVoltageLevelSelect: 4
 Select PMC0 FBB N-Well voltage level. More...
 
uint32_t __pad2__: 4
 Reserved. More...
 
uint32_t FBBPWellVoltageLevelSelect: 4
 Select PMC0 FBB P-Well voltage level. More...
 
uint32_t __pad3__: 4
 Reserved. More...
 

Field Documentation

uint32_t pmc0_bias_config_t::__pad0__
uint32_t pmc0_bias_config_t::RBBPWellVoltageLevelSelect
uint32_t pmc0_bias_config_t::__pad1__
uint32_t pmc0_bias_config_t::DisableRBBPullDown

'1' means to disable pull-down. '0' means to enable pull-down.

uint32_t pmc0_bias_config_t::FBBNWellVoltageLevelSelect
uint32_t pmc0_bias_config_t::__pad2__
uint32_t pmc0_bias_config_t::FBBPWellVoltageLevelSelect
uint32_t pmc0_bias_config_t::__pad3__

Enumeration Type Documentation

Enumerator
kPMC0_HighVoltDetectLowPowerMonitor 

LP monitor is selected.

kPMC0_HighVoltDetectHighPowerMonitor 

HP monitor is selected.

Enumerator
kPMC0_LowVoltDetectLowPowerMonitor 

LP monitor is selected.

kPMC0_LowVoltDetectHighPowerMonitor 

HP monitor is selected.

Enumerator
kPMC0_CoreLowPowerRegulator 

Core LP regulator is selected.

kPMC0_CoreHighPowerRegulator 

Core HP regulator is selected.

Enumerator
kPMC0_ArrayLowPowerRegulator 

Array LP regulator is selected.

kPMC0_ArrayHighPowerRegulator 

Array HP regulator is selected.

Enumerator
kPMC0_VllsArrayRegulatorOff 

Array regulator is selected OFF.

This is selectable only for VLLS mode.

kPMC0_VllsArrayLowPowerRegulator 

Array LP regulator is selected.

kPMC0_VllsArrayHighPowerRegulator 

Array HP regulator is selected.

Enumerator
kPMC0_FbbPWellNoBiasCondition 

No BIAS condition is selected.

kPMC0_FbbPWellVoltageLevelAt50Mv 

Voltage level at 50mV is selected.

kPMC0_FbbPWellVoltageLevelAt150Mv 

Voltage level at 150mV is selected.

kPMC0_FbbPWellVoltageLevelAt100Mv 

Voltage level at 100mV is selected.

kPMC0_FbbPWellVoltageLevelAt350Mv 

Voltage level at 350mV is selected.

kPMC0_FbbPWellVoltageLevelAt300Mv 

Voltage level at 300mV is selected.

kPMC0_FbbPWellVoltageLevelAt200Mv 

Voltage level at 200mV is selected.

kPMC0_FbbPWellVoltageLevelAt250Mv 

Voltage level at 250mV is selected.

Enumerator
kPMC0_FbbNWellNoBiasCondition 

No BIAS condition is selected.

kPMC0_FbbNWellVoltageLevelAtMinus50Mv 

Voltage level at -50mV is selected.

kPMC0_FbbNWellVoltageLevelAtMinus150Mv 

Voltage level at -150mV is selected.

kPMC0_FbbNWellVoltageLevelAtMinus100Mv 

Voltage level at -100mV is selected.

kPMC0_FbbNWellVoltageLevelAtMinus350Mv 

Voltage level at -350mV is selected.

kPMC0_FbbNWellVoltageLevelAtMinus300Mv 

Voltage level at -300mV is selected.

kPMC0_FbbNWellVoltageLevelAtMinus200Mv 

Voltage level at -200mV is selected.

kPMC0_FbbNWellVoltageLevelAtMinus250Mv 

Voltage level at -250mV is selected.

Enumerator
kPMC0_RBBPWellVoltageLevelAtMinus0_5V 

Voltage level at -0.5V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus0_6V 

Voltage level at -0.6V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus0_7V 

Voltage level at -0.7V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus0_8V 

Voltage level at -0.8V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus0_9V 

Voltage level at -0.9V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus1_0V 

Voltage level at -1.0V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus1_1V 

Voltage level at -1.1V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus1_2V 

Voltage level at -1.2V is selected.

kPMC0_RBBPWellVoltageLevelAtMinus1_3V 

Voltage level at -1.3V is selected.

Enumerator
kPMC0_RBBNWellVoltageLevelAt0_5V 

Voltage level at 0.5V is selected.

kPMC0_RBBNWellVoltageLevelAt0_6V 

Voltage level at 0.6V is selected.

kPMC0_RBBNWellVoltageLevelAt0_7V 

Voltage level at 0.7V is selected.

kPMC0_RBBNWellVoltageLevelAt0_8V 

Voltage level at 0.8V is selected.

kPMC0_RBBNWellVoltageLevelAt0_9V 

Voltage level at 0.9V is selected.

kPMC0_RBBNWellVoltageLevelAt1_0V 

Voltage level at 1.0V is selected.

kPMC0_RBBNWellVoltageLevelAt1_1V 

Voltage level at 1.1V is selected.

kPMC0_RBBNWellVoltageLevelAt1_2V 

Voltage level at 1.2V is selected.

kPMC0_RBBNWellVoltageLevelAt1_3V 

Voltage level at 1.3V is selected.

Enumerator
kPMC0_LowVoltDetectEventFlag 

1.2V Low-Voltage Detector Flag, sets when low-voltage event was detected.

kPMC0_LowVoltDetectValueFlag 

1.2V Low-Voltage Detector Value, sets when current value of the 1.2V LVD monitor output is 1.

kPMC0_HighVoltDetectEventFlag 

1.8V High-Voltage Detector Flag, sets when high-voltage event was detected.

kPMC0_HighVoltDetectValueFlag 

1.8V High-Voltage Detector Value, sets when current value of the 1.8V HVD monitor output is 1.

kPMC0_CoreRegulatorVoltLevelFlag 

Core Regulator Voltage Level Flag, sets when core regulator voltage level is changing (not stable).

kPMC0_SramFlag 

SRAM Flag, sets when a change mode request is being processed in the SRAMs.

kPMC0_PMC1VoltageSourceFlag 

This flag indicates what is the voltage source selected to supply the PMC 1 and where the sense point of the PMC 1's LVD/HVD is placed.

'0' means internal LDO supplies the PMC 1. '1' means external PMIC supplies the PMC 1.

Enumerator
kPMC0_HSRUNModeStatusFlags 

The PMC 0 is in HSRUN mode.

kPMC0_RUNModeStatusFlags 

The PMC 0 is in RUN mode.

kPMC0_STOPModeStatusFlags 

The PMC 0 is in STOP mode.

kPMC0_VLPRModeStatusFlags 

The PMC 0 is in VLPR mode.

kPMC0_VLPSModeStatusFlags 

The PMC 0 is in VLPS mode.

kPMC0_LLSModeStatusFlags 

The PMC 0 is in LLSM mode.

kPMC0_VLLSModeStatusFlags 

The PMC 0 is in VLLS mode.

Function Documentation

static void PMC0_ConfigureHsrunMode ( const pmc0_hsrun_mode_config_t config)
inlinestatic

This function configures the HSRUN power mode, including the core regulator voltage Level setting, enable forward bias or not.

Parameters
configLow-Voltage detect configuration structure.
static void PMC0_ConfigureRunMode ( const pmc0_run_mode_config_t config)
inlinestatic

This function configures the RUN power mode, including the core regulator voltage Level setting.

Parameters
configLow-Voltage detect configuration structure.
static void PMC0_ConfigureVlprMode ( const pmc0_vlpr_mode_config_t config)
inlinestatic

This function configures the VLPR power mode, including the core regulator voltage Level setting, enable reverse back bias or not, turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.

Parameters
configLow-Voltage detect configuration structure.
static void PMC0_ConfigureStopMode ( const pmc0_stop_mode_config_t config)
inlinestatic

This function configures the STOP power mode, including the core regulator voltage Level setting.

Parameters
configLow-Voltage detect configuration structure.
static void PMC0_ConfigureVlpsMode ( const pmc0_vlps_mode_config_t config)
inlinestatic

This function configures the VLPS power mode, including the core regulator voltage Level setting, enable reverse back bias or not, turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.

Parameters
configLow-Voltage detect configuration structure.
static void PMC0_ConfigureLlsMode ( const pmc0_lls_mode_config_t config)
inlinestatic

This function configures the LLS power mode, including the core regulator voltage Level setting, enable reverse back bias or not, turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.

Parameters
configLow-Voltage detect configuration structure.
static void PMC0_ConfigureVllsMode ( const pmc0_vlls_mode_config_t config)
inlinestatic

This function configures the VLLS power mode, including turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.

The select of array regulator is different from the other mode configurations. PMC 0 VLLS config has three array regulator select options where the others have only the latter two, see pmc0_vlls_array_regulator_select_t. Three array regulator select options in PMC 0 VLLS config are shown below:

  • Regulator is off (diffrentiator)
  • LP Regulator is on
  • HP Regulator is on
Parameters
configLow-Voltage detect configuration structure.
static uint32_t PMC0_GetPMC0PowerModeStatusFlags ( void  )
inlinestatic
Returns
PMC 0 current power mode status flags in the _pmc0_power_mode_status_flags.
static bool PMC0_GetPMC0PowerTransitionStatus ( void  )
inlinestatic
Returns
If return 'true', which means PMC 0 is in a power mode transition. If return 'false', which means PMC 0 is not in a power mode transition.
static uint32_t PMC0_GetPMC1PowerModeStatusFlags ( void  )
inlinestatic
Returns
PMC 1 current power mode status flags in the _pmc0_power_mode_status_flags.
static bool PMC0_GetPMC1PowerTransitionStatus ( void  )
inlinestatic
Returns
If return 'true', which means PMC 1 is in a power mode transition. If return 'false', which means PMC 1 is not in a power mode transition.
static uint32_t PMC0_GetStatusFlags ( void  )
inlinestatic

This function gets all PMC 0 status flags. The flags are returned as the logical OR value of the enumerators _pmc0_status_flags. To check for a specific status, compare the return value with enumerators in the _pmc0_status_flags. For example, to check whether core regulator voltage level is changing:

Returns
PMC 0 status flags which are ORed by the enumerators in the _pmc0_status_flags.
static void PMC0_EnableLowVoltDetectInterrupt ( void  )
inlinestatic

This function enables the 1.2V Low-Voltage Detector interrupt.

static void PMC0_DisableLowVoltDetectInterrupt ( void  )
inlinestatic

This function disables the 1.2V Low-Voltage Detector interrupt.

static void PMC0_ClearLowVoltDetectFlag ( void  )
inlinestatic

This function enables the 1.2V Low-Voltage Detector flag.

static void PMC0_EnableHighVoltDetectInterrupt ( void  )
inlinestatic

This function enables the 1.8V High-Voltage Detector interrupt.

static void PMC0_DisableHighVoltDetectInterrupt ( void  )
inlinestatic

This function disables the 1.8V High-Voltage Detector interrupt.

static void PMC0_ClearHighVoltDetectFlag ( void  )
inlinestatic

This function enables the 1.8V High-Voltage Detector flag.

static void PMC0_EnableLowVoltDetectReset ( bool  enable)
inlinestatic

This function enables 1.2V Low-Voltage Detector reset.

Parameters
enableSwitcher of 1.2V Low-Voltage Detector reset feature. "true" means to enable, "false" means not.
static void PMC0_EnableHighVoltDetectReset ( bool  enable)
inlinestatic

This function enables 1.8V High-Voltage Detector reset.

Parameters
enableSwitcher of 1.8V High-Voltage Detector reset feature. "true" means to enable, "false" means not.
static void PMC0_ClearPadsIsolation ( void  )
inlinestatic

This function releases/clears the isolation in the PADS.

The isolation in the pads only will be asserted during LLS/VLLS. On LLS exit, the isolation will release automatically. ISOACK must be set after a VLLS to RUN mode transition has completed.

static void PMC0_PowerOnPmc1 ( void  )
inlinestatic

This function powers on PMC 1.

When this bit field is asserted the PMC 1 is powered on. This bit would take action only once. This bit will be rearmed after a POR event only. NOTE: USB PHY-related interrupt (NVIC/GIC) and wake-up channels (AWIC/WKPU) must be disabled before turning PMC1 on.

static void PMC0_EnableWaitLdoOkSignal ( bool  enable)
inlinestatic

This function enables to wait LDO OK signal.

Parameters
enableSwitcher of wait LDO OK signal feature. "true" means to enable, "false" means not.
static void PMC0_EnablePmc1LdoRegulator ( bool  enable)
inlinestatic

This function enables PMC 1 LDO Regulator.

Parameters
enableSwitcher of PMC 1 LDO Regulator. "true" means to enable, "false" means not.
static void PMC0_EnablePmc1RBBMode ( bool  enable)
inlinestatic

This function enables PMC1 RBB mode. Since this circuit when enabled has current consumption. It is recommended to use it just in high temperatures when the leakage reduction is much higher than the current consumption.

Parameters
enableSwitcher of PMC1 RBB mode. "true" means to enable, "false" means disable.
static void PMC0_SetBiasConfig ( const pmc0_bias_config_t config)
inlinestatic

This function change the RBB&FBB voltage level and RBB pull-down.

Parameters
configPMC 0 bias configuration structure.
static void PMC0_ConfigureSramBankPowerDown ( uint32_t  bankMask)
inlinestatic

This function configures PMC 0 SRAM bank power down.

The bit i controls the power mode of the PMC 0 SRAM bank i. PMC0_SRAM_PD[i] = 1'b0 - PMC 0 SRAM bank i is not affected. PMC0_SRAM_PD[i] = 1'b1 - PMC 0 SRAM bank i is in ASD or ARRAY_SHUTDOWN during all modes, except VLLS. During VLLS is in POWER_DOWN mode.

Example

* // Enable band 0 and 1 in ASD or ARRAY_SHUTDOWN during all modes except VLLS
*
Parameters
bankMaskThe bands to enable. Logical OR of all bits of band index to enbale.
static void PMC0_ConfigureSramBankPowerDownStopMode ( uint32_t  bankMask)
inlinestatic

This function configures PMC 0 SRAM bank power down in stop modes.

The bit i controls the PMC 0 SRAM bank i. PMC0_SRAM_PDS[i] = 1'b0 - PMC 0 SRAM bank i is not affected. PMC0_SRAM_PDS[i] = 1'b1 - PMC 0 SRAM bank i is in ASD or ARRAY_SHUTDOWN mode during STOP, VLPS and LLS modes. During VLLS is in POWER_DOWN mode.

Example

* // Enable band 0 and 1 in ASD or ARRAY_SHUTDOWN during STOP, VLPS and LLS modes
*
Parameters
bankMaskThe bands to enable. Logical OR of all bits of band index to enbale.
static void PMC0_ConfigureSramBankPowerDownStandbyMode ( uint32_t  bankMask)
inlinestatic

This function configures PMC 0 SRAM bank power down in Standby Mode.

The bit i controls the PMC 0 SRAM bank i. PMC0_SRAM_STDY[i] = 1'b0 - PMC 0 SRAM bank i is not affected. PMC0_SRAM_STDY[i] = 1'b1 - PMC 0 SRAM bank i is in STANDBY mode during all modes (except VLLS and LLS).

Example

* // Enable band 0 and 1 in STANDBY mode except VLLS and LLS
*
Parameters
bankMaskThe bands to enable. Logical OR of all bits of band index to enbale.
static void PMC0_EnableTemperatureSensor ( bool  enable)
inlinestatic
Parameters
enableUsed to enable/disable internal temperature sensor.
  • true Enable internal temperature sensor.
  • false Disable internal temperature sensor.
static void PMC0_SetTemperatureSensorMode ( uint8_t  mode)
inlinestatic
Parameters
modeThe temperature sensor mode to set.