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

Overview

The MCUXpresso SDK provides APIs for MCUXpresso SDK device's src operation.

The Power Management Unit(PMU) is designed to simplify the external power interface. Based on the features of PMU, the PMU driver is divided into 3 groups. In the function group "LDOs Control APIs", those APIs can be used to control LDOs (including PLL LDO, LPSR_DIG LDO, LPSR_ANA LDO) in software mode or hardware mode; In the function group "Bandgap Control APIs", those APIs can be used to control bandgap in software mode or hardware mode; In the function group "Body Bias Control APIs", those APIs can be used to control well bias and body bias in software mode or hardware mode.

Data Structures

struct  pmu_static_aon_ana_ldo_config_t
 AON ANA LDO config. More...
 
struct  pmu_static_aon_dig_config_t
 AON DIG LDO Config in Static/Software Mode. More...
 
struct  pmu_bbsm_dig_config_t
 BBSM DIG LDO config. More...
 
struct  pmu_static_bandgap_config_t
 Bandgap config in static mode. More...
 
union  pmu_well_bias_option_t
 The union of well bias basic options, such as clock source, power source and so on. More...
 
struct  pmu_well_bias_config_t
 The structure of well bias configuration. More...
 

Enumerations

enum  pmu_ldo_name_t {
  kPMU_PllLdo = 0U,
  kPMU_AonAnaLdo = 1U,
  kPMU_AonDigLdo = 2U
}
 The name of LDOs. 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_aon_ana_ldo_charge_pump_current_t {
  kPMU_AonAnaChargePump300nA = 0U,
  kPMU_AonAnaChargePump400nA = 1U,
  kPMU_AonAnaChargePump500nA = 2U,
  kPMU_AonAnaChargePump600nA = 3U
}
 The enumeration of AON ANA LDO's charge pump current. More...
 
enum  pmu_aon_ana_ldo_output_range_t {
  kPMU_AonAnaLdoOutputFrom1P77To1P83 = 0U,
  kPMU_AonAnaLdoOutputFrom1P72To1P77 = 1U,
  kPMU_AonAnaLdoOutputFrom1P82To1P88 = 2U
}
 The enumeration of AON ANA LDO's output range. More...
 
enum  pmu_aon_dig_voltage_step_time_t {
  kPMU_AonDigVoltageStepInc15us = 0x0U,
  kPMU_AonDigVoltageStepInc25us = 0x1U,
  kPMU_AonDigVoltageStepInc50us = 0x2U,
  kPMU_AonDigVoltageStepInc100us = 0x3U
}
 The enumeration of voltage step time for AON DIG LDO. More...
 
enum  pmu_aon_dig_target_output_voltage_t {
  kPMU_AonDigTargetStableVoltage0P631V = 0x0U,
  kPMU_AonDigTargetStableVoltage0P65V = 0x1U,
  kPMU_AonDigTargetStableVoltage0P67V = 0x2U,
  kPMU_AonDigTargetStableVoltage0P689V = 0x3U,
  kPMU_AonDigTargetStableVoltage0P709V = 0x4U,
  kPMU_AonDigTargetStableVoltage0P728V = 0x5U,
  kPMU_AonDigTargetStableVoltage0P748V = 0x6U,
  kPMU_AonDigTargetStableVoltage0P767V = 0x7U,
  kPMU_AonDigTargetStableVoltage0P786V = 0x8U,
  kPMU_AonDigTargetStableVoltage0P806V = 0x9U,
  kPMU_AonDigTargetStableVoltage0P825V = 0xAU,
  kPMU_AonDigTargetStableVoltage0P845V = 0xBU,
  kPMU_AonDigTargetStableVoltage0P864V = 0xCU,
  kPMU_AonDigTargetStableVoltage0P883V = 0xDU,
  kPMU_AonDigTargetStableVoltage0P903V = 0xEU,
  kPMU_AonDigTargetStableVoltage0P922V = 0xFU,
  kPMU_AonDigTargetStableVoltage0P942V = 0x10U,
  kPMU_AonDigTargetStableVoltage0P961V = 0x11U,
  kPMU_AonDigTargetStableVoltage0P981V = 0x12U,
  kPMU_AonDigTargetStableVoltage1P0V = 0x13U,
  kPMU_AonDigTargetStableVoltage1P019V = 0x14U,
  kPMU_AonDigTargetStableVoltage1P039V = 0x15U,
  kPMU_AonDigTargetStableVoltage1P058V = 0x16U,
  kPMU_AonDigTargetStableVoltage1P078V = 0x17U,
  kPMU_AonDigTargetStableVoltage1P097V = 0x18U,
  kPMU_AonDigTargetStableVoltage1P117V = 0x19U,
  kPMU_AonDigTargetStableVoltage1P136V = 0x1AU,
  kPMU_AonDigTargetStableVoltage1P155V = 0x1BU,
  kPMU_AonDigTargetStableVoltage1P175V = 0x1CU,
  kPMU_AonDigTargetStableVoltage1P194V = 0x1DU,
  kPMU_AonDigTargetStableVoltage1P214V = 0x1EU,
  kPMU_AonDigTargetStableVoltage1P233V = 0x1FU
}
 The target output voltage of AON DIG LDO. More...
 
