MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
PGMC

Overview

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...
 

Enumerations

enum  {
  kPGMC_SetPoint0 = 1UL << 0UL,
  kPGMC_SetPoint1 = 1UL << 1UL,
  kPGMC_SetPoint2 = 1UL << 2UL,
  kPGMC_SetPoint3 = 1UL << 3UL,
  kPGMC_SetPoint4 = 1UL << 4UL,
  kPGMC_SetPoint5 = 1UL << 5UL,
  kPGMC_SetPoint6 = 1UL << 6UL,
  kPGMC_SetPoint7 = 1UL << 7UL,
  kPGMC_SetPoint8 = 1UL << 8UL,
  kPGMC_SetPoint9 = 1UL << 9UL,
  kPGMC_SetPoint10 = 1UL << 10UL,
  kPGMC_SetPoint11 = 1UL << 11UL,
  kPGMC_SetPoint12 = 1UL << 12UL,
  kPGMC_SetPoint13 = 1UL << 13UL,
  kPGMC_SetPoint14 = 1UL << 14UL,
  kPGMC_SetPoint15 = 1UL << 15UL
}
 The enumeration of setpoint. More...
 
enum  _pgmc_mif_signal_behaviour {
  kPGMC_AssertSleepSignal = 1U << 0U,
  kPGMC_AssertInputGateSignal = 1U << 1U,
  kPGMC_AssetLowSpeedSignal = 1U << 2U,
  kPGMC_AssertHighSpeedSignal = 1U << 3U,
  kPGMC_AssertStandbySignal = 1U << 4U,
  kPGMC_AssertArrayPowerDownSignal = 1U << 5U,
  kPGMC_AssertPeripheralPowerDownSignal = 1U << 6U,
  kPGMC_AssertInitnSignal = 1U << 7U,
  kPGMC_AssertSwitch1OffSignal = 1U << 8U,
  kPGMC_AssertSwitch2OffSignal = 1U << 9U,
  kPGMC_AssertIsoSignal = 1U << 10U
}
 The enumeration of MIF signal behaviour(Such as Sleep Signal, Standby Signal, and so on). More...
 
enum  pgmc_bpc_assign_domain_t {
  kPGMC_CM7Core = 0U,
  kPGMC_CM4Core = 1U
}
 PGMC BPC assign domain enumeration. More...
 
enum  pgmc_cpu_mode_t {
  kPGMC_RunMode = 0x0UL,
  kPGMC_WaitMode = 0x1UL,
  kPGMC_StopMode = 0x2UL,
  kPGMC_SuspendMode = 0x3UL
}
 CPU mode. More...
 
enum  pgmc_control_mode_t
 PGMC control modes. More...
 
enum  pgmc_memory_low_power_level_t
 The enumeration of memory low power level.
 
enum  pgmc_mif_signal_t {
  kPGMC_SleepSignal = 0U,
  kPGMC_InputGateSignal = 1U,
  kPGMC_LowSpeedSignal = 2U,
  kPGMC_HighSpeedSignal = 3U,
  kPGMC_StandbySignal = 4U,
  kPGMC_ArrayPowerDownSignal = 5U,
  kPGMC_PeripheralPowerDownSignal = 6U,
  kPGMC_InitnSignal = 7U,
  kPGMC_Switch1OffSignal = 8U,
  kPGMC_Switch2OffSignal = 9U,
  kPGMC_IsoSignal = 10U
}
 The enumeration of MIF signal. More...
 

Driver version

#define FSL_PGMC_RIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 PGMC driver version 2.1.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)
 Controls the selected power domain by software mode. 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 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_PowerOffBySoftwareMode (PGMC_CPC_Type *base, bool powerOff)
 Powers off/on the CPC core module by the software. 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_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...
 
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...
 
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...
 

Data Structure Documentation

struct pgmc_bpc_cpu_power_mode_option_t

Data Fields

pgmc_bpc_assign_domain_t assignDomain
 Domain assignment of the BPC. 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...
 

Field Documentation

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.

bool pgmc_bpc_cpu_power_mode_option_t::stateSave
  • true Save data when domain enter the selected mode.
  • false Do not save data when domain enter the selected mode.
bool pgmc_bpc_cpu_power_mode_option_t::powerOff
  • true Power off the power domain when enter the selected mode.
  • false Do not power off the power domain when enter the selected mode.
struct pgmc_bpc_setpoint_mode_option_t

Data Fields

bool stateSave
 Request save the state of power domain before entering target setpoint. More...
 
bool powerOff
 Request power off the power domain. More...
 

Field Documentation

bool pgmc_bpc_setpoint_mode_option_t::stateSave
  • true Save data when domain enter the selected setpoint.
  • false Do not save data when domain enter the selected setpoint.
