MCUXpresso SDK API Reference Manual  Rev 2.16.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Gpc

Overview

Enumerations

enum  { kGPC_CM_DebugWakeupRequest }
 _gpc_cm_non_irq_wakeup_request GPC Non-IRQ wakeup request. More...
 
enum  {
  kGPC_Domain0 = 1UL << 0UL,
  kGPC_Domain1 = 1UL << 1UL,
  kGPC_Domain2 = 1UL << 2UL,
  kGPC_Domain3 = 1UL << 3UL,
  kGPC_Domain4 = 1UL << 4UL,
  kGPC_Domain5 = 1UL << 5UL,
  kGPC_Domain6 = 1UL << 6UL,
  kGPC_Domain7 = 1UL << 7UL,
  kGPC_Domain8 = 1UL << 8UL,
  kGPC_Domain9 = 1UL << 9UL,
  kGPC_Domain10 = 1UL << 10UL,
  kGPC_Domain11 = 1UL << 11UL,
  kGPC_Domain12 = 1UL << 12UL,
  kGPC_Domain13 = 1UL << 13UL,
  kGPC_Domain14 = 1UL << 14UL,
  kGPC_Domain15 = 1UL << 15UL
}
 
enum  gpc_cpu_slice_t {
  kGPC_CPU0 = 0x0U,
  kGPC_CPU1 = 0x1U
}
 CPU slice. More...
 
enum  gpc_cm_tran_step_t {
  kGPC_CM_SleepSsar = 0UL,
  kGPC_CM_SleepLpcg = 1UL,
  kGPC_CM_SleepPll = 2UL,
  kGPC_CM_SleepIso = 3UL,
  kGPC_CM_SleepReset = 4UL,
  kGPC_CM_SleepPower = 5UL,
  kGPC_CM_SleepSYS,
  kGPC_CM_WakeupSYS,
  kGPC_CM_WakeupPower = 8UL,
  kGPC_CM_WakeupReset = 9UL,
  kGPC_CM_WakeupIso = 10UL,
  kGPC_CM_WakeupPll = 11UL,
  kGPC_CM_WakeupLpcg = 12UL,
  kGPC_CM_WakeupSsar = 13UL
}
 CPU mode transition step in sleep/wakeup sequence. More...
 
enum  gpc_cpu_mode_t {
  kGPC_RunMode = 0x0UL,
  kGPC_WaitMode = 0x1UL,
  kGPC_StopMode = 0x2UL,
  kGPC_SuspendMode = 0x3UL
}
 CPU mode. More...
 
enum  gpc_ss_tran_step_t {
  kGPC_SS_Step0In = 0UL,
  kGPC_SS_Step1In = 1UL,
  kGPC_SS_Step2In = 2UL,
  kGPC_SS_Step3In = 3UL,
  kGPC_SS_DcdcIn = 4UL,
  kGPC_SS_PmicIn = 5UL,
  kGPC_SS_PmicOut = 6UL,
  kGPC_SS_DcdcOut = 7UL,
  kGPC_SS_Step3Out = 8UL,
  kGPC_SS_Step2Out = 9UL,
  kGPC_SS_Step1Out = 10UL,
  kGPC_SS_Step0Out = 11UL
}
 GPC system sleep mode transition steps. More...
 

Driver version

#define FSL_GPC_RIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 GPC driver version 2.1.0. More...
 

GPC global control

void GPC_AssignCpuDomain (gpc_cpu_slice_t cpu, uint32_t domainMap)
 

CPU mode control

static void GPC_CM_EnableCpuSleepHold (gpc_cpu_slice_t slice, bool enable)
 
static void GPC_CM_SetNextCpuMode (gpc_cpu_slice_t slice, gpc_cpu_mode_t mode)
 Set the CPU mode on the next sleep event. More...
 
static gpc_cpu_mode_t GPC_CM_GetCurrentCpuMode (gpc_cpu_slice_t slice)
 Get current CPU mode. More...
 
static gpc_cpu_mode_t GPC_CM_GetPreviousCpuMode (gpc_cpu_slice_t slice)
 Get previous CPU mode. More...
 
void GPC_CM_EnableIrqWakeup (gpc_cpu_slice_t slice, uint32_t irqId, bool enable)
 Enable IRQ wakeup request. More...
 
static void GPC_CM_EnableNonIrqWakeup (gpc_cpu_slice_t slice, uint32_t mask, bool enable)
 Enable Non-IRQ wakeup request. More...
 
bool GPC_CM_GetIrqWakeupStatus (gpc_cpu_slice_t slice, uint32_t irqId)
 Get the status of the IRQ wakeup request. More...
 