enum  pmu_bbsm_dig_charge_pump_current_t {
  kPMU_BbsmDigChargePump12P5nA = 0U,
  kPMU_BbsmDigChargePump6P25nA = 1U,
  kPMU_BbsmDigChargePump18P75nA = 2U
}
 The enumeration of the BBSM DIG LDO's charge pump current. More...
 
enum  pmu_bbsm_dig_discharge_resistor_value_t {
  kPMU_BbsmDigDischargeResistor15K = 0U,
  kPMU_BbsmDigDischargeResistor30K = 1U,
  kPMU_BbsmDigDischargeResistor9K = 2U
}
 The enumeration of the BBSM 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_well_bias_power_source_t {
  kPMU_WellBiasPowerFromAonDigLdo = 0U,
  kPMU_WellBiasPowerFromDCDC
}
 The enumerator of well bias power source. More...
 
enum  pmu_bias_area_size_t {
  kPMU_180uA_6mm2At125C = 0U,
  kPMU_150uA_5mm2At125C,
  kPMU_120uA_4mm2At125C,
  kPMU_90uA_3mm2At125C,
  kPMU_60uA_2mm2At125C,
  kPMU_45uA_1P5mm2At125C,
  kPMU_30uA_1mm2At125C,
  kPMU_15uA_0P5mm2At125C
}
 The enumerator of bias area size. More...
 
enum  pmu_well_bias_typical_freq_t {
  kPMU_OscFreqDiv128 = 0U,
  kPMU_OscFreqDiv64 = 1U,
  kPMU_OscFreqDiv32 = 2U,
  kPMU_OscFreqDiv16 = 3U,
  kPMU_OscFreqDiv8 = 4U,
  kPMU_OscFreqDiv2 = 6U,
  kPMU_OscFreq = 7U
}
 The enumerator of well bias typical frequency. More...
 
enum  pmu_adaptive_clock_source_t {
  kPMU_AdaptiveClkSourceOscClk = 0U,
  kPMU_AdaptiveClkSourceChargePumpClk
}
 The enumerator of well bias adaptive clock source. More...
 
enum  pmu_freq_reduction_t {
  kPMU_FreqReductionNone = 0U,
  kPMU_FreqReduction30PCT,
  kPMU_FreqReduction40PCT,
  kPMU_FreqReduction50PCT
}
 The enumerator of frequency reduction due to cap increment. More...
 
enum  pmu_well_bias_1P8_adjustment_t {
  kPMU_Cref0fFCspl0fFDeltaC0fF = 0U,
  kPMU_Cref0fFCspl30fFDeltaCN30fF,
  kPMU_Cref0fFCspl43fFDeltaCN43fF,
  kPMU_Cref0fFCspl62fFDeltaCN62fF,
  kPMU_Cref0fFCspl105fFDeltaCN105fF,
  kPMU_Cref30fFCspl0fFDeltaC30fF,
  kPMU_Cref30fFCspl43fFDeltaCN12fF,
  kPMU_Cref30fFCspl105fFDeltaCN75fF,
  kPMU_Cref43fFCspl0fFDeltaC43fF,
  kPMU_Cref43fFCspl30fFDeltaC13fF,
  kPMU_Cref43fFCspl62fFDeltaCN19fF,
  kPMU_Cref62fFCspl0fFDeltaC62fF,
  kPMU_Cref62fFCspl43fFDeltaC19fF,
  kPMU_Cref105fFCspl0fFDeltaC105fF,
  kPMU_Cref105fFCspl30fFDeltaC75fF
}
 The enumerator of well bias 1P8 adjustment. More...
 

