RTEMS 6.1-rc5
|
Data Structures | |
struct | _pgmc_bpc_cpu_power_mode_option |
The control option of the power domain controlled by CPU power mode. More... | |
struct | _pgmc_bpc_setpoint_mode_option |
The control option of the power domain controlled by setpoint mode. More... | |
Driver version | |
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 { kPGMC_CM7Core = 0U , kPGMC_CM4Core = 1U } |
PGMC BPC assign domain enumeration. More... | |
enum | _pgmc_cpu_mode { kPGMC_RunMode = 0x0UL , kPGMC_WaitMode = 0x1UL , kPGMC_StopMode = 0x2UL , kPGMC_SuspendMode = 0x3UL } |
CPU mode. More... | |
enum | _pgmc_control_mode { kPGMC_DisableLowPowerControl = 0UL , kPGMC_ControlledByCpuPowerMode = 1UL , kPGMC_ControlledBySetPoint = 2UL } |
PGMC control modes. | |
enum | _pgmc_memory_low_power_level { kPGMC_MLPLHighSpeed = 1U , kPGMC_MLPLNormal = 3U , kPGMC_MLPLLowSpeed = 4U , kPGMC_MLPLInputGating = 5U , kPGMC_MLPLStandby = 6U , kPGMC_MLPLSleep = 8U , kPGMC_MLPLArrOnPerOff = 9U , kPGMC_MLPLArrOffPerOn = 10U , kPGMC_MLPLArrOffPerOff = 11U , kPGMC_MLPLSw2 = 13U , kPGMC_MLPLSw2PerOff = 14U , kPGMC_MLPLSw1PerOff = 15U } |
The enumeration of memory low power level. More... | |
enum | _pgmc_mif_signal { 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... | |
typedef enum _pgmc_bpc_assign_domain | pgmc_bpc_assign_domain_t |
PGMC BPC assign domain enumeration. | |
typedef enum _pgmc_cpu_mode | pgmc_cpu_mode_t |
CPU mode. | |
typedef enum _pgmc_control_mode | pgmc_control_mode_t |
PGMC control modes. | |
typedef enum _pgmc_memory_low_power_level | pgmc_memory_low_power_level_t |
The enumeration of memory low power level. | |
typedef enum _pgmc_mif_signal | pgmc_mif_signal_t |
The enumeration of MIF signal. | |
typedef struct _pgmc_bpc_cpu_power_mode_option | pgmc_bpc_cpu_power_mode_option_t |
The control option of the power domain controlled by CPU power mode. | |
typedef struct _pgmc_bpc_setpoint_mode_option | pgmc_bpc_setpoint_mode_option_t |
The control option of the power domain controlled by setpoint mode. | |
#define | FSL_PGMC_RIVER_VERSION (MAKE_VERSION(2, 1, 1)) |
PGMC driver version 2.1.1. | |
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. | |
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. | |
void | PGMC_BPC_ControlPowerDomainBySoftwareMode (PGMC_BPC_Type *base, bool powerOff) |
Controls the selected power domain by software mode. | |
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. | |
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. | |
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. | |
void | PGMC_CPC_CACHE_TriggerMLPLSoftwareChange (PGMC_CPC_Type *base) |
Requests CPC cache module's memory low power level change by software mode. | |
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. | |
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. | |
void | PGMC_CPC_LMEM_TriggerMLPLSoftwareChange (PGMC_CPC_Type *base) |
Requests CPC LMEM module's memory low power level change in software mode. | |
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. | |
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. | |
void | PGMC_PPC_ControlBySetPointMode (PGMC_PPC_Type *base, uint32_t setPointMap, bool enableStandby) |
Makes the PMIC module controlled by the target set points. | |
anonymous enum |
The enumeration of setpoint. .
enum _pgmc_cpu_mode |
The enumeration of memory low power level.
enum _pgmc_mif_signal |
The enumeration of MIF signal.
The enumeration of MIF signal behaviour(Such as Sleep Signal, Standby Signal, and so on).
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.
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. |
brief Makes the BPC module controlled by the target CPU power mode(Such as Wait mode).
This function makes the module controlled by four typical CPU power modes, It also configs the resource domain and set memory low power level.
param base PGMC basic power controller base address. param mode Target CPU power mode. param 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 | ||
) |
Makes the BPC module controlled by the target set points.
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. |
brief Makes the BPC module controlled by the target set points.
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.
param base PGMC basic power controller base address. param setPointMap Should be the OR'ed value of _pgmc_setpoint_map. param option The pointer of pgmc_bpc_setpoint_mode_option_t structure.
void PGMC_BPC_ControlPowerDomainBySoftwareMode | ( | PGMC_BPC_Type * | base, |
bool | powerOff | ||
) |
Controls the selected power domain by software mode.
base | PGMC basic power controller base address. |
powerOff | Power On/Off power domain in software mode.
|
brief Controls the selected power domain by software mode.
note The function is used to control power domain when the CPU is in RUN mode.
param base PGMC basic power controller base address. param powerOff Power On/Off power domain in software mode.
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.
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. |
brief Makes the CPC CACHE module controlled by the target CPU power mode(Such as Wait mode).
This function makes the module controlled by four typical CPU power modes, it also can set memory low power level.
param base CPC CACHE module base address. param mode Target CPU power mode. param memoryLowPowerLevel Memory low power level.
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.
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. |
brief Makes the CPC CACHE module controlled by the target set points.
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.
param base CPC CACHE module base address. param setPointMap Should be the OR'ed value of _pgmc_setpoint_map. param memoryLowPowerLevel Memory low power level.
void PGMC_CPC_CACHE_TriggerMLPLSoftwareChange | ( | PGMC_CPC_Type * | base | ) |
Requests CPC cache module's memory low power level change by software mode.
base | CPC LMEM module base address. |
brief Requests CPC cache module's memory low power level change by software mode.
note If request memory low power level change, must wait the MLPL transition complete.
param base CPC LMEM module base address.
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.
base | CPC CORE module base address. |
mode | Target CPU power mode. |
brief Powers off the CPC core module by the target CPU power mode(Such as Wait mode).
param base CPC CORE module base address. param mode Target CPU power mode.
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.
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. |
brief Makes the CPC LMEM module controlled by the target CPU power mode(Such as Wait mode).
This function makes the module controlled by four typical CPU power modes, it also can set memory low power level.
param base CPC LMEM module base address. param mode Target CPU power mode. param memoryLowPowerLevel Memory low power level.
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.
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. |
brief Makes the CPC LMEM module controlled by the target set points.
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.
param base CPC LMEM module base address. param setPointMap Should be the OR'ed value of _pgmc_setpoint_map. param memoryLowPowerLevel Memory low power level.
void PGMC_CPC_LMEM_TriggerMLPLSoftwareChange | ( | PGMC_CPC_Type * | base | ) |
Requests CPC LMEM module's memory low power level change in software mode.
base | CPC LMEM module base address. |
brief Requests CPC LMEM module's memory low power level change in software mode.
note If request memory low power level change, must wait the MLPL transition complete.
param base CPC LMEM module base address.
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.
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 |
brief Sets the behaviour of each signal(Such as Sleep signal) in MIF.
note To control the memory low power operation, this function must be invoked after selecting the memory low power level. Use case: code PGMC_BPC_ControlPowerDomainByCpuPowerMode(PGMC_BPC0_BASE, kPGMC_WaitMode, kPGMC_CM7Core, kPGMC_MLPLSleep, false); PGMC_MIF_SetSignalBehaviour(PGMC_BPC0_MIF_BASE, kPGMC_MLPLSleep, kPGMC_AssertSleepSignal); endcode
param base PGMC MIF peripheral base address. param memoryLevel The selected memory low power level. For details please refer to pgmc_memory_low_power_level_t. param mask The mask of MIF signal behaviour. Should be the OR'ed value of _pgmc_mif_signal_behaviour
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.
base | PMIC module base address. |
mode | Target CPU power mode. |
brief Makes the PMIC module controlled by the target CPU power mode(Such as Wait mode).
param base PMIC module base address. param mode Target CPU power mode.
void PGMC_PPC_ControlBySetPointMode | ( | PGMC_PPC_Type * | base, |
uint32_t | setPointMap, | ||
bool | enableStandby | ||
) |
Makes the PMIC module controlled by the target set points.
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 |
brief Makes the PMIC module controlled by the target set points.
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.
param base PMIC module base address. param setPointMap Should be the OR'ed value of _pgmc_setpoint_map. param 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