]> git.baikalelectronics.ru Git - uboot.git/commitdiff
arm: psci: Fix RESET2 hook
authorMarek Vasut <marex@denx.de>
Thu, 22 Dec 2022 00:46:35 +0000 (01:46 +0100)
committerStefano Babic <sbabic@denx.de>
Tue, 31 Jan 2023 14:46:39 +0000 (15:46 +0100)
The RESET2 hook is a PSCI v1.1 functionality, rename the macro accordinly.
Add missing handler for the RESET2 hook, so it can be implemented by U-Boot.

Signed-off-by: Marek Vasut <marex@denx.de>
arch/arm/cpu/armv8/fwcall.c
arch/arm/cpu/armv8/psci.S
arch/arm/include/asm/psci.h

index 16914dc1eed6cd56c5213288b70f55d30e24fa8c..87de09979b18d3e5a85efcbb18e7323d4dc06ae0 100644 (file)
@@ -103,7 +103,7 @@ void __noreturn psci_system_reset2(u32 reset_level, u32 cookie)
 {
        struct pt_regs regs;
 
-       regs.regs[0] = ARM_PSCI_0_2_FN64_SYSTEM_RESET2;
+       regs.regs[0] = ARM_PSCI_1_1_FN64_SYSTEM_RESET2;
        regs.regs[1] = PSCI_RESET2_TYPE_VENDOR | reset_level;
        regs.regs[2] = cookie;
        if (use_smc_for_psci)
index 6aece1198712a4b129b8c798fab08e57f0a138ce..ab8b3df34160db6011cfcf92e40244cb60692618 100644 (file)
@@ -81,6 +81,7 @@ PSCI_DEFAULT(psci_node_hw_state_64)
 PSCI_DEFAULT(psci_system_suspend_64)
 PSCI_DEFAULT(psci_stat_residency_64)
 PSCI_DEFAULT(psci_stat_count_64)
+PSCI_DEFAULT(psci_system_reset2_64)
 
 .align 3
 _psci_64_table:
@@ -94,6 +95,7 @@ PSCI_TABLE(ARM_PSCI_1_0_FN64_NODE_HW_STATE, psci_node_hw_state_64)
 PSCI_TABLE(ARM_PSCI_1_0_FN64_SYSTEM_SUSPEND, psci_system_suspend_64)
 PSCI_TABLE(ARM_PSCI_1_0_FN64_STAT_RESIDENCY, psci_stat_residency_64)
 PSCI_TABLE(ARM_PSCI_1_0_FN64_STAT_COUNT, psci_stat_count_64)
+PSCI_TABLE(ARM_PSCI_1_1_FN64_SYSTEM_RESET2, psci_system_reset2_64)
 PSCI_TABLE(0, 0)
 
 .macro psci_enter
index 8b3fb87225582d023eb5345da518a22d76b8d6f5..7343b941ef08a90ec66ce9f50f7bb483c0eef0f1 100644 (file)
@@ -69,7 +69,6 @@
 #define ARM_PSCI_0_2_FN64_AFFINITY_INFO                ARM_PSCI_0_2_FN64(4)
 #define ARM_PSCI_0_2_FN64_MIGRATE              ARM_PSCI_0_2_FN64(5)
 #define ARM_PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU  ARM_PSCI_0_2_FN64(7)
-#define ARM_PSCI_0_2_FN64_SYSTEM_RESET2                ARM_PSCI_0_2_FN64(18)
 
 /* PSCI 1.0 interface */
 #define ARM_PSCI_1_0_FN_PSCI_FEATURES          ARM_PSCI_0_2_FN(10)
@@ -87,6 +86,9 @@
 #define ARM_PSCI_1_0_FN64_STAT_RESIDENCY       ARM_PSCI_0_2_FN64(16)
 #define ARM_PSCI_1_0_FN64_STAT_COUNT           ARM_PSCI_0_2_FN64(17)
 
+/* PSCI 1.1 interface */
+#define ARM_PSCI_1_1_FN64_SYSTEM_RESET2                ARM_PSCI_0_2_FN64(18)
+
 /* 1KB stack per core */
 #define ARM_PSCI_STACK_SHIFT   10
 #define ARM_PSCI_STACK_SIZE    (1 << ARM_PSCI_STACK_SHIFT)