|
@@ -69,22 +69,25 @@ init_psci_node:
|
|
|
#elif defined(CONFIG_ARMV7_PSCI_1_0) || defined(CONFIG_ARMV8_PSCI)
|
|
|
psci_ver = ARM_PSCI_VER_1_0;
|
|
|
#endif
|
|
|
- switch (psci_ver) {
|
|
|
- case ARM_PSCI_VER_1_0:
|
|
|
+ if (psci_ver >= ARM_PSCI_VER_1_0) {
|
|
|
tmp = fdt_setprop_string(fdt, nodeoff,
|
|
|
"compatible", "arm,psci-1.0");
|
|
|
if (tmp)
|
|
|
return tmp;
|
|
|
- case ARM_PSCI_VER_0_2:
|
|
|
+ }
|
|
|
+
|
|
|
+ if (psci_ver >= ARM_PSCI_VER_0_2) {
|
|
|
tmp = fdt_appendprop_string(fdt, nodeoff,
|
|
|
"compatible", "arm,psci-0.2");
|
|
|
if (tmp)
|
|
|
return tmp;
|
|
|
- default:
|
|
|
+ }
|
|
|
+
|
|
|
+#ifndef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
|
|
|
/*
|
|
|
* The Secure firmware framework isn't able to support PSCI version 0.1.
|
|
|
*/
|
|
|
-#ifndef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
|
|
|
+ if (psci_ver < ARM_PSCI_VER_0_2) {
|
|
|
tmp = fdt_appendprop_string(fdt, nodeoff,
|
|
|
"compatible", "arm,psci");
|
|
|
if (tmp)
|
|
@@ -105,9 +108,8 @@ init_psci_node:
|
|
|
ARM_PSCI_FN_MIGRATE);
|
|
|
if (tmp)
|
|
|
return tmp;
|
|
|
-#endif
|
|
|
- break;
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
tmp = fdt_setprop_string(fdt, nodeoff, "method", "smc");
|
|
|
if (tmp)
|