Driver version

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

LDOs Control APIs

void PMU_SetPllLdoControlMode (ANADIG_PMU_Type *base, pmu_control_mode_t mode)
 brief Selects the control mode of the PLL LDO. 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.
 
void PMU_StaticGetAonAnaLdoDefaultConfig (pmu_static_aon_ana_ldo_config_t *config)
 Fill the AON ANA LDO configuration structure with default settings. More...
 
void PMU_StaticAonAnaLdoInit (ANADIG_LDO_BBSM_Type *base, const pmu_static_aon_ana_ldo_config_t *config)
 Initialize the AON ANA LDO in Static/Sofware Mode. More...
 
void PMU_StaticAonAnaLdoDeinit (ANADIG_LDO_BBSM_Type *base)
 Disable the output of AON ANA LDO. More...
 
void PMU_StaticGetAonDigLdoDefaultConfig (pmu_static_aon_dig_config_t *config)
 Gets the default configuration of AON DIG LDO. More...
 
void PMU_StaticAonDigLdoInit (ANADIG_LDO_BBSM_Type *base, const pmu_static_aon_dig_config_t *config)
 Initialize the AON DIG LDO in static mode. More...
 
void PMU_StaticAonDigLdoDeinit (ANADIG_LDO_BBSM_Type *base)
 Disable the AON DIG LDO. More...
 
void PMU_GetBbsmDigLdoDefaultConfig (pmu_bbsm_dig_config_t *config)
 Gets the default config of the BBSM DIG LDO. More...
 
void PMU_EnableLdoStandbyMode (pmu_ldo_name_t name, bool enable)
 brief When STBY assert, enable/disable the selected LDO enter it's Low power mode. More...
 

Bandgap Control APIs

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...
 

Body Bias Control APIs

void PMU_WellBiasInit (ANADIG_PMU_Type *base, const pmu_well_bias_config_t *config)
 Configures Well bias, such as power source, clock source and so on. More...
 
void PMU_GetWellBiasDefaultConfig (pmu_well_bias_config_t *config)
 Gets the default configuration of well bias. More...
 
void PMU_EnableFBB (ANADIG_PMU_Type *base, bool enable)
 brief Enables/disables FBB. More...
 
void PMU_EnableFBBStandbyMode (ANADIG_PMU_Type *base, bool enable)
 brief Controls the ON/OFF of FBB when GPC send standby request. More...
 

Data Structure Documentation

struct pmu_static_aon_ana_ldo_config_t

Data Fields

pmu_ldo_operate_mode_t mode
 The operate mode of AON 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...
 

Field Documentation

pmu_ldo_operate_mode_t pmu_static_aon_ana_ldo_config_t::mode
bool pmu_static_aon_ana_ldo_config_t::enable2mALoad
  • true Enables 2mA loading to prevent overshoot;
  • false Disables 2mA loading.
bool pmu_static_aon_ana_ldo_config_t::enable4mALoad
  • true Enables 4mA loading to prevent dramatic voltage drop;
  • false Disables 4mA load.
bool pmu_static_aon_ana_ldo_config_t::enable20uALoad
  • true Enables 20uA loading to prevent overshoot;
  • false Disables 20uA load.
bool pmu_static_aon_ana_ldo_config_t::enableStandbyMode
  • true Enables Standby mode, if the STBY assert, the AON ANA LDO enter LP mode
  • false Disables Standby mode.
struct pmu_static_aon_dig_config_t

Data Fields

bool enableStableDetect
 Enable/Disable Stable Detect. More...
 
pmu_aon_dig_voltage_step_time_t voltageStepTime
 Step time. More...
 
pmu_aon_dig_target_output_voltage_t targetVoltage
 The target output voltage. More...
 

Field Documentation

bool pmu_static_aon_dig_config_t::enableStableDetect
  • true Enables Stable Detect.
  • false Disables Stable Detect.
