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_lpsr_ana_ldo_config
 LPSR ANA LDO config. More...
 
struct  _pmu_static_lpsr_dig_config
 LPSR DIG LDO Config in Static/Software Mode. More...
 
struct  _pmu_snvs_dig_config
 SNVS DIG LDO config. More...
 
struct  _pmu_static_bandgap_config
 Bandgap config in static mode. More...
 
union  _pmu_well_bias_option
 The union of well bias basic options, such as clock source, power source and so on. More...
 
struct  _pmu_well_bias_config
 The structure of well bias configuration. More...
 
struct  _pmu_gpc_body_bias_config
 The stucture of body bias config in GPC mode. More...
 

Typedefs

typedef enum _pmu_ldo_name pmu_ldo_name_t
 The name of LDOs.
 
typedef enum _pmu_body_bias_name pmu_body_bias_name_t
 The name of body bias.
 
typedef enum _pmu_control_mode pmu_control_mode_t
 The control mode of LDOs/Bandgaps/Body Bias.
 
typedef enum _pmu_ldo_operate_mode pmu_ldo_operate_mode_t
 The operation mode for the LDOs.
 
typedef enum
_pmu_lpsr_ana_ldo_charge_pump_current 
pmu_lpsr_ana_ldo_charge_pump_current_t
 The enumeration of LPSR ANA LDO's charge pump current.
 
typedef enum
_pmu_lpsr_ana_ldo_output_range 
pmu_lpsr_ana_ldo_output_range_t
 The enumeration of LPSR ANA LDO's output range.
 
typedef enum
_pmu_lpsr_dig_voltage_step_time 
pmu_lpsr_dig_voltage_step_time_t
 The enumeration of voltage step time for LPSR DIG LDO.
 
typedef enum
_pmu_lpsr_dig_target_output_voltage 
pmu_lpsr_dig_target_output_voltage_t
 The target output voltage of LPSR DIG LDO.
 
typedef enum
_pmu_snvs_dig_charge_pump_current 
pmu_snvs_dig_charge_pump_current_t
 The enumeration of the SNVS DIG LDO's charge pump current.
 
typedef enum
_pmu_snvs_dig_discharge_resistor_value 
pmu_snvs_dig_discharge_resistor_value_t
 The enumeration of the SNVS DIG LDO's discharge resistor.
 
typedef enum
_pmu_bandgap_output_VBG_voltage_value 
pmu_bandgap_output_VBG_voltage_value_t
 The enumeration of output VBG voltage.
 
typedef enum
_pmu_bandgap_output_current_value 
pmu_bandgap_output_current_value_t
 The enumeration of output current.
 
typedef enum
_pmu_well_bias_power_source 
pmu_well_bias_power_source_t
 The enumerator of well bias power source.
 
typedef enum _pmu_bias_area_size pmu_bias_area_size_t
 The enumerator of bias area size.
 
typedef enum
_pmu_well_bias_typical_freq 
pmu_well_bias_typical_freq_t
 The enumerator of well bias typical frequency.
 
typedef enum
_pmu_adaptive_clock_source 
pmu_adaptive_clock_source_t
 The enumerator of well bias adaptive clock source.
 
typedef enum _pmu_freq_reduction pmu_freq_reduction_t
 The enumerator of frequency reduction due to cap increment.
 
typedef enum
_pmu_well_bias_1P8_adjustment 
pmu_well_bias_1P8_adjustment_t
 The enumerator of well bias 1P8 adjustment.
 
typedef struct
_pmu_static_lpsr_ana_ldo_config 
pmu_static_lpsr_ana_ldo_config_t
 LPSR ANA LDO config.
 
typedef struct
_pmu_static_lpsr_dig_config 
pmu_static_lpsr_dig_config_t
 LPSR DIG LDO Config in Static/Software Mode.
 
typedef struct _pmu_snvs_dig_config pmu_snvs_dig_config_t
 SNVS DIG LDO config.
 
typedef struct
_pmu_static_bandgap_config 
pmu_static_bandgap_config_t
 Bandgap config in static mode.
 
typedef union _pmu_well_bias_option pmu_well_bias_option_t
 The union of well bias basic options, such as clock source, power source and so on.
 
typedef struct
_pmu_well_bias_config 
pmu_well_bias_config_t
 The structure of well bias configuration.
 
typedef struct
_pmu_gpc_body_bias_config 
pmu_gpc_body_bias_config_t
 The stucture of body bias config in GPC mode.
 

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 {
  kPMU_PllLdo = 0U,
  kPMU_LpsrAnaLdo = 1U,
  kPMU_LpsrDigLdo = 2U,
  kPMU_SnvsDigLdo = 3U
}
 The name of LDOs. More...
 
