MCUXpresso SDK API Reference Manual  Rev. 0
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_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...
 
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_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_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_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_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_target_output_voltage_t {
  kPMU_LpsrDigTargetStableVoltage0P631V = 0x0U,
  kPMU_LpsrDigTargetStableVoltage0P65V = 0x1U,
  kPMU_LpsrDigTargetStableVoltage0P67V = 0x2U,
  kPMU_LpsrDigTargetStableVoltage0P689V = 0x3U,
  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,
  kPMU_LpsrDigTargetStableVoltage1P155V = 0x1BU,
  kPMU_LpsrDigTargetStableVoltage1P175V = 0x1CU,
  kPMU_LpsrDigTargetStableVoltage1P194V = 0x1DU,
  kPMU_LpsrDigTargetStableVoltage1P214V = 0x1EU,
  kPMU_LpsrDigTargetStableVoltage1P233V = 0x1FU
}
 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_well_bias_power_source_t {
  kPMU_WellBiasPowerFromLpsrDigLdo = 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, 0))
 PMU driver version. More...
 

LDOs Control 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_StaticEnableLpsrAnaLdoBypassMode (ANADIG_LDO_SNVS_Type *base, bool enable)
 Sets the Bypass mode of the LPSR ANA LDO. More...
 
static bool PMU_StaticCheckLpsrAnaLdoBypassMode (ANADIG_LDO_SNVS_Type *base)
 Checks whether the LPSR ANA LDO is in bypass mode. 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...
 
static bool PMU_StaticCheckLpsrDigLdoBypassMode (ANADIG_LDO_SNVS_Type *base)
 Checks whether the LPSR DIG LDO is in bypass 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, pmu_ldo_operate_mode_t mode)
 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)
 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)
 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)
 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)
 Controls the ON/OFF of the selected LDOs' Standby mode in certain setpoints with GPC mode. More...
 

Bandgap Control 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)
 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)
 Controls the ON/OFF of the Bandgap's Standby mode in certain setpoints with GPC mode. 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_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_EnableBodyBias (ANADIG_PMU_Type *base, pmu_body_bias_name_t name, bool enable)
 Enables/disables the selected body bias. More...
 
void PMU_GPCEnableBodyBias (pmu_body_bias_name_t name, uint32_t setpointMap)
 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)
 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...
 

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.
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_target_output_voltage_t targetVoltage
 The target output voltage. 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_target_output_voltage_t pmu_static_lpsr_dig_config_t::targetVoltage
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
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 enablePowerDownOption: 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::enablePowerDownOption
  • 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_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, 1, 0))

Version 2.1.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_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_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_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_LpsrDigTargetStableVoltage0P631V 

The target voltage selected as 0.631V.

kPMU_LpsrDigTargetStableVoltage0P65V 

The target voltage selected as 0.65V.

kPMU_LpsrDigTargetStableVoltage0P67V 

The target voltage selected as 0.67V.

kPMU_LpsrDigTargetStableVoltage0P689V 

The target voltage selected as 0.689V.

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.

kPMU_LpsrDigTargetStableVoltage1P155V 

The target voltage selected as 1.155V.

kPMU_LpsrDigTargetStableVoltage1P175V 

The target voltage selected as 1.175V.

kPMU_LpsrDigTargetStableVoltage1P194V 

The target voltage selected as 1.194V.

kPMU_LpsrDigTargetStableVoltage1P214V 

The target voltage selected as 1.214V.

kPMU_LpsrDigTargetStableVoltage1P233V 

The target voltage selected as 1.233V.

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_WellBiasPowerFromLpsrDigLdo 

LPSR 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 
)
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_StaticEnableLpsrAnaLdoBypassMode ( ANADIG_LDO_SNVS_Type *  base,
bool  enable 
)
Parameters
baseANADIG_LDO_SNVS peripheral base address.
enableEnable/Disable bypass mode.
  • true Enable LPSR ANA Bypass mode.
  • false Disable LPSR ANA Bypass mode.
