summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorMagnus Damm <damm+renesas@opensource.se>2014-08-28 07:35:09 +0400
committerSimon Horman <horms+renesas@verge.net.au>2014-09-02 05:04:09 +0400
commit1174c712afa2779fad54b86b3569f40fab78c0c2 (patch)
treebfadbb733ef4ed99af80018fcdeaad7702464839 /arch/arm
parentcc9517d52fbf4b6e8baf0254f90b47bc1a5d90bb (diff)
downloadlinux-1174c712afa2779fad54b86b3569f40fab78c0c2.tar.xz
ARM: shmobile: r8a7740: Add restart callback
Port the r8a7740 restart handling from the Armadillo code to the r8a7740 generic multiplatform case. Signed-off-by: Magnus Damm <damm+renesas@opensource.se> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7740.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index 1e55c5052293..daea3a344121 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -823,6 +823,13 @@ static void __init r8a7740_generic_init(void)
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
+#define RESCNT2 IOMEM(0xe6188020)
+static void r8a7740_restart(enum reboot_mode mode, const char *cmd)
+{
+ /* Do soft power on reset */
+ writel(1 << 31, RESCNT2);
+}
+
static const char *r8a7740_boards_compat_dt[] __initdata = {
"renesas,r8a7740",
NULL,
@@ -835,6 +842,7 @@ DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)")
.init_machine = r8a7740_generic_init,
.init_late = shmobile_init_late,
.dt_compat = r8a7740_boards_compat_dt,
+ .restart = r8a7740_restart,
MACHINE_END
#endif /* CONFIG_USE_OF */