summaryrefslogtreecommitdiff
path: root/arch/arm/mach-uniphier
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-08-28 14:36:20 (GMT)
committerTom Rini <trini@konsulko.com>2016-08-28 14:36:20 (GMT)
commitff62bdfbd5dd67d37901002a35b541f2c65ad78d (patch)
treee6f3990b140ea1f469b5c16cd334404b7d3faedd /arch/arm/mach-uniphier
parentb89dfcfd926b8224edd24608065eb9bb601c0d3b (diff)
parent8d11f804130d27a8f5ed6954f3a8a7f62a10ac45 (diff)
downloadu-boot-ff62bdfbd5dd67d37901002a35b541f2c65ad78d.tar.xz
Merge branch 'master' of git://git.denx.de/u-boot-uniphier
Diffstat (limited to 'arch/arm/mach-uniphier')
-rw-r--r--arch/arm/mach-uniphier/arm32/psci.c5
-rw-r--r--arch/arm/mach-uniphier/micro-support-card.c11
-rw-r--r--arch/arm/mach-uniphier/reset.c14
3 files changed, 26 insertions, 4 deletions
diff --git a/arch/arm/mach-uniphier/arm32/psci.c b/arch/arm/mach-uniphier/arm32/psci.c
index 633a3e0..e668265 100644
--- a/arch/arm/mach-uniphier/arm32/psci.c
+++ b/arch/arm/mach-uniphier/arm32/psci.c
@@ -151,3 +151,8 @@ int __secure psci_cpu_on(u32 function_id, u32 cpuid, u32 entry_point)
return PSCI_RET_SUCCESS;
}
+
+void __secure psci_system_reset(u32 function_id)
+{
+ reset_cpu(0);
+}
diff --git a/arch/arm/mach-uniphier/micro-support-card.c b/arch/arm/mach-uniphier/micro-support-card.c
index eeb515a..6987d1e 100644
--- a/arch/arm/mach-uniphier/micro-support-card.c
+++ b/arch/arm/mach-uniphier/micro-support-card.c
@@ -1,5 +1,7 @@
/*
- * Copyright (C) 2012-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
+ * Copyright (C) 2012-2015 Panasonic Corporation
+ * Copyright (C) 2015-2016 Socionext Inc.
+ * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -38,7 +40,12 @@ static int support_card_show_revision(void)
u32 revision;
revision = readl(MICRO_SUPPORT_CARD_REVISION);
- printf("(CPLD version %d.%d)\n", revision >> 4, revision & 0xf);
+ revision &= 0xff;
+
+ /* revision 3.6.x card changed the revision format */
+ printf("(CPLD version %s%d.%d)\n", revision >> 4 == 6 ? "3." : "",
+ revision >> 4, revision & 0xf);
+
return 0;
}
diff --git a/arch/arm/mach-uniphier/reset.c b/arch/arm/mach-uniphier/reset.c
index b5825bc..43e27d1 100644
--- a/arch/arm/mach-uniphier/reset.c
+++ b/arch/arm/mach-uniphier/reset.c
@@ -1,15 +1,25 @@
/*
- * Copyright (C) 2012-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
+ * Copyright (C) 2012-2014 Panasonic Corporation
+ * Copyright (C) 2015-2016 Socionext Inc.
+ * Author: Masahiro Yamada <yamada.masahiro@socionext.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <linux/io.h>
+#include <asm/secure.h>
#include "sc-regs.h"
-void reset_cpu(unsigned long ignored)
+/* If PSCI is enabled, this is used for SYSTEM_RESET function */
+#ifdef CONFIG_ARMV7_PSCI
+#define __SECURE __secure
+#else
+#define __SECURE
+#endif
+
+void __SECURE reset_cpu(unsigned long ignored)
{
u32 tmp;