![]() |
MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
Data Structures | |
struct | pgmc_bpc_cpu_power_mode_option_t |
The control option of the power domain controlled by CPU power mode. More... | |
struct | pgmc_bpc_setpoint_mode_option_t |
The control option of the power domain controlled by setpoint mode. More... | |
struct | pgmc_power_switch_delay_option_t |
PGMC power switch delay structure, including power off/on delay and isolation on/off delay. More... | |
struct | pgmc_mif_signal_delay_t |
The delay of each signal. More... | |
struct | pgmc_standby_acknowledge_config_t |
PGMC PMIC standby acknowledge configuration, including stand on/off step's count mode and acknowledge count. More... | |
Driver version | |
#define | FSL_PGMC_RIVER_VERSION (MAKE_VERSION(2, 0, 0)) |
PGMC driver version 2.0.0. More... | |
Basic Power Controller Related Interfaces | |
void | PGMC_BPC_ControlPowerDomainByCpuPowerMode (PGMC_BPC_Type *base, pgmc_cpu_mode_t mode, const pgmc_bpc_cpu_power_mode_option_t *option) |
Makes the BPC module controlled by the target CPU power mode, such as Wait mode. More... | |
void | PGMC_BPC_ControlPowerDomainBySetPointMode (PGMC_BPC_Type *base, uint32_t setPointMap, const pgmc_bpc_setpoint_mode_option_t *option) |
Makes the BPC module controlled by the target set points. More... | |
void | PGMC_BPC_ControlPowerDomainBySoftwareMode (PGMC_BPC_Type *base, bool powerOff, bool requestMLPLChange) |
Controls the selected power domain by software mode. More... | |
void | PGMC_BPC_SetPowerDomainPowerSwitchDelay (PGMC_BPC_Type *base, const pgmc_power_switch_delay_option_t *delayOption) |
Sets delay value of power on/off power domain, including power on delay, power off delay, etc. More... | |
static void | PGMC_BPC_DisableLowPower (PGMC_BPC_Type *base) |
Disables low power mode control. More... | |
static void | PGMC_BPC_RequestStateRestoreAtRunMode (PGMC_BPC_Type *base) |
Requests power domain state restore at run mode. More... | |
static void | PGMC_BPC_RequestStateRestoreAtSetPoint (PGMC_BPC_Type *base, uint32_t setPointMap) |
Requests power domain state restore when enters the selected set points. More... | |
static bool | PGMC_BPC_GetSsarStatusFlags (PGMC_BPC_Type *base) |
Gets the status flags of SSAR, such as Save Busy status, Restore Busy status, and so on. More... | |
static void | PGMC_BPC_AllowUserModeAccess (PGMC_BPC_Type *base, bool enable) |
Allows user mode access or not for the BPC module. More... | |
static void | PGMC_BPC_AllowNonSecureModeAccess (PGMC_BPC_Type *base, bool enable) |
Allows non-secure mode access or not for the BPC module. More... | |
static void | PGMC_BPC_LockAccessSetting (PGMC_BPC_Type *base) |
Locks access related settings for the BPC module, including Secure access setting and user access setting. More... | |
static void | PGMC_BPC_SetDomainIdWhiteList (PGMC_BPC_Type *base, uint8_t domainId) |
Sets the corrsponding domain ID that can access CPU mode control registers for the BPC module. More... | |
static void | PGMC_BPC_LockDomainIDWhiteList (PGMC_BPC_Type *base) |
Locks the value of Domain ID white list for the BPC module. More... | |
static void | PGMC_BPC_LockLowPowerConfigurationFields (PGMC_BPC_Type *base) |
Locks low power configuration fields for the BPC module. More... | |
CPU Power Controller Related Interfaces | |
void | PGMC_CPC_CORE_PowerOffByCpuPowerMode (PGMC_CPC_Type *base, pgmc_cpu_mode_t mode) |
Powers off the CPC core module by the target CPU power mode, such as Wait mode. More... | |
static void | PGMC_CPC_CORE_DisableLowPower (PGMC_CPC_Type *base) |
Disables low power mode control, the CPU core will not be affected by any low power modes. More... | |
void | PGMC_CPC_CORE_SetCorePowerSwitchDelay (PGMC_CPC_Type *base, const pgmc_power_switch_delay_option_t *delayOption) |
Sets delay value of power on/off core's power, including power on delay, power off delay, etc. More... | |
void | PGMC_CPC_CACHE_ControlByCpuPowerMode (PGMC_CPC_Type *base, pgmc_cpu_mode_t mode, pgmc_memory_low_power_level_t memoryLowPowerLevel) |
Makes the CPC CACHE module controlled by the target CPU power mode, such as Wait mode. More... | |
void | PGMC_CPC_CACHE_ControlBySetPointMode (PGMC_CPC_Type *base, uint32_t setPointMap, pgmc_memory_low_power_level_t memoryLowPowerLevel) |
Makes the CPC CACHE module controlled by the target set points. More... | |
static void | PGMC_CPC_CACHE_DisableLowPower (PGMC_CPC_Type *base) |
Disables low power mode control, so the cache will not be affected by any low power modes. More... | |
void | PGMC_CPC_CACHE_TriggerMLPLSoftwareChange (PGMC_CPC_Type *base) |
Requests CPC cache module's memory low power level change by software mode. More... | |
void | PGMC_CPC_LMEM_ControlByCpuPowerMode (PGMC_CPC_Type *base, pgmc_cpu_mode_t mode, pgmc_memory_low_power_level_t memoryLowPowerLevel) |
Makes the CPC LMEM module controlled by the target CPU power mode, such as Wait mode. More... | |
void | PGMC_CPC_LMEM_ControlBySetPointMode (PGMC_CPC_Type *base, uint32_t setPointMap, pgmc_memory_low_power_level_t memoryLowPowerLevel) |
Makes the CPC LMEM module controlled by the target set points. More... | |
static void | PGMC_CPC_LMEM_DisableLowPower (PGMC_CPC_Type *base) |
Disables low power mode control, so that the CPC LMEM will not be affected by any low power modes. More... | |
void | PGMC_CPC_LMEM_TriggerMLPLSoftwareChange (PGMC_CPC_Type *base) |
Requests CPC LMEM module's memory low power level change in software mode. More... | |
static void | PGMC_CPC_AllowUserModeAccess (PGMC_CPC_Type *base, bool enable) |
Allows user mode access or not for the CPC module. More... | |
static void | PGMC_CPC_AllowNonSecureModeAccess (PGMC_CPC_Type *base, bool enable) |
Allows non-secure mode access or not for the CPC module. More... | |
static void | PGMC_CPC_LockAccessSetting (PGMC_CPC_Type *base) |
Locks access related settings, including secure access setting and user access setting, for the CPC module. More... | |
static void | PGMC_CPC_SetDomainIdWhiteList (PGMC_CPC_Type *base, uint8_t domainId) |
Sets the corrsponding domain ID that can access CPU mode control registers for the CPC module. More... | |
static void | PGMC_CPC_LockDomainIDWhiteList (PGMC_CPC_Type *base) |
Locks the value of Domain ID white list for CPC module. More... | |
static void | PGMC_CPC_LockLowPowerConfigurationFields (PGMC_CPC_Type *base) |
Locks CPC realted low power configuration fields for CPC module. More... | |
MIF Module Related APIs | |
void | PGMC_MIF_SetSignalBehaviour (PGMC_MIF_Type *base, pgmc_memory_low_power_level_t memoryLevel, uint32_t mask) |
Sets the behaviour of each signal in MIF, such as Sleep signal. More... | |
void | PGMC_MIF_SetSignalDelay (PGMC_MIF_Type *base, pgmc_mif_signal_t signal, const pgmc_mif_signal_delay_t *delay) |
Sets the assert delay and de-assert delay for the selected signal to adjust timing, such as Sleep signal. More... | |
static void | PGMC_MIF_LockLowPowerConfigurationFields (PGMC_MIF_Type *base) |
Locks MIF realted low power configuration fields for MIF module. More... | |
PMIC Power Related Interfaces | |
void | PGMC_PPC_ControlByCpuPowerMode (PGMC_PPC_Type *base, pgmc_cpu_mode_t mode) |
Makes the PMIC module controlled by the target CPU power mode, such as Wait mode. More... | |
void | PGMC_PPC_ControlBySetPointMode (PGMC_PPC_Type *base, uint32_t setPointMap, bool enableStandby) |
Makes the PMIC module controlled by the target set points. More... | |
static void | PGMC_PPC_DisableLowPower (PGMC_PPC_Type *base) |
Disables low power mode control. More... | |
void | PGMC_PPC_SetAcknowledgeConfig (PGMC_PPC_Type *base, const pgmc_standby_acknowledge_config_t *config) |
Sets PGMC's PMIC standby module acknowledge config. More... | |
static void | PGMC_PPC_AllowUserModeAccess (PGMC_PPC_Type *base, bool enable) |
Allows user mode access or not for PMIC module. More... | |
static void | PGMC_PPC_AllowNonSecureModeAccess (PGMC_PPC_Type *base, bool enable) |
Allows non-secure mode access or not for the PMIC module. More... | |
static void | PGMC_PPC_LockAccessSetting (PGMC_PPC_Type *base) |
Locks access related settings, including secure access setting and user access setting, for the PMIC module. More... | |
static void | PGMC_PPC_SetDomainIdWhiteList (PGMC_PPC_Type *base, uint8_t domainId) |
Sets the corrsponding domain ID that can access CPU mode control registers for the PMIC module. More... | |
static void | PGMC_PPC_LockDomainIDWhiteList (PGMC_PPC_Type *base) |
Locks the value of Domain ID white list for the PMIC module. More... | |
static void | PGMC_PPC_LockLowPowerConfigurationFields (PGMC_PPC_Type *base) |
Locks low power configuration fields for the PMIC module. More... | |
struct pgmc_bpc_cpu_power_mode_option_t |
Data Fields | |
pgmc_bpc_assign_domain_t | assignDomain |
Domain assignment of the BPC. More... | |
pgmc_memory_low_power_level_t | memoryLowPowerLevel |
Memory low power level. More... | |
bool | stateSave |
Request save the state of power domain before entering target power mode. More... | |
bool | powerOff |
Request power off the power domain. More... | |
pgmc_bpc_assign_domain_t pgmc_bpc_cpu_power_mode_option_t::assignDomain |
The power mode of the selected core domain will control the selected power domain.
pgmc_memory_low_power_level_t pgmc_bpc_cpu_power_mode_option_t::memoryLowPowerLevel |
bool pgmc_bpc_cpu_power_mode_option_t::stateSave |
bool pgmc_bpc_cpu_power_mode_option_t::powerOff |
struct pgmc_bpc_setpoint_mode_option_t |
Data Fields | |
pgmc_memory_low_power_level_t | memoryLowPowerLevel |
Memory low power level. More... | |
bool | stateSave |
Request save the state of power domain before entering target setpoint. More... | |
bool | powerOff |
Request power off the power domain. More... | |
pgmc_memory_low_power_level_t pgmc_bpc_setpoint_mode_option_t::memoryLowPowerLevel |
bool pgmc_bpc_setpoint_mode_option_t::stateSave |
bool pgmc_bpc_setpoint_mode_option_t::powerOff |
struct pgmc_power_switch_delay_option_t |
Data Fields | |
uint32_t | powerOffDelay |
Delay from receiving power off request to high fanout power switch shut off. More... | |
uint32_t | powerOnDelay |
Delay from receiving power on request to high fanout power switch shut off. More... | |
uint32_t | isolationOnDelay |
Delay from receiving iso on request to isolation enable. More... | |
uint32_t | isolationOffDelay |
Delay from receiving iso off requst to isolation disable. More... | |
uint32_t pgmc_power_switch_delay_option_t::powerOffDelay |
uint32_t pgmc_power_switch_delay_option_t::powerOnDelay |
uint32_t pgmc_power_switch_delay_option_t::isolationOnDelay |
uint32_t pgmc_power_switch_delay_option_t::isolationOffDelay |
struct pgmc_mif_signal_delay_t |
Data Fields | |
uint16_t | assertDelay |
Delay before asserting signal to high. More... | |
uint16_t | deAssertDelay |
Delay before de-asserting signal to low. More... | |
uint16_t pgmc_mif_signal_delay_t::assertDelay |
uint16_t pgmc_mif_signal_delay_t::deAssertDelay |
struct pgmc_standby_acknowledge_config_t |
Data Fields | |
pgmc_standby_on_off_count_mode_t | standbyOffCountMode |
PMIC standby off acknowledge count mode. More... | |
uint32_t | standbyOffCount |
PMIC standby off acknowledge count configure. More... | |
pgmc_standby_on_off_count_mode_t | standbyOnCountMode |
PMIC standby on acknowledge count mode. More... | |
uint32_t | standbyOnCount |
PMIC standby on acknowledge count configure. More... | |
pgmc_standby_on_off_count_mode_t pgmc_standby_acknowledge_config_t::standbyOffCountMode |
uint32_t pgmc_standby_acknowledge_config_t::standbyOffCount |
pgmc_standby_on_off_count_mode_t pgmc_standby_acknowledge_config_t::standbyOnCountMode |
uint32_t pgmc_standby_acknowledge_config_t::standbyOnCount |
#define FSL_PGMC_RIVER_VERSION (MAKE_VERSION(2, 0, 0)) |
anonymous enum |
enum pgmc_cpu_mode_t |
enum pgmc_control_mode_t |
enum pgmc_mif_signal_t |
void PGMC_BPC_ControlPowerDomainByCpuPowerMode | ( | PGMC_BPC_Type * | base, |
pgmc_cpu_mode_t | mode, | ||
const pgmc_bpc_cpu_power_mode_option_t * | option | ||
) |
This function makes the module controlled by four typical CPU power modes, It also configs the resource domain and set memory low power level.
base | PGMC basic power controller base address. |
mode | Target CPU power mode. |
option | The pointer of pgmc_bpc_cpu_power_mode_option_t structure. |
void PGMC_BPC_ControlPowerDomainBySetPointMode | ( | PGMC_BPC_Type * | base, |
uint32_t | setPointMap, | ||
const pgmc_bpc_setpoint_mode_option_t * | option | ||
) |
This function makes the module controlled by specific set point, It also supports set memory lowe power level.
base | PGMC basic power controller base address. |
setPointMap | Should be the OR'ed value of _pgmc_setpoint_map. |
option | The pointer of pgmc_bpc_setpoint_mode_option_t structure. |
void PGMC_BPC_ControlPowerDomainBySoftwareMode | ( | PGMC_BPC_Type * | base, |
bool | powerOff, | ||
bool | requestMLPLChange | ||
) |
base | PGMC basic power controller base address. |
powerOff. | Power On/Off power domain in software mode.
|
requestMLPLChange. | Request memory low power level software change in software mode.
|
void PGMC_BPC_SetPowerDomainPowerSwitchDelay | ( | PGMC_BPC_Type * | base, |
const pgmc_power_switch_delay_option_t * | delayOption | ||
) |
base | PGMC basic power controller base address. |
delayOption | Pointer to the pgmc_power_switch_delay_option_t structure. |
|
inlinestatic |
base | PGMC basic power controller base address. |
|
inlinestatic |
base | PGMC basic power controller base address. |
|
inlinestatic |
base | PGMC basic power controller base address. |
setPointMap | Should be the OR'ed value of _pgmc_setpoint_map. |
|
inlinestatic |
base | PGMC basic power controller base address. |
|
inlinestatic |
base | PGMC basic power controller base address. |
enable | Used to control whether allow user mode access.
|
|
inlinestatic |
base | PGMC basic power controller base address. |
enable | Used to control whether allow non-secure mode to access CPU mode control registers.
|
|
inlinestatic |
base | PGMC basic power controller base address. |
|
inlinestatic |
base | PGMC basic power controller base address. |
domainId | Should be the OR'ed value of pgmc_bpc_assign_domain_t. |
|
inlinestatic |
base | PGMC basic power controller base address. |
|
inlinestatic |
base | PGMC basic power controller base address. |
void PGMC_CPC_CORE_PowerOffByCpuPowerMode | ( | PGMC_CPC_Type * | base, |
pgmc_cpu_mode_t | mode | ||
) |
base | CPC CORE module base address. |
mode | Target CPU power mode. |
|
inlinestatic |
base | CPC CORE module base address. |
void PGMC_CPC_CORE_SetCorePowerSwitchDelay | ( | PGMC_CPC_Type * | base, |
const pgmc_power_switch_delay_option_t * | delayOption | ||
) |
base | CPC CORE module base address. |
delayOption | Pointer to the pgmc_power_switch_delay_option_t structure. |
void PGMC_CPC_CACHE_ControlByCpuPowerMode | ( | PGMC_CPC_Type * | base, |
pgmc_cpu_mode_t | mode, | ||
pgmc_memory_low_power_level_t | memoryLowPowerLevel | ||
) |
This function makes the module controlled by four typical CPU power modes, it also can set memory low power level.
base | CPC CACHE module base address. |
mode | Target CPU power mode. |
memoryLowPowerLevel | Memory low power level. |
void PGMC_CPC_CACHE_ControlBySetPointMode | ( | PGMC_CPC_Type * | base, |
uint32_t | setPointMap, | ||
pgmc_memory_low_power_level_t | memoryLowPowerLevel | ||
) |
This function makes the module controlled by specific set point, It also supports set memory lowe power level.
base | CPC CACHE module base address. |
setPointMap | Should be the OR'ed value of _pgmc_setpoint_map. |
memoryLowPowerLevel | Memory low power level. |
|
inlinestatic |
base | CPC CACHE module base address. |
void PGMC_CPC_CACHE_TriggerMLPLSoftwareChange | ( | PGMC_CPC_Type * | base | ) |
base | CPC LMEM module base address. |
void PGMC_CPC_LMEM_ControlByCpuPowerMode | ( | PGMC_CPC_Type * | base, |
pgmc_cpu_mode_t | mode, | ||
pgmc_memory_low_power_level_t | memoryLowPowerLevel | ||
) |
This function makes the module controlled by four typical CPU power modes, it also can set memory low power level.
base | CPC LMEM module base address. |
mode | Target CPU power mode. |
memoryLowPowerLevel | Memory low power level. |
void PGMC_CPC_LMEM_ControlBySetPointMode | ( | PGMC_CPC_Type * | base, |
uint32_t | setPointMap, | ||
pgmc_memory_low_power_level_t | memoryLowPowerLevel | ||
) |
This function makes the module controlled by specific set point, It also supports set memory lowe power level.
base | CPC LMEM module base address. |
setPointMap | Should be the OR'ed value of _pgmc_setpoint_map. |
memoryLowPowerLevel | Memory low power level. |
|
inlinestatic |
base | CPC LMEM module base address. |
void PGMC_CPC_LMEM_TriggerMLPLSoftwareChange | ( | PGMC_CPC_Type * | base | ) |
base | CPC LMEM module base address. |
|
inlinestatic |
base | CPC LMEM module base address. |
enable | Used to control whether allow user mode access.
|
|
inlinestatic |
base | CPC LMEM module base address. |
enable | Used to control whether allow non-secure mode to access CPU mode control registers.
|
|
inlinestatic |
base | CPC LMEM module base address. |
|
inlinestatic |
base | CPC LMEM module base address. |
domainId | Should be the OR'ed value of pgmc_bpc_assign_domain_t. |
|
inlinestatic |
base | CPC LMEM module base address. |
|
inlinestatic |
base | CPC LMEM module base address. |
void PGMC_MIF_SetSignalBehaviour | ( | PGMC_MIF_Type * | base, |
pgmc_memory_low_power_level_t | memoryLevel, | ||
uint32_t | mask | ||
) |
base | PGMC MIF peripheral base address. |
memoryLevel | The selected memory low power level. For details please refer to pgmc_memory_low_power_level_t. |
mask. | The mask of MIF signal behaviour. Should be the OR'ed value of _pgmc_mif_signal_behaviour |
void PGMC_MIF_SetSignalDelay | ( | PGMC_MIF_Type * | base, |
pgmc_mif_signal_t | signal, | ||
const pgmc_mif_signal_delay_t * | delay | ||
) |
base | PGMC MIF peripheral base address. |
signal | The signal in MIF module. |
delay | The pointer to the structure pgmc_mif_signal_delay_t. |
|
inlinestatic |
base | PGMC MIF peripheral base address. |
void PGMC_PPC_ControlByCpuPowerMode | ( | PGMC_PPC_Type * | base, |
pgmc_cpu_mode_t | mode | ||
) |
base | PMIC module base address. |
mode | Target CPU power mode. |
void PGMC_PPC_ControlBySetPointMode | ( | PGMC_PPC_Type * | base, |
uint32_t | setPointMap, | ||
bool | enableStandby | ||
) |
This function makes the module controlled by specific set point, It also supports PMIC standby on.
base | PMIC module base address. |
setPointMap | Should be the OR'ed value of _pgmc_setpoint_map. |
enableStandby | true: PMIC standby on when system enters set point number and system is in standby mode. false: PMIC standby on when system enters set point number |
|
inlinestatic |
base | PMIC module bsase address. |
void PGMC_PPC_SetAcknowledgeConfig | ( | PGMC_PPC_Type * | base, |
const pgmc_standby_acknowledge_config_t * | config | ||
) |
base | PMIC module base address. |
pgmc_standby_acknowledge_config_t | Pointer to the pgmc_standby_acknowledge_config_t structure. |
|
inlinestatic |
base | PMIC module base address. |
enable | Used to control whether allow user mode access.
|
|
inlinestatic |
base | PMIC module base address. |
enable | Used to control whether allow non-secure mode to access CPU mode control registers.
|
|
inlinestatic |
base | PMIC module base address. |
|
inlinestatic |
base | PMIC module base address. |
domainId | Should be the OR'ed value of pgmc_bpc_assign_domain_t. |
|
inlinestatic |
base | PMIC module base address. |
|
inlinestatic |
base | PMIC module base address. |