pmu_aon_dig_voltage_step_time_t pmu_static_aon_dig_config_t::voltageStepTime
pmu_aon_dig_target_output_voltage_t pmu_static_aon_dig_config_t::targetVoltage
struct pmu_bbsm_dig_config_t

Data Fields

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

Field Documentation

pmu_ldo_operate_mode_t pmu_bbsm_dig_config_t::mode
pmu_bbsm_dig_charge_pump_current_t pmu_bbsm_dig_config_t::chargePumpCurrent
pmu_bbsm_dig_discharge_resistor_value_t pmu_bbsm_dig_config_t::dischargeResistorValue
uint8_t pmu_bbsm_dig_config_t::trimValue
bool pmu_bbsm_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_bbsm_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
union pmu_well_bias_option_t

Data Fields

uint16_t wellBiasData
 well bias configuration data. More...
 
uint16_t enablePWellOnly: 1U
 Turn on both PWELL and NWELL, or only trun on PWELL. More...
 
uint16_t reserved1: 1U
 Reserved. More...
 
uint16_t biasAreaSize: 3U
 Select size of bias area, please refer to pmu_bias_area_size_t.
 
uint16_t disableAdaptiveFreq: 1U
 Enable/Disable adaptive frequency. More...
 
uint16_t wellBiasFreq: 3U
 Set well bias typical frequency, please refer to pmu_well_bias_typical_freq_t. More...
 
uint16_t clkSource: 1U
 Config the adaptive clock source, please pmu_adaptive_clock_source_t. More...
 
uint16_t freqReduction: 2U
 Config the percent of frequency reduction due to cap increment, please refer to pmu_freq_reduction_t. More...
 
uint16_t enablePullDownOption: 1U
 Enable/Disable pull down option. More...
 
uint16_t reserved2: 1U
 Reserved. More...
 
uint16_t powerSource: 1U
 Set power source, please refer to pmu_well_bias_power_source_t. More...
 
uint16_t reserved3: 1U
 Reserved. More...
 

Field Documentation

uint16_t pmu_well_bias_option_t::wellBiasData
uint16_t pmu_well_bias_option_t::enablePWellOnly
  • 1b0 PWELL and NEWLL are both turned on.
  • 1b1 PWELL is turned on only.
uint16_t pmu_well_bias_option_t::reserved1
uint16_t pmu_well_bias_option_t::disableAdaptiveFreq
  • 1b0 Frequency change after each half cycle minimum frequency determined by typical frequency.
  • 1b1 Adaptive frequency disabled. Frequency determined by typical frequency.
uint16_t pmu_well_bias_option_t::wellBiasFreq
uint16_t pmu_well_bias_option_t::clkSource
uint16_t pmu_well_bias_option_t::freqReduction
uint16_t pmu_well_bias_option_t::enablePullDownOption
  • false Pull down option is disabled.
  • true Pull down option is enabled.
uint16_t pmu_well_bias_option_t::reserved2
uint16_t pmu_well_bias_option_t::powerSource
uint16_t pmu_well_bias_option_t::reserved3
struct pmu_well_bias_config_t

Data Fields

pmu_well_bias_option_t wellBiasOption
 Well bias basic function, please refer to pmu_well_bias_option_t. More...
 
pmu_well_bias_1P8_adjustment_t adjustment
 Well bias adjustment 1P8, please refer to pmu_well_bias_1P8_adjustment_t. More...
 

Field Documentation

pmu_well_bias_option_t pmu_well_bias_config_t::wellBiasOption
pmu_well_bias_1P8_adjustment_t pmu_well_bias_config_t::adjustment

Macro Definition Documentation

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

Version 2.1.2.

Enumeration Type Documentation

Enumerator
kPMU_PllLdo 

The PLL LDO in SOC domain.

kPMU_AonAnaLdo 

The AON ANA LDO in AON domain.

kPMU_AonDigLdo 

The AON DIG LDO in AON domain.

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_AonAnaChargePump300nA 

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

kPMU_AonAnaChargePump400nA 

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

kPMU_AonAnaChargePump500nA 

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

kPMU_AonAnaChargePump600nA 

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

Enumerator
kPMU_AonAnaLdoOutputFrom1P77To1P83 

The output voltage varies from 1.77V to 1.83V.

kPMU_AonAnaLdoOutputFrom1P72To1P77 

