psci: fix values of incorrectly defined constants
This patch fixes the following constant values in the psci.h:
1. The affinity level shift value in the power_state parameter of the
cpu_suspend psci call. The previous value was preventing shutdown
of the affinity level 1.
2. The values used for affinity state constants (ON, OFF,
ON_PENDING). They did not match the values expected to be returned
by the affinity_info psci api as mentioned in the spec.
3. The state id shift value in the power_state parameter of the
cpu_suspend psci call.
Change-Id: I62ed5eb0e9640b4aa97b93923d6630e6b877a097
diff --git a/docs/change-log.md b/docs/change-log.md
index 3ae5fab..73d7e7a 100644
--- a/docs/change-log.md
+++ b/docs/change-log.md
@@ -49,6 +49,9 @@
physically powered up to prevent a spurious wake up from a subsequent cpu
off state.
+* Definitions of some constants related to the PSCI api calls AFFINITY_INFO
+ and CPU_SUSPEND have been corrected.
+
ARM Trusted Firmware - version 0.2
==================================
diff --git a/include/psci.h b/include/psci.h
index e5eb997..70322c4 100644
--- a/include/psci.h
+++ b/include/psci.h
@@ -60,9 +60,9 @@
/*******************************************************************************
* PSCI CPU_SUSPEND 'power_state' parameter specific defines
******************************************************************************/
-#define PSTATE_ID_SHIFT 15
+#define PSTATE_ID_SHIFT 0
#define PSTATE_TYPE_SHIFT 16
-#define PSTATE_AFF_LVL_SHIFT 25
+#define PSTATE_AFF_LVL_SHIFT 24
#define PSTATE_ID_MASK 0xffff
#define PSTATE_TYPE_MASK 0x1
@@ -107,10 +107,10 @@
#define PSCI_AFF_ABSENT 0x0
#define PSCI_AFF_PRESENT 0x1
-#define PSCI_STATE_OFF 0x0
-#define PSCI_STATE_ON_PENDING 0x1
-#define PSCI_STATE_SUSPEND 0x2
-#define PSCI_STATE_ON 0x3
+#define PSCI_STATE_ON 0x0
+#define PSCI_STATE_OFF 0x1
+#define PSCI_STATE_ON_PENDING 0x2
+#define PSCI_STATE_SUSPEND 0x3
/* Number of affinity instances whose state this psci imp. can track */
#define PSCI_NUM_AFFS 32ull