The MCUXpresso SDK provides a peripheral driver for the Power Management Controller (PMC) module of MCUXpresso SDK devices. The Power Management Controller (PMC) can be divided in two parts: PMC 0 and PMC 1. The PMC 0 controls the Core 0, its SoG and RAM, and the PMC 1 controls the Core 1, its SoG and RAM. This driver is for PMC 0 only.
The PMC 0 has:
- the high-power (HP) and low-power (LP) Core Regulator;
- the high-power (HP) and low-power (LP) Array Regulator;
- the high-power (HP) and low-power (LP) 1.2V Low Voltage Detector (LVD) monitor (in regulators input);
- the high-power (HP) and low-power (LP) 1.2V High Voltage Detector (HVD) monitor (in regulators input);
- the bandgap;
- the forward bias (FBB) and the reverse back bias (RBB). In addition, the PMC has a 1.8 V POR (Power-On Reset) monitor to assure the voltage level in the Always-On power domain would be in the correct range to the correct functionality of the internal digital and analog blocks. Both PMCs receive requests from the MSMC to change the current power mode. Each PMC allows the customer to choose what features are enabled or disabled for each power mode using the PMC registers.
Typical use case
Turn on the PMC 1 using LDO Regulator
After a POR event, when the PMC 0 is during RUN mode and the PMC 1 is turned off. The procedure to turn on the PMC 1 using the internal LDO Regulator.
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0
Turn on the PMC 1 using the PMIC
After a POR event, when the PMC 0 is during RUN mode and the PMC 1 is turned off. The procedure to turn on the PMC 1 using the external PMIC
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0
Turn off the LDO Regulator
When the PMC 1 is during RUN mode, the LDO Regulator can be programmed to be turned off in the next transition from RUN to VLLS power mode. As in VLLS the regulator is disconnected from the load by the switches (switches are OFF), a external regulator can assume the power supply (PMIC).
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0
Turn on the LDO Regulator
When the PMC 1 is during VLLS mode, the LDO Regulator can be turned on in a transition to RUN mode.
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0
Change the Core Regulator voltage level in PMC 0 RUN or HSRUN mode
To change the Core Regulator voltage level when the PMC 0 is in RUN mode:
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0 To change the Core Regulator voltage level when the PMC 0 is in HSRUN mode:
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0
Change the SRAMs power mode during PMC 0 RUN mode
To change the SRAMs power mode during the PMC 0 RUN mode.
Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/pmc0
|
enum | pmc0_high_volt_detect_monitor_select_t {
kPMC0_HighVoltDetectLowPowerMonitor = 0U,
kPMC0_HighVoltDetectHighPowerMonitor = 1U
} |
| High Voltage Detect Monitor Select. More...
|
|
enum | pmc0_low_volt_detect_monitor_select_t {
kPMC0_LowVoltDetectLowPowerMonitor = 0U,
kPMC0_LowVoltDetectHighPowerMonitor = 1U
} |
| Low Voltage Detect Monitor Select. More...
|
|
enum | pmc0_core_regulator_select_t {
kPMC0_CoreLowPowerRegulator = 0U,
kPMC0_CoreHighPowerRegulator = 1U
} |
| Core Regulator Select. More...
|
|
enum | pmc0_array_regulator_select_t {
kPMC0_ArrayLowPowerRegulator = 0U,
kPMC0_ArrayHighPowerRegulator = 1U
} |
| Array Regulator Select. More...
|
|
enum | pmc0_vlls_array_regulator_select_t {
kPMC0_VllsArrayRegulatorOff = 0U,
kPMC0_VllsArrayLowPowerRegulator = 2U,
kPMC0_VllsArrayHighPowerRegulator = 3U
} |
| VLLS mode array Regulator Select. More...
|
|
enum | pmc0_fbb_p_well_voltage_level_select_t {
kPMC0_FbbPWellNoBiasCondition = 0U,
kPMC0_FbbPWellVoltageLevelAt50Mv = 1U,
kPMC0_FbbPWellVoltageLevelAt150Mv = 2U,
kPMC0_FbbPWellVoltageLevelAt100Mv = 3U,
kPMC0_FbbPWellVoltageLevelAt350Mv = 4U,
kPMC0_FbbPWellVoltageLevelAt300Mv = 5U,
kPMC0_FbbPWellVoltageLevelAt200Mv = 6U,
kPMC0_FbbPWellVoltageLevelAt250Mv = 7U
} |
| FBB P-Well voltage level select. More...
|
|
enum | pmc0_fbb_n_well_voltage_level_select_t {
kPMC0_FbbNWellNoBiasCondition = 0U,
kPMC0_FbbNWellVoltageLevelAtMinus50Mv = 1U,
kPMC0_FbbNWellVoltageLevelAtMinus150Mv = 2U,
kPMC0_FbbNWellVoltageLevelAtMinus100Mv = 3U,
kPMC0_FbbNWellVoltageLevelAtMinus350Mv = 4U,
kPMC0_FbbNWellVoltageLevelAtMinus300Mv = 5U,
kPMC0_FbbNWellVoltageLevelAtMinus200Mv = 6U,
kPMC0_FbbNWellVoltageLevelAtMinus250Mv = 7U
} |
| FBB N-Well voltage level select. More...
|
|
enum | pmc0_rbb_p_well_voltage_level_select_t {
kPMC0_RBBPWellVoltageLevelAtMinus0_5V = 0U,
kPMC0_RBBPWellVoltageLevelAtMinus0_6V = 1U,
kPMC0_RBBPWellVoltageLevelAtMinus0_7V = 2U,
kPMC0_RBBPWellVoltageLevelAtMinus0_8V = 3U,
kPMC0_RBBPWellVoltageLevelAtMinus0_9V = 4U,
kPMC0_RBBPWellVoltageLevelAtMinus1_0V = 5U,
kPMC0_RBBPWellVoltageLevelAtMinus1_1V = 6U,
kPMC0_RBBPWellVoltageLevelAtMinus1_2V = 7U,
kPMC0_RBBPWellVoltageLevelAtMinus1_3V = 8U
} |
| RBB P-Well voltage level select. More...
|
|
enum | pmc0_rbb_n_well_voltage_level_select_t {
kPMC0_RBBNWellVoltageLevelAt0_5V = 0U,
kPMC0_RBBNWellVoltageLevelAt0_6V = 1U,
kPMC0_RBBNWellVoltageLevelAt0_7V = 2U,
kPMC0_RBBNWellVoltageLevelAt0_8V = 3U,
kPMC0_RBBNWellVoltageLevelAt0_9V = 4U,
kPMC0_RBBNWellVoltageLevelAt1_0V = 5U,
kPMC0_RBBNWellVoltageLevelAt1_1V = 6U,
kPMC0_RBBNWellVoltageLevelAt1_2V = 7U,
kPMC0_RBBNWellVoltageLevelAt1_3V = 8U
} |
| RBB N-Well voltage level select. More...
|
|
enum | _pmc0_status_flags {
kPMC0_LowVoltDetectEventFlag,
kPMC0_LowVoltDetectValueFlag = PMC0_STATUS_LVDV_MASK,
kPMC0_HighVoltDetectEventFlag,
kPMC0_HighVoltDetectValueFlag = PMC0_STATUS_HVDV_MASK,
kPMC0_CoreRegulatorVoltLevelFlag = PMC0_STATUS_COREVLF_MASK,
kPMC0_SramFlag,
kPMC0_PMC1VoltageSourceFlag
} |
| PMC 0 status flags. More...
|
|
enum | _pmc0_power_mode_status_flags {
kPMC0_HSRUNModeStatusFlags = 0U,
kPMC0_RUNModeStatusFlags = 1U,
kPMC0_STOPModeStatusFlags = 2U,
kPMC0_VLPRModeStatusFlags = 3U,
kPMC0_VLPSModeStatusFlags = 4U,
kPMC0_LLSModeStatusFlags = 5U,
kPMC0_VLLSModeStatusFlags = 6U
} |
| PMC 0 power mode status flags. More...
|
|
struct pmc0_hsrun_mode_config_t |
uint32_t pmc0_hsrun_mode_config_t::__pad0__ |
uint32_t pmc0_hsrun_mode_config_t::coreRegulatorVoltLevel |
uint32_t pmc0_hsrun_mode_config_t::__pad1__ |
uint32_t pmc0_hsrun_mode_config_t::enableForwardBias |
uint32_t pmc0_hsrun_mode_config_t::__pad2__ |
struct pmc0_run_mode_config_t |
uint32_t pmc0_run_mode_config_t::__pad0__ |
uint32_t pmc0_run_mode_config_t::coreRegulatorVoltLevel |
uint32_t pmc0_run_mode_config_t::__pad1__ |
struct pmc0_vlpr_mode_config_t |
uint32_t pmc0_vlpr_mode_config_t::arrayRegulatorSelect |
uint32_t pmc0_vlpr_mode_config_t::__pad0__ |
uint32_t pmc0_vlpr_mode_config_t::coreRegulatorSelect |
uint32_t pmc0_vlpr_mode_config_t::__pad1__ |
uint32_t pmc0_vlpr_mode_config_t::lvdMonitorSelect |
uint32_t pmc0_vlpr_mode_config_t::hvdMonitorSelect |
uint32_t pmc0_vlpr_mode_config_t::__pad2__ |
uint32_t pmc0_vlpr_mode_config_t::enableForceHpBandgap |
uint32_t pmc0_vlpr_mode_config_t::__pad3__ |
uint32_t pmc0_vlpr_mode_config_t::coreRegulatorVoltLevel |
uint32_t pmc0_vlpr_mode_config_t::__pad4__ |
uint32_t pmc0_vlpr_mode_config_t::enableReverseBackBias |
uint32_t pmc0_vlpr_mode_config_t::__pad5__ |
struct pmc0_stop_mode_config_t |
uint32_t pmc0_stop_mode_config_t::__pad0__ |
uint32_t pmc0_stop_mode_config_t::coreRegulatorVoltLevel |
uint32_t pmc0_stop_mode_config_t::__pad1__ |
struct pmc0_vlps_mode_config_t |
uint32_t pmc0_vlps_mode_config_t::arrayRegulatorSelect |
uint32_t pmc0_vlps_mode_config_t::__pad0__ |
uint32_t pmc0_vlps_mode_config_t::coreRegulatorSelect |
uint32_t pmc0_vlps_mode_config_t::__pad1__ |
uint32_t pmc0_vlps_mode_config_t::lvdMonitorSelect |
uint32_t pmc0_vlps_mode_config_t::hvdMonitorSelect |
uint32_t pmc0_vlps_mode_config_t::__pad2__ |
uint32_t pmc0_vlps_mode_config_t::enableForceHpBandgap |
uint32_t pmc0_vlps_mode_config_t::__pad3__ |
uint32_t pmc0_vlps_mode_config_t::coreRegulatorVoltLevel |
uint32_t pmc0_vlps_mode_config_t::__pad4__ |
uint32_t pmc0_vlps_mode_config_t::enableReverseBackBias |
uint32_t pmc0_vlps_mode_config_t::__pad5__ |
struct pmc0_lls_mode_config_t |
uint32_t pmc0_lls_mode_config_t::arrayRegulatorSelect |
uint32_t pmc0_lls_mode_config_t::__pad0__ |
uint32_t pmc0_lls_mode_config_t::coreRegulatorSelect |
uint32_t pmc0_lls_mode_config_t::__pad1__ |
uint32_t pmc0_lls_mode_config_t::lvdMonitorSelect |
uint32_t pmc0_lls_mode_config_t::hvdMonitorSelect |
uint32_t pmc0_lls_mode_config_t::__pad2__ |
uint32_t pmc0_lls_mode_config_t::enableForceHpBandgap |
uint32_t pmc0_lls_mode_config_t::__pad3__ |
uint32_t pmc0_lls_mode_config_t::coreRegulatorVoltLevel |
uint32_t pmc0_lls_mode_config_t::__pad4__ |
uint32_t pmc0_lls_mode_config_t::enableReverseBackBias |
uint32_t pmc0_lls_mode_config_t::__pad5__ |
struct pmc0_vlls_mode_config_t |
uint32_t pmc0_vlls_mode_config_t::arrayRegulatorSelect |
uint32_t pmc0_vlls_mode_config_t::__pad0__ |
uint32_t pmc0_vlls_mode_config_t::lvdMonitorSelect |
uint32_t pmc0_vlls_mode_config_t::hvdMonitorSelect |
uint32_t pmc0_vlls_mode_config_t::__pad1__ |
uint32_t pmc0_vlls_mode_config_t::enableForceHpBandgap |
uint32_t pmc0_vlls_mode_config_t::__pad2__ |
struct pmc0_bias_config_t |
uint32_t pmc0_bias_config_t::__pad0__ |
uint32_t pmc0_bias_config_t::RBBPWellVoltageLevelSelect |
uint32_t pmc0_bias_config_t::__pad1__ |
uint32_t pmc0_bias_config_t::DisableRBBPullDown |
'1' means to disable pull-down. '0' means to enable pull-down.
uint32_t pmc0_bias_config_t::FBBNWellVoltageLevelSelect |
uint32_t pmc0_bias_config_t::__pad2__ |
uint32_t pmc0_bias_config_t::FBBPWellVoltageLevelSelect |
uint32_t pmc0_bias_config_t::__pad3__ |
Enumerator |
---|
kPMC0_HighVoltDetectLowPowerMonitor |
LP monitor is selected.
|
kPMC0_HighVoltDetectHighPowerMonitor |
HP monitor is selected.
|
Enumerator |
---|
kPMC0_LowVoltDetectLowPowerMonitor |
LP monitor is selected.
|
kPMC0_LowVoltDetectHighPowerMonitor |
HP monitor is selected.
|
Enumerator |
---|
kPMC0_CoreLowPowerRegulator |
Core LP regulator is selected.
|
kPMC0_CoreHighPowerRegulator |
Core HP regulator is selected.
|
Enumerator |
---|
kPMC0_ArrayLowPowerRegulator |
Array LP regulator is selected.
|
kPMC0_ArrayHighPowerRegulator |
Array HP regulator is selected.
|
Enumerator |
---|
kPMC0_VllsArrayRegulatorOff |
Array regulator is selected OFF.
This is selectable only for VLLS mode.
|
kPMC0_VllsArrayLowPowerRegulator |
Array LP regulator is selected.
|
kPMC0_VllsArrayHighPowerRegulator |
Array HP regulator is selected.
|
Enumerator |
---|
kPMC0_FbbPWellNoBiasCondition |
No BIAS condition is selected.
|
kPMC0_FbbPWellVoltageLevelAt50Mv |
Voltage level at 50mV is selected.
|
kPMC0_FbbPWellVoltageLevelAt150Mv |
Voltage level at 150mV is selected.
|
kPMC0_FbbPWellVoltageLevelAt100Mv |
Voltage level at 100mV is selected.
|
kPMC0_FbbPWellVoltageLevelAt350Mv |
Voltage level at 350mV is selected.
|
kPMC0_FbbPWellVoltageLevelAt300Mv |
Voltage level at 300mV is selected.
|
kPMC0_FbbPWellVoltageLevelAt200Mv |
Voltage level at 200mV is selected.
|
kPMC0_FbbPWellVoltageLevelAt250Mv |
Voltage level at 250mV is selected.
|
Enumerator |
---|
kPMC0_FbbNWellNoBiasCondition |
No BIAS condition is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus50Mv |
Voltage level at -50mV is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus150Mv |
Voltage level at -150mV is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus100Mv |
Voltage level at -100mV is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus350Mv |
Voltage level at -350mV is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus300Mv |
Voltage level at -300mV is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus200Mv |
Voltage level at -200mV is selected.
|
kPMC0_FbbNWellVoltageLevelAtMinus250Mv |
Voltage level at -250mV is selected.
|
Enumerator |
---|
kPMC0_RBBPWellVoltageLevelAtMinus0_5V |
Voltage level at -0.5V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus0_6V |
Voltage level at -0.6V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus0_7V |
Voltage level at -0.7V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus0_8V |
Voltage level at -0.8V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus0_9V |
Voltage level at -0.9V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus1_0V |
Voltage level at -1.0V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus1_1V |
Voltage level at -1.1V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus1_2V |
Voltage level at -1.2V is selected.
|
kPMC0_RBBPWellVoltageLevelAtMinus1_3V |
Voltage level at -1.3V is selected.
|
Enumerator |
---|
kPMC0_RBBNWellVoltageLevelAt0_5V |
Voltage level at 0.5V is selected.
|
kPMC0_RBBNWellVoltageLevelAt0_6V |
Voltage level at 0.6V is selected.
|
kPMC0_RBBNWellVoltageLevelAt0_7V |
Voltage level at 0.7V is selected.
|
kPMC0_RBBNWellVoltageLevelAt0_8V |
Voltage level at 0.8V is selected.
|
kPMC0_RBBNWellVoltageLevelAt0_9V |
Voltage level at 0.9V is selected.
|
kPMC0_RBBNWellVoltageLevelAt1_0V |
Voltage level at 1.0V is selected.
|
kPMC0_RBBNWellVoltageLevelAt1_1V |
Voltage level at 1.1V is selected.
|
kPMC0_RBBNWellVoltageLevelAt1_2V |
Voltage level at 1.2V is selected.
|
kPMC0_RBBNWellVoltageLevelAt1_3V |
Voltage level at 1.3V is selected.
|
Enumerator |
---|
kPMC0_LowVoltDetectEventFlag |
1.2V Low-Voltage Detector Flag, sets when low-voltage event was detected.
|
kPMC0_LowVoltDetectValueFlag |
1.2V Low-Voltage Detector Value, sets when current value of the 1.2V LVD monitor output is 1.
|
kPMC0_HighVoltDetectEventFlag |
1.8V High-Voltage Detector Flag, sets when high-voltage event was detected.
|
kPMC0_HighVoltDetectValueFlag |
1.8V High-Voltage Detector Value, sets when current value of the 1.8V HVD monitor output is 1.
|
kPMC0_CoreRegulatorVoltLevelFlag |
Core Regulator Voltage Level Flag, sets when core regulator voltage level is changing (not stable).
|
kPMC0_SramFlag |
SRAM Flag, sets when a change mode request is being processed in the SRAMs.
|
kPMC0_PMC1VoltageSourceFlag |
This flag indicates what is the voltage source selected to supply the PMC 1 and where the sense point of the PMC 1's LVD/HVD is placed.
'0' means internal LDO supplies the PMC 1. '1' means external PMIC supplies the PMC 1.
|
Enumerator |
---|
kPMC0_HSRUNModeStatusFlags |
The PMC 0 is in HSRUN mode.
|
kPMC0_RUNModeStatusFlags |
The PMC 0 is in RUN mode.
|
kPMC0_STOPModeStatusFlags |
The PMC 0 is in STOP mode.
|
kPMC0_VLPRModeStatusFlags |
The PMC 0 is in VLPR mode.
|
kPMC0_VLPSModeStatusFlags |
The PMC 0 is in VLPS mode.
|
kPMC0_LLSModeStatusFlags |
The PMC 0 is in LLSM mode.
|
kPMC0_VLLSModeStatusFlags |
The PMC 0 is in VLLS mode.
|
This function configures the HSRUN power mode, including the core regulator voltage Level setting, enable forward bias or not.
- Parameters
-
config | Low-Voltage detect configuration structure. |
This function configures the RUN power mode, including the core regulator voltage Level setting.
- Parameters
-
config | Low-Voltage detect configuration structure. |
This function configures the VLPR power mode, including the core regulator voltage Level setting, enable reverse back bias or not, turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.
- Parameters
-
config | Low-Voltage detect configuration structure. |
This function configures the STOP power mode, including the core regulator voltage Level setting.
- Parameters
-
config | Low-Voltage detect configuration structure. |
This function configures the VLPS power mode, including the core regulator voltage Level setting, enable reverse back bias or not, turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.
- Parameters
-
config | Low-Voltage detect configuration structure. |
This function configures the LLS power mode, including the core regulator voltage Level setting, enable reverse back bias or not, turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.
- Parameters
-
config | Low-Voltage detect configuration structure. |
This function configures the VLLS power mode, including turn on force HP band-gap or not, select of HVD/LVD monitor and select of core/array regulator.
The select of array regulator is different from the other mode configurations. PMC 0 VLLS config has three array regulator select options where the others have only the latter two, see pmc0_vlls_array_regulator_select_t. Three array regulator select options in PMC 0 VLLS config are shown below:
- Regulator is off (diffrentiator)
- LP Regulator is on
- HP Regulator is on
- Parameters
-
config | Low-Voltage detect configuration structure. |
static uint32_t PMC0_GetPMC0PowerModeStatusFlags |
( |
void |
| ) |
|
|
inlinestatic |
- Returns
- PMC 0 current power mode status flags in the _pmc0_power_mode_status_flags.
static bool PMC0_GetPMC0PowerTransitionStatus |
( |
void |
| ) |
|
|
inlinestatic |
- Returns
- If return 'true', which means PMC 0 is in a power mode transition. If return 'false', which means PMC 0 is not in a power mode transition.
static uint32_t PMC0_GetPMC1PowerModeStatusFlags |
( |
void |
| ) |
|
|
inlinestatic |
- Returns
- PMC 1 current power mode status flags in the _pmc0_power_mode_status_flags.
static bool PMC0_GetPMC1PowerTransitionStatus |
( |
void |
| ) |
|
|
inlinestatic |
- Returns
- If return 'true', which means PMC 1 is in a power mode transition. If return 'false', which means PMC 1 is not in a power mode transition.
static uint32_t PMC0_GetStatusFlags |
( |
void |
| ) |
|
|
inlinestatic |
This function gets all PMC 0 status flags. The flags are returned as the logical OR value of the enumerators _pmc0_status_flags. To check for a specific status, compare the return value with enumerators in the _pmc0_status_flags. For example, to check whether core regulator voltage level is changing:
- Returns
- PMC 0 status flags which are ORed by the enumerators in the _pmc0_status_flags.
static void PMC0_EnableLowVoltDetectInterrupt |
( |
void |
| ) |
|
|
inlinestatic |
This function enables the 1.2V Low-Voltage Detector interrupt.
static void PMC0_DisableLowVoltDetectInterrupt |
( |
void |
| ) |
|
|
inlinestatic |
This function disables the 1.2V Low-Voltage Detector interrupt.
static void PMC0_ClearLowVoltDetectFlag |
( |
void |
| ) |
|
|
inlinestatic |
This function enables the 1.2V Low-Voltage Detector flag.
static void PMC0_EnableHighVoltDetectInterrupt |
( |
void |
| ) |
|
|
inlinestatic |
This function enables the 1.8V High-Voltage Detector interrupt.
static void PMC0_DisableHighVoltDetectInterrupt |
( |
void |
| ) |
|
|
inlinestatic |
This function disables the 1.8V High-Voltage Detector interrupt.
static void PMC0_ClearHighVoltDetectFlag |
( |
void |
| ) |
|
|
inlinestatic |
This function enables the 1.8V High-Voltage Detector flag.
static void PMC0_EnableLowVoltDetectReset |
( |
bool |
enable | ) |
|
|
inlinestatic |
This function enables 1.2V Low-Voltage Detector reset.
- Parameters
-
enable | Switcher of 1.2V Low-Voltage Detector reset feature. "true" means to enable, "false" means not. |
static void PMC0_EnableHighVoltDetectReset |
( |
bool |
enable | ) |
|
|
inlinestatic |
This function enables 1.8V High-Voltage Detector reset.
- Parameters
-
enable | Switcher of 1.8V High-Voltage Detector reset feature. "true" means to enable, "false" means not. |
static void PMC0_ClearPadsIsolation |
( |
void |
| ) |
|
|
inlinestatic |
This function releases/clears the isolation in the PADS.
The isolation in the pads only will be asserted during LLS/VLLS. On LLS exit, the isolation will release automatically. ISOACK must be set after a VLLS to RUN mode transition has completed.
static void PMC0_PowerOnPmc1 |
( |
void |
| ) |
|
|
inlinestatic |
This function powers on PMC 1.
When this bit field is asserted the PMC 1 is powered on. This bit would take action only once. This bit will be rearmed after a POR event only. NOTE: USB PHY-related interrupt (NVIC/GIC) and wake-up channels (AWIC/WKPU) must be disabled before turning PMC1 on.
static void PMC0_EnableWaitLdoOkSignal |
( |
bool |
enable | ) |
|
|
inlinestatic |
This function enables to wait LDO OK signal.
- Parameters
-
enable | Switcher of wait LDO OK signal feature. "true" means to enable, "false" means not. |
static void PMC0_EnablePmc1LdoRegulator |
( |
bool |
enable | ) |
|
|
inlinestatic |
This function enables PMC 1 LDO Regulator.
- Parameters
-
enable | Switcher of PMC 1 LDO Regulator. "true" means to enable, "false" means not. |
static void PMC0_EnablePmc1RBBMode |
( |
bool |
enable | ) |
|
|
inlinestatic |
This function enables PMC1 RBB mode. Since this circuit when enabled has current consumption. It is recommended to use it just in high temperatures when the leakage reduction is much higher than the current consumption.
- Parameters
-
enable | Switcher of PMC1 RBB mode. "true" means to enable, "false" means disable. |
This function change the RBB&FBB voltage level and RBB pull-down.
- Parameters
-
config | PMC 0 bias configuration structure. |
static void PMC0_ConfigureSramBankPowerDown |
( |
uint32_t |
bankMask | ) |
|
|
inlinestatic |
This function configures PMC 0 SRAM bank power down.
The bit i controls the power mode of the PMC 0 SRAM bank i. PMC0_SRAM_PD[i] = 1'b0 - PMC 0 SRAM bank i is not affected. PMC0_SRAM_PD[i] = 1'b1 - PMC 0 SRAM bank i is in ASD or ARRAY_SHUTDOWN during all modes, except VLLS. During VLLS is in POWER_DOWN mode.
Example
- Parameters
-
bankMask | The bands to enable. Logical OR of all bits of band index to enbale. |
static void PMC0_ConfigureSramBankPowerDownStopMode |
( |
uint32_t |
bankMask | ) |
|
|
inlinestatic |
This function configures PMC 0 SRAM bank power down in stop modes.
The bit i controls the PMC 0 SRAM bank i. PMC0_SRAM_PDS[i] = 1'b0 - PMC 0 SRAM bank i is not affected. PMC0_SRAM_PDS[i] = 1'b1 - PMC 0 SRAM bank i is in ASD or ARRAY_SHUTDOWN mode during STOP, VLPS and LLS modes. During VLLS is in POWER_DOWN mode.
Example
- Parameters
-
bankMask | The bands to enable. Logical OR of all bits of band index to enbale. |
static void PMC0_ConfigureSramBankPowerDownStandbyMode |
( |
uint32_t |
bankMask | ) |
|
|
inlinestatic |
This function configures PMC 0 SRAM bank power down in Standby Mode.
The bit i controls the PMC 0 SRAM bank i. PMC0_SRAM_STDY[i] = 1'b0 - PMC 0 SRAM bank i is not affected. PMC0_SRAM_STDY[i] = 1'b1 - PMC 0 SRAM bank i is in STANDBY mode during all modes (except VLLS and LLS).
Example
- Parameters
-
bankMask | The bands to enable. Logical OR of all bits of band index to enbale. |