The output voltage varies from 1.72V to 1.77V.

kPMU_AonAnaLdoOutputFrom1P82To1P88 

The output voltage varies from 1.82V to 1.88V.

Enumerator
kPMU_AonDigVoltageStepInc15us 

AON DIG LDO voltage step time selected as 15us.

kPMU_AonDigVoltageStepInc25us 

AON DIG LDO voltage step time selected as 25us.

kPMU_AonDigVoltageStepInc50us 

AON DIG LDO voltage step time selected as 50us.

kPMU_AonDigVoltageStepInc100us 

AON DIG LDO voltage step time selected as 100us.

Enumerator
kPMU_AonDigTargetStableVoltage0P631V 

The target voltage selected as 0.631V.

kPMU_AonDigTargetStableVoltage0P65V 

The target voltage selected as 0.65V.

kPMU_AonDigTargetStableVoltage0P67V 

The target voltage selected as 0.67V.

kPMU_AonDigTargetStableVoltage0P689V 

The target voltage selected as 0.689V.

kPMU_AonDigTargetStableVoltage0P709V 

The target voltage selected as 0.709V.

kPMU_AonDigTargetStableVoltage0P728V 

The target voltage selected as 0.728V.

kPMU_AonDigTargetStableVoltage0P748V 

The target voltage selected as 0.748V.

kPMU_AonDigTargetStableVoltage0P767V 

The target voltage selected as 0.767V.

kPMU_AonDigTargetStableVoltage0P786V 

The target voltage selected as 0.786V.

kPMU_AonDigTargetStableVoltage0P806V 

The target voltage selected as 0.806V.

kPMU_AonDigTargetStableVoltage0P825V 

The target voltage selected as 0.825V.

kPMU_AonDigTargetStableVoltage0P845V 

The target voltage selected as 0.845V.

kPMU_AonDigTargetStableVoltage0P864V 

The target voltage selected as 0.864V.

kPMU_AonDigTargetStableVoltage0P883V 

The target voltage selected as 0.883V.

kPMU_AonDigTargetStableVoltage0P903V 

The target voltage selected as 0.903V.

kPMU_AonDigTargetStableVoltage0P922V 

The target voltage selected as 0.922V.

kPMU_AonDigTargetStableVoltage0P942V 

The target voltage selected as 0.942V.

kPMU_AonDigTargetStableVoltage0P961V 

The target voltage selected as 0.961V.

kPMU_AonDigTargetStableVoltage0P981V 

The target voltage selected as 0.981V.

kPMU_AonDigTargetStableVoltage1P0V 

The target voltage selected as 1.0V.

kPMU_AonDigTargetStableVoltage1P019V 

The target voltage selected as 1.019V.

kPMU_AonDigTargetStableVoltage1P039V 

The target voltage selected as 1.039V.

kPMU_AonDigTargetStableVoltage1P058V 

The target voltage selected as 1.058V.

kPMU_AonDigTargetStableVoltage1P078V 

The target voltage selected as 1.078V.

kPMU_AonDigTargetStableVoltage1P097V 

The target voltage selected as 1.097V.

kPMU_AonDigTargetStableVoltage1P117V 

The target voltage selected as 1.117V.

kPMU_AonDigTargetStableVoltage1P136V 

The target voltage selected as 1.136V.

kPMU_AonDigTargetStableVoltage1P155V 

The target voltage selected as 1.155V.

kPMU_AonDigTargetStableVoltage1P175V 

The target voltage selected as 1.175V.

kPMU_AonDigTargetStableVoltage1P194V 

The target voltage selected as 1.194V.

kPMU_AonDigTargetStableVoltage1P214V 

The target voltage selected as 1.214V.

kPMU_AonDigTargetStableVoltage1P233V 

The target voltage selected as 1.233V.

Enumerator
kPMU_BbsmDigChargePump12P5nA 

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

kPMU_BbsmDigChargePump6P25nA 

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

kPMU_BbsmDigChargePump18P75nA 

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

Enumerator
kPMU_BbsmDigDischargeResistor15K 

The Discharge Resistor is selected as 15K ohm.

kPMU_BbsmDigDischargeResistor30K 

The Discharge Resistor is selected as 30K ohm.

