diff options
author | Juan Castillo <juan.castillo@arm.com> | 2014-08-12 11:17:06 +0100 |
---|---|---|
committer | Dan Handley <dan.handley@arm.com> | 2014-08-19 11:42:45 +0100 |
commit | d5f130930624ceb95cde40de999a880aa2b00493 (patch) | |
tree | 9f52641daefbb25d4dc7c9af1e4bca74c23957c1 /include/bl32 | |
parent | a1d80440c44ce70e5fec4d8c60b5f6688b6cf8ff (diff) | |
download | trusted-firmware-a-d5f130930624ceb95cde40de999a880aa2b00493.tar.gz |
Add support for PSCI SYSTEM_OFF and SYSTEM_RESET APIs
This patch adds support for SYSTEM_OFF and SYSTEM_RESET PSCI
operations. A platform should export handlers to complete the
requested operation. The FVP port exports fvp_system_off() and
fvp_system_reset() as an example.
If the SPD provides a power management hook for system off and
system reset, then the SPD is notified about the corresponding
operation so it can do some bookkeeping. The TSPD exports
tspd_system_off() and tspd_system_reset() for that purpose.
Versatile Express shutdown and reset methods have been removed
from the FDT as new PSCI sys_poweroff and sys_reset services
have been added. For those kernels that do not support yet these
PSCI services (i.e. GICv3 kernel), the original dtsi files have
been renamed to *-no_psci.dtsi.
Fixes ARM-software/tf-issues#218
Change-Id: Ic8a3bf801db979099ab7029162af041c4e8330c8
Diffstat (limited to 'include/bl32')
-rw-r--r-- | include/bl32/tsp/tsp.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/bl32/tsp/tsp.h b/include/bl32/tsp/tsp.h index c0b191f79c..c6578b788c 100644 --- a/include/bl32/tsp/tsp.h +++ b/include/bl32/tsp/tsp.h @@ -41,6 +41,8 @@ #define TSP_SUSPEND_DONE 0xf2000003 #define TSP_RESUME_DONE 0xf2000004 #define TSP_PREEMPTED 0xf2000005 +#define TSP_SYSTEM_OFF_DONE 0xf2000008 +#define TSP_SYSTEM_RESET_DONE 0xf2000009 /* * Function identifiers to handle FIQs through the synchronous handling model. @@ -114,6 +116,8 @@ typedef struct tsp_vectors { tsp_vector_isn_t cpu_resume_entry; tsp_vector_isn_t cpu_suspend_entry; tsp_vector_isn_t fiq_entry; + tsp_vector_isn_t system_off_entry; + tsp_vector_isn_t system_reset_entry; } tsp_vectors_t; |