Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

firmware/psci: Add definitions for PSCI v1.3 specification

The v1.3 PSCI spec (https://developer.arm.com/documentation/den0022) adds
the SYSTEM_OFF2 function. Add definitions for it and its hibernation type
parameter.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Miguel Luis <miguel.luis@oracle.com>
Link: https://lore.kernel.org/r/20241019172459.2241939-2-dwmw2@infradead.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>

authored by

David Woodhouse and committed by
Oliver Upton
2f2d4695 8e929cb5

+5
+5
include/uapi/linux/psci.h
··· 59 59 #define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18) 60 60 #define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19) 61 61 #define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(20) 62 + #define PSCI_1_3_FN_SYSTEM_OFF2 PSCI_0_2_FN(21) 62 63 63 64 #define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12) 64 65 #define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13) ··· 69 68 70 69 #define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18) 71 70 #define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(20) 71 + #define PSCI_1_3_FN64_SYSTEM_OFF2 PSCI_0_2_FN64(21) 72 72 73 73 /* PSCI v0.2 power state encoding for CPU_SUSPEND function */ 74 74 #define PSCI_0_2_POWER_STATE_ID_MASK 0xffff ··· 101 99 /* PSCI v1.1 reset type encoding for SYSTEM_RESET2 */ 102 100 #define PSCI_1_1_RESET_TYPE_SYSTEM_WARM_RESET 0 103 101 #define PSCI_1_1_RESET_TYPE_VENDOR_START 0x80000000U 102 + 103 + /* PSCI v1.3 hibernate type for SYSTEM_OFF2 */ 104 + #define PSCI_1_3_OFF_TYPE_HIBERNATE_OFF BIT(0) 104 105 105 106 /* PSCI version decoding (independent of PSCI version) */ 106 107 #define PSCI_VERSION_MAJOR_SHIFT 16