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

Overview

Data Structures

struct  pmu_static_lpsr_ana_ldo_config_t
 LPSR ANA LDO config. More...
 
struct  pmu_static_lpsr_dig_config_t
 LPSR DIG LDO Config in Static/Software Mode. More...
 
struct  pmu_snvs_dig_config_t
 SNVS DIG LDO config. More...
 
struct  pmu_static_bandgap_config_t
 Bandgap config in static mode. More...
 
struct  pmu_static_body_bias_config_t
 The config of body bias in Static/Software Mode. More...
 
struct  pmu_gpc_body_bias_config_t
 The stucture of body bias config in GPC mode. More...
 

Enumerations

enum  _pmu_setpoint_map {
  kPMU_SetPoint0 = 1UL << 0UL,
  kPMU_SetPoint1 = 1UL << 1UL,
  kPMU_SetPoint2 = 1UL << 2UL,
  kPMU_SetPoint3 = 1UL << 3UL,
  kPMU_SetPoint4 = 1UL << 4UL,
  kPMU_SetPoint5 = 1UL << 5UL,
  kPMU_SetPoint6 = 1UL << 6UL,
  kPMU_SetPoint7 = 1UL << 7UL,
  kPMU_SetPoint8 = 1UL << 8UL,
  kPMU_SetPoint9 = 1UL << 9UL,
  kPMU_SetPoint10 = 1UL << 10UL,
  kPMU_SetPoint11 = 1UL << 11UL,
  kPMU_SetPoint12 = 1UL << 12UL,
  kPMU_SetPoint13 = 1UL << 13UL,
  kPMU_SetPoint14 = 1UL << 14UL,
  kPMU_SetPoint15 = 1UL << 15UL
}
 System setpoints enumeration. More...
 
enum  pmu_ldo_name_t {
  kPMU_PllLdo = 0U,
  kPMU_LpsrAnaLdo = 1U,
  kPMU_LpsrDigLdo = 2U,
  kPMU_SnvsDigLdo = 3U
}
 The name of LDOs. More...
 
enum  pmu_body_bias_name_t {
  kPMU_FBB_CM7 = 0x0U,
  kPMU_RBB_SOC = 0x1U,
  kPMU_RBB_LPSR = 0x2U
}
 The name of body bias. More...
 
enum  pmu_control_mode_t {
  kPMU_StaticMode = 0U,
  kPMU_GPCMode = 1U
}
 The control mode of LDOs/Bandgaps/Body Bias. More...
 
enum  pmu_ldo_operate_mode_t {
  kPMU_LowPowerMode = 0x0U,
  kPMU_HighPowerMode = 0x1U
}
 The operation mode for the LDOs. More...
 
enum  pmu_lpsr_ana_ldo_driver_strength_t {
  kPMU_LpsrAnaLdoDriverStrength0 = 0U,
  kPMU_LpsrAnaLdoDriverStrength1 = 1U,
  kPMU_LpsrAnaLdoDriverStrength2 = 2U,
  kPMU_LpsrAnaLdoDriverStrength3 = 3U
}
 The enumeration of LPSR ANA LDO's driver strength. More...
 
enum  pmu_lpsr_ana_ldo_charge_pump_current_t {
  kPMU_LpsrAnaChargePump300nA = 0U,
  kPMU_LpsrAnaChargePump400nA = 1U,
  kPMU_LpsrAnaChargePump500nA = 2U,
  kPMU_LpsrAnaChargePump600nA = 3U
}
 The enumeration of LPSR ANA LDO's charge pump current. More...
 
enum  pmu_lpsr_ana_ldo_brown_out_detector_config_t {
  kPMU_LpsrAnaLdoBrownOutDetectorDisable = 4U,
  kPMU_LpsrAnaLdoBrownOutDetectorOffset25mV = 0U,
  kPMU_LpsrAnaLdoBrownOutDetectorOffset50mV = 1U,
  kPMU_LpsrAnaLdoBrownOutDetectorOffset75mV = 2U,
  kPMU_LpsrAnaLdoBrownOutDetectorOffset100mV = 3U
}
 The enumeration of LPSR ANA LDO's brown out config. More...
 
enum  pmu_lpsr_ana_ldo_output_range_t {
  kPMU_LpsrAnaLdoOutputFrom1P77To1P83 = 0U,
  kPMU_LpsrAnaLdoOutputFrom1P72To1P77 = 1U,
  kPMU_LpsrAnaLdoOutputFrom1P82To1P88 = 2U
}
 The enumeration of LPSR ANA LDO's output range. More...
 
enum  pmu_lpsr_ana_ldo_bypass_mode_t {
  kPMU_LpsrAnaLdoBypassModeDisable = 0U,
  kPMU_LpsrAnaLdoBypassMode1 = 1U,
  kPMU_LpsrAnaLdoBypassMode2 = 2U
}
 The enumeration of LPSR ANA LDO's bypass mode. More...
 
enum  pmu_lpsr_dig_voltage_step_time_t {
  kPMU_LpsrDigVoltageStepInc15us = 0x0U,
  kPMU_LpsrDigVoltageStepInc25us = 0x1U,
  kPMU_LpsrDigVoltageStepInc50us = 0x2U,
  kPMU_LpsrDigVoltageStepInc100us = 0x3U
}
 The enumeration of voltage step time for LPSR DIG LDO. More...
 
enum  pmu_lpsr_dig_brown_out_config_t {
  kPMU_LpsrDigBrownOutDisable = 0x4U,
  kPMU_LpsrDigBrownOutEnableOffset19mV = 0x0U,
  kPMU_LpsrDigBrownOutEnableOffset39mV = 0x1U,
  kPMU_LpsrDigBrownOutEnableOffset58mV = 0x2U,
  kPMU_LpsrDigBrownOutEnableOffset78mV = 0x3U
}
 The enumeration of LPSR DIG LDO's brown out config. More...
 
