public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 4/5] arm: Provide common PSCI based reset handler
Date: Tue, 16 Aug 2016 21:08:48 +0200	[thread overview]
Message-ID: <1471374529-61610-5-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1471374529-61610-1-git-send-email-agraf@suse.de>

Most armv8 systems have PSCI support enabled in EL3, either through
ARM Trusted Firmware or other firmware.

On these systems, we do not need to implement system reset manually,
but can instead rely on higher level firmware to deal with it.

The exclude list seems excessive right now, but NXP is working on
providing an in-tree PSCI implementation, so that all NXP systems
can eventually use PSCI as well.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 arch/arm/cpu/armv8/Kconfig   | 18 ++++++++++++++++++
 arch/arm/cpu/armv8/fwcall.c  |  7 +++++++
 arch/arm/mach-meson/board.c  |  5 -----
 board/xilinx/zynqmp/zynqmp.c |  5 -----
 4 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
index 7e1fc4c..cd2d9bb 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -21,4 +21,22 @@ config ARMV8_SPIN_TABLE
 	    - Reserve the code for the spin-table and the release address
 	      via a /memreserve/ region in the Device Tree.
 
+config PSCI_RESET
+	bool "Use PSCI for reset and shutdown"
+	default y
+	depends on !ARCH_EXYNOS7 && !ARCH_BCM283X && !TARGET_LS2080A_EMU && \
+		   !TARGET_LS2080A_SIMU && !TARGET_LS2080AQDS && \
+		   !TARGET_LS2080ARDB && !TARGET_LS1012AQDS && \
+		   !TARGET_LS1012ARDB && !TARGET_LS1012AFRDM && \
+		   !TARGET_LS1043ARDB && !ARCH_UNIPHIER && !ARCH_SNAPDRAGON && \
+		   !TARGET_S32V234EVB
+	help
+	  Most armv8 systems have PSCI support enabled in EL3, either through
+	  ARM Trusted Firmware or other firmware.
+
+	  On these systems, we do not need to implement system reset manually,
+	  but can instead rely on higher level firmware to deal with it.
+
+	  Select Y here to make use of PSCI calls for system reset
+
 endif
diff --git a/arch/arm/cpu/armv8/fwcall.c b/arch/arm/cpu/armv8/fwcall.c
index b3ef7c0..c57b15f 100644
--- a/arch/arm/cpu/armv8/fwcall.c
+++ b/arch/arm/cpu/armv8/fwcall.c
@@ -112,3 +112,10 @@ void __noreturn psci_system_off(void)
 	while (1)
 		;
 }
+
+#ifdef CONFIG_PSCI_RESET
+void reset_misc(void)
+{
+	psci_system_reset();
+}
+#endif /* CONFIG_PSCI_RESET */
diff --git a/arch/arm/mach-meson/board.c b/arch/arm/mach-meson/board.c
index f159cbf..775872d 100644
--- a/arch/arm/mach-meson/board.c
+++ b/arch/arm/mach-meson/board.c
@@ -41,11 +41,6 @@ void dram_init_banksize(void)
 	gd->bd->bi_dram[0].size = gd->ram_size - (16 * 1024 * 1024);
 }
 
-void reset_cpu(ulong addr)
-{
-	psci_system_reset();
-}
-
 static struct mm_region gxbb_mem_map[] = {
 	{
 		.virt = 0x0UL,
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 5108b94..f15dc5d 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -307,8 +307,3 @@ int board_usb_cleanup(int index, enum usb_init_type init)
 	return 0;
 }
 #endif
-
-void reset_misc(void)
-{
-	psci_system_reset();
-}
-- 
1.8.5.6

  parent reply	other threads:[~2016-08-16 19:08 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-16 19:08 [U-Boot] [PATCH 0/5] armv8: Add generic PSCI client support Alexander Graf
2016-08-16 19:08 ` [U-Boot] [PATCH 1/5] efi_loader: Allow boards to implement get_time and reset_system Alexander Graf
2016-08-18  3:44   ` Simon Glass
2016-08-18  4:49     ` Alexander Graf
2016-08-18 12:43       ` Simon Glass
2016-08-18 21:02         ` Alexander Graf
2016-08-20 23:54           ` Simon Glass
2016-10-13 14:35   ` [U-Boot] [U-Boot, " Alexander Graf
2016-08-16 19:08 ` [U-Boot] [PATCH 2/5] arm: Disable HVC PSCI calls by default Alexander Graf
2016-08-18  3:44   ` Simon Glass
2016-10-13 14:34   ` [U-Boot] [U-Boot,2/5] " Alexander Graf
2016-08-16 19:08 ` [U-Boot] [PATCH 3/5] arm: Add PSCI shutdown function Alexander Graf
2016-08-18  3:45   ` Simon Glass
2016-10-13 14:35   ` [U-Boot] [U-Boot,3/5] " Alexander Graf
2016-08-16 19:08 ` Alexander Graf [this message]
2016-08-18  3:44   ` [U-Boot] [PATCH 4/5] arm: Provide common PSCI based reset handler Simon Glass
2016-08-18  4:00     ` Alexander Graf
2016-08-18 17:58       ` Simon Glass
2016-08-19  6:36   ` Michal Simek
2016-10-13 14:34   ` [U-Boot] [U-Boot, " Alexander Graf
2016-08-16 19:08 ` [U-Boot] [PATCH 5/5] efi_loader: Add generic PSCI RTS Alexander Graf
2016-08-18  3:44   ` Simon Glass
2016-08-18  4:01     ` Alexander Graf
2016-08-18 17:58       ` Simon Glass
2016-10-13 14:35   ` [U-Boot] [U-Boot,5/5] " Alexander Graf
2016-08-19  6:42 ` [U-Boot] [PATCH 0/5] armv8: Add generic PSCI client support Michal Simek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1471374529-61610-5-git-send-email-agraf@suse.de \
    --to=agraf@suse.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox