diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/lib/psci-dt.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/arm/lib/psci-dt.c b/arch/arm/lib/psci-dt.c index 05e0ad6e70d..7f228537f69 100644 --- a/arch/arm/lib/psci-dt.c +++ b/arch/arm/lib/psci-dt.c @@ -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) |