AM62L FreeRTOS SDK  11.00.00
PSCI

Power State Coordination Interface (PSCI) is a standard interface for power management between ARM processors. It provides a standardized way for software running on an ARM system to communicate with power management firmware (Trusted Firmware-A).

Features Supported

  • CPU Power Management
    • CPU_ON
    • CPU_OFF
  • System Power Management
    • SYSTEM_RESET
  • Power State Query and Configuration
    • PSCI Version Query
    • PSCI Features

SysConfig Features

  • PSCI init and open is done by default through sysconfig generated code.
  • No other specific configuration required for power management through PSCI.

Features NOT Supported

NA

Example Usage

Include the below file to access the APIs

#include <drivers/psci.h>

Instance Open Example

PSCI_Handle handle = PSCI_open(CONFIG_PSCI_INSTANCE);
DebugP_assert(handle != NULL);

Instance Close Example

PSCI_Handle handle = PSCI_getHandle(CONFIG_PSCI_INSTANCE);
PSCI_close(handle);

CPU Power On Example

int32_t status;
PSCI_Handle handle = PSCI_getHandle(CONFIG_PSCI_INSTANCE);
status = PSCI_cpuOn(handle, cpuId, gPSCICpuEntryPoint[cpuId]);

System Reset Example

int32_t status;
PSCI_Handle handle = PSCI_getHandle(CONFIG_PSCI_INSTANCE);
status = PSCI_systemReset(handle);
/* We should not reach this point. */

API

APIs for PSCI

psci.h
PSCI_Handle
struct PSCI_Config_s * PSCI_Handle
A handle that is returned from a PSCI_open() call.
Definition: scp/psci/v0/psci.h:110
NULL
#define NULL
Define NULL if not defined.
Definition: csl_types.h:100
PSCI_cpuOn
int32_t PSCI_cpuOn(PSCI_Handle handle, uint32_t cpuId, uint32_t entryPoint)
Power on the CPU required.
PSCI_getHandle
PSCI_Handle PSCI_getHandle(uint32_t driverInstanceIndex)
This function returns the handle of an open PSCI Instance from the instance index.
PSCI_systemReset
int32_t PSCI_systemReset(PSCI_Handle handle)
Cold reset of the entire system.
PSCI_open
PSCI_Handle PSCI_open(uint32_t idx)
Open the PSCI at index idx.
SystemP_SUCCESS
#define SystemP_SUCCESS
Return status when the API execution was successful.
Definition: SystemP.h:56
PSCI_close
void PSCI_close(PSCI_Handle handle)
Function to close the PSCI instance specified by the handle.
DebugP_assert
#define DebugP_assert(expression)
Function to call for assert check.
Definition: DebugP.h:183