kPMU_BbsmDigDischargeResistor9K 

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_WellBiasPowerFromAonDigLdo 

AON Dig LDO supplies the power stage and NWELL sampler.

kPMU_WellBiasPowerFromDCDC 

DCDC supplies the power stage and NWELL sampler.

Enumerator
kPMU_180uA_6mm2At125C 

Imax = 180uA; Areamax-RVT = 6.00mm2 at 125C.

kPMU_150uA_5mm2At125C 

Imax = 150uA; Areamax-RVT = 5.00mm2 at 125C.

kPMU_120uA_4mm2At125C 

Imax = 120uA; Areamax-RVT = 4.00mm2 at 125C.

kPMU_90uA_3mm2At125C 

Imax = 90uA; Areamax-RVT = 3.00mm2 at 125C.

kPMU_60uA_2mm2At125C 

Imax = 60uA; Areamax-RVT = 2.00mm2 at 125C.

kPMU_45uA_1P5mm2At125C 

Imax = 45uA; Areamax-RVT = 1P5mm2 at 125C.

kPMU_30uA_1mm2At125C 

Imax = 30uA; Areamax-RVT = 1.00mm2 at 125C.

kPMU_15uA_0P5mm2At125C 

Imax = 15uA; Areamax-RVT = 0.50mm2 at 125C.

Enumerator
kPMU_OscFreqDiv128 

Typical frequency = osc_freq / 128.

kPMU_OscFreqDiv64 

Typical frequency = osc_freq / 64.

kPMU_OscFreqDiv32 

Typical frequency = osc_freq / 32.

kPMU_OscFreqDiv16 

Typical frequency = osc_freq / 16.

kPMU_OscFreqDiv8 

Typical frequency = osc_freq / 8.

kPMU_OscFreqDiv2 

Typical frequency = osc_freq / 2.

kPMU_OscFreq 

Typical frequency = oscillator frequency.

Enumerator
kPMU_AdaptiveClkSourceOscClk 

The adaptive clock source is oscillator clock.

kPMU_AdaptiveClkSourceChargePumpClk 

The adaptive clock source is charge pump clock.

Enumerator
kPMU_FreqReductionNone 

No frequency reduction.

kPMU_FreqReduction30PCT 

30% frequency reduction due to cap increment.

kPMU_FreqReduction40PCT 

40% frequency reduction due to cap increment.

kPMU_FreqReduction50PCT 

50% frequency reduction due to cap increment.

Enumerator
kPMU_Cref0fFCspl0fFDeltaC0fF 

Cref = 0fF, Cspl = 0fF, DeltaC = 0fF.

kPMU_Cref0fFCspl30fFDeltaCN30fF 

Cref = 0fF, Cspl = 30fF, DeltaC = -30fF.

kPMU_Cref0fFCspl43fFDeltaCN43fF 

Cref = 0fF, Cspl = 43fF, DeltaC = -43fF.

kPMU_Cref0fFCspl62fFDeltaCN62fF 

Cref = 0fF, Cspl = 62fF, DeltaC = -62fF.

kPMU_Cref0fFCspl105fFDeltaCN105fF 

Cref = 0fF, Cspl = 105fF, DeltaC = -105fF.

kPMU_Cref30fFCspl0fFDeltaC30fF 

Cref = 30fF, Cspl = 0fF, DeltaC = 30fF.

kPMU_Cref30fFCspl43fFDeltaCN12fF 

Cref = 30fF, Cspl = 43fF, DeltaC = -12fF.

kPMU_Cref30fFCspl105fFDeltaCN75fF 

Cref = 30fF, Cspl = 105fF, DeltaC = -75fF.

kPMU_Cref43fFCspl0fFDeltaC43fF 

Cref = 43fF, Cspl = 0fF, DeltaC = 43fF.

kPMU_Cref43fFCspl30fFDeltaC13fF 

Cref = 43fF, Cspl = 30fF, DeltaC = 13fF.

kPMU_Cref43fFCspl62fFDeltaCN19fF 

Cref = 43fF, Cspl = 62fF, DeltaC = -19fF.

kPMU_Cref62fFCspl0fFDeltaC62fF 

Cref = 62fF, Cspl = 0fF, DeltaC = 62fF.

kPMU_Cref62fFCspl43fFDeltaC19fF 

