From: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com>

Currently SMCC selects ARM_PSCI_FW if enabled which is not correct
as there are cases that PSCI can function without firmware at all.
ARM_PSCI_FW itself is built with driver model approach, so it cannot
be enabled if DM is off.
Fix this by making PSCI reset functionality depend on ARM_PSCI_FW and
only in case if DM is enabled.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com>
Signed-off-by: Anastasiia Lukianenko <anastasiia_lukiane...@epam.com>
Suggested-by: Volodymyr Babchuk <volodymyr_babc...@epam.com>
---
 arch/arm/Kconfig           | 1 -
 arch/arm/cpu/armv8/Kconfig | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 54d65f8488..e9ad716aaa 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -387,7 +387,6 @@ config SYS_ARCH_TIMER
 config ARM_SMCCC
        bool "Support for ARM SMC Calling Convention (SMCCC)"
        depends on CPU_V7A || ARM64
-       select ARM_PSCI_FW
        help
          Say Y here if you want to enable ARM SMC Calling Convention.
          This should be enabled if U-Boot needs to communicate with system
diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
index 3655990772..c8727f4175 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -103,6 +103,8 @@ config PSCI_RESET
        bool "Use PSCI for reset and shutdown"
        default y
        select ARM_SMCCC if OF_CONTROL
+       select ARM_PSCI_FW if DM
+
        depends on !ARCH_EXYNOS7 && !ARCH_BCM283X && \
                   !TARGET_LS2080A_SIMU && !TARGET_LS2080AQDS && \
                   !TARGET_LS2080ARDB && !TARGET_LS2080A_EMU && \
-- 
2.17.1

Reply via email to