enum  pmu_lpsr_dig_target_output_voltage_t {
  kPMU_LpsrDigTargetStableVoltage0P709V = 0x4U,
  kPMU_LpsrDigTargetStableVoltage0P728V = 0x5U,
  kPMU_LpsrDigTargetStableVoltage0P748V = 0x6U,
  kPMU_LpsrDigTargetStableVoltage0P767V = 0x7U,
  kPMU_LpsrDigTargetStableVoltage0P786V = 0x8U,
  kPMU_LpsrDigTargetStableVoltage0P806V = 0x9U,
  kPMU_LpsrDigTargetStableVoltage0P825V = 0xAU,
  kPMU_LpsrDigTargetStableVoltage0P845V = 0xBU,
  kPMU_LpsrDigTargetStableVoltage0P864V = 0xCU,
  kPMU_LpsrDigTargetStableVoltage0P883V = 0xDU,
  kPMU_LpsrDigTargetStableVoltage0P903V = 0xEU,
  kPMU_LpsrDigTargetStableVoltage0P922V = 0xFU,
  kPMU_LpsrDigTargetStableVoltage0P942V = 0x10U,
  kPMU_LpsrDigTargetStableVoltage0P961V = 0x11U,
  kPMU_LpsrDigTargetStableVoltage0P981V = 0x12U,
  kPMU_LpsrDigTargetStableVoltage1P0V = 0x13U,
  kPMU_LpsrDigTargetStableVoltage1P019V = 0x14U,
  kPMU_LpsrDigTargetStableVoltage1P039V = 0x15U,
  kPMU_LpsrDigTargetStableVoltage1P058V = 0x16U,
  kPMU_LpsrDigTargetStableVoltage1P078V = 0x17U,
  kPMU_LpsrDigTargetStableVoltage1P097V = 0x18U,
  kPMU_LpsrDigTargetStableVoltage1P117V = 0x19U,
  kPMU_LpsrDigTargetStableVoltage1P136V = 0x1AU
}
 The target output voltage of LPSR DIG LDO. More...
 
enum  pmu_snvs_dig_charge_pump_current_t {
  kPMU_SnvsDigChargePump12P5nA = 0U,
  kPMU_SnvsDigChargePump6P25nA = 1U,
  kPMU_SnvsDigChargePump18P75nA = 2U
}
 The enumeration of the SNVS DIG LDO's charge pump current. More...
 
enum  pmu_snvs_dig_discharge_resistor_value_t {
  kPMU_SnvsDigDischargeResistor15K = 0U,
  kPMU_SnvsDigDischargeResistor30K = 1U,
  kPMU_SnvsDigDischargeResistor9K = 2U
}
 The enumeration of the SNVS DIG LDO's discharge resistor. More...
 
enum  _pmu_static_bandgap_power_down_option {
  kPMU_PowerDownBandgapFully = 1U << 0U,
  kPMU_PowerDownVoltageReferenceOutputOnly = 1U << 1U,
  kPMU_PowerDownBandgapVBGUPDetector = 1U << 2U
}
 The enumeration of bandgap power down option. More...
 
enum  pmu_bandgap_output_VBG_voltage_value_t {
  kPMU_BandgapOutputVBGVoltageNominal = 0x0U,
  kPMU_BandgapOutputVBGVoltagePlus10mV = 0x1U,
  kPMU_BandgapOutputVBGVoltagePlus20mV = 0x2U,
  kPMU_BandgapOutputVBGVoltagePlus30mV = 0x3U,
  kPMU_BandgapOutputVBGVoltageMinus10mV = 0x4U,
  kPMU_BandgapOutputVBGVoltageMinus20mV = 0x5U,
  kPMU_BandgapOutputVBGVoltageMinus30mV = 0x6U,
  kPMU_BandgapOutputVBGVoltageMinus40mV = 0x7U
}
 The enumeration of output VBG voltage. More...
 
enum  pmu_bandgap_output_current_value_t {
  kPMU_OutputCurrent11P5uA = 0x0U,
  kPMU_OutputCurrent11P8uA = 0x1U,
  kPMU_OutputCurrent12P1uA = 0x2U,
  kPMU_OutputCurrent12P4uA = 0x4U,
  kPMU_OutputCurrent12P7uA = 0x5U,
  kPMU_OutputCurrent13P0uA = 0x6U,
  kPMU_OutputCurrent13P3uA = 0x7U
}
 The enumeration of output current. More...
 
enum  pmu_body_bias_well_voltage_level_t {
  kPMU_BodyBiasWellRegulateTo0P5V = 0x0U,
  kPMU_BodyBiasWellRegulateTo0P6V = 0x1U,
  kPMU_BodyBiasWellRegulateTo0P7V = 0x2U,
  kPMU_BodyBiasWellRegulateTo0P8V = 0x3U,
  kPMU_BodyBiasWellRegulateTo0P9V = 0x4U,
  kPMU_BodyBiasWellRegulateTo1P0V = 0x5U,
  kPMU_BodyBiasWellRegulateTo1P1V = 0x6U,
  kPMU_BodyBiasWellRegulateTo1P2V = 0x7U,
  kPMU_BodyBiasWellRegulateTo1P3V = 0x8U
}
 The enumeration of the body_bias_well's voltage level in static mode. More...
 

Driver version

#define FSL_PMU_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
 PMU driver version. More...
 

LDOs control related APIs

void PMU_SetPllLdoControlMode (ANADIG_PMU_Type *base, pmu_control_mode_t mode)
 Selects the control mode of the PLL LDO. More...
 
void PMU_SwitchPllLdoToGPCMode (ANADIG_PMU_Type *base)
 Switches the PLL LDO from Static/Software Mode to GPC/Hardware Mode. More...
 
void PMU_StaticEnablePllLdo (ANADIG_PMU_Type *base)
 Enables PLL LDO via AI interface in Static/Software mode. More...
 
void PMU_StaticDisablePllLdo (void)
 Disables PLL LDO via AI interface in Static/Software mode. More...
 
void PMU_SetLpsrAnaLdoControlMode (ANADIG_LDO_SNVS_Type *base, pmu_control_mode_t mode)
 Selects the control mode of the LPSR ANA LDO. More...
 