Cref = 62fF, Cspl = 43fF, DeltaC = 19fF.

kPMU_Cref105fFCspl0fFDeltaC105fF 

Cref = 105fF, Cspl = 0fF, DeltaC = 105fF.

kPMU_Cref105fFCspl30fFDeltaC75fF 

Cref = 105fF, Cspl = 30fF, DeltaC = 75fF.

Function Documentation

void PMU_SetPllLdoControlMode ( ANADIG_PMU_Type *  base,
pmu_control_mode_t  mode 
)

param base PMU peripheral base address. param mode The control mode of the PLL LDO. Please refer to pmu_control_mode_t.

void PMU_StaticEnablePllLdo ( ANADIG_PMU_Type *  base)
Parameters
basePMU peripheral base address.
void PMU_StaticGetAonAnaLdoDefaultConfig ( pmu_static_aon_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_AonAnaLdoDriverStrength0;
config->brownOutDetectorConfig = kPMU_AonAnaLdoBrownOutDetectorDisable;
config->chargePumpCurrent = kPMU_AonAnaChargePump300nA;
config->outputRange = kPMU_AonAnaLdoOutputFrom1P77To1P83;
*
Parameters
configPointer to the structure pmu_static_aon_ana_ldo_config_t.
void PMU_StaticAonAnaLdoInit ( ANADIG_LDO_BBSM_Type *  base,
const pmu_static_aon_ana_ldo_config_t config 
)
Parameters
baseANADIG_LDO_BBSM peripheral base address.
configPointer to the structure pmu_static_aon_ana_ldo_config_t.
void PMU_StaticAonAnaLdoDeinit ( ANADIG_LDO_BBSM_Type *  base)
Parameters
baseANADIG_LDO_BBSM peripheral base address.
void PMU_StaticGetAonDigLdoDefaultConfig ( pmu_static_aon_dig_config_t config)

The default values are:

* config->enableStableDetect = false;
* config->voltageStepTime = kPMU_AonDigVoltageStepInc50us;
* config->brownOutConfig = kPMU_AonDigBrownOutDisable;
* config->targetVoltage = kPMU_AonDigTargetStableVoltage1P0V;
* config->mode = kPMU_HighPowerMode;
*
Parameters
configPointer to the structure pmu_static_aon_dig_config_t.
void PMU_StaticAonDigLdoInit ( ANADIG_LDO_BBSM_Type *  base,
const pmu_static_aon_dig_config_t config 
)
Parameters
baseANADIG_LDO_BBSM peripheral base address.
configPointer to the structure pmu_static_aon_dig_config_t.
void PMU_StaticAonDigLdoDeinit ( ANADIG_LDO_BBSM_Type *  base)
Parameters
baseANADIG_LDO_BBSM peripheral base address.
void PMU_GetBbsmDigLdoDefaultConfig ( pmu_bbsm_dig_config_t config)

The default values are:

* config->mode = kPMU_LowPowerMode;
* config->chargePumpCurrent = kPMU_BbsmDigChargePump12P5nA;
* config->dischargeResistorValue = kPMU_BbsmDigDischargeResistor15K;
* config->trimValue = 0U;
* config->enablePullDown = true;
* config->enableLdoStable = false;
*
Parameters
configPointer to pmu_bbsm_dig_config_t.
void PMU_EnableLdoStandbyMode ( pmu_ldo_name_t  name,
bool  enable 
)

param name The name of the selected ldo. Please see the enumeration pmu_ldo_name_t for details. param enable Enable GPC standby mode or not.

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.
void PMU_WellBiasInit ( ANADIG_PMU_Type *  base,
const pmu_well_bias_config_t config 
)
Parameters
basePMU peripheral base address.
configPointer to the pmu_well_bias_config_t structure.
void PMU_GetWellBiasDefaultConfig ( pmu_well_bias_config_t config)
Parameters
configThe pointer to the pmu_well_bias_config_t structure.
void PMU_EnableFBB ( ANADIG_PMU_Type *  base,
bool  enable 
)

param base PMU peripheral base address. param enable Used to turn on/off FBB.

void PMU_EnableFBBStandbyMode ( ANADIG_PMU_Type *  base,
bool  enable 
)

param base PMU peripheral base address. param enable Enable GPC standby mode or not.