summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2016-08-28 10:36:20 -0400
committerTom Rini <trini@konsulko.com>2016-08-28 10:36:20 -0400
commitff62bdfbd5dd67d37901002a35b541f2c65ad78d (patch)
treee6f3990b140ea1f469b5c16cd334404b7d3faedd /arch
parentb89dfcfd926b8224edd24608065eb9bb601c0d3b (diff)
parent8d11f804130d27a8f5ed6954f3a8a7f62a10ac45 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-uniphier
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/dts/uniphier-ph1-sld3-ref.dts8
-rw-r--r--arch/arm/dts/uniphier-ph1-sld3.dtsi1
-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
5 files changed, 35 insertions, 4 deletions
diff --git a/arch/arm/dts/uniphier-ph1-sld3-ref.dts b/arch/arm/dts/uniphier-ph1-sld3-ref.dts
index 099df830330..0863588d991 100644
--- a/arch/arm/dts/uniphier-ph1-sld3-ref.dts
+++ b/arch/arm/dts/uniphier-ph1-sld3-ref.dts
@@ -85,3 +85,11 @@
&serial0 {
u-boot,dm-pre-reloc;
};
+
+&mio {
+ u-boot,dm-pre-reloc;
+};
+
+&emmc {
+ u-boot,dm-pre-reloc;
+};
diff --git a/arch/arm/dts/uniphier-ph1-sld3.dtsi b/arch/arm/dts/uniphier-ph1-sld3.dtsi
index c3adaf170ba..6a955413116 100644
--- a/arch/arm/dts/uniphier-ph1-sld3.dtsi
+++ b/arch/arm/dts/uniphier-ph1-sld3.dtsi
@@ -61,6 +61,7 @@
#size-cells = <1>;
ranges;
interrupt-parent = <&intc>;
+ u-boot,dm-pre-reloc;
timer@20000200 {
compatible = "arm,cortex-a9-global-timer";
diff --git a/arch/arm/mach-uniphier/arm32/psci.c b/arch/arm/mach-uniphier/arm32/psci.c
index 633a3e08402..e6682657bea 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 eeb515aa006..6987d1e0f8b 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 b5825bc0c7f..43e27d12c3e 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;