bool pgmc_bpc_setpoint_mode_option_t::powerOff
  • true Power off the power domain when enter the selected setpoint.
  • false Do not power off the power domain when enter the selected setpoint.

Macro Definition Documentation

#define FSL_PGMC_RIVER_VERSION   (MAKE_VERSION(2, 1, 0))

Enumeration Type Documentation

anonymous enum

Enumerator
kPGMC_SetPoint0 

The mask of set point0.

kPGMC_SetPoint1 

The mask of set point1.

kPGMC_SetPoint2 

The mask of set point2.

kPGMC_SetPoint3 

The mask of set point3.

kPGMC_SetPoint4 

The mask of set point4.

kPGMC_SetPoint5 

The mask of set point5.

kPGMC_SetPoint6 

The mask of set point6.

kPGMC_SetPoint7 

The mask of set point7.

kPGMC_SetPoint8 

The mask of set point8.

kPGMC_SetPoint9 

The mask of set point9.

kPGMC_SetPoint10 

The mask of set point10.

kPGMC_SetPoint11 

The mask of set point11.

kPGMC_SetPoint12 

The mask of set point12.

kPGMC_SetPoint13 

The mask of set point13.

kPGMC_SetPoint14 

The mask of set point14.

kPGMC_SetPoint15 

The mask of set point15.

Enumerator
kPGMC_AssertSleepSignal 

Assert Sleep signal.

kPGMC_AssertInputGateSignal 

Assert InputGate signal.

kPGMC_AssetLowSpeedSignal 

Assert LowSpeed signal.

kPGMC_AssertHighSpeedSignal 

Assert HighSpeed signal.

kPGMC_AssertStandbySignal 

Assert Standby signal.

kPGMC_AssertArrayPowerDownSignal 

Assert ArrayPowerDown signal.

kPGMC_AssertPeripheralPowerDownSignal 

Assert PeripheralPowerDown signal.

kPGMC_AssertInitnSignal 

Assert Initn signal.

kPGMC_AssertSwitch1OffSignal 

Assert Switch1Off signal.

kPGMC_AssertSwitch2OffSignal 

Assert Switch2Off signal.

kPGMC_AssertIsoSignal 

Assert Iso_en signal.

Enumerator
kPGMC_CM7Core 

CM7 Core domain.

kPGMC_CM4Core 

CM4 Core domain.

Enumerator
kPGMC_RunMode 

RUN mode.

kPGMC_WaitMode 

WAIT mode.

kPGMC_StopMode 

STOP mode.

kPGMC_SuspendMode 

SUSPEND mode.

Enumerator
kPGMC_SleepSignal 

MIF Sleep signal.

kPGMC_InputGateSignal 

MIF InputGate signal.

kPGMC_LowSpeedSignal 

MIF LowSpeed signal.

kPGMC_HighSpeedSignal 

MIF HighSpeed signal.

kPGMC_StandbySignal 

MIF Standby signal.

kPGMC_ArrayPowerDownSignal 

MIF ArrayPowerDown signal.

kPGMC_PeripheralPowerDownSignal 

MIF PeripheralPowerDown signal.

kPGMC_InitnSignal 

MIF Initn signal.

kPGMC_Switch1OffSignal 

MIF Switch1Off signal.

kPGMC_Switch2OffSignal 

MIF Switch2Off signal.

kPGMC_IsoSignal 

MIF Iso_en signal.

Function Documentation

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.

Parameters
basePGMC basic power controller base address.
modeTarget CPU power mode.
optionThe 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.

Note
When setting more than one set point, use "|" between the map values in _pgmc_setpoint_map.
Parameters
basePGMC basic power controller base address.
setPointMapShould be the OR'ed value of _pgmc_setpoint_map.
optionThe pointer of pgmc_bpc_setpoint_mode_option_t structure.
void PGMC_BPC_ControlPowerDomainBySoftwareMode ( PGMC_BPC_Type *  base,
bool  powerOff 
)
Note
The function is used to control power domain when the CPU is in RUN mode.
Parameters
basePGMC basic power controller base address.
powerOff.Power On/Off power domain in software mode.
  • true Power off the power domain in software mode.
  • false Power on the power domain in software mode.
static void PGMC_BPC_DisableLowPower ( PGMC_BPC_Type *  base)
inlinestatic
Parameters
basePGMC basic power controller base address.
static void PGMC_BPC_RequestStateRestoreAtRunMode ( PGMC_BPC_Type *  base)
inlinestatic
Parameters
basePGMC basic power controller base address.
static void PGMC_BPC_RequestStateRestoreAtSetPoint ( PGMC_BPC_Type *  base,
uint32_t  setPointMap 
)
inlinestatic
Note
When setting more than one set point, use "|" between the map values in _pgmc_setpoint_map.
Parameters
basePGMC basic power controller base address.
setPointMapShould be the OR'ed value of _pgmc_setpoint_map.
static void PGMC_BPC_AllowUserModeAccess ( PGMC_BPC_Type *  base,
bool  enable 
)
inlinestatic
Note
If locked access related settings, the setting via this function is useless.
Parameters
basePGMC basic power controller base address.
enableUsed to control whether allow user mode access.
  • true Allow both privilege and user mode to access CPU mode control registers.
  • false Allow only privilege mode to access CPU mode control registers.
