Browse Source

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>
Magnus Damm 11 years ago
parent
commit
1174c712af
1 changed files with 8 additions and 0 deletions
  1. 8 0
      arch/arm/mach-shmobile/setup-r8a7740.c

+ 8 - 0
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);
 	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 = {
 static const char *r8a7740_boards_compat_dt[] __initdata = {
 	"renesas,r8a7740",
 	"renesas,r8a7740",
 	NULL,
 	NULL,
@@ -835,6 +842,7 @@ DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)")
 	.init_machine	= r8a7740_generic_init,
 	.init_machine	= r8a7740_generic_init,
 	.init_late	= shmobile_init_late,
 	.init_late	= shmobile_init_late,
 	.dt_compat	= r8a7740_boards_compat_dt,
 	.dt_compat	= r8a7740_boards_compat_dt,
+	.restart	= r8a7740_restart,
 MACHINE_END
 MACHINE_END
 
 
 #endif /* CONFIG_USE_OF */
 #endif /* CONFIG_USE_OF */