void PMU_StaticSetLpsrAnaLdoBypassMode (ANADIG_LDO_SNVS_Type *base, pmu_lpsr_ana_ldo_bypass_mode_t bypassMode)
 Sets the Bypass mode of the LPSR ANA LDO. More...
 
void PMU_StaticGetLpsrAnaLdoDefaultConfig (pmu_static_lpsr_ana_ldo_config_t *config)
 Fill the LPSR ANA LDO configuration structure with default settings. More...
 
void PMU_StaticLpsrAnaLdoInit (ANADIG_LDO_SNVS_Type *base, const pmu_static_lpsr_ana_ldo_config_t *config)
 Initialize the LPSR ANA LDO in Static/Sofware Mode. More...
 
void PMU_StaticLpsrAnaLdoDeinit (ANADIG_LDO_SNVS_Type *base)
 Disable the output of LPSR ANA LDO. More...
 
void PMU_SetLpsrDigLdoControlMode (ANADIG_LDO_SNVS_Type *base, pmu_control_mode_t mode)
 Selects the control mode of the LPSR DIG LDO. More...
 
void PMU_StaticEnableLpsrDigLdoBypassMode (ANADIG_LDO_SNVS_Type *base, bool enable)
 Turn on/off Bypass mode of the LPSR DIG LDO in Static/Software mode. More...
 
void PMU_StaticGetLpsrDigLdoDefaultConfig (pmu_static_lpsr_dig_config_t *config)
 Gets the default configuration of LPSR DIG LDO. More...
 
void PMU_StaticLpsrDigLdoInit (ANADIG_LDO_SNVS_Type *base, const pmu_static_lpsr_dig_config_t *config)
 Initialize the LPSR DIG LDO in static mode. More...
 
void PMU_StaticLpsrDigLdoDeinit (ANADIG_LDO_SNVS_Type *base)
 Disable the LPSR DIG LDO. More...
 
void PMU_GPCSetLpsrDigLdoTargetVoltage (uint32_t setpointMap, pmu_lpsr_dig_target_output_voltage_t voltageValue)
 Sets the voltage step of LPSR DIG LDO in certain setpoint during GPC mode. More...
 
void PMU_GetSnvsDigLdoDefaultConfig (pmu_snvs_dig_config_t *config)
 Gets the default config of the SNVS DIG LDO. More...
 
void PMU_SnvsDigLdoInit (ANADIG_LDO_SNVS_DIG_Type *base, const pmu_snvs_dig_config_t *config)
 Initialize the SNVS DIG LDO. More...
 
static void PMU_SnvsDigLdoDeinit (ANADIG_LDO_SNVS_DIG_Type *base)
 Disable SNVS DIG LDO.
 
