summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2017-02-06 16:12:13 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2017-02-13 08:35:42 +0100
commit19df384cec181be4407f82377ffbb3059b1ed748 (patch)
treed75f3ac24213b6f543dece70810708d23b27b2b6 /arch/arm/cpu
parentcc407b41135d4a427dfb09fb6e32b831e6c98a31 (diff)
downloadbarebox-19df384cec181be4407f82377ffbb3059b1ed748.tar.gz
barebox-19df384cec181be4407f82377ffbb3059b1ed748.tar.xz
ARM: i.MX7: Add PSCI support
This adds the SoC specific PSCI bits for i.MX7. Based on the corresponding U-Boot code. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r--arch/arm/cpu/psci.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/cpu/psci.c b/arch/arm/cpu/psci.c
index 745b8495e5..d650c23ea2 100644
--- a/arch/arm/cpu/psci.c
+++ b/arch/arm/cpu/psci.c
@@ -22,6 +22,17 @@
#include <magicvar.h>
#ifdef CONFIG_ARM_PSCI_DEBUG
+
+/*
+ * PSCI debugging functions. Board code can specify a putc() function
+ * which is used for debugging output. Beware that this function is
+ * called while the kernel is running. This means the kernel could have
+ * turned off clocks, configured other baudrates and other stuff that
+ * might confuse the putc function. So it can well be that the debugging
+ * code itself is the problem when somethings not working. You have been
+ * warned.
+ */
+
static void (*__putc)(void *ctx, int c);
static void *putc_ctx;
@@ -220,6 +231,8 @@ int psci_cpu_entry_c(void)
if (bootm_arm_security_state() == ARM_STATE_HYP)
armv7_switch_to_hyp();
+ psci_printf("core #%d enter function 0x%p\n", cpu, entry);
+
entry(context_id);
while (1);