enum  _pmu_body_bias_name {
  kPMU_RBB_SOC = 0x0U,
  kPMU_RBB_LPSR = 0x1U
}
 The name of body bias. More...
 
enum  _pmu_control_mode {
  kPMU_StaticMode = 0U,
  kPMU_GPCMode = 1U
}
 The control mode of LDOs/Bandgaps/Body Bias. More...
 
enum  _pmu_ldo_operate_mode {
  kPMU_LowPowerMode = 0x0U,
  kPMU_HighPowerMode = 0x1U
}
 The operation mode for the LDOs. More...
 
enum  _pmu_lpsr_ana_ldo_charge_pump_current {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  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 {
  kPMU_WellBiasPowerFromLpsrDigLdo = 0U,
  kPMU_WellBiasPowerFromDCDC
}
 The enumerator of well bias power source. More...
 
enum  _pmu_bias_area_size {
  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 {
  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 {
  kPMU_AdaptiveClkSourceOscClk = 0U,
  kPMU_AdaptiveClkSourceChargePumpClk
}
 The enumerator of well bias adaptive clock source. More...
 
enum  _pmu_freq_reduction {
  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 {
  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)
 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.
 
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)
 When STBY assert, enable/disable the selected LDO enter it's Low power 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' Wbias power switch 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

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::mode
bool _pmu_static_lpsr_ana_ldo_config::enable2mALoad
  • true Enables 2mA loading to prevent overshoot;
  • false Disables 2mA loading.
bool _pmu_static_lpsr_ana_ldo_config::enable4mALoad
  • true Enables 4mA loading to prevent dramatic voltage drop;
  • false Disables 4mA load.
bool _pmu_static_lpsr_ana_ldo_config::enable20uALoad
  • true Enables 20uA loading to prevent overshoot;
  • false Disables 20uA load.
bool _pmu_static_lpsr_ana_ldo_config::enableStandbyMode
  • true Enables Standby mode, if the STBY assert, the LPSR ANA LDO enter LP mode
  • false Disables Standby mode.
struct _pmu_static_lpsr_dig_config

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::enableStableDetect
  • true Enables Stable Detect.
  • false Disables Stable Detect.
pmu_lpsr_dig_voltage_step_time_t _pmu_static_lpsr_dig_config::voltageStepTime
pmu_lpsr_dig_target_output_voltage_t _pmu_static_lpsr_dig_config::targetVoltage
struct _pmu_snvs_dig_config

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::mode
pmu_snvs_dig_charge_pump_current_t _pmu_snvs_dig_config::chargePumpCurrent
pmu_snvs_dig_discharge_resistor_value_t _pmu_snvs_dig_config::dischargeResistorValue
uint8_t _pmu_snvs_dig_config::trimValue
bool _pmu_snvs_dig_config::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::enableLdoStable
struct _pmu_static_bandgap_config

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::powerDownOption
bool _pmu_static_bandgap_config::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::outputVoltage
pmu_bandgap_output_current_value_t _pmu_static_bandgap_config::outputCurrent
union _pmu_well_bias_option

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::wellBiasData
uint16_t _pmu_well_bias_option::enablePWellOnly
  • 1b0 PWELL and NEWLL are both turned on.
  • 1b1 PWELL is turned on only.
uint16_t _pmu_well_bias_option::reserved1
uint16_t _pmu_well_bias_option::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::wellBiasFreq
uint16_t _pmu_well_bias_option::clkSource
uint16_t _pmu_well_bias_option::freqReduction
uint16_t _pmu_well_bias_option::enablePowerDownOption
  • false Pull down option is disabled.
  • true Pull down option is enabled.
uint16_t _pmu_well_bias_option::reserved2
uint16_t _pmu_well_bias_option::powerSource
uint16_t _pmu_well_bias_option::reserved3
struct _pmu_well_bias_config

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::wellBiasOption
pmu_well_bias_1P8_adjustment_t _pmu_well_bias_config::adjustment
struct _pmu_gpc_body_bias_config

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::PWELLRegulatorSize
uint8_t _pmu_gpc_body_bias_config::NWELLRegulatorSize
uint8_t _pmu_gpc_body_bias_config::oscillatorSize
uint8_t _pmu_gpc_body_bias_config::regulatorStrength

Macro Definition Documentation

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

Version 2.1.2.

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_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_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 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 low power mode will be enabled in those setpoints if STBY assert, 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's wbias power switch will be turn on 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.