void PMU_GPCEnableLdo (pmu_ldo_name_t name, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the selected LDO in certain setpoints with GPC mode. More...
 
void PMU_GPCSetLdoOperateMode (pmu_ldo_name_t name, uint32_t setpointMap, pmu_ldo_operate_mode_t mode)
 Sets the operating mode of the selected LDO in certain setpoints with GPC mode. More...
 
void PMU_GPCEnableLdoTrackingMode (pmu_ldo_name_t name, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the selected LDOs' Tracking mode in certain setpoints with GPC mode. More...
 
void PMU_GPCEnableLdoBypassMode (pmu_ldo_name_t name, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the selected LDOs' Bypass mode in certain setpoints with GPC mode. More...
 
void PMU_GPCEnableLdoStandbyMode (pmu_ldo_name_t name, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the selected LDOs' Standby mode in certain setpoints with GPC mode. More...
 

Bandgap control related APIs

void PMU_SetBandgapControlMode (ANADIG_PMU_Type *base, pmu_control_mode_t mode)
 Selects the control mode of the Bandgap Reference. More...
 
void PMU_SwitchBandgapToGPCMode (ANADIG_PMU_Type *base)
 Switches the Bandgap from Static/Software Mode to GPC/Hardware Mode. More...
 
void PMU_DisableBandgapSelfBiasAfterPowerUp (void)
 Disables Bandgap self bias for best noise performance. More...
 
void PMU_EnableBandgapSelfBiasBeforePowerDown (void)
 Enables Bandgap self bias before power down. More...
 
void PMU_StaticBandgapInit (const pmu_static_bandgap_config_t *config)
 Initialize Bandgap. More...
 
static void PMU_GPCEnableBandgap (ANADIG_PMU_Type *base, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the Bandgap in certain setpoints with GPC mode. More...
 
static void PMU_GPCEnableBandgapStandbyMode (ANADIG_PMU_Type *base, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the Bandgap's Standby mode in certain setpoints with GPC mode. More...
 

Body Bias control

void PMU_SetBodyBiasControlMode (ANADIG_PMU_Type *base, pmu_body_bias_name_t name, pmu_control_mode_t mode)
 Selects the control mode of the Body Bias. More...
 
void PMU_StaticGetCm7FBBDefaultConfig (pmu_static_body_bias_config_t *config)
 Gets the default config of CM7 Forward Body Bias in Static/Software mode. More...
 
void PMU_StaticCm7FBBInit (ANADIG_PMU_Type *base, const pmu_static_body_bias_config_t *config)
 Initialize CM7 Forward Body Bias in Static/Software Mode. More...
 
void PMU_StaticLpsrRBBDefaultConfig (pmu_static_body_bias_config_t *config)
 Gets the default config of LPSR Reverse Body Bias in Static/Software mode. More...
 
void PMU_StaticLpsrRBBInit (ANADIG_PMU_Type *base, const pmu_static_body_bias_config_t *config)
 Initialize LPSR Reverse Body Bias in Static/Software Mode. More...
 
void PMU_StaticSocRBBDefaultConfig (pmu_static_body_bias_config_t *config)
 Gets the default config of SOC Reverse Body Bias in Static/Software mode. More...
 
void PMU_StaticSocRBBInit (ANADIG_PMU_Type *base, const pmu_static_body_bias_config_t *config)
 Initialize SOC Reverse Body Bias in Static/Software Mode. More...
 
void PMU_GPCEnableBodyBias (pmu_body_bias_name_t name, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the selected body bias in certain setpoints with GPC mode. More...
 
void PMU_GPCEnableBodyBiasStandbyMode (pmu_body_bias_name_t name, uint32_t setpointMap, bool enable)
 Controls the ON/OFF of the selected Body Bias' Standby mode in certain setpoints with GPC mode. More...
 
void PMU_GPCGetBodyBiasDefaultConfig (pmu_gpc_body_bias_config_t *config)
 Gets the default config of body bias in GPC mode. More...
 
void PMU_GPCSetBodyBiasConfig (pmu_body_bias_name_t name, const pmu_gpc_body_bias_config_t *config)
 Sets the config of the selected Body Bias in GPC mode. More...
 

Data Structure Documentation

struct pmu_static_lpsr_ana_ldo_config_t

Data Fields

pmu_ldo_operate_mode_t mode
 The operate mode of LPSR ANA LDO. More...
 
bool enable2mALoad
 Enable/Disable 2mA load. More...
 
bool enable4mALoad
 Enable/Disable 4mA load. More...
 
bool enable20uALoad
 Enable/Disable 20uA load. More...
 
bool enableStandbyMode
 Enable/Disable Standby Mode. More...
 
pmu_lpsr_ana_ldo_driver_strength_t driverStrength
 The drive strength of LPSR ANA LDO's power switch. More...
 
pmu_lpsr_ana_ldo_charge_pump_current_t chargePumpCurrent
 The current of LPSR ANA LDO's charge pump. More...
 
pmu_lpsr_ana_ldo_brown_out_detector_config_t brownOutDetectorConfig
 The configuration of LPSR ANA LDO's brown out. More...
 
pmu_lpsr_ana_ldo_output_range_t outputRange
 The output range of LPSR ANA LDO. More...
 

Field Documentation

pmu_ldo_operate_mode_t pmu_static_lpsr_ana_ldo_config_t::mode
bool pmu_static_lpsr_ana_ldo_config_t::enable2mALoad
  • true Enables 2mA loading to prevent overshoot;
  • false Disables 2mA loading.
bool pmu_static_lpsr_ana_ldo_config_t::enable4mALoad
  • true Enables 4mA loading to prevent dramatic voltage drop;
  • false Disables 4mA load.
bool pmu_static_lpsr_ana_ldo_config_t::enable20uALoad
  • true Enables 20uA loading to prevent overshoot;
  • false Disables 20uA load.
bool pmu_static_lpsr_ana_ldo_config_t::enableStandbyMode
  • true Enables Standby mode;
  • false Disables Standby mode.
pmu_lpsr_ana_ldo_driver_strength_t pmu_static_lpsr_ana_ldo_config_t::driverStrength
pmu_lpsr_ana_ldo_charge_pump_current_t pmu_static_lpsr_ana_ldo_config_t::chargePumpCurrent
pmu_lpsr_ana_ldo_brown_out_detector_config_t pmu_static_lpsr_ana_ldo_config_t::brownOutDetectorConfig
pmu_lpsr_ana_ldo_output_range_t pmu_static_lpsr_ana_ldo_config_t::outputRange
struct pmu_static_lpsr_dig_config_t

Data Fields

bool enableStableDetect
 Enable/Disable Stable Detect. More...
 
pmu_lpsr_dig_voltage_step_time_t voltageStepTime
 Step time. More...
 
pmu_lpsr_dig_brown_out_config_t brownOutConfig
 The configuration of LPSR DIG LDO's brown out. More...
 
pmu_lpsr_dig_target_output_voltage_t targetVoltage
 The target output voltage. More...
 
pmu_ldo_operate_mode_t mode
 The operate mode of the LPSR DIG LDO. More...
 

Field Documentation

bool pmu_static_lpsr_dig_config_t::enableStableDetect
  • true Enables Stable Detect.
  • false Disables Stable Detect.
pmu_lpsr_dig_voltage_step_time_t pmu_static_lpsr_dig_config_t::voltageStepTime
pmu_lpsr_dig_brown_out_config_t pmu_static_lpsr_dig_config_t::brownOutConfig
pmu_lpsr_dig_target_output_voltage_t pmu_static_lpsr_dig_config_t::targetVoltage
pmu_ldo_operate_mode_t pmu_static_lpsr_dig_config_t::mode
struct pmu_snvs_dig_config_t

Data Fields

pmu_ldo_operate_mode_t mode
 The operate mode the SNVS DIG LDO. More...
 
pmu_snvs_dig_charge_pump_current_t chargePumpCurrent
 The current of SNVS DIG LDO's charge pump current. More...
 
pmu_snvs_dig_discharge_resistor_value_t dischargeResistorValue
 The value of SNVS DIG LDO's Discharge Resistor. More...
 
uint8_t trimValue
 The trim value. More...
 
bool enablePullDown
 Enable/Disable Pull down. More...
 
bool enableLdoStable
 Enable/Disable SNVS DIG LDO Stable. More...
 

Field Documentation

pmu_ldo_operate_mode_t pmu_snvs_dig_config_t::mode
pmu_snvs_dig_charge_pump_current_t pmu_snvs_dig_config_t::chargePumpCurrent
pmu_snvs_dig_discharge_resistor_value_t pmu_snvs_dig_config_t::dischargeResistorValue
uint8_t pmu_snvs_dig_config_t::trimValue
bool pmu_snvs_dig_config_t::enablePullDown
  • true Enables the feature of using 1M ohm resistor to discharge the LDO output.
  • false Disables the feature of using 1M ohm resistor to discharge the LDO output.
bool pmu_snvs_dig_config_t::enableLdoStable
struct pmu_static_bandgap_config_t

Data Fields

uint8_t powerDownOption
 The OR'ed value of _pmu_static_bandgap_power_down_option. More...
 
bool enableLowPowerMode
 Turn on/off the Low power mode. More...
 
pmu_bandgap_output_VBG_voltage_value_t outputVoltage
 The output VBG voltage of Bandgap. More...
 
pmu_bandgap_output_current_value_t outputCurrent
 The output current from the bandgap to the temperature sensors. More...
 

Field Documentation

uint8_t pmu_static_bandgap_config_t::powerDownOption
bool pmu_static_bandgap_config_t::enableLowPowerMode
  • true Turns on the low power operation of the bandgap.
  • false Turns off the low power operation of the bandgap.
pmu_bandgap_output_VBG_voltage_value_t pmu_static_bandgap_config_t::outputVoltage
pmu_bandgap_output_current_value_t pmu_static_bandgap_config_t::outputCurrent
struct pmu_static_body_bias_config_t

Data Fields

pmu_body_bias_well_voltage_level_t voltageLevel
 The voltage level of body bias well. More...
 
uint8_t driveStrength
 The value of drive Strength.
 
uint8_t oscillatorFreq
 The frequency of Oscillator. More...
 

Field Documentation

pmu_body_bias_well_voltage_level_t pmu_static_body_bias_config_t::voltageLevel
uint8_t pmu_static_body_bias_config_t::oscillatorFreq
struct pmu_gpc_body_bias_config_t

Data Fields

uint8_t PWELLRegulatorSize
 The size of the PWELL Regulator. More...
 
uint8_t NWELLRegulatorSize
 The size of the NWELL Regulator. More...
 
uint8_t oscillatorSize
 The size of the oscillator bits. More...
 
uint8_t regulatorStrength
 The strength of the selected regulator. More...
 

Field Documentation

uint8_t pmu_gpc_body_bias_config_t::PWELLRegulatorSize
uint8_t pmu_gpc_body_bias_config_t::NWELLRegulatorSize
uint8_t pmu_gpc_body_bias_config_t::oscillatorSize
uint8_t pmu_gpc_body_bias_config_t::regulatorStrength

Macro Definition Documentation

#define FSL_PMU_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))

Version 2.0.0.

Enumeration Type Documentation

Enumerator
kPMU_SetPoint0 

Set point 0.

kPMU_SetPoint1 

Set point 1.

kPMU_SetPoint2 

Set point 2.

kPMU_SetPoint3 

Set point 3.

kPMU_SetPoint4 

Set point 4.

kPMU_SetPoint5 

Set point 5.

kPMU_SetPoint6 

Set point 6.

kPMU_SetPoint7 

Set point 7.

kPMU_SetPoint8 

Set point 8.

kPMU_SetPoint9 

Set point 9.

kPMU_SetPoint10 

Set point 10.

kPMU_SetPoint11 

Set point 11.

kPMU_SetPoint12 

Set point 12.

kPMU_SetPoint13 

Set point 13.

kPMU_SetPoint14 

Set point 14.

kPMU_SetPoint15 

Set point 15.

Enumerator
kPMU_PllLdo 

The PLL LDO in SOC domain.

kPMU_LpsrAnaLdo 

The LPSR ANA LDO in LPSR domain.

kPMU_LpsrDigLdo 

The LPSR DIG LDO in LPSR domain.

kPMU_SnvsDigLdo 

The SNVS DIG LDO in SNVS domain.

Enumerator
kPMU_FBB_CM7 

The FBB implemented in Cortex-M7 Platform.

kPMU_RBB_SOC 

The RBB implemented in SOC.

kPMU_RBB_LPSR 

The RBB implemented in LPSRMIX.

Enumerator
kPMU_StaticMode 

Static/Software Control mode.

kPMU_GPCMode 

GPC/Hardware Control mode.

Enumerator
kPMU_LowPowerMode 

LDOs operate in Low power mode.

kPMU_HighPowerMode 

LDOs operate in High power mode.

Enumerator
kPMU_LpsrAnaLdoDriverStrength0 

Driver strength0 of LPSR ANA LDO.

kPMU_LpsrAnaLdoDriverStrength1 

Driver strength1 of LPSR ANA LDO.

kPMU_LpsrAnaLdoDriverStrength2 

Driver strength2 of LPSR ANA LDO.

kPMU_LpsrAnaLdoDriverStrength3 

Driver strength3 of LPSR ANA LDO.

Enumerator
kPMU_LpsrAnaChargePump300nA 

The current of the charge pump is selected as 300nA.

kPMU_LpsrAnaChargePump400nA 

The current of the charge pump is selected as 400nA.

kPMU_LpsrAnaChargePump500nA 

The current of the charge pump is selected as 500nA.

kPMU_LpsrAnaChargePump600nA 

The current of the charge pump is selected as 600nA.

Enumerator
kPMU_LpsrAnaLdoBrownOutDetectorDisable 

Disable brown out.

kPMU_LpsrAnaLdoBrownOutDetectorOffset25mV 

Enable brown out and the offset is 25mV.

kPMU_LpsrAnaLdoBrownOutDetectorOffset50mV 

Enable brown out and the offset is 50mV.

kPMU_LpsrAnaLdoBrownOutDetectorOffset75mV 

Enable brown out and the offset is 75mV.

kPMU_LpsrAnaLdoBrownOutDetectorOffset100mV 

Enable brown out and the offset is 100mV.

Enumerator
kPMU_LpsrAnaLdoOutputFrom1P77To1P83 

The output voltage varies from 1.77V to 1.83V.

kPMU_LpsrAnaLdoOutputFrom1P72To1P77 

The output voltage varies from 1.72V to 1.77V.

kPMU_LpsrAnaLdoOutputFrom1P82To1P88 

The output voltage varies from 1.82V to 1.88V.

Enumerator
kPMU_LpsrAnaLdoBypassModeDisable 

Disable LPSR ANA LDO Bypass Mode.

kPMU_LpsrAnaLdoBypassMode1 

Select LPSR ANA LDO Bypass Mode1.

kPMU_LpsrAnaLdoBypassMode2 

Select LPSR ANA LDO Bypass Mode2.

Enumerator
kPMU_LpsrDigVoltageStepInc15us 

LPSR DIG LDO voltage step time selected as 15us.

kPMU_LpsrDigVoltageStepInc25us 

LPSR DIG LDO voltage step time selected as 25us.

kPMU_LpsrDigVoltageStepInc50us 

LPSR DIG LDO voltage step time selected as 50us.

kPMU_LpsrDigVoltageStepInc100us 

LPSR DIG LDO voltage step time selected as 100us.

Enumerator
kPMU_LpsrDigBrownOutDisable 

Disable brown out.

kPMU_LpsrDigBrownOutEnableOffset19mV 

Enable brown out and the offset is 19mV.

kPMU_LpsrDigBrownOutEnableOffset39mV 

Enable brown out and the offset is 39mV.

kPMU_LpsrDigBrownOutEnableOffset58mV 

Enable brown out and the offset is 58mV.

kPMU_LpsrDigBrownOutEnableOffset78mV 

Enable brown out and the offset is 78mV.

Enumerator
kPMU_LpsrDigTargetStableVoltage0P709V 

The target voltage selected as 0.709V.

kPMU_LpsrDigTargetStableVoltage0P728V 

The target voltage selected as 0.728V.

kPMU_LpsrDigTargetStableVoltage0P748V 

The target voltage selected as 0.748V.

kPMU_LpsrDigTargetStableVoltage0P767V 

The target voltage selected as 0.767V.

kPMU_LpsrDigTargetStableVoltage0P786V 

The target voltage selected as 0.786V.

kPMU_LpsrDigTargetStableVoltage0P806V 

The target voltage selected as 0.806V.

kPMU_LpsrDigTargetStableVoltage0P825V 

The target voltage selected as 0.825V.

kPMU_LpsrDigTargetStableVoltage0P845V 

The target voltage selected as 0.845V.

kPMU_LpsrDigTargetStableVoltage0P864V 

The target voltage selected as 0.864V.

kPMU_LpsrDigTargetStableVoltage0P883V 

The target voltage selected as 0.883V.

kPMU_LpsrDigTargetStableVoltage0P903V 

The target voltage selected as 0.903V.

kPMU_LpsrDigTargetStableVoltage0P922V 

The target voltage selected as 0.922V.

kPMU_LpsrDigTargetStableVoltage0P942V 

The target voltage selected as 0.942V.

kPMU_LpsrDigTargetStableVoltage0P961V 

The target voltage selected as 0.961V.

kPMU_LpsrDigTargetStableVoltage0P981V 

The target voltage selected as 0.981V.

kPMU_LpsrDigTargetStableVoltage1P0V 

The target voltage selected as 1.0V.

kPMU_LpsrDigTargetStableVoltage1P019V 

The target voltage selected as 1.019V.

kPMU_LpsrDigTargetStableVoltage1P039V 

The target voltage selected as 1.039V.

kPMU_LpsrDigTargetStableVoltage1P058V 

The target voltage selected as 1.058V.

kPMU_LpsrDigTargetStableVoltage1P078V 

The target voltage selected as 1.078V.

kPMU_LpsrDigTargetStableVoltage1P097V 

The target voltage selected as 1.097V.

kPMU_LpsrDigTargetStableVoltage1P117V 

The target voltage selected as 1.117V.

kPMU_LpsrDigTargetStableVoltage1P136V 

The target voltage selected as 1.136V.

Enumerator
kPMU_SnvsDigChargePump12P5nA 

The current of SNVS DIG LDO's charge pump is selected as 12.5nA.

kPMU_SnvsDigChargePump6P25nA 

The current of SNVS DIG LDO's charge pump is selected as 6.25nA.

kPMU_SnvsDigChargePump18P75nA 

The current of SNVS DIG LDO's charge pump is selected as 18.75nA.

Enumerator
kPMU_SnvsDigDischargeResistor15K 

The Discharge Resistor is selected as 15K ohm.

kPMU_SnvsDigDischargeResistor30K 

The Discharge Resistor is selected as 30K ohm.

kPMU_SnvsDigDischargeResistor9K 

The Discharge Resistor is selected as 9K ohm.

Enumerator
kPMU_PowerDownBandgapFully 

Fully power down the bandgap module.

kPMU_PowerDownVoltageReferenceOutputOnly 

Power down only the reference output section of the bandgap.

kPMU_PowerDownBandgapVBGUPDetector 

Power down the VBGUP detector of the bandgap without affecting any additional functionality.

Enumerator
kPMU_BandgapOutputVBGVoltageNominal 

Output nominal voltage.

kPMU_BandgapOutputVBGVoltagePlus10mV 

Output VBG voltage Plus 10mV.

kPMU_BandgapOutputVBGVoltagePlus20mV 

Output VBG voltage Plus 20mV.

kPMU_BandgapOutputVBGVoltagePlus30mV 

Output VBG voltage Plus 30mV.

kPMU_BandgapOutputVBGVoltageMinus10mV 

Output VBG voltage Minus 10mV.

kPMU_BandgapOutputVBGVoltageMinus20mV 

Output VBG voltage Minus 20mV.

kPMU_BandgapOutputVBGVoltageMinus30mV 

Output VBG voltage Minus 30mV.

kPMU_BandgapOutputVBGVoltageMinus40mV 

Output VBG voltage Minus 40mV.

Enumerator
kPMU_OutputCurrent11P5uA 

Output 11.5uA current from the bandgap.

kPMU_OutputCurrent11P8uA 

Output 11.8uA current from the bandgap.

kPMU_OutputCurrent12P1uA 

Output 12.1uA current from the bandgap.

kPMU_OutputCurrent12P4uA 

Output 12.4uA current from the bandgap.

kPMU_OutputCurrent12P7uA 

Output 12.7uA current from the bandgap.

kPMU_OutputCurrent13P0uA 

Output 13.0uA current from the bandgap.

kPMU_OutputCurrent13P3uA 

Output 13.3uA current from the bandgap.

Enumerator
kPMU_BodyBiasWellRegulateTo0P5V 

Body Bias Well regulated to 0.5V.

kPMU_BodyBiasWellRegulateTo0P6V 

Body Bias Well regulated to 0.6V.

kPMU_BodyBiasWellRegulateTo0P7V 

Body Bias Well regulated to 0.7V.

kPMU_BodyBiasWellRegulateTo0P8V 

Body Bias Well regulated to 0.8V.

kPMU_BodyBiasWellRegulateTo0P9V 

Body Bias Well regulated to 0.9V.

kPMU_BodyBiasWellRegulateTo1P0V 

Body Bias Well regulated to 1.0V.

kPMU_BodyBiasWellRegulateTo1P1V 

Body Bias Well regulated to 1.1V.

kPMU_BodyBiasWellRegulateTo1P2V 

Body Bias Well regulated to 1.2V.

kPMU_BodyBiasWellRegulateTo1P3V 

Body Bias Well regulated to 1.3V.

Function Documentation

void PMU_SetPllLdoControlMode ( ANADIG_PMU_Type *  base,
pmu_control_mode_t  mode 
)
Parameters
basePMU peripheral base address.
modeThe control mode of the PLL LDO. Please refer to pmu_control_mode_t.
void PMU_SwitchPllLdoToGPCMode ( ANADIG_PMU_Type *  base)
Parameters
basePMU peripheral base address.
void PMU_StaticEnablePllLdo ( ANADIG_PMU_Type *  base)
Parameters
basePMU peripheral base address.
void PMU_StaticDisablePllLdo ( void  )
Parameters
basePMU peripheral base address.
void PMU_SetLpsrAnaLdoControlMode ( ANADIG_LDO_SNVS_Type *  base,
pmu_control_mode_t  mode 
)
Parameters
basePMU peripheral base address.
modeThe control mode of the LPSR ANA LDO. Please refer to pmu_control_mode_t.
void PMU_StaticSetLpsrAnaLdoBypassMode ( ANADIG_LDO_SNVS_Type *  base,
pmu_lpsr_ana_ldo_bypass_mode_t  bypassMode 
)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
bypassModeThe Bypass mode of LPSR ANA LDO. Please refer to pmu_lpsr_ana_ldo_bypass_mode_t.
void PMU_StaticGetLpsrAnaLdoDefaultConfig ( pmu_static_lpsr_ana_ldo_config_t config)

The default values are:

* config->mode = kPMU_HighPowerMode;
config->enable2mALoad = true;
config->enable20uALoad = false;
config->enable4mALoad = true;
config->enableStandbyMode = false;
config->driverStrength = kPMU_LpsrAnaLdoDriverStrength0;
config->brownOutDetectorConfig = kPMU_LpsrAnaLdoBrownOutDetectorDisable;
config->chargePumpCurrent = kPMU_LpsrAnaChargePump300nA;
config->outputRange = kPMU_LpsrAnaLdoOutputFrom1P77To1P83;
*
Parameters
configPointer to the structure pmu_static_lpsr_ana_ldo_config_t.
void PMU_StaticLpsrAnaLdoInit ( ANADIG_LDO_SNVS_Type *  base,
const pmu_static_lpsr_ana_ldo_config_t config 
)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
configPointer to the structure pmu_static_lpsr_ana_ldo_config_t.
void PMU_StaticLpsrAnaLdoDeinit ( ANADIG_LDO_SNVS_Type *  base)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
void PMU_SetLpsrDigLdoControlMode ( ANADIG_LDO_SNVS_Type *  base,
pmu_control_mode_t  mode 
)
Parameters
basePMU peripheral base address.
modeThe control mode of the LPSR DIG LDO. Please refer to pmu_control_mode_t.
void PMU_StaticEnableLpsrDigLdoBypassMode ( ANADIG_LDO_SNVS_Type *  base,
bool  enable 
)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
enable
  • true Turns on Bypass mode of the LPSR DIG LDO.
  • false Turns off Bypass mode of the LPSR DIG LDO.
void PMU_StaticGetLpsrDigLdoDefaultConfig ( pmu_static_lpsr_dig_config_t config)

The default values are:

* config->enableStableDetect = false;
* config->voltageStepTime = kPMU_LpsrDigVoltageStepInc50us;
* config->brownOutConfig = kPMU_LpsrDigBrownOutDisable;
* config->targetVoltage = kPMU_LpsrDigTargetStableVoltage1P0V;
* config->mode = kPMU_HighPowerMode;
*
Parameters
configPointer to the structure pmu_static_lpsr_dig_config_t.
void PMU_StaticLpsrDigLdoInit ( ANADIG_LDO_SNVS_Type *  base,
const pmu_static_lpsr_dig_config_t config 
)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
configPointer to the structure pmu_static_lpsr_dig_config_t.
void PMU_StaticLpsrDigLdoDeinit ( ANADIG_LDO_SNVS_Type *  base)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
void PMU_GPCSetLpsrDigLdoTargetVoltage ( uint32_t  setpointMap,
pmu_lpsr_dig_target_output_voltage_t  voltageValue 
)
Note
The function provides the feature to set the voltage step to different setpoints.
Parameters
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
voltageValueThe voltage step to be set. See enumeration pmu_lpsr_dig_target_output_voltage_t.
void PMU_GetSnvsDigLdoDefaultConfig ( pmu_snvs_dig_config_t config)

The default values are:

* config->mode = kPMU_LowPowerMode;
* config->chargePumpCurrent = kPMU_SnvsDigChargePump12P5nA;
* config->dischargeResistorValue = kPMU_SnvsDigDischargeResistor15K;
* config->trimValue = 0U;
* config->enablePullDown = true;
* config->enableLdoStable = false;
*
Parameters
configPointer to structure pmu_snvs_dig_config_t.
void PMU_SnvsDigLdoInit ( ANADIG_LDO_SNVS_DIG_Type *  base,
const pmu_snvs_dig_config_t config 
)
Parameters
baseLDO SNVS DIG peripheral base address.
configPointer to structure pmu_snvs_dig_config_t.
void PMU_GPCEnableLdo ( pmu_ldo_name_t  name,
uint32_t  setpointMap,
bool  enable 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the LDO.
  • true Turns on the selected LDO in certain setpoints.
  • false Turns off the selected LDO in certain setpoints.
void PMU_GPCSetLdoOperateMode ( pmu_ldo_name_t  name,
uint32_t  setpointMap,
pmu_ldo_operate_mode_t  mode 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
modeThe operating mode of the selected ldo. Please refer to enumeration pmu_ldo_operate_mode_t for details.
void PMU_GPCEnableLdoTrackingMode ( pmu_ldo_name_t  name,
uint32_t  setpointMap,
bool  enable 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the LDOs' Tracking mode.
  • true Turns on the selected LDO's tracking mode in certain setpoints.
  • false Turns off the selected LDO's tracking mode in certain setpoints.
void PMU_GPCEnableLdoBypassMode ( pmu_ldo_name_t  name,
uint32_t  setpointMap,
bool  enable 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the LDOs' Bypass mode.
  • true Turns on the selected LDO's Bypass mode in certain setpoints.
  • false Turns off the selected LDO's Bypass mode in certain setpoints.
void PMU_GPCEnableLdoStandbyMode ( pmu_ldo_name_t  name,
uint32_t  setpointMap,
bool  enable 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the LDOs' Standby mode.
  • true Turns on the selected LDO's Standby mode in the certain setpoints.
  • false Turns off the selected LDO's Standby mode in the certain setpoints.
void PMU_SetBandgapControlMode ( ANADIG_PMU_Type *  base,
pmu_control_mode_t  mode 
)
Parameters
basePMU peripheral base address.
modeThe control mode of the Bandgap Reference. Please refer to pmu_control_mode_t.
void PMU_SwitchBandgapToGPCMode ( ANADIG_PMU_Type *  base)
Parameters
basePMU peripheral base address.
void PMU_DisableBandgapSelfBiasAfterPowerUp ( void  )

This function should be invoked after powering up. This function will wait for the bandgap stable and disable the bandgap self bias. After powering up, it need to wait for the bandgap to get stable and then disable Bandgap Self bias for best noise performance.

void PMU_EnableBandgapSelfBiasBeforePowerDown ( void  )

This function will enable Bandgap self bias feature before powering down or there will be risk of Bandgap not starting properly.

void PMU_StaticBandgapInit ( const pmu_static_bandgap_config_t config)
Parameters
configPointer to the structure pmu_static_bandgap_config_t.
static void PMU_GPCEnableBandgap ( ANADIG_PMU_Type *  base,
uint32_t  setpointMap,
bool  enable 
)
inlinestatic
Parameters
basePMU peripheral base address.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the Bandgap.
  • true Turns on the Bandgap in certain setpoints.
  • false Turns off the Bandgap in certain setpoints.
static void PMU_GPCEnableBandgapStandbyMode ( ANADIG_PMU_Type *  base,
uint32_t  setpointMap,
bool  enable 
)
inlinestatic
Parameters
basePMU peripheral base address.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the Bandgap's Standby mode.
  • true Turns on the Bandgap's Standby mode in certain setpoints.
  • false Turns off the Bandgap's Standby mode in certain setpoints.
void PMU_SetBodyBiasControlMode ( ANADIG_PMU_Type *  base,
pmu_body_bias_name_t  name,
pmu_control_mode_t  mode 
)
Parameters
basePMU peripheral base address.
nameThe name of the body bias. Please refer to pmu_body_bias_name_t.
modeThe control mode of the Body Bias. Please refer to pmu_control_mode_t.
void PMU_StaticGetCm7FBBDefaultConfig ( pmu_static_body_bias_config_t config)
Parameters
configPointer to the structure pmu_static_body_bias_config_t.
void PMU_StaticCm7FBBInit ( ANADIG_PMU_Type *  base,
const pmu_static_body_bias_config_t config 
)
Parameters
basePMU peripheral base address.
configPointer to the structure pmu_static_body_bias_config_t.
void PMU_StaticLpsrRBBDefaultConfig ( pmu_static_body_bias_config_t config)
Parameters
configPointer to the structure pmu_static_body_bias_config_t.
void PMU_StaticLpsrRBBInit ( ANADIG_PMU_Type *  base,
const pmu_static_body_bias_config_t config 
)
Parameters
basePMU peripheral base address.
configPointer to the structure pmu_static_body_bias_config_t.
void PMU_StaticSocRBBDefaultConfig ( pmu_static_body_bias_config_t config)
Parameters
configPointer to the structure pmu_static_body_bias_config_t.
void PMU_StaticSocRBBInit ( ANADIG_PMU_Type *  base,
const pmu_static_body_bias_config_t config 
)
Parameters
basePMU peripheral base address.
configPointer to the structure pmu_static_body_bias_config_t.
void PMU_GPCEnableBodyBias ( pmu_body_bias_name_t  name,
uint32_t  setpointMap,
bool  enable 
)
Parameters
nameThe name of the selected body bias. Please see enumeration pmu_body_bias_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the body bias.
  • true Turns on the selected body bias in certain setpoints.
  • false Turns off the selected body bias in certain setpoints.
void PMU_GPCEnableBodyBiasStandbyMode ( pmu_body_bias_name_t  name,
uint32_t  setpointMap,
bool  enable 
)
Parameters
nameThe name of the selected body bias. Please see the enumeration pmu_body_bias_name_t for details.
setpointMapThe map of setpoints should be the OR'ed Value of _pmu_setpoint_map.
enableTurn on/off the body bias' Standby mode.
  • true Turns on the selected body bias' Standby mode in certain setpoints.
  • false Turns off the selected body bias' Standby mode in certain setpoints.
void PMU_GPCGetBodyBiasDefaultConfig ( pmu_gpc_body_bias_config_t config)
Parameters
configPointer to structure pmu_gpc_body_bias_config_t.
void PMU_GPCSetBodyBiasConfig ( pmu_body_bias_name_t  name,
const pmu_gpc_body_bias_config_t config 
)
Parameters
nameThe name of the selected body bias. Please see enumeration pmu_body_bias_name_t for details.
configPointer to structure pmu_gpc_body_bias_config_t.