static bool PMU_StaticCheckLpsrAnaLdoBypassMode ( ANADIG_LDO_SNVS_Type *  base)
inlinestatic
Parameters
baseANADIG_LDO_SNVS peripheral base address.
Returns
The result used to indicates whether the LPSR ANA LDO is in bypass mode.
  • true The LPSR ANA LDO is in bypass mode.
  • false The LPSR ANA LDO not in bypass mode.
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.
static bool PMU_StaticCheckLpsrDigLdoBypassMode ( ANADIG_LDO_SNVS_Type *  base)
inlinestatic
Parameters
basePMU peripheral base address.
Returns
The result used to indicates whether the LPSR DIG LDO is in bypass mode.
  • true The LPSR DIG LDO is in bypass mode.
  • false The LPSR DIG LDO not in bypass mode.
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,
pmu_ldo_operate_mode_t  mode 
)
Parameters
baseLDO SNVS DIG peripheral base address.
modeUsed to control LDO power mode, please refer to pmu_ldo_operate_mode_t.
void PMU_GPCEnableLdo ( pmu_ldo_name_t  name,
uint32_t  setpointMap 
)
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, 1b'1 means enable specific ldo in that setpoint. For example, the code PMU_GPCEnableLdo(kPMU_PllLdo, 0x1U) means to enable PLL LDO in setpoint 0 and disable PLL LDO in other setpoint.
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 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints that the LDO tracking mode will be enabled in those setpoints, this value should be the OR'ed Value of _pmu_setpoint_map.
void PMU_GPCEnableLdoBypassMode ( pmu_ldo_name_t  name,
uint32_t  setpointMap 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints that the LDO bypass mode will be enabled in those setpoints, this value should be the OR'ed Value of _pmu_setpoint_map.
void PMU_GPCEnableLdoStandbyMode ( pmu_ldo_name_t  name,
uint32_t  setpointMap 
)
Parameters
nameThe name of the selected ldo. Please see enumeration pmu_ldo_name_t for details.
setpointMapThe map of setpoints that the LDO Standby mode will be enabled in those setpoints, this value should be the OR'ed Value of _pmu_setpoint_map.
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 
)
inlinestatic

For example, the code PMU_GPCEnableBandgap(PMU, kPMU_SetPoint0 | kPMU_SetPoint1); means enable bandgap in setpoint0 and setpoint1 and disable bandgap in other setpoints.

Parameters
basePMU peripheral base address.
setpointMapThe map of setpoints that the bandgap will be enabled in those setpoints, this parameter should be the OR'ed Value of _pmu_setpoint_map.
static void PMU_GPCEnableBandgapStandbyMode ( ANADIG_PMU_Type *  base,
uint32_t  setpointMap 
)
inlinestatic
Parameters
basePMU peripheral base address.
setpointMapThe map of setpoints that the bandgap standby mode will be enabled in those setpoints, this value should be the OR'ed Value of _pmu_setpoint_map.
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_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_EnableBodyBias ( ANADIG_PMU_Type *  base,
pmu_body_bias_name_t  name,
bool  enable 
)
Parameters
basePMU peripheral base address.
nameThe name of the body bias to be turned on/off, please refer to pmu_body_bias_name_t.
enableUsed to turn on/off the specific body bias.
  • true Enable the selected body bias.
  • false Disable the selected body bias.
void PMU_GPCEnableBodyBias ( pmu_body_bias_name_t  name,
uint32_t  setpointMap 
)
Parameters
nameThe name of the selected body bias. Please see enumeration pmu_body_bias_name_t for details.
setpointMapThe map of setpoints that the specific body bias will be enabled in those setpoints, this value should be the OR'ed Value of _pmu_setpoint_map.
void PMU_GPCEnableBodyBiasStandbyMode ( pmu_body_bias_name_t  name,
uint32_t  setpointMap 
)
Parameters
nameThe name of the selected body bias. Please see the enumeration pmu_body_bias_name_t for details.
setpointMapThe map of setpoints that the specific body bias will be enabled in those setpoints, this value should be the OR'ed Value of _pmu_setpoint_map.
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.