static bool GPC_CM_GetNonIrqWakeupStatus (gpc_cpu_slice_t slice, uint32_t mask)
 Get the status of the Non-IRQ wakeup request. More...
 
void GPC_CM_EnableCpuModeTransitionStep (gpc_cpu_slice_t slice, gpc_cm_tran_step_t step, bool enable)
 brief Config the cpu mode transition step. More...
 
void GPC_CM_RequestSystemSleepMode (gpc_cpu_slice_t slice, const gpc_cpu_mode_t mode)
 Request the chip into system sleep mode. More...
 
void GPC_CM_ClearSystemSleepModeRequest (gpc_cpu_slice_t slice, const gpc_cpu_mode_t mode)
 Clear the system sleep mode request. More...
 
static bool GPC_CM_GetSystemSleepModeStatus (gpc_cpu_slice_t slice, uint32_t mask)
 Get the status of the CPU system sleep mode transition. More...
 

System sleep mode control

void GPC_SS_EnableSystemSleepTransitionStep (GPC_SYS_SLEEP_CTRL_Type *base, gpc_ss_tran_step_t step, bool enable)
 brief Config the system sleep transition step. More...
 
static void GPC_SS_SoftwareTriggerPMICStandby (GPC_SYS_SLEEP_CTRL_Type *base, bool enable)
 Trigger PMIC standby ON/OFF by software. More...
 
static void GPC_SS_SystemSleepTriggerPMICStandby (GPC_SYS_SLEEP_CTRL_Type *base, bool enable)
 brief Assert the PMIC standby request when system sleep. More...
 

Macro Definition Documentation

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

Enumeration Type Documentation

anonymous enum
Enumerator
kGPC_CM_DebugWakeupRequest 

Debug wakeup request.

anonymous enum
Enumerator
kGPC_Domain0 

GPC domain 0.

kGPC_Domain1 

GPC domain 1.

kGPC_Domain2 

GPC domain 2.

kGPC_Domain3 

GPC domain 3.

kGPC_Domain4 

GPC domain 4.

kGPC_Domain5 

GPC domain 5.

kGPC_Domain6 

GPC domain 6.

kGPC_Domain7 

GPC domain 7.

kGPC_Domain8 

GPC domain 8.

kGPC_Domain9 

GPC domain 9.

kGPC_Domain10 

GPC domain 10.

kGPC_Domain11 

GPC domain 11.

kGPC_Domain12 

GPC domain 12.

kGPC_Domain13 

GPC domain 13.

kGPC_Domain14 

GPC domain 14.

kGPC_Domain15 

GPC domain 15.

Enumerator
kGPC_CPU0 

CPU slice 0.

kGPC_CPU1 

CPU slice 1.

Enumerator
kGPC_CM_SleepSsar 

SSAR (State Save And Restore) sleep step.

kGPC_CM_SleepLpcg 

LPCG (Low Power Clock Gating) sleep step.

kGPC_CM_SleepPll 

PLL sleep step.

kGPC_CM_SleepIso 

ISO (Isolation) sleep step.

kGPC_CM_SleepReset 

Reset sleep step.

kGPC_CM_SleepPower 

Power sleep step.

kGPC_CM_SleepSYS 

System sleep sleep step.

Note that this step is controlled by system sleep controller.

kGPC_CM_WakeupSYS 

System sleep wakeup step.

Note that this step is controlled by system sleep controller.

kGPC_CM_WakeupPower 

Power wakeup step.

kGPC_CM_WakeupReset 

Reset wakeup step.

kGPC_CM_WakeupIso 

ISO wakeup step.

kGPC_CM_WakeupPll 

PLL wakeup step.

kGPC_CM_WakeupLpcg 

LPCG wakeup step.

kGPC_CM_WakeupSsar 

SSAR wakeup step.

Enumerator
kGPC_RunMode 

Stay in RUN mode.

kGPC_WaitMode 

Transit to WAIT mode.

kGPC_StopMode 

Transit to STOP mode.

kGPC_SuspendMode 

Transit to SUSPEND mode.

Enumerator
kGPC_SS_Step0In 

Bias in step.

kGPC_SS_Step1In 

PLDO in step.

kGPC_SS_Step2In 

Bandgap in step.

kGPC_SS_Step3In 

LDO in step.

kGPC_SS_DcdcIn 

DCDC in step.

kGPC_SS_PmicIn 

PMIC in step.

kGPC_SS_PmicOut 

PMIC out step.

kGPC_SS_DcdcOut 

DCDC out step.

kGPC_SS_Step3Out 

LDO out step.

kGPC_SS_Step2Out 

Bandgap out step.

kGPC_SS_Step1Out 

PLDO out step.

kGPC_SS_Step0Out 

Bias out step.

Function Documentation