static void PGMC_BPC_AllowNonSecureModeAccess ( PGMC_BPC_Type *  base,
bool  enable 
)
inlinestatic
Note
If locked access related settings, the setting via this function is useless.
Parameters
basePGMC basic power controller base address.
enableUsed to control whether allow non-secure mode to access CPU mode control registers.
  • true Allow both secure and non-secure mode to access CPU mode control registers.
  • false Allow only secure mode to access CPU mode control registers.
static void PGMC_BPC_LockAccessSetting ( PGMC_BPC_Type *  base)
inlinestatic
Note
This function used to lock access related settings. After locked the related bit field can not be written unless POR.
Parameters
basePGMC basic power controller base address.
static void PGMC_BPC_SetDomainIdWhiteList ( PGMC_BPC_Type *  base,
uint8_t  domainId 
)
inlinestatic
Note
If locked the domain ID white list, the setting via this function is useless.
Parameters
basePGMC basic power controller base address.
domainIdShould be the OR'ed value of pgmc_bpc_assign_domain_t.
static void PGMC_BPC_LockDomainIDWhiteList ( PGMC_BPC_Type *  base)
inlinestatic
Note
After locked the domain ID white list can not be written again unless POR.
Parameters
basePGMC basic power controller base address.
static void PGMC_BPC_LockLowPowerConfigurationFields ( PGMC_BPC_Type *  base)
inlinestatic
Note
After locked the low power configurations fields can not be updated unless POR.
Parameters
basePGMC basic power controller base address.
void PGMC_CPC_CORE_PowerOffByCpuPowerMode ( PGMC_CPC_Type *  base,
pgmc_cpu_mode_t  mode 
)
Parameters
baseCPC CORE module base address.
modeTarget CPU power mode.
static void PGMC_CPC_CORE_PowerOffBySoftwareMode ( PGMC_CPC_Type *  base,
bool  powerOff 
)
inlinestatic
Parameters
baseCPC CORE module base address.
powerOffUsed to power off/on the CPC core module.
  • true Power off the CPC core module.
  • false Power on the CPC core module.
static void PGMC_CPC_CORE_DisableLowPower ( PGMC_CPC_Type *  base)
inlinestatic
Parameters
baseCPC CORE module base address.
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.

Parameters
baseCPC CACHE module base address.
modeTarget CPU power mode.
memoryLowPowerLevelMemory 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.

Note
When setting more than one set point, use "|" between the map values in _pgmc_setpoint_map.
Parameters
baseCPC CACHE module base address.
setPointMapShould be the OR'ed value of _pgmc_setpoint_map.
memoryLowPowerLevelMemory low power level.
static void PGMC_CPC_CACHE_DisableLowPower ( PGMC_CPC_Type *  base)
inlinestatic
Parameters
baseCPC CACHE module base address.
void PGMC_CPC_CACHE_TriggerMLPLSoftwareChange ( PGMC_CPC_Type *  base)
Note
If request memory low power level change, must wait the MLPL transition complete.
Parameters
baseCPC 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.

Parameters
baseCPC LMEM module base address.
modeTarget CPU power mode.
memoryLowPowerLevelMemory 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.

Note
When setting more than one set point, use "|" between the map values in _pgmc_setpoint_map.
Parameters
baseCPC LMEM module base address.
setPointMapShould be the OR'ed value of _pgmc_setpoint_map.
memoryLowPowerLevelMemory low power level.
static void PGMC_CPC_LMEM_DisableLowPower ( PGMC_CPC_Type *  base)
inlinestatic
Parameters
baseCPC LMEM module base address.
void PGMC_CPC_LMEM_TriggerMLPLSoftwareChange ( PGMC_CPC_Type *  base)
Note
If request memory low power level change, must wait the MLPL transition complete.
Parameters
baseCPC LMEM module base address.
static void PGMC_CPC_AllowUserModeAccess ( PGMC_CPC_Type *  base,
bool  enable 
)
inlinestatic
Note
If locked access related settings, the setting via this function is useless.
Parameters
baseCPC LMEM module base address.
enableUsed to control whether allow user mode access.
  • true Allow both privilege and user mode to access CPU mode control registers.
  • false Allow only privilege mode to access CPU mode control registers.
static void PGMC_CPC_AllowNonSecureModeAccess ( PGMC_CPC_Type *  base,
bool  enable 
)
inlinestatic
Note
If locked access related settings, the setting via this function is useless.
Parameters
baseCPC LMEM module base address.
enableUsed to control whether allow non-secure mode to access CPU mode control registers.
  • true Allow both secure and non-secure mode to access CPU mode control registers.
  • false Allow only secure mode to access CPU mode control registers.
static void PGMC_CPC_LockAccessSetting ( PGMC_CPC_Type *  base)
inlinestatic
Note
This function used to lock access related settings. After locked the related bit field can not be written unless POR.
Parameters
baseCPC LMEM module base address.
static void PGMC_CPC_SetDomainIdWhiteList ( PGMC_CPC_Type *  base,
uint8_t  domainId 
)
inlinestatic
Note
If the domain ID whitelist is locked, the setting via this function is useless.
Parameters
baseCPC LMEM module base address.
domainIdShould be the OR'ed value of pgmc_bpc_assign_domain_t.
static void PGMC_CPC_LockDomainIDWhiteList ( PGMC_CPC_Type *  base)
inlinestatic
Note
After locked the domain ID white list can not be written again unless POR.
Parameters
baseCPC LMEM module base address.
static void PGMC_CPC_LockLowPowerConfigurationFields ( PGMC_CPC_Type *  base)
inlinestatic
Note
After locked the low power configurations fields can not be updated unless POR.
Parameters
baseCPC LMEM module base address.
void PGMC_MIF_SetSignalBehaviour ( PGMC_MIF_Type *  base,
pgmc_memory_low_power_level_t  memoryLevel,
uint32_t  mask 
)
Note
To control the memory low power operation, this function must be invoked after selecting the memory low power level. Use case:
* kPGMC_MLPLSleep, false);
* PGMC_MIF_SetSignalBehaviour(PGMC_BPC0_MIF_BASE, kPGMC_MLPLSleep, kPGMC_AssertSleepSignal);
*
Parameters
basePGMC MIF peripheral base address.
memoryLevelThe 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
static void PGMC_MIF_LockLowPowerConfigurationFields ( PGMC_MIF_Type *  base)
inlinestatic
Note
After locked the low power configurations fields can not be updated unless POR.
Parameters
basePGMC MIF peripheral base address.
void PGMC_PPC_ControlByCpuPowerMode ( PGMC_PPC_Type *  base,
pgmc_cpu_mode_t  mode 
)
Parameters
basePMIC module base address.
modeTarget 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.

Note
When setting more than one set point, use "|" between the map values in _pgmc_setpoint_map.
Parameters
basePMIC module base address.
setPointMapShould be the OR'ed value of _pgmc_setpoint_map.
enableStandbytrue: 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
static void PGMC_PPC_DisableLowPower ( PGMC_PPC_Type *  base)
inlinestatic
Parameters
basePMIC module bsase address.
static void PGMC_PPC_AllowUserModeAccess ( PGMC_PPC_Type *  base,
bool  enable 
)
inlinestatic
Note
If locked access related settings, the setting via this function is useless.
Parameters
basePMIC module base address.
enableUsed to control whether allow user mode access.
  • true Allow both privilege and user mode to access CPU mode control registers.
  • false Allow only privilege mode to access CPU mode control registers.
static void PGMC_PPC_AllowNonSecureModeAccess ( PGMC_PPC_Type *  base,
bool  enable 
)
inlinestatic
Note
If locked access related settings, the setting via this function is useless.
Parameters
basePMIC module base address.
enableUsed to control whether allow non-secure mode to access CPU mode control registers.
  • true Allow both secure and non-secure mode to access CPU mode control registers.
  • false Allow only secure mode to access CPU mode control registers.
static void PGMC_PPC_LockAccessSetting ( PGMC_PPC_Type *  base)
inlinestatic
Note
This function used to lock access related settings. After locked the related bit field can not be written unless POR.
Parameters
basePMIC module base address.
static void PGMC_PPC_SetDomainIdWhiteList ( PGMC_PPC_Type *  base,
uint8_t  domainId 
)
inlinestatic
Note
If the domain ID whitelist is locked, the setting via this function is useless.
Parameters
basePMIC module base address.
domainIdShould be the OR'ed value of pgmc_bpc_assign_domain_t.
static void PGMC_PPC_LockDomainIDWhiteList ( PGMC_PPC_Type *  base)
inlinestatic
Note
After locked the domain ID white list can not be written again unless POR.
Parameters
basePMIC module base address.
static void PGMC_PPC_LockLowPowerConfigurationFields ( PGMC_PPC_Type *  base)
inlinestatic
Note
After locked the low power configurations fields can not be updated unless POR.
Parameters
basePMIC module base address.