![]() |
MCUXpresso SDK API Reference Manual
Rev 2.16.000
NXP Semiconductors
|
Files | |
file | fsl_pmc0.h |
Data Structures | |
struct | pmc0_hsrun_mode_config_t |
PMC 0 HSRUN mode configuration. More... | |
struct | pmc0_run_mode_config_t |
PMC 0 RUN mode configuration. More... | |
struct | pmc0_vlpr_mode_config_t |
PMC 0 VLPR mode configuration. More... | |
struct | pmc0_stop_mode_config_t |
PMC 0 STOP mode configuration. More... | |
struct | pmc0_vlps_mode_config_t |
PMC 0 VLPS mode configuration. More... | |
struct | pmc0_lls_mode_config_t |
PMC 0 LLS mode configuration. More... | |
struct | pmc0_vlls_mode_config_t |
PMC 0 VLLS mode configuration. More... | |
struct | pmc0_bias_config_t |
PMC 0 bias configuration. More... | |
Macros | |
#define | CORE_REGULATOR_VOLT_LEVEL_MAX 50U |
MAX valid values of Core Regulator Voltage Level. | |
Driver version | |
#define | FSL_PMC0_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
PMC 0 driver version. | |
Power Management Controller Control APIs | |
static void | PMC0_ConfigureHsrunMode (const pmc0_hsrun_mode_config_t *config) |
Configure the HSRUN power mode. More... | |
static void | PMC0_ConfigureRunMode (const pmc0_run_mode_config_t *config) |
Configure the RUN power mode. More... | |
static void | PMC0_ConfigureVlprMode (const pmc0_vlpr_mode_config_t *config) |
Configure the VLPR power mode. More... | |
static void | PMC0_ConfigureStopMode (const pmc0_stop_mode_config_t *config) |
Configure the STOP power mode. More... | |
static void | PMC0_ConfigureVlpsMode (const pmc0_vlps_mode_config_t *config) |
Configure the VLPS power mode. More... | |
static void | PMC0_ConfigureLlsMode (const pmc0_lls_mode_config_t *config) |
Configure the LLS power mode. More... | |
static void | PMC0_ConfigureVllsMode (const pmc0_vlls_mode_config_t *config) |
Configure the VLLS power mode. More... | |
static uint32_t | PMC0_GetPMC0PowerModeStatusFlags (void) |
Get current power mode of PMC 0. More... | |
static bool | PMC0_GetPMC0PowerTransitionStatus (void) |
Get the status of PMC 0 power mode transition. More... | |
static uint32_t | PMC0_GetPMC1PowerModeStatusFlags (void) |
Get current power mode of PMC 1. More... | |
static bool | PMC0_GetPMC1PowerTransitionStatus (void) |
Get the status of PMC 1 power mode transition. More... | |
static uint32_t | PMC0_GetStatusFlags (void) |
Gets PMC 0 status flags. More... | |
static void | PMC0_EnableLowVoltDetectInterrupt (void) |
Enables the 1.2V Low-Voltage Detector interrupt. More... | |
static void | PMC0_DisableLowVoltDetectInterrupt (void) |
Disables the 1.2V Low-Voltage Detector interrupt. More... | |
static void | PMC0_ClearLowVoltDetectFlag (void) |
Clears the 1.2V Low-Voltage Detector flag. More... | |
static void | PMC0_EnableHighVoltDetectInterrupt (void) |
Enables the 1.8V High-Voltage Detector interrupt. More... | |
static void | PMC0_DisableHighVoltDetectInterrupt (void) |
Disables the 1.8V High-Voltage Detector interrupt. More... | |
static void | PMC0_ClearHighVoltDetectFlag (void) |
Clears the 1.8V High-Voltage Detector flag. More... | |
static void | PMC0_EnableLowVoltDetectReset (bool enable) |
Enables the 1.2V Low-Voltage Detector reset. More... | |
static void | PMC0_EnableHighVoltDetectReset (bool enable) |
Enables the 1.8V High-Voltage Detector reset. More... | |
static void | PMC0_ClearPadsIsolation (void) |
Releases/clears the isolation in the PADS. More... | |
static void | PMC0_PowerOnPmc1 (void) |
Powers on PMC 1. More... | |
static void | PMC0_EnableWaitLdoOkSignal (bool enable) |
Enables to wait LDO OK signal. More... | |
static void | PMC0_EnablePmc1LdoRegulator (bool enable) |
Enables PMC 1 LDO Regulator. More... | |
static void | PMC0_EnablePmc1RBBMode (bool enable) |
Enable the PMC 1 RBB(reverse back bias) mode. More... | |
static void | PMC0_SetBiasConfig (const pmc0_bias_config_t *config) |
Configure the PMC 0 bias voltage level and enable/disable pull-down. More... | |
static void | PMC0_ConfigureSramBankPowerDown (uint32_t bankMask) |
Configures PMC 0 SRAM bank power down. More... | |
static void | PMC0_ConfigureSramBankPowerDownStopMode (uint32_t bankMask) |
Configures PMC 0 SRAM bank power down in stop modes. More... | |
static void | PMC0_ConfigureSramBankPowerDownStandbyMode (uint32_t bankMask) |
Configures PMC 0 SRAM bank power down in Standby Mode. More... | |
static void | PMC0_EnableTemperatureSensor (bool enable) |
Enable/disable internal temperature sensor. More... | |
static void | PMC0_SetTemperatureSensorMode (uint8_t mode) |
Set temperature sensor mode. More... | |
struct pmc0_hsrun_mode_config_t |
Data Fields | |
uint32_t | __pad0__: 16 |
Reserved. More... | |
uint32_t | coreRegulatorVoltLevel: 6 |
Core Regulator Voltage Level. More... | |
uint32_t | __pad1__: 2 |
Reserved. More... | |
uint32_t | enableForwardBias: 1 |
Enable forward bias. More... | |
uint32_t | __pad2__: 7 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | __pad0__: 16 |
Reserved. More... | |
uint32_t | coreRegulatorVoltLevel: 6 |
Core Regulator Voltage Level. More... | |
uint32_t | __pad1__: 10 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | arrayRegulatorSelect: 1 |
Array Regulator Select. More... | |
uint32_t | __pad0__: 1 |
Reserved. More... | |
uint32_t | coreRegulatorSelect: 1 |
Core Regulator Select. More... | |
uint32_t | __pad1__: 1 |
Reserved. More... | |
uint32_t | lvdMonitorSelect: 1 |
1.2V LVD Monitor Select. More... | |
uint32_t | hvdMonitorSelect: 1 |
1.2V HVD Monitor Select. More... | |
uint32_t | __pad2__: 1 |
Reserved. More... | |
uint32_t | enableForceHpBandgap: 1 |
Enable force HP band-gap. More... | |
uint32_t | __pad3__: 8 |
Reserved. More... | |
uint32_t | coreRegulatorVoltLevel: 6 |
Core Regulator Voltage Level. More... | |
uint32_t | __pad4__: 6 |
Reserved. More... | |
uint32_t | enableReverseBackBias: 1 |
Enable reverse back bias. More... | |
uint32_t | __pad5__: 3 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | __pad0__: 16 |
Reserved. More... | |
uint32_t | coreRegulatorVoltLevel: 6 |
Core Regulator Voltage Level. More... | |
uint32_t | __pad1__: 10 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | arrayRegulatorSelect: 1 |
Array Regulator Select. More... | |
uint32_t | __pad0__: 1 |
Reserved. More... | |
uint32_t | coreRegulatorSelect: 1 |
Core Regulator Select. More... | |
uint32_t | __pad1__: 1 |
Reserved. More... | |
uint32_t | lvdMonitorSelect: 1 |
1.2V LVD Monitor Select. More... | |
uint32_t | hvdMonitorSelect: 1 |
1.2V HVD Monitor Select. More... | |
uint32_t | __pad2__: 1 |
Reserved. More... | |
uint32_t | enableForceHpBandgap: 1 |
Enable force HP band-gap. More... | |
uint32_t | __pad3__: 8 |
Reserved. More... | |
uint32_t | coreRegulatorVoltLevel: 6 |
Core Regulator Voltage Level. More... | |
uint32_t | __pad4__: 6 |
Reserved. More... | |
uint32_t | enableReverseBackBias: 1 |
Enable reverse back bias. More... | |
uint32_t | __pad5__: 3 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | arrayRegulatorSelect: 1 |
Array Regulator Select. More... | |
uint32_t | __pad0__: 1 |
Reserved. More... | |
uint32_t | coreRegulatorSelect: 1 |
Core Regulator Select. More... | |
uint32_t | __pad1__: 1 |
Reserved. More... | |
uint32_t | lvdMonitorSelect: 1 |
1.2V LVD Monitor Select. More... | |
uint32_t | hvdMonitorSelect: 1 |
1.2V HVD Monitor Select. More... | |
uint32_t | __pad2__: 1 |
Reserved. More... | |
uint32_t | enableForceHpBandgap: 1 |
Enable force HP band-gap. More... | |
uint32_t | __pad3__: 8 |
Reserved. More... | |
uint32_t | coreRegulatorVoltLevel: 6 |
Core Regulator Voltage Level. More... | |
uint32_t | __pad4__: 6 |
Reserved. More... | |
uint32_t | enableReverseBackBias: 1 |
Enable reverse back bias. More... | |
uint32_t | __pad5__: 3 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | arrayRegulatorSelect: 2 |
Array Regulator Select. More... | |
uint32_t | __pad0__: 2 |
Reserved. More... | |
uint32_t | lvdMonitorSelect: 1 |
1.2V LVD Monitor Select. More... | |
uint32_t | hvdMonitorSelect: 1 |
1.2V HVD Monitor Select. More... | |
uint32_t | __pad1__: 1 |
Reserved. More... | |
uint32_t | enableForceHpBandgap: 1 |
Enable force HP band-gap. More... | |
uint32_t | __pad2__: 24 |
Reserved. More... | |
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 |
Data Fields | |
uint32_t | __pad0__: 4 |
Reserved. More... | |
uint32_t | RBBPWellVoltageLevelSelect: 4 |
Select PMC0 RBB P-Well voltage level. More... | |
uint32_t | __pad1__: 3 |
Reserved. More... | |
uint32_t | DisableRBBPullDown: 1 |
Disable RBB pull-down. More... | |
uint32_t | FBBNWellVoltageLevelSelect: 4 |
Select PMC0 FBB N-Well voltage level. More... | |
uint32_t | __pad2__: 4 |
Reserved. More... | |
uint32_t | FBBPWellVoltageLevelSelect: 4 |
Select PMC0 FBB P-Well voltage level. More... | |
uint32_t | __pad3__: 4 |
Reserved. More... | |
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__ |
enum _pmc0_status_flags |
|
inlinestatic |
This function configures the HSRUN power mode, including the core regulator voltage Level setting, enable forward bias or not.
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
This function configures the RUN power mode, including the core regulator voltage Level setting.
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
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.
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
This function configures the STOP power mode, including the core regulator voltage Level setting.
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
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.
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
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.
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
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:
config | Low-Voltage detect configuration structure. |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
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:
|
inlinestatic |
This function enables the 1.2V Low-Voltage Detector interrupt.
|
inlinestatic |
This function disables the 1.2V Low-Voltage Detector interrupt.
|
inlinestatic |
This function enables the 1.2V Low-Voltage Detector flag.
|
inlinestatic |
This function enables the 1.8V High-Voltage Detector interrupt.
|
inlinestatic |
This function disables the 1.8V High-Voltage Detector interrupt.
|
inlinestatic |
This function enables the 1.8V High-Voltage Detector flag.
|
inlinestatic |
This function enables 1.2V Low-Voltage Detector reset.
enable | Switcher of 1.2V Low-Voltage Detector reset feature. "true" means to enable, "false" means not. |
|
inlinestatic |
This function enables 1.8V High-Voltage Detector reset.
enable | Switcher of 1.8V High-Voltage Detector reset feature. "true" means to enable, "false" means not. |
|
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.
|
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.
|
inlinestatic |
This function enables to wait LDO OK signal.
enable | Switcher of wait LDO OK signal feature. "true" means to enable, "false" means not. |
|
inlinestatic |
This function enables PMC 1 LDO Regulator.
enable | Switcher of PMC 1 LDO Regulator. "true" means to enable, "false" means not. |
|
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.
enable | Switcher of PMC1 RBB mode. "true" means to enable, "false" means disable. |
|
inlinestatic |
This function change the RBB&FBB voltage level and RBB pull-down.
config | PMC 0 bias configuration structure. |
|
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
bankMask | The bands to enable. Logical OR of all bits of band index to enbale. |
|
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
bankMask | The bands to enable. Logical OR of all bits of band index to enbale. |
|
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
bankMask | The bands to enable. Logical OR of all bits of band index to enbale. |
|
inlinestatic |
enable | Used to enable/disable internal temperature sensor.
|
|
inlinestatic |
mode | The temperature sensor mode to set. |