static void GPC_CM_SetNextCpuMode ( gpc_cpu_slice_t  slice,
gpc_cpu_mode_t  mode 
)
inlinestatic

This function configures the CPU mode that the CPU core will transmit to on next sleep event.

Note
This API must be called each time before entering sleep.
Parameters
sliceGPC CPU slice number.
modeThe CPU mode that the core will transmit to, refer to "gpc_cpu_mode_t".
static gpc_cpu_mode_t GPC_CM_GetCurrentCpuMode ( gpc_cpu_slice_t  slice)
inlinestatic
Parameters
sliceGPC CPU slice number.
Returns
The current CPU mode, in type of gpc_cpu_mode_t.
static gpc_cpu_mode_t GPC_CM_GetPreviousCpuMode ( gpc_cpu_slice_t  slice)
inlinestatic
Parameters
sliceGPC CPU slice number.
Returns
The previous CPU mode, in type of gpc_cpu_mode_t.
void GPC_CM_EnableIrqWakeup ( gpc_cpu_slice_t  slice,
uint32_t  irqId,
bool  enable 
)

This function enables the IRQ request which can wakeup the CPU platform.

Parameters
sliceGPC CPU slice number.
irqIdID of the IRQ, accessible range is 0-255.
enableEnable the IRQ request or not.
static void GPC_CM_EnableNonIrqWakeup ( gpc_cpu_slice_t  slice,
uint32_t  mask,
bool  enable 
)
inlinestatic

This function enables the non-IRQ request which can wakeup the CPU platform.

Parameters
sliceGPC CPU slice number.
maskNon-IRQ type, refer to "_gpc_cm_non_irq_wakeup_request".
enableEnable the Non-IRQ request or not.
bool GPC_CM_GetIrqWakeupStatus ( gpc_cpu_slice_t  slice,
uint32_t  irqId 
)
Parameters
sliceGPC CPU slice number.
irqIdID of the IRQ, accessible range is 0-255.
Returns
Indicate the IRQ request is asserted or not.
static bool GPC_CM_GetNonIrqWakeupStatus ( gpc_cpu_slice_t  slice,
uint32_t  mask 
)
inlinestatic
Parameters
sliceGPC CPU slice number.
maskNon-IRQ type, refer to "_gpc_cm_non_irq_wakeup_request".
Returns
Indicate the Non-IRQ request is asserted or not.
void GPC_CM_EnableCpuModeTransitionStep ( gpc_cpu_slice_t  slice,
gpc_cm_tran_step_t  step,
bool  enable 
)

param slice GPC CPU slice number. param step step type, refer to "gpc_cm_tran_step_t". param enable Used to control the transition step.

  • true This step is enabled.
  • false This step is disabled, GPC will skip this step and not send any request.
void GPC_CM_RequestSystemSleepMode ( gpc_cpu_slice_t  slice,
const gpc_cpu_mode_t  mode 
)
Parameters
sliceGPC CPU slice number.
modeCPU mode. Refer to "gpc_cpu_mode_t".
void GPC_CM_ClearSystemSleepModeRequest ( gpc_cpu_slice_t  slice,
const gpc_cpu_mode_t  mode 
)
Parameters
sliceGPC CPU slice number.
modeCPU mode. Refer to "gpc_cpu_mode_t".
static bool GPC_CM_GetSystemSleepModeStatus ( gpc_cpu_slice_t  slice,
uint32_t  mask 
)
inlinestatic
Parameters
sliceGPC CPU slice number.
maskSystem sleep mode transition status mask, refer to "gpc_cm_system sleep_mode_status_t".
Returns
Indicate the CPU's system sleep transition status.
void GPC_SS_EnableSystemSleepTransitionStep ( GPC_SYS_SLEEP_CTRL_Type *  base,
gpc_ss_tran_step_t  step,
bool  enable 
)

param base GPC system sleep controller base address. param step step type, refer to "gpc_ss_tran_step_t". param enable Used to control the transition step.

  • true This step is enabled.
  • false This step is disabled, GPC will skip this step and not send any request.
static void GPC_SS_SoftwareTriggerPMICStandby ( GPC_SYS_SLEEP_CTRL_Type *  base,
bool  enable 
)
inlinestatic
Parameters
basePMIC module base address.
enableTrigger on/off PMIC standby.
  • true Trigger PMIC standby ON.
  • false Trigger PMIC standby OFF.
static void GPC_SS_SystemSleepTriggerPMICStandby ( GPC_SYS_SLEEP_CTRL_Type *  base,
bool  enable 
)
inlinestatic
Parameters
basePMIC module base address.
enableAssert PMIC standby request or not.
  • true Assert PMIC_STBY_REQ when system sleep is entered.
  • false Do not assert PMIC_STBY_